Настройка 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 worker1 WITH OWNER zakroma_user;
Базы или Схемы

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

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 worker1 AUTHORIZATION zakroma_user;
  1. Добавить схемы в каждую из созданных баз (или в одной базе postgres) :

На примере базы permission:

1\c permission;

Создать схему:

1CREATE SCHEMA if not exists public;
  1. Дополнительно необходимо создать extension в схеме worker1
1\c worker1 2 3CREATE EXTENSION if not exists pgcrypto CASCADE;
  1. После создания баз и схем выйти из учетной psql:
1exit

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

1exit

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

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