Перейти к содержанию

PostgreSQL для кластера

Продолжение примера — сервер 10.10.50.10 (Ubuntu 22.04).

Подключите репозиторий PostgreSQL:

sudo apt update
sudo apt install -y wget gnupg2
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
sudo apt update

Установите PostgreSQL:

sudo apt install -y postgresql-16

Запустите сервис:

sudo systemctl enable postgresql
sudo systemctl start postgresql
sudo systemctl status postgresql

Создайте базу данных и пользователя AFIGate:

sudo -u postgres psql
CREATE DATABASE afigate;
CREATE USER afigate WITH PASSWORD 'KXOeyNgDeTdpeu9q';
GRANT ALL PRIVILEGES ON DATABASE afigate TO afigate;
\q

Разрешите прием подключений извне:

sudo vim /etc/postgresql/16/main/postgresql.conf
listen_addresses = '*'

Откройте доступ узлам AFIGate:

sudo vim /etc/postgresql/16/main/pg_hba.conf
host    all             all             0.0.0.0/0               md5

Предупреждение

Правило 0.0.0.0/0 в pg_hba.conf подходит для примера. В боевом окружении ограничьте его подсетью узлов AFIGate.

Настройте файрвол (укажите фактическую подсеть узлов AFIGate) и перезапустите сервис:

sudo ufw allow from 10.10.50.0/24 to any port 5432
sudo ufw reload
sudo systemctl restart postgresql
sudo systemctl status postgresql

Параметры DB_HOST, DB_USER, DB_PASSWORD и DB_NAME указываются в config.txt каждого узла — см. «Первый узел AFIGate».