Как установить PostgreSQL 12 на CentOS 8 | RHEL 8

Установка пакетов 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
ПредметБазы данных
Как установить PostgreSQL 12 на Ubuntu 20.04

обновите систему

  sudo apt update
  sudo apt -y upgrade

установите несколько необходимых пакетов

  sudo apt install wget curl ca-certificates

импортируйте ключ GPG для подписи репозитория в вашу систему. Откройте терминал и используйте команду ниже для импорта ключа:

  wget -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

создайте файл PPA для PostgreSQL

  sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'

После добавления PPA в систему, выполните следующую команду, чтобы установить сервер PostgreSQL в вашей системе.

  sudo apt update
  sudo apt-get install postgresql postgresql-contrib

После успешной установки проверьте службу postgresql:

  sudo systemctl status postgresql

Результат:

  admin@ubuntu:~$ sudo systemctl status postgresql
  postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
     Active: active (exited) since Thu 2020-03-17 05:41:52 UTC; 27s ago
   Main PID: 43229 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 4602)
     Memory: 0B
     CGroup: /system.slice/postgresql.service

Mar 17 05:41:52 ubuntu systemd[1]: Starting PostgreSQL RDBMS…
Mar 17 05:41:52 ubuntu systemd[1]: Finished PostgreSQL RDBMS.

ПредметБазы данных
Читать по теме
Интересные статьи