postgresql
Развертывание сервера Postgresql в Centos 7, РЕДОС 7.3
Ссылка на официальный сайт РЕДОС
- Подключение репозитория для Centos 7
sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum-config-manager --disable pgdg10 pgdg11 pgdg12 pgdg14 > /dev/null
sudo yum-config-manager --enable pgdg13 pgdg-common > /dev/null
sudo yum makecache
- Установка postgresql:
sudo yum -y install postgresql13-server postgresql13-contrib - Centos 7
sudo dnf -y install postgresql13-server postgresql13-contrib - РЕДОС 7.3
- Инициализация БД в каталоге по умолчанию /var/lib/pgsql/13/data/
/usr/pgsql-13/bin/postgresql-13-setup initdb
- Настройка ssl Генерируем сертификаты, выставляем права и владельца на них:
sudo openssl req -new -x509 -days 17945 -nodes -out /var/lib/pgsql/13/data/server.crt -keyout /var/lib/pgsql/13/data/server.key -subj "/CN=<serverHostName>"
sudo chmod 0400 /var/lib/pgsql/13/data/server.{crt,key}
sudo chown postgres:postgres /var/lib/pgsql/13/data/server.{crt,key}
<serverHostName> - текущее имя сервера.
Редактируем (включаем ssl шифрование) /var/lib/pgsql/13/data/postgresql.conf:
listen_addresses = '127.0.0.1'
max_connections = 1000
ssl = on
shared_buffers = 512MB
password_encryption = scram-sha-256
- Настройка прав доступа к серверу: /var/lib/pgsql/13/data/pg_hba.conf:
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
hostssl <DatabaseName> <DatabaseUser> 0.0.0.0/0 scram-sha-256
# IPv6 local connections:
#host all all ::1/128 scram-sha-256
#host replication all ::1/128 scram-sha-256
- Автозагрузка и старт:
systemctl enable --now postgresql-13
- Изменение пароля:
sudo -u postgres psql -c "ALTER USER postgres WITH ENCRYPTED PASSWORD '<postgresPassword>'"
Развертывание сервера Postgresql в Ubuntu
- Настройка репозитория:
echo "deb http://apt.postgresql.org/pub/repos/apt bionic-pgdg main" \
| sudo tee /etc/apt/sources.list.d/pgdg.list
wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
- Установка и старт:
sudo apt install postgresql-15
sudo enable --now postgresql
- Настройка параметров (/etc/postgresql/15/main/conf.d/example.conf):
max_connections = 1000 # (change requires restart)
shared_buffers = 512MB # min 128kB
log_timezone = 'Europe/Moscow'
timezone = 'Europe/Moscow'
password_encryption = scram-sha-256 # md5 or scram-sha-256