Как установить PostgreSQL 13 на CentOS 8 | RHEL 8
В этом руководстве мы рассмотрим установку PostgreSQL 13 на CentOS 8 | Сервер Linux RHEL 8. PostgreSQL — это мощная объектно-реляционная база данных с открытым исходным кодом, которая безопасно хранит и масштабирует самые сложные рабочие нагрузки с данными. Система баз данных PostgreSQL предназначена для обеспечения надежности, целостности данных, надежного набора функций и расширяемости. За его разработкой стоит большое сообщество, чтобы гарантировать инновации и прочную репутацию.
Установите PostgreSQL 13 на CentOS 8 | RHEL 8
С момента обновления этой статьи PostgreSQL 13 доступен для выполнения производственных рабочих нагрузок. Все программные пакеты доступны в репозитории YUM, официально поддерживаемом командой PostgreSQL, процесс установки упрощен.
Перед началом установки убедитесь, что у вас установлена последняя версия CentOS 8 | Система Linux RHEL 8. Вы можете запустить команду yum update, чтобы получить последние обновления.
sudo yum -y update
sudo systemctl reboot
После перезагрузки системы начните установку PostgreSQL 13 на CentOS 8 | Сервер RHEL 8.
Шаг 1. Добавьте репозиторий PostgreSQL Yum
Репозиторий YUM поддерживает как CentOS, так и семейство RHEL дистрибутивов Linux. После добавления он будет предоставлять автоматические обновления для всех поддерживаемых версий PostgreSQL в течение всего срока поддержки PostgreSQL.
Выполните следующие команды, чтобы добавить репозиторий, который предоставляет пакеты PostgreSQL, на ваш сервер CentOS / RHEL 8.
sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Примите установку, когда будет предложено, нажав клавишу y на клавиатуре.
ependencies resolved.
==================================================================================================================================================================
Package Architecture Version Repository Size
==================================================================================================================================================================
Installing:
pgdg-redhat-repo noarch 42.0-14 @commandline 11 k
Transaction Summary
==================================================================================================================================================================
Install 1 Package
Total size: 11 k
Installed size: 11 k
Is this ok [y/N]: y
Шаг 2. Установите PostgreSQL 13 на CentOS 8 | RHEL 8
Нам нужно отключить репозиторий PostgreSQL AppStream в CentOS 8 | RHEL 8 Linux, который содержит другую версию PostgreSQL.
sudo dnf -qy module disable postgresql
Подтвердите список включенных репозиториев.
$ sudo dnf repolist
repo id repo name
AppStream CentOS-8 - AppStream
BaseOS CentOS-8 - Base
extras CentOS-8 - Extras
pgdg-common PostgreSQL common RPMs for RHEL/CentOS 8 - x86_64
pgdg10 PostgreSQL 10 for RHEL/CentOS 8 - x86_64
pgdg11 PostgreSQL 11 for RHEL/CentOS 8 - x86_64
pgdg12 PostgreSQL 12 for RHEL/CentOS 8 - x86_64
pgdg13 PostgreSQL 13 for RHEL/CentOS 8 - x86_64
pgdg95 PostgreSQL 9.5 for RHEL/CentOS 8 - x86_64
pgdg96 PostgreSQL 9.6 for RHEL/CentOS 8 - x86_64
Проверьте, доступны ли в репозитории пакеты PostgreSQL 13.
$ sudo yum search postgresql13
Last metadata expiration check: 0:00:45 ago on Sat 31 Oct 2020 08:04:30 AM CET.
=============================================================== Name Exactly Matched: postgresql13 ===============================================================
postgresql13.x86_64 : PostgreSQL client programs and libraries
=================================================================== Name Matched: postgresql13 ===================================================================
postgresql13-docs.x86_64 : Extra documentation for PostgreSQL
postgresql13-libs.x86_64 : The shared libraries required for any PostgreSQL clients
postgresql13-test.x86_64 : The test suite distributed with PostgreSQL
postgresql13-devel.x86_64 : PostgreSQL development header files and libraries
postgresql13-pltcl.x86_64 : The Tcl procedural language for PostgreSQL
postgresql13-plperl.x86_64 : The Perl procedural language for PostgreSQL
postgresql13-server.x86_64 : The programs needed to create and run a PostgreSQL server
postgresql13-contrib.x86_64 : Contributed source and binaries distributed with PostgreSQL
postgresql13-llvmjit.x86_64 : Just-in-time compilation support for PostgreSQL
Теперь установите пакеты PostgreSQL 13 на свой CentOS 8 | Сервер RHEL 8 — и серверный, и клиентский.
sudo dnf install postgresql13 postgresql13-server
Согласитесь на установку, если вас это устраивает.
Dependencies resolved.
==================================================================================================================================================================
Package Architecture Version Repository Size
==================================================================================================================================================================
Installing:
postgresql13 x86_64 13.0-1PGDG.rhel8 pgdg13 1.4 M
postgresql13-server x86_64 13.0-1PGDG.rhel8 pgdg13 5.5 M
Installing dependencies:
libicu x86_64 60.3-2.el8_1 BaseOS 8.8 M
postgresql13-libs x86_64 13.0-1PGDG.rhel8 pgdg13 411 k
Transaction Summary
==================================================================================================================================================================
Install 4 Packages
Total download size: 16 M
Installed size: 63 M
Is this ok [y/N]: y
Также требуется репозиторий ключей GPG .
Total 13 MB/s | 16 MB 00:01
warning: /var/cache/dnf/pgdg13-e81daebfc8b779ec/packages/postgresql13-13.0-1PGDG.rhel8.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY
PostgreSQL 13 for RHEL/CentOS 8 - x86_64 1.6 MB/s | 1.7 kB 00:00
Importing GPG key 0x442DF0F8:
Userid : "PostgreSQL RPM Building Project <[email protected]>"
Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
Is this ok [y/N]: y
Шаг 3. Инициализируйте и запустите службу базы данных
Перед использованием сервера базы данных требуется инициализация базы данных PostgreSQL.
$ sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
Initializing database ... OK
Основной файл конфигурации базы данных /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
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql-13.service → /usr/lib/systemd/system/postgresql-13.service.
Проверьте статус службы, чтобы убедиться, что она запущена.
$ systemctl status postgresql-13
● postgresql-13.service - PostgreSQL 13 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-13.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-07-09 23:35:30 CEST; 37s ago
Docs: https://www.postgresql.org/docs/13/static/
Process: 1860 ExecStartPre=/usr/pgsql-13/bin/postgresql-13-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
Main PID: 1865 (postmaster)
Tasks: 8 (limit: 12210)
Memory: 17.3M
CGroup: /system.slice/postgresql-13.service
├─1865 /usr/pgsql-13/bin/postmaster -D /var/lib/pgsql/13/data/
├─1867 postgres: logger
├─1869 postgres: checkpointer
├─1870 postgres: background writer
├─1871 postgres: walwriter
├─1872 postgres: autovacuum launcher
├─1873 postgres: stats collector
└─1874 postgres: logical replication launcher
Jul 09 23:35:30 centos-01.computingforgeeks.com systemd[1]: Starting PostgreSQL 13 database server...
Jul 09 23:35:30 centos-01.computingforgeeks.com postmaster[1865]: 2020-07-09 23:35:30.180 CEST [1865] LOG: redirecting log output to logging collector process
Jul 09 23:35:30 centos-01.computingforgeeks.com postmaster[1865]: 2020-07-09 23:35:30.180 CEST [1865] HINT: Future log output will appear in directory "log".
Jul 09 23:35:30 centos-01.computingforgeeks.com systemd[1]: Started PostgreSQL 13 database server.
Шаг 4. Установите пароль администратора PostgreSQL
Обновите пароль администратора PostgreSQL.
$ sudo su - postgres ]$ psql -c "alter user postgres with password 'StrongDBPassword'" ALTER ROLE
Шаг 5. Включение удаленных подключений к базе данных (необязательно)
Отредактируйте файл /var/lib/pgsql/13/data/postgresql.conf
и установите для параметра Listen address IP-адрес вашего сервера или « * » для всех интерфейсов.
$ sudo vi /var/lib/pgsql/13/data/postgresql.conf # line 59 listen_addresses = '192.168.10.10'
Также настройте PostgreSQL на прием удаленных подключений.
$ sudo vi /var/lib/pgsql/13/data/pg_hba.conf # 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-13
Проверьте соединение с помощью команды psql, указав имя пользователя и, возможно, имя базы данных.
$ psql -U <dbuser> -h <serverip> -p 5432 <dbname>
Шаг 6. Установите веб-интерфейс pgAdmin 4.
pgAdmin — это ведущая многофункциональная платформа для администрирования и разработки PostgreSQL с открытым исходным кодом, работающая в Linux, Unix, Mac OS X и Windows. Вот ссылка для установки pgAdmin4 на CentOS.