In previous articles, we have discussed the introduction to PostgreSQL and installation of Postgres on Windows system in this article, we will discuss Installing PostgreSQL 14 on the Linux operating system
Follow the below steps to install PostgreSQL 14.10 on the Linux
operating system
introduction - Introduction to PostgreSQL
Step 1: Make sure your Linux system is up to date, run the
below command to update the system
If your Linux system is up to date, skip this step and start
with step 2
sudo yum update
[oracle@localhost Desktop]$ sudo
yum update
[sudo] password for oracle:
Oracle Linux 8 BaseOS Latest
(x86_64)
3.0 kB/s | 3.6 kB 00:01
Oracle Linux 8 Application Stream
(x86_64)
8.6 kB/s | 3.9 kB 00:00
Latest Unbreakable Enterprise
Kernel Release 7 for Oracle Linux 8 (x86_64)
4.0 kB/s | 3.0 kB 00:00
Dependencies resolved.
============================================================================================
Package Arch Version Repository Size
============================================================================================
Installing:
kernel x86_64 4.18.0-513.9.1.el8_9 ol8_baseos_latest 10 M
kernel-uek x86_64 5.15.0-201.135.6.el8uek ol8_UEKR7 2.0 M
Upgrading:
ModemManager x86_64 1.20.2-1.el8 ol8_baseos_latest 1.2 M
kernel-devel x86_64 4.18.0-513.9.1.el8_9 ol8_baseos_latest 24 M
Removing:
kernel-core x86_64 4.18.0-425.3.1.el8 @anaconda 70 M
kernel-modules x86_64 4.18.0-425.3.1.el8 @anaconda 24 M
Transaction Summary
================================================================
Install 27 Packages
Upgrade 582 Packages
Remove 2 Packages
Total download size: 1.3 G
Is this ok [y/N]: y
Downloading Packages:
(1/609):
kernel-devel-4.18.0-513.9.1.el8_9.x86_64.rpm 2.2 MB/s | 24 MB
00:10
...
(608/609):
ndctl-libs-73-1.0.2.el8.x86_64.rpm 544 kB/s | 87 kB
00:00
(609/609):
webkit2gtk3-2.40.5-1.el8_9.1.x86_64.rpm 4.2 MB/s | 24 MB
00:05
-------------------------------------------------------------------------------------------------
Total
6.2 MB/s | 1.3 GB 03:31
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Installed:
bison-3.0.4-10.el8.x86_64
flex-2.6.1-9.el8.x86_64
wpebackend-fdo-1.10.0-3.el8.x86_64
Removed:
kernel-core-4.18.0-425.3.1.el8.x86_64
kernel-modules-4.18.0-425.3.1.el8.x86_64
Complete!
[oracle@localhost Desktop]$
[oracle@localhost Desktop]$
Step 2: Install PostgreSQL library from the official PostgreSQL repository
sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
[oracle@localhost Desktop]$ sudo yum -y install
https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Last metadata expiration check: 0:50:05 ago on Mon 01 Jan 2024 03:25:25
PM UTC.
pgdg-redhat-repo-latest.noarch.rpm
9.2 kB/s | 13 kB 00:01
Dependencies resolved.
========================================================================
Package Architecture Version Repository Size
========================================================================
Installing:
pgdg-redhat-repo noarch 42.0-35PGDG @commandline 13 k
Transaction Summary
========================================================================
Install 1 Package
Total size: 13 k
Installed size: 15 k
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing :
pgdg-redhat-repo-42.0-35PGDG.noarch
1/1
Verifying :
pgdg-redhat-repo-42.0-35PGDG.noarch
1/1
Installed:
pgdg-redhat-repo-42.0-35PGDG.noarch
Complete!
[oracle@localhost Desktop]$
Step 3: Install PostgreSQL
Use the below command to install PostgreSQL 14.10
sudo yum install
postgresql14-server
[oracle@localhost Desktop]$ sudo
yum install postgresql14-server
Last metadata expiration check:
0:01:48 ago on Mon 01 Jan 2024 04:19:30 PM UTC.
Dependencies resolved.
======================================================================================
Package Architecture Version Repository Size
======================================================================================
Installing:
postgresql14-server x86_64 14.10-2PGDG.rhel8 pgdg14 5.7 M
Installing dependencies:
postgresql14 x86_64 14.10-2PGDG.rhel8 pgdg14 1.5 M
postgresql14-libs x86_64 14.10-2PGDG.rhel8 pgdg14 280 k
Transaction Summary
=====================================================================================
Install 3 Packages
Total download size: 7.5 M
Installed size: 32 M
Is this ok [y/N]: y
Downloading Packages:
(1/3):
postgresql14-libs-14.10-2PGDG.rhel8.x86_64.rpm 158 kB/s | 280 kB 00:01
(2/3):
postgresql14-14.10-2PGDG.rhel8.x86_64.rpm 575 kB/s | 1.5 MB 00:02
(3/3):
postgresql14-server-14.10-2PGDG.rhel8.x86_64.rpm 1.5 MB/s | 5.7 MB 00:03
--------------------------------------------------------------------------------------------
Total
1.9 MB/s | 7.5 MB 00:03
PostgreSQL 14 for RHEL / Rocky 8 -
x86_64 1.6 MB/s | 1.7
kB 00:00
Importing GPG key 0x442DF0F8:
Userid
: "PostgreSQL RPM Building Project
<pgsql-pkg-yum@postgresql.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 :
postgresql14-libs-14.10-2PGDG.rhel8.x86_64
1/3
Running scriptlet: postgresql14-libs-14.10-2PGDG.rhel8.x86_64 1/3
Installing :
postgresql14-14.10-2PGDG.rhel8.x86_64
2/3
Running scriptlet: postgresql14-14.10-2PGDG.rhel8.x86_64 2/3
Running scriptlet: postgresql14-server-14.10-2PGDG.rhel8.x86_64 3/3
Installing :
postgresql14-server-14.10-2PGDG.rhel8.x86_64
3/3
Running scriptlet: postgresql14-server-14.10-2PGDG.rhel8.x86_64 3/3
"/home" already exists
and is not a directory.
Verifying :
postgresql14-libs-14.10-2PGDG.rhel8.x86_64
2/3
Verifying :
postgresql14-server-14.10-2PGDG.rhel8.x86_64
3/3
Installed:
postgresql14-14.10-2PGDG.rhel8.x86_64
postgresql14-libs-14.10-2PGDG.rhel8.x86_64
postgresql14-server-14.10-2PGDG.rhel8.x86_64
Complete!
[oracle@localhost Desktop]$
Step 4 :
The above three steps are to install PostgreSQL on Linux,
now before using Postgres cluster, we need to setup your database library, use the
below command
sudo
/usr/pgsql-14/bin/postgresql-14-setup initdb
[oracle@localhost Desktop]$ sudo
/usr/pgsql-14/bin/postgresql-14-setup initdb
Initializing database ... OK
[oracle@localhost Desktop]$
Step 5 : Start the PostgreSQL cluster
Below command sudo
systemctl start postgresql-14 to start PostgreSQL services
[oracle@localhost Desktop]$ sudo
systemctl start postgresql-14
[oracle@localhost Desktop]$
Step 6 : enable the PostgreSQL services
Command sudo
systemctl enable postgresql-14
[oracle@localhost Desktop]$ sudo systemctl enable postgresql-14
Created symlink
/etc/systemd/system/multi-user.target.wants/postgresql-14.service →
/usr/lib/systemd/system/postgresql-14.service.
[oracle@localhost Desktop]$
Step 7 : Switch to Postgres users and login to the PostgreSQL
instance
[oracle@localhost Desktop]$ sudo -i -u postgres
[postgres@localhost ~]$
[postgres@localhost ~]$ id
uid=26(postgres) gid=26(postgres) groups=26(postgres)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[postgres@localhost ~]$
[postgres@localhost ~]$ psql -V
psql (PostgreSQL) 14.10
[postgres@localhost ~]$
Login to PostgreSQL database cluster
[postgres@localhost ~]$ psql
psql (14.10)
Type "help" for help.
postgres=# \l
List of
databases
Name | Owner
| Encoding | Collate |
Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres
| postgres | UTF8 |
en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
=c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
=c/postgres +
| | | | | postgres=CTc/postgres
(3 rows)
postgres=#
This concludes installation of PostgreSQL
on the Linux operating system