Информатика
Установка пакетов PostgreSQL 12
Добавляем в систему репозиторий PostgreSQL:
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Проверяем список доступных потоков модуля PostgreSQ
sudo dnf module list postgresql
Результат:
Last metadata expiration check: 0:06:00 ago on Mon 25 Oct 2021 01:15:21 AM EDT. CentOS Linux 8 - AppStream Name Stream Profiles Summary postgresql 9.6 client, server [d] PostgreSQL server and client module postgresql 10 [d] client, server [d] PostgreSQL server and client module postgresql 12 client, server [d] PostgreSQL server and client module postgresql 13 client, server [d] PostgreSQL server and client module
Отключаем модули PostgreSQL с более старой версией, присутствующие в системе:
sudo dnf -qy module disable postgresql
Устанавливаем сервер PostgreSQL 12:
sudo dnf install -y postgresql12-server postgresql12
Начальная конфигурация PostgreSQL 12
Инициализируем базу данных:
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
Результат:
Initializing database … OK
Главный конфигурационный файл /var/lib/pgsql/12/data/postgresql.conf
Запускаем и включаем автозапуск службы PostgreSQL
sudo systemctl enable --now postgresql-12
Результат:
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql-12.service → /usr/lib/systemd/system/postgresql-12.service.
Проверяем состояние службы, чтобы убедиться, что она запущена:
sudo systemctl status postgresql-12
Устанавливаем пароль для пользователя postgres
:
sudo su - postgres psql -c "alter user postgres with password 'StrongDBPassword'" ALTER ROLE exit logout
Включение удаленных подключений к базе данных
Редактируем файл /var/lib/pgsql/12/data/postgresql.conf
и устанавливаем для параметра Listen address
IP-адрес нашего сервера или « * » для всех интерфейсов.
sudo vi /var/lib/pgsql/12/data/postgresql.conf # line 59 listen_addresses = '192.168.10.10'
Также настраиваем PostgreSQL для приема удаленных подключений
sudo vi /var/lib/pgsql/13/data/pg_hba.conf local all postgres md5 # Accept from anywhere (not recommended) host all all 0.0.0.0/0 md5 # Accept from trusted subnet (Recommended setting) host all all 192.168.18.0/24 md5
Перезапускаем службу базы данных после сохранения изменений:
sudo systemctl restart postgresql-12
Чтобы использовать Брандмауэр, запускаем службу
sudo systemctl enable --now firewalld
Добавляем правила
sudo firewall-cmd --add-service=postgresql --permanent
Перезагружаем Брандмауэр
sudo firewall-cmd --reload
Проверяем соединение с помощью команды psql и MD5 пароля, указав имя пользователя и, при необходимости, имя базы данных.
sudo psql -U -h -p 5432
sudo psql -U postgres -W -d postgres
Проверка с удаленного хоста
psql -h 10.10.0.5 -U postgres -W -d postgres