Настройка PostgreSQL

Установка PostgreSQL

При установке лучше ориентироваться на рекомендации по установке конкретной версии PostgreSQL (рекомендуемая версия - 16).

Вариант установки и настройки PostgreSQL

Установить postgresql-server (v16+):

1sudo yum install -y postgresql-server

Запустить сервис базы данных:

1sudo /usr/bin/postgresql-setup --initdb 2sudo systemctl enable postgresql.service --now

Установить postgresql-contrib (v12+):

1sudo yum install -y postgresql-contrib

Настроить доступ к базе с требуемых узлов в файле /var/lib/pgsql/data/pg_hba.conf, закомментировать строки содержащие ident и добавить следующее:

1host all all 127.0.0.1/32 md5 2host all all ::1/128 md5 3local all all md5

Перезапустить сервис:

1sudo systemctl restart postgresql.service --now

Создать базу(ы) данных и схемы

  1. Зайти под пользователем с админ. правами (по умолчанию - postgres):
1sudo su - postgres
  1. Подключиться к базе через psql:
1psql -U postgres -d postgres
  1. Выполнить SQL команды для создания пользователя и cхем. Заменить значение zakroma_password на своё:
1-- Zakroma 2CREATE USER zakroma_user LOGIN PASSWORD 'zakroma_password'; 3create DATABASE permission WITH OWNER zakroma_user; 4create DATABASE core WITH OWNER zakroma_user; 5create DATABASE seclog WITH OWNER zakroma_user; 6create DATABASE notification WITH OWNER zakroma_user; 7create DATABASE worker0 WITH OWNER zakroma_user; 8 9\c permission; 10CREATE SCHEMA if not exists public; 11\c core; 12CREATE SCHEMA if not exists public; 13\c seclog; 14CREATE SCHEMA if not exists public; 15\c notification; 16CREATE SCHEMA if not exists public; 17\c worker0; 18CREATE SCHEMA if not exists public; 19
Базы или Схемы

Вы можете использовать одну общую базу данных с разными схемами или создать отдельные базы данных и в каждой одну схему. Главное корректно прописать эти базы и схемы в конфигурации при инсталляции сервисов ЗАКРОМА.

1-- Zakroma 2CREATE USER zakroma_user LOGIN PASSWORD 'zakroma_password'; 3CREATE DATABASE zakroma WITH OWNER zakroma_user; 4\c zakroma; 5DROP SCHEMA public; 6CREATE SCHEMA core AUTHORIZATION zakroma_user; 7CREATE SCHEMA permission AUTHORIZATION zakroma_user; 8CREATE SCHEMA seclog AUTHORIZATION zakroma_user; 9CREATE SCHEMA notification AUTHORIZATION zakroma_user; 10CREATE SCHEMA worker0 AUTHORIZATION zakroma_user; 11
  1. Дополнительно необходимо создать extension в схеме worker1 при версии postgres <13
1-- При устновке в разные БД 2\c worker1 3 4CREATE EXTENSION if not exists pgcrypto CASCADE;
1-- При устновке в разные схемы в рамках одной БД 2\c zakroma 3 4CREATE EXTENSION if not exists pgcrypto SCHEMA worker1;
  1. После создания баз и схем выйти из учетной psql:
1exit

Затем выйти из учетной записи postgres:

1exit

Дальнейшие шаги

  • Оптимизировать параметры PostgreSQL (опционально):
    • Проверить и установить параметр sharedbuffers = 1024MB ( или 25% от общего размера ОЗУ системы) в файле конфигурации postgresql.conf