Site icon IT Draft

Установка PostgreSQL 13 в CentOS 8

Установка PostgreSQL 13 в CentOS 8

PostgreSQL

PostgreSQL — свободная объектно-реляционная система управления базами данных. Обновления для этой ветки будут выходить в течение пяти лет до ноября 2025 года.

Установка PostgreSQL 13

Добавляем репозиторий PostgreSQL

$ sudo dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Отключаем модуль PostgreSQL в предустановленно по-умолчанию репозитории AppStream

$ sudo dnf -qy module disable postgresql

Проверяем

$ sudo dnf module list | grep postgresql
postgresql    9.6 [x]     client, server [d]   PostgreSQL server and client module
postgresql    10 [d][x]   client, server [d]   PostgreSQL server and client module
postgresql    12 [x]      client, server [d]   PostgreSQL server and client module

Устанавливаем PostgreSQL 13

Selectel — ведущий провайдер облачной инфраструктуры и услуг дата-центров

Компания занимает лидирующие позиции на рынке на рынке выделенных серверов и приватных облаков, и входит в топ-3 крупнейших операторов дата-центров в России.


$ sudo dnf -y install postgresql13 postgresql13-server

Инициализируем базу

$ sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
Initializing database … OK

Основной конфиг PostgreSQL расположен тут: /var/lib/pgsql/13/data/postgresql.conf

$ ls  /var/lib/pgsql/13/data/
base    pg_commit_ts  pg_ident.conf  pg_notify    pg_snapshots  pg_subtrans  PG_VERSION  postgresql.auto.conf
global  pg_dynshmem   pg_logical     pg_replslot  pg_stat       pg_tblspc    pg_wal      postgresql.conf
log     pg_hba.conf   pg_multixact   pg_serial    pg_stat_tmp   pg_twophase  pg_xact

Запускаем PostgreSQL и добавляем сервис в автозагрузку

$ sudo systemctl enable --now postgresql-13

Проверяем статус

$ systemctl status postgresql-13

Устанавливаем пароль для пользователя postgres

$ sudo su - postgres 
$ psql -c "alter user postgres with password 'StrongDBPassword'"
ALTER ROLE
$ exit

Работа с базой / польователями

Переключаемся на пользователя postgres

$ sudo su - postgres

Создаем пользователя БД

$ createuser userdb

Переключаемся в PostgreSQL shell

$ psql

Задаем пароль для пользователя БД

=# ALTER USER userdb WITH ENCRYPTED password 'aaayoupasswdaaa';

Создам базу и задаем владельца базы

=# CREATE DATABASE mybase WITH ENCODING='UTF8' OWNER=userdb;
=# \q
$ exit

Настройка PostgreSQL 13

Настраиваем возможность подключения к БД из др. хоста. Для этого редактируем конфигурационный файл /var/lib/pgsql/13/data/postgresql.conf и устанавливаем в качестве параметра Listen address ip-адрес сервера, или “*” – для всех сетевых интерфейсов

$ sudo nano /var/lib/pgsql/13/data/postgresql.conf
[…]
listen_addresses = '192.168.11.200'
[…]

Настраиваем параметры авторизации

$ sudo nano /var/lib/pgsql/13/data/pg_hba.conf
[…]
# Accept from trusted subnet
host all all 192.168.11.0/24 md5
[…]

Перезапускаем PostgreSQL

$ sudo systemctl restart postgresql-13

Тестируем подключение

$ sudo su - postgres
$ psql -U <dbuser> -h <serverip> -p 5432 <dbname>

Настройка Firewall

Открываем порт 5432

$ sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent
$ sudo firewall-cmd --reload

Exit mobile version