Установка и обновление Postgres Pro 16

Установка

  1. Установите Postgres Pro Standard 16 по официальной инструкции Postgres Pro.

  2. Создайте симлинк на библиотеку libpq.so — для обмена запросами и ответами с Postgres Pro:

    ln -s /opt/pgpro/std-16/lib/libpq.so.5 /usr/lib/x86_64-linux-gnu/libpq.so.5
    
  3. Настройте расположение сокета БД. По умолчанию сокет 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'
        
  4. Настройте права доступа. В результате локальный пользователь 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
    

    Внимание

    Важно, чтобы правило было выше других правил в файле.

  5. Чтобы применить изменения, перезагрузите базу данных:

systemctl restart postgrespro-std-16
  1. Установите Staffcop по инструкции.

Обновление

Опасно

В связи с особенностью архитектуры Postgres Pro и его взаимодействия со Staffcop обновляйте версии компонентов крайне осторожно! Даже минорное обновление внутри версии может привести к ошибкам.

Порядок обновления:

Последнее обновление: 27.04.26