Настраиваем сервер — http://zztest.ru/?p=140.
Установка
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
Команду ниже нужно запускать под рутом:
sudo su - root wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \apt-key add - exit
sudo apt-get update
sudo apt-get -y install postgresql-10
Разрешаем подключение к PostgreSQL по сети
sudo nano /etc/postgresql/10/main/postgresql.conf listen_addresses = '*' # лучше указать список IP-адресов port = ...
sudo nano /etc/postgresql/10/main/pg_hba.conf host all all 19.25.87.19/32 md5 # добавить в конец, подсеть для подключения # дополнительные подсети, например для администрирования и для боевой среды
sudo systemctl restart postgresql
sudo ufw allow ... # port
Восстановление из pg_dumpall
При необходимости, дамп нужно скачать
scp root@10.7.121.149:/var/www/ad/docker/postgres_server/share/postgres.dump /tmp/postgres.dump
Если я правильно понимаю это, по умолчанию пользователь postgres заблокирован, для разблокировки нужно задать ему пароль.
ВНИМАНИЕ! Во время восстановления к базе уже можно обращаться, но это может нарушить ее целостность, т.к. индексы еще могут не создаться. Поэтому запросы к бд лучше не производить.
sudo su - postgres psql \password postgres # задать пароль для пользователя \q psql -f /tmp/postgres.dump exit
Настройка производительности
https://ruhighload.com/%D0%A2%D1%8E%D0%BD%D0%B8%D0%BD%D0%B3+%D0%B1%D0%B0%D0%B7%D1%8B+postgres
SSL on/off
Выключение при не постоянных соединениях дает значительный прирост.
synchronous_commit
Отключение данного параметра дает значительный прирост скорости при изменении данных с небольшими рисками.
Настройка ролей
На основе https://www.8host.com/blog/ispolzovanie-rolej-i-upravlenie-dostupom-v-postgresql/
sudo su - postgres
Источники
Установка и настройка PostgreSQL 10 на Linux Ubuntu Server —
Заметки IT специалиста
How To Secure PostgreSQL Against Automated Attacks — Digital Ocean