Skip to content

Подготовка базы данных

1. Установите нужную вам версию Postgresql

Воспользуйтесь официальной документацией для установки Postgresql

2. Измените некоторые параметры в pg_hba.conf и postgresql.conf

postgresql.conf

Откройте файл postgresql.conf (обычно находится в /var/lib/pgsql/<version>/data) и измените следующие параметры:

listen_addresses = '*'
Этот параметр указывает PostgreSQL слушать подключения на всех сетевых интерфейсах, что необходимо для обеспечения удаленного доступа.

max_connections ≥ 1000
Этот параметр задает максимальное количество одновременных подключений к базе данных. Для поддержки достаточного числа подключений для крупного проекта значение данного параметра должно быть ≥ 1000, чтобы избежать в дальнейшем ошибки с лимитом подключений:
psql: error: FATAL:  remaining connection slots are reserved for non-replication superuser connections

Для поддержки достаточного числа подключений для небольших и средних проектов допустимое значение данного параметра - 100:

max_connections = 100

shared_buffers = 256MB
Этот параметр указывает количество памяти, выделенной для кеширования данных базы данных, что может улучшить производительность системы.

pg_hba.conf

Откройте файл pg_hba.conf (обычно находится в /var/lib/pgsql/<version>/data) и измените следующую строку для расширения доступности:

host all all 127.0.0.1/32 ident
на:
host all all 0.0.0.0/0 md5
Эта строка определяет правила доступа для всех пользователей (all) ко всем базам данных (all) с любого IP-адреса. Это особенно важно, если вы планируете использовать PostgreSQL в сетевой среде, где доступ может потребоваться с разных серверов или рабочих станций.

ℹ️ Зачем изменять IP? - Гибкость доступа: Открывая доступ не только для локальных подключений, но и для удаленных, вы можете более гибко управлять сервером PostgreSQL и подключаться к нему из разных сетевых сред. - Универсальность: Разрешение подключений с любого IP-адреса полезно в сетевых средах с динамическим или распределенным доступом к базе данных.

Пример обновленного файла:

# "local" is for Unix domain socket connections only

local all all peer

# IPv4 local connections:

host all all 0.0.0.0/0 md5

# IPv6 local connections:

host all all ::/0 md5
Рекомендуется самостоятельно определить метод аутентификации, основываясь на ваших требованиях безопасности и инфраструктуре (например, md5, scram-sha-256 и т.д.).

После внесения изменений в файл pg_hba.conf, перезапустите сервер PostgreSQL для применения новых настроек:

sudo systemctl restart postgresql

Проверка доступности базы данных

Для проверки статуса запущенной базы данных выполните следующую команду:

sudo systemctl status postgresql-12.service
`````


## Подключитесь к PostgreSQL

Для подключения к PostgreSQL выполните следующую команду:


```bash
sudo -u postgres psql

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

Внутри консоли psql выполните следующие команды для создания новой роли (пользователя) и базы данных:

CREATE  ROLE  <user>  LOGIN  PASSWORD  '<password>';
CREATE  DATABASE  <database>  OWNER  <user>;
Замените <user> на имя пользователя и <password> на пароль, которые вы хотите использовать. Замените <database> на имя базы данных, которую вы хотите создать.

⚠️ Эти учетные данные будут использоваться в файле secrets.yml. Убедитесь, что вы правильно сохранили информацию о созданном пользователе и базе данных для дальнейшего использования.