Как установить PostgreSQL 11 на CentOS 8 / RHEL 8

Как установить PostgreSQL 11 на CentOS 8 / RHEL 8

Как я могу установить PostgreSQL 11 на CentOS 8 / RHEL 8 Linux? PostgreSQL — это система управления объектно-реляционными базами данных, основанная на POSTGRES 4.2, разработанная в Калифорнийском университете в Отделении компьютерных наук Беркли. PostgreSQL предлагает множество современных функций SQL, таких как:

сложные запросы;
внешние ключи;
триггеры;
обновляемые представления;
целостность транзакции;
многоверсионный контроль параллелизма.

Проект PostgreSQL предоставляет репозиторий пакетов всех поддерживаемых версий для наиболее распространенных дистрибутивов. Среди поддерживаемых дистрибутивов есть все семейство Red Hat, которое включает в себя CentOS, Fedora, Scientific Linux, Oracle Linux и Red Hat Enterprise Linux.

Для PostgreSQL 12, проверьте Установка PostgreSQL 12 на CentOS / RHEL 8

Версия PostgreSQL, доступная в официально поддерживаемом модульном репозитории CentOS 8 / RHEL 8, — 10 и 9.6 . Мы добавим PostgreSQL Yum Repository, который содержит все последние выпуски.

Шаг 1: Добавьте PostgreSQL Yum Repository

Репозиторий PostgreSQL Yum будет интегрироваться с вашими обычными системами и системами управления исправлениями, а также будет предоставлять автоматические обновления для всех поддерживаемых версий PostgreSQL в течение всего срока поддержки PostgreSQL.

Его можно добавить в систему CentOS / RHEL 8, выполнив следующую команду:

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

Посмотреть детали пакета с:

$ rpm -qi pgdg-redhat-repo
Name        : pgdg-redhat-repo
Version     : 42.0
Release     : 4
Architecture: noarch
Install Date: Mon 16 Sep 2019 04:17:45 PM EDT
Group       : System Environment/Base
Size        : 6915
License     : PostgreSQL
Signature   : DSA/SHA1, Tue 16 Apr 2019 11:44:04 PM EDT, Key ID 1f16d2e1442df0f8
Source RPM  : pgdg-redhat-repo-42.0-4.src.rpm
Build Date  : Tue 16 Apr 2019 11:44:04 PM EDT
Build Host  : koji-rhel8-x86-64-pgbuild
Relocations : (not relocatable)
Vendor      : PostgreSQL Global Development Group
URL         : https://yum.postgresql.org
Summary     : PostgreSQL PGDG RPMs- Yum Repository Configuration for Red Hat / CentOS / Scientific Linux
Description :
This package contains yum configuration for Red Hat Enterprise Linux, CentOS
and Scientific Linux. and also the GPG key for PGDG RPMs.

Шаг 2. Установите PostgreSQL 11 в системе CentOS 8 / RHEL 8 Linux

Отключить модуль postgresql.

$ sudo dnf module disable postgresql
Updating Subscription Management repositories.
Last metadata expiration check: 0:03:10 ago on Mon 16 Sep 2019 04:30:11 PM EDT.
Dependencies resolved.
===================================================================================================================================================
 Package                            Arch                              Version                             Repository                          Size
===================================================================================================================================================
Disabling module streams:
 postgresql                                                           10                                                                          

Transaction Summary
===================================================================================================================================================

Is this ok [y/N]: y
Complete!

Затем очистите кэш yum и установите PostgreSQL 11 на CentOS 8 / RHEL 8.

sudo dnf clean all

Наконец, установите серверные и клиентские пакеты PostgreSQL 11 на CentOS 8 / RHEL 8, выполнив следующие команды.

sudo dnf -y install postgresql11-server postgresql11

Незначительные детали версии можно проверить с помощью команды dnf.

$ dnf info postgresql11-server postgresql11

Шаг 3. Инициализируйте базу данных и включите автоматический запуск.

После установки требуется инициализация базы данных, прежде чем можно будет запустить службу.

sudo /usr/pgsql-11/bin/postgresql-11-setup initdb
sudo systemctl enable --now postgresql-11

Убедитесь, что служба запущена без ошибок.

$ sudo systemctl status postgresql-11
● postgresql-11.service - PostgreSQL 11 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-11.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2019-09-16 16:41:09 EDT; 7s ago
     Docs: https://www.postgresql.org/docs/11/static/
  Process: 14929 ExecStartPre=/usr/pgsql-11/bin/postgresql-11-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 14936 (postmaster)
    Tasks: 8 (limit: 24024)
   Memory: 16.9M
   CGroup: /system.slice/postgresql-11.service
           ├─14936 /usr/pgsql-11/bin/postmaster -D /var/lib/pgsql/11/data/
           ├─14937 postgres: logger   
           ├─14939 postgres: checkpointer   
           ├─14940 postgres: background writer   
           ├─14941 postgres: walwriter   
           ├─14942 postgres: autovacuum launcher   
           ├─14943 postgres: stats collector   
           └─14944 postgres: logical replication launcher   

Sep 16 16:41:09 rhel8.novalocal systemd[1]: Starting PostgreSQL 11 database server...
Sep 16 16:41:09 rhel8.novalocal postmaster[14936]: 2019-09-16 16:41:09.501 EDT [14936] LOG:  listening on IPv6 address "::1", port 5432
Sep 16 16:41:09 rhel8.novalocal postmaster[14936]: 2019-09-16 16:41:09.501 EDT [14936] LOG:  listening on IPv4 address "127.0.0.1", port 5432
Sep 16 16:41:09 rhel8.novalocal postmaster[14936]: 2019-09-16 16:41:09.505 EDT [14936] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQ>
Sep 16 16:41:09 rhel8.novalocal postmaster[14936]: 2019-09-16 16:41:09.511 EDT [14936] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
Sep 16 16:41:09 rhel8.novalocal postmaster[14936]: 2019-09-16 16:41:09.521 EDT [14936] LOG:  redirecting log output to logging collector process
Sep 16 16:41:09 rhel8.novalocal postmaster[14936]: 2019-09-16 16:41:09.521 EDT [14936] HINT:  Future log output will appear in directory "log".
Sep 16 16:41:09 rhel8.novalocal systemd[1]: Started PostgreSQL 11 database server.

Файл PostgreSQL 11:

/var/lib/pgsql/11/data/postgresql.conf

Прочитайте файл, чтобы увидеть, какие настройки вы можете включить / выключить. Служба должна быть перезапущена всякий раз, когда изменения фиксируются.

Шаг 4: Установите пароль администратора PostgreSQL

Установить администратора PostgreSQL

$ sudo su - postgres 
[[email protected] ~]$ psql -c "alter user postgres with password 'StrongPassword'" 
ALTER ROLE
[[email protected] ~]$

Создать тестового пользователя и базу данных

[[email protected] ~]$ psql
psql (11.5)
Type "help" for help.

postgres-# createuser test_user
postgres-# alter user test_user with password 'MyDBpassword';
postgres=# createdb test_db -O test_user
postgres=# grant all privileges on database test_db to test_user;
GRANT

Войдите в систему как test_user  пользователь, попытайтесь создать таблицу в базе данных.

$ psql -U test_user -h localhost -d test_db

 

Шаг 5: Установите веб-интерфейс pgAdmin 4

pgAdmin — ведущая многофункциональная платформа для администрирования и разработки PostgreSQL с открытым исходным кодом, работающая в Linux, Unix, Mac OS X и Windows. Вот ссылка для установки pgAdmin4 на CentOS 8.

Прокрутить вверх