Установка и обновление Postgres Pro 16¶
Установка¶
Установите Postgres Pro Standard 16 по официальной инструкции Postgres Pro.
Создайте симлинк на библиотеку libpq.so — для обмена запросами и ответами с Postgres Pro:
ln -s /opt/pgpro/std-16/lib/libpq.so.5 /usr/lib/x86_64-linux-gnu/libpq.so.5
Настройте расположение сокета БД. По умолчанию сокет Postgres Pro находится в директории /tmp. Для корректной работы добавьте дополнительный путь /var/run/postgresql:
настройте автоматическое создание директории при загрузке системы с помощью утилиты systemd-tmpfiles:
echo "d /run/postgresql 0755 postgres postgres -" | sudo tee /etc/tmpfiles.d/pgpro.conf
примените конфигурацию для немедленного создания директории:
sudo systemd-tmpfiles --create /etc/tmpfiles.d/pgpro.conf
отредактируйте конфигурационный файл PostgreSQL, чтобы сервер создавал сокет не только в /tmp, но и в /var/run/postgresql.
откройте файл:
sudo nano /var/lib/pgpro/std-16/data/postgresql.conf
раскомментируйте строку:
#unix_socket_directories = '/tmp'добавьте второй путь, итоговый вариант:
unix_socket_directories = '/tmp,/var/run/postgresql'
Настройте права доступа. В результате локальный пользователь postgres сможет подключаться к БД без пароля, потому что уже аутентифицирован системой.
в конфигурационном файле /var/lib/pgpro/std-16/data/pg_hba.conf найдите строки:
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only
скопируйте правило подключения:
local all postgres peerдобавьте правило между строками:
# TYPE DATABASE USER ADDRESS METHOD local all postgres peer # "local" is for Unix domain socket connections only
Внимание
Важно, чтобы правило было выше других правил в файле.
Чтобы применить изменения, перезагрузите базу данных:
systemctl restart postgrespro-std-16
Установите Postgres Pro Enterprise 16 по официальной инструкции Postgres Pro.
Создайте симлинк на библиотеку libpq.so — для обмена запросами и ответами с Postgres Pro:
ln -s /opt/pgpro/ent-16/lib/libpq.so.5 /usr/lib/x86_64-linux-gnu/libpq.so.5
Настройте расположение сокета БД. По умолчанию сокет Postgres Pro находится в директории /tmp. Для корректной работы добавьте дополнительный путь /var/run/postgresql:
настройте автоматическое создание директории при загрузке системы с помощью утилиты systemd-tmpfiles:
echo "d /run/postgresql 0755 postgres postgres -" | sudo tee /etc/tmpfiles.d/pgpro.conf
примените конфигурацию для немедленного создания директории:
sudo systemd-tmpfiles --create /etc/tmpfiles.d/pgpro.conf
отредактируйте конфигурационный файл PostgreSQL, чтобы сервер создавал сокет не только в /tmp, но и в /var/run/postgresql.
откройте файл:
sudo nano /var/lib/pgpro/ent-16/data/postgresql.conf
раскомментируйте строку:
#unix_socket_directories = '/tmp'добавьте второй путь, итоговый вариант:
unix_socket_directories = '/tmp,/var/run/postgresql'
Настройте права доступа. В результате локальный пользователь postgres сможет подключаться к БД без пароля, потому что уже аутентифицирован системой.
в конфигурационном файле /var/lib/pgpro/ent-16/data/pg_hba.conf найдите строки:
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only
скопируйте правило подключения:
local all postgres peerдобавьте правило между строками:
# TYPE DATABASE USER ADDRESS METHOD local all postgres peer # "local" is for Unix domain socket connections only
Внимание
Важно, чтобы правило было выше других правил в файле.
Чтобы применить изменения, перезагрузите базу данных:
systemctl restart postgrespro-ent-16
Обновление¶
Опасно
В связи с особенностью архитектуры Postgres Pro и его взаимодействия со Staffcop обновляйте версии компонентов крайне осторожно! Даже минорное обновление внутри версии может привести к ошибкам.
Порядок обновления:
Staffcop: следуйте официальной инструкции.
Примечание
В случае возникновения проблем обращайтесь в техподдержку.
Postgres Pro (минорные обновления — например, с 16.10 до 16.11): используйте инструкции Postgres Pro.
См.также
Последнее обновление: 27.04.26