Настройка 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
Создать базу(ы) данных и схемы
- Зайти под пользователем с админ. правами (по умолчанию - postgres):
1sudo su - postgres
- Подключиться к базе через psql:
1psql -U postgres -d postgres
- Выполнить 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;
- Добавить схемы в каждую из созданных баз (или в одной базе postgres) :
На примере базы permission
:
1\c permission;
Создать схему:
1CREATE SCHEMA if not exists public;
- Дополнительно необходимо создать extension в схеме
worker1
1\c worker1 2 3CREATE EXTENSION if not exists pgcrypto CASCADE;
- После создания баз и схем выйти из учетной psql:
1exit
Затем выйти из учетной записи postgres:
1exit
Дальнейшие шаги
- Оптимизировать параметры PostgreSQL (опционально):
- Проверить и установить параметр sharedbuffers = 1024MB ( или 25% от общего размера ОЗУ системы) в файле конфигурации
postgresql.conf
- Проверить и установить параметр sharedbuffers = 1024MB ( или 25% от общего размера ОЗУ системы) в файле конфигурации