Install postgresql on oracle linux

How To Install PostgreSQL 13 on Oracle Linux 8

In this short guide we will perform the installation of PostgreSQL 13 database server on Oracle Linux 8 server. PostgreSQL is a powerful relational database management system created for running mission critical Production workloads. PostgreSQL has huge community of contributors that ensures a robust, highly reliable and scalable database system is delivered. Refer to the next steps outlined in this post to install and run PostgreSQL 13 on Oracle Linux 8.

Add PostgreSQL repository

The first installation step is adding the official PostgreSQL repository to your Oracle Linux 8 machine.

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

Accept installation prompt:

Dependencies 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

The repository file is created as:

$ cat /etc/yum.repos.d/pgdg-redhat-all.repo

Check available repositories using yum command:

$ sudo dnf repolist repo id repo name ol8_UEKR6 Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 8 (x86_64) ol8_appstream Oracle Linux 8 Application Stream (x86_64) ol8_baseos_latest Oracle Linux 8 BaseOS Latest (x86_64) 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

Install PostgreSQL 13 on Oracle Linux 8

Disable the PostgreSQL AppStream repository on Oracle Linux 8:

sudo dnf -qy module disable postgresql

Try a search for PostgreSQL 13 packages on Oracle Linux 8:

$ sudo dnf search postgresql13

To install PostgreSQL 13 server and client on Oracle Linux 8 system run the following commands:

sudo dnf install postgresql13 postgresql13-server

Hit the y key to accept installation:

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: postgresql13-libs x86_64 13.0-1PGDG.rhel8 pgdg13 411 k Transaction Summary ================================================================================================================================================================== Install 3 Packages Total download size: 7.4 M Installed size: 31 M Is this ok [y/N]: y

Ensure GPG keys are imported:

Total 993 kB/s | 7.4 MB 00:07 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

Configure and Start PostgreSQL 13 on Oracle Linux 8

Run database configuration script:

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

Start and enable the database service:

$ 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.

Check service status to confirm it is in running state:

$ 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 Tue 2020-11-03 21:46:11 UTC; 2min 24s ago Docs: https://www.postgresql.org/docs/13/static/ Process: 5103 ExecStartPre=/usr/pgsql-13/bin/postgresql-13-check-db-dir $ (code=exited, status=0/SUCCESS) Main PID: 5108 (postmaster) Tasks: 8 (limit: 4232) Memory: 17.2M CGroup: /system.slice/postgresql-13.service ├─5108 /usr/pgsql-13/bin/postmaster -D /var/lib/pgsql/13/data/ ├─5110 postgres: logger ├─5112 postgres: checkpointer ├─5113 postgres: background writer ├─5114 postgres: walwriter ├─5115 postgres: autovacuum launcher ├─5116 postgres: stats collector └─5117 postgres: logical replication launcher

To initiate connection to the PostgreSQL shell, run:

$ sudo su - postgres [[email protected] ~]$ psql psql (13.0) Type "help" for help.

And that’s how you can quickly install and run PostgreSQL 13 database server on Oracle Linux 8 system.

Читайте также:  Linux виртуальная звуковая карта

Best Video courses to Learn PostgreSQL Database:

More articles on Oracle Linux 8:

Источник

22 Апр 2021 23:04:48 | 0 comments

Установка и первоначальная настройка PostgreSQL 13 на Oracle Linux 7.9

2 года назад я уже писал статью про установку PostgreSQL 11 на Oracle Linux 7.6, с тех пор много воды утекло, вышла 13-я версия PostgreSQL и я решил написать краткую статью про его установку на Oracle Linux 7.9

Установка 13-й версии в целом такая же как и 11-я, но для начинающих специалистов есть пара нюансов.

Исходные данные: Oracle Linux 7.9
Задача: Установить PostgreSQL 13.2

Устанавливаем PostgreSQL 13.2:

yum -y install postgresql13-server postgresql13-contrib

После установки PostgreSQL 13.2 не создает кластер баз данных, это нужно сделать вручную.
Важно знать, что в Oracle Linux каталог с данными и файлами настройки будет /var/lib/pgsql/13/data

Initializing database . OK

Я задал через PGSETUP_INITDB_OPTIONS свои настройки, у Вас их может не быть (можете использовать настройки по умолчанию), не нужно слепо повторять мой пример, читайте systemctl enable postgresql-13

systemctl start postgresql-13
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 2021-04-22 22:53:02 +05; 56s ago Docs: https://www.postgresql.org/docs/13/static/ Process: 10660 ExecStartPre=/usr/pgsql-13/bin/postgresql-13-check-db-dir $ (code=exited, status=0/SU CCESS) Main PID: 10665 (postmaster) CGroup: /system.slice/postgresql-13.service ├─10665 /usr/pgsql-13/bin/postmaster -D /var/lib/pgsql/13/data/ ├─10669 postgres: logger ├─10671 postgres: checkpointer ├─10672 postgres: background writer ├─10673 postgres: walwriter ├─10674 postgres: autovacuum launcher ├─10675 postgres: stats collector └─10676 postgres: logical replication launcher
netstat -ltupn | grep -E 'post(gres|master)'
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 10761/postmaster tcp6 0 0 . 5432 . * LISTEN 10761/postmaster

Первым делом меняем пароль пользователя postgres:

su - postgres psql postgres=# \password postgres postgres=# \q

По умолчанию PostgreSQL принимает соединения только с локальных служб, т.к. слушает интерфейс localhost и это абсолютно правильно с точки зрения безопасности, но если Вы планируете подключения к серверу извне или из локальной сети, то Вам потребуется поменять параметр listen_addresses

Читайте также:  Linux zip with tar

Для PostgreSQL 13 открываем основной файл настроек /var/lib/pgsql/13/data/postgresql.conf и раскомментируем строку

listen_addresses = 'localhost'

таким образом мы укажем PostgreSQL слушать сетевые соединения на всех сетевых интерфейсах.

Теперь разрешим подключение из локальной сети с любых хостов и к любым БД, для этого файле /var/lib/pgsql/13/data/pg_hba.conf после строки:

# IPv4 local connections: host all all 127.0.0.1/32 scram-sha-256
host all all 192.168.10.0/24 md5

,где 192.168.10.0/24 — это наша локальная подсеть (у Вас она будет своя).

Далее выходим из под пользователя postgres и рестартуем PostgreSQL:

systemctl restart postgresql-13
netstat -ltupn | grep -E 'post(gres|master)'
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 10761/postmaster tcp6 0 0 . 5432 . * LISTEN 10761/postmaster

По умолчанию в Oracle Linux включен firewalld и он запрещает все входящие соединения кроме служб ssh и dhcpv6-client, если мы решили открыть доступ на порт 5432 из локальной сети, то нужно настроить firewalld.

Проверим список разрешенных служб:

firewall-cmd --zone=public --list-services

Теперь добавим службу postgresql:

firewall-cmd --zone=public --permanent --add-service=postgresql firewall-cmd --reload

Проверим правила через iptables:

iptables -L IN_public_allow -n
Chain IN_public_allow (1 references) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate NEW,UNTRACKED ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5432 ctstate NEW,UNTRACKED

Более подробно о настройке firewalld можно узнать связаться со мной разными доступными способами.

Источник

Оцените статью
Adblock
detector