Установка PostgreSQL

Установка пакетов

Если есть доступ к менеджеру пакетов apt

  1. Обновите список пакетов:

    sudo apt update
  2. Проверьте доступные версии:

    apt policy postgresql

    Минимальная поддерживаемая версия – 11.

  3. Установите пакет postgresql старшей доступной версии:

    sudo apt install postgresql

Если нет доступа к менеджеру пакетов apt

  1. Распакуйте во временную папку архив с PostgreSQL:

    sudo unzip /srv/samba/shared/install/distr/postgresql.zip -d install/postgresql
  2. Установите пакеты:

    sudo dpkg -i install/postgresql/*.deb

После установки службы

Убедитесь, что служба postgresql запустилась:

sudo systemctl status postgresql
________________________________________
● postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
     Active: active (exited) since Fri 2021-09-10 12:48:20 MSK; 1min 26s ago
  Main PID: 4338 (code=exited, status=0/SUCCESS)
     Tasks: 0 (limit: 4637)
     Memory: 0B
     CGroup: /system.slice/postgresql.service

Первичная настройка СУБД PostgreSQL

  1. Выполните вход в сессию служебного пользователя postgres:

    sudo su - postgres
  2. Установите пароль администратора СУБД:

    psql -c "alter user postgres with password '<пароль>'"
    • Вместо текста <пароль> укажите устанавливаемый пароль.

    • Пароль заключается в одинарные кавычки.

    • Вся команда заключается в двойные кавычки.

  3. Добавьте пользователя СУБД primo:

    createuser primo

    Этот пользователь в дальнейшем будет владельцем БД компонентов Primo.AI.Api.

  4. Добавьте пользователю primo права на создание БД:

    psql -c "alter user primo createdb"
  5. Установите пароль для тестового пользователя:

    psql -c "alter user primo with password '<пароль>'"
  6. Завершите работу в сессии служебного пользователя postgres:

    exit
  7. Наcтройте удаленный доступ к СУБД. Для этого в конфигурационном файле /etc/postgresql/NN/main/postgresql.conf проверьте и установите параметры listen_addresses и port.

    listen_addresses = '192.168.1.2'
    port = 5432
  8. Если в конфигурацию были внесены изменения, то для того чтобы они вступили в силу, перезапустите службу postgresql:

    sudo systemctl restart postgresql
  9. Проверьте, к каким сетевым портам и интерфейсам подключена служба postgresql:

    ss -tunelp | grep uid:`id -u postgres`
    ________________________________________
    tcp     LISTEN   0        1024             192.168.1.2:5432          *:*      uid:107 ino:32947 sk:5
  10. Настройте активные сетевые экраны, разрешив доступ к сетевому порту postgresql (по умолчанию — порт 5432):

    sudo ufw allow 5432/tcp

Что дальше

Теперь вы можете перейти к установке компонентов API на машине сервера.

Last updated