Как установить 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.