This post will explain the installation process of PostgreSQL 13 in redhat linux 8
We are following the yum/dnf method of installation here.
Create a VM in Local Machine using Virtualbox/Vmware/Hyper V or create a ec2-instance/VM in cloud. Here I am using a local VM using Virtualbox.
2. We need to download the repo first.
dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
3. We can check the repolist by running the following command.
dnf repolist
4. We need to disable the PostgreSQL AppStream repository on CentOS 8 | RHEL 8 Linux which contains some other version of PostgreSQL.
dnf -qy module disable postgresql
5. Check to see if PostgreSQL 13 packages are available on the repository.
dnf search postgresql13
6. Now, install postgresql13
[root@basevm ~]# dnf install postgresql13 postgresql13-server
Updating Subscription Management repositories.
Last metadata expiration check: 1:12:46 ago on Sun 04 Apr 2021 07:19:34 PM IST.
Dependencies resolved.
=========================================================================================================================================
Package Architecture Version Repository Size
=========================================================================================================================================
Installing:
postgresql13 x86_64 13.2-1PGDG.rhel8 pgdg13 1.4 M
postgresql13-server x86_64 13.2-1PGDG.rhel8 pgdg13 5.5 M
Installing dependencies:
postgresql13-libs x86_64 13.2-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
Downloading Packages:
(1/3): postgresql13-libs-13.2-1PGDG.rhel8.x86_64.rpm 240 kB/s | 411 kB 00:01
(2/3): postgresql13-13.2-1PGDG.rhel8.x86_64.rpm 730 kB/s | 1.4 MB 00:02
(3/3): postgresql13-server-13.2-1PGDG.rhel8.x86_64.rpm 2.2 MB/s | 5.5 MB 00:02
-----------------------------------------------------------------------------------------------------------------------------------------
Total 2.9 MB/s | 7.4 MB 00:02
warning: /var/cache/dnf/pgdg13-e81daebfc8b779ec/packages/postgresql13-13.2-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 <pgsqlrpms-hackers@pgfoundry.org>"
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
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : postgresql13-libs-13.2-1PGDG.rhel8.x86_64 1/3
Running scriptlet: postgresql13-libs-13.2-1PGDG.rhel8.x86_64 1/3
Installing : postgresql13-13.2-1PGDG.rhel8.x86_64 2/3
Running scriptlet: postgresql13-13.2-1PGDG.rhel8.x86_64 2/3
Running scriptlet: postgresql13-server-13.2-1PGDG.rhel8.x86_64 3/3
Installing : postgresql13-server-13.2-1PGDG.rhel8.x86_64 3/3
Running scriptlet: postgresql13-server-13.2-1PGDG.rhel8.x86_64 3/3
Verifying : postgresql13-13.2-1PGDG.rhel8.x86_64 1/3
Verifying : postgresql13-libs-13.2-1PGDG.rhel8.x86_64 2/3
Verifying : postgresql13-server-13.2-1PGDG.rhel8.x86_64 3/3
Installed products updated.
Installed:
postgresql13-13.2-1PGDG.rhel8.x86_64 postgresql13-libs-13.2-1PGDG.rhel8.x86_64 postgresql13-server-13.2-1PGDG.rhel8.x86_64
Complete!
7. We need to install and start database now.
[root@basevm ~]# /usr/pgsql-13/bin/postgresql-13-setup initdb
Initializing database ... OK
8. Start the PostgreSQL database server and set it to start at boot.
[root@basevm ~]# systemctl enable --now postgresql-13
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql-13.service → /usr/lib/systemd/system/postgresql-13.service.
9. Check the service status to confirm it is running.
[root@basevm ~]# systemctl status postgresql-13
10. Let's connect to database and run basic commands.
[postgres@basevm ~]$ psql
psql (13.2)
Type "help" for help.
postgres=# select datname from pg_database;
datname
-----------
postgres
template1
template0
(3 rows)
postgres=# create database test identified by test;
ERROR: syntax error at or near ";"
LINE 1: create database test identified by test;
^
postgres=# create database test;
CREATE DATABASE
postgres=#
postgres=# select datname from pg_database;
datname
-----------
postgres
test
template1
template0
(4 rows)
postgres=# \c test
You are now connected to database "test" as user "postgres".
test=#
test=#
[postgres@basevm ~]$ ps -ef | grep postgres
postgres 2506 1 0 20:46 ? 00:00:00 /usr/pgsql-13/bin/postmaster -D /var/lib/pgsql/13/data/
postgres 2507 2506 0 20:46 ? 00:00:00 postgres: logger
postgres 2509 2506 0 20:46 ? 00:00:00 postgres: checkpointer
postgres 2510 2506 0 20:46 ? 00:00:00 postgres: background writer
postgres 2511 2506 0 20:46 ? 00:00:00 postgres: walwriter
postgres 2512 2506 0 20:46 ? 00:00:00 postgres: autovacuum launcher
postgres 2513 2506 0 20:46 ? 00:00:00 postgres: stats collector
postgres 2514 2506 0 20:46 ? 00:00:00 postgres: logical replication launcher
root 2520 1909 0 20:55 pts/0 00:00:00 su - postgres
postgres 2521 2520 0 20:55 pts/0 00:00:00 -bash
postgres 2593 2521 0 21:03 pts/0 00:00:00 ps -ef
postgres 2594 2521 0 21:03 pts/0 00:00:00 grep --color=auto postgres
Comments