INSTALL POSTGRESQL IN LINUX
Check the linux distribution for the postgresql to be installed
[root@DBZX21 ~]# uname -a
Linux DBZX21 5.4.17-2136.304.4.1.el8uek.x86_64 #2 SMP Tue Feb 8 11:54:24 PST 2022 x86_64 x86_64 x86_64 GNU/Linux
[root@DBZX21 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.5 (Ootpa)
Based on the distribution type, use the package installation utility to install postgresql
[root@DBZX21 kish]# yum install postgresql* -y
Initialize the postgre libraries using postgresql-setup
[postgres@DBZX21 ~]$ /usr/bin/postgresql-setup --initdb
* Initializing database in '/var/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
Enable the postgresql service and start the service using systemctl utility
[postgres@DBZX21 ~]$ systemctl enable postgresql
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-unit-files ====
Authentication is required to manage system service or unit files.
Authenticating as: kishan
Password:
==== AUTHENTICATION COMPLETE ====
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service.
==== AUTHENTICATING FOR org.freedesktop.systemd1.reload-daemon ====
Authentication is required to reload the systemd state.
Authenticating as: kishan
Password:
==== AUTHENTICATION COMPLETE ====
[postgres@DBZX21 ~]$ systemctl start postgresql
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
Authentication is required to start 'postgresql.service'.
Authenticating as: kishan
Password:
==== AUTHENTICATION COMPLETE ====
[postgres@DBZX21 ~]$ systemctl status postgresql
● postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-11-08 21:24:36 IST; 35s ago
Process: 70150 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql (code=exited, status=0/SUCCESS)
Main PID: 70152 (postmaster)
Tasks: 8 (limit: 35835)
Memory: 15.9M
CGroup: /system.slice/postgresql.service
├─70152 /usr/bin/postmaster -D /var/lib/pgsql/data
├─70154 postgres: logger process
├─70156 postgres: checkpointer process
├─70157 postgres: writer process
├─70158 postgres: wal writer process
├─70159 postgres: autovacuum launcher process
├─70160 postgres: stats collector process
└─70161 postgres: bgworker: logical replication launcher
Check the process related to postgre which are up to validate the status
[postgres@DBZX21 ~]$ ps -ef|grep postgre|grep -Ev 'su|grep|ps|bash'
postgres 70063 70062 0 21:24 pts/0 00:00:00 /usr/libexec/pk-command-not-found [postgres@DBZX21 ~]$ /usr/bin/postgresql-setup --initdb
postgres 70152 1 0 21:24 ? 00:00:00 /usr/bin/postmaster -D /var/lib/pgsql/data
postgres 70154 70152 0 21:24 ? 00:00:00 postgres: logger process
postgres 70156 70152 0 21:24 ? 00:00:00 postgres: checkpointer process
postgres 70157 70152 0 21:24 ? 00:00:00 postgres: writer process
postgres 70158 70152 0 21:24 ? 00:00:00 postgres: wal writer process
postgres 70159 70152 0 21:24 ? 00:00:00 postgres: autovacuum launcher process
postgres 70160 70152 0 21:24 ? 00:00:00 postgres: stats collector process
postgres 70161 70152 0 21:24 ? 00:00:00 postgres: bgworker: logical replication launcher
Use psql to login to the command line
List all the current databases
[postgres@DBZX21 ~]$ psql
postgres=# \l+
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges | Size | Tablespace | Description
-----------+----------+----------+-------------+-------------+-----------------------+---------+------------+-------------------------------------
-------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 7319 kB | pg_default | default administrative connection da
tabase
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| 7185 kB | pg_default | unmodifiable empty database
| | | | | postgres=CTc/postgres | | |
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| 7185 kB | pg_default | default template for new databases
| | | | | postgres=CTc/postgres | | |
(3 rows)
Use help to print all the DDL commands that can be used
postgres=# \h
Available help:
ABORT CLUSTER CREATE VIEW DROP USER MAPPING
ALTER AGGREGATE COMMENT DEALLOCATE DROP VIEW
ALTER COLLATION COMMIT DECLARE END
ALTER CONVERSION COMMIT PREPARED DELETE
That is it, postgresql is installed successfully!