Linux

How to install and setup PostgreSQL on RHEL 8

[ad_1]

How do I install PostgreSQL relational database management on RHEL 8 using the command line? How do I install and setup PostgreSQL on RHEL 8 server using application streams?

Introduction: PostgreSQL is a free and open source ORDBMS ( object-relational database management system). It is the world’s most advanced open source database. This page shows how to install PostgreSQL on RHEL 8 and configure other aspects of the database server.

How to install and setup PostgreSQL on RHEL 8

  1. Open a terminal Window
  2. Find version of PostgreSQL you want to install on RHEL 8:
    sudo yum module list | grep postgresql
  3. Install the default, PostgreSQL version 10 on RHEL 8:
    sudo yum install @postgresql
  4. Next initialize new PostgreSQL database cluster in RHEL 8:
    sudo postgresql-setup --initdb

Let us see all commands in details.

How to see a list of all available PostgreSQL application streams on RHEL 8

Run the following yum command
$ sudo yum module list | grep postgresql
How to see a list of all available PostgreSQL versions or application streams

How to install and use PostgreSQL on RHEL 8

In the previous step, we saw that RHEL 8 shipped with two Applications streams for PostgreSQL server. To install PostgreSQL 9.6, run:
$ sudo yum install @postgresql:9.6
The default is PostgreSQL 10, so running the following yum command installs the latest stable version:
$ sudo yum install @postgresql

Install and setup PostgreSQL on RHEL 8
Installing and use PostgreSQL on RHEL 8 using application streams (click to enlarge)

How to initialize new PostgreSQL database cluster

The first action you perform after PostgreSQL server installation is to run the following command:
$ sudo postgresql-setup --initdb

How to create a new PostgreSQL database cluster on RHEL 8
Creating a new PostgreSQL database cluster on RHEL 8

How to setup a password for postgres account

Run the following passwd command to setup a password:
$ sudo passwd postgres
Sample outputs:

How do I start/stop/restart the PostgreSQL server

You need to use the systemctl command:
sudo systemctl start postgresql ## <-- start the server ##
sudo systemctl stop postgresql ## <-- stop the server ##
sudo systemctl restart postgresql ## <-- resstart the server ##
sudo systemctl status postgresql ## <-- get status of the server ##

How to enable the PostgreSQL server at boot time on RHEL 8

Again use the systemctl command as follows:
$ sudo systemctl enable postgresql

Start stop restart PostgreSQL server on RHEL 8
Start and enable the PostgreSQL server

How do I log in using psql?

You need to use the psql command. It is a terminal-based front-end to PostgreSQL server. It enables you to type in queries interactively. The installation script created a user named postgres. That is the default account for default database and roles. Let us log in as postgres using the sudo command:
$ sudo -i -u postgres
Run it:
$ psql

Login to PostgreSQL Databases
Validating installation of PostgreSQL database server

At postgres=# prompt type q to quit from the command-line interface to PostgreSQL server. Did you notice you logged into PostgreSQL without any password? Let us fix this by creating HBA config:
$ sudo vi /var/lib/pgsql/data/pg_hba.conf
Find lines that read as follows:

Replace ident with scram-sha-256:

Restart the postgresql server:
$ sudo systemctl restart postgresql

How to create a new PostgreSQL user account

First create a Linux user account named tom:
$ sudo useradd tom
$ sudo passwd tom

Sample outputs:

The postgres account is nothing but an administrative user for PostgreSQL server. So log in as postgres:
$ sudo -i -u postgres
Run the following createuser command to creates a new PostgreSQL role for tom Linux user:
$ createuser --interactive

How to create a new PostgreSQL user or role on RHEL 8
Define a new PostgreSQL user account named tom

Create a new user account with password for new role:
$ createuser --interactive --pwprompt

Creating user with password on PostgreSQL
Creating user with password on PostgreSQL

Finally create a new database named jerry for tom user by log in as postgres admin user:
$ sudo -i -u postgres
$ createdb -O tom jerry

Related: PostgreSQL add or create a user account and grant permission for database

How do I connect to jerry database with tom user?

Simply run the following commands:
$ sudo -i -u tom
$ psql -d jerry -U tom

How to connect to postgresql with the new user
Connecting to PostgreSQL server with the new user named tom for jerry database

How to create a new table

Log in:
$ psql -d jerry -U tom
Type the following SQL to create demo table:

See info about the demo table:
d
OR
dt
How to create a new PostgreSQL table on RHEL 8
Let us add some data to our table, run the following SQL:

View data:

Delete some data:

Update data:

How to add, query, delete and Update data in a table
How to add, query, delete and Update data in a table (click to enlarge)

Conclusion

Congratulations. You successfully set up PostgreSQL server on RHEL 8 server. You also learned how to create users, database and tables. For more info see the official PostgreSQL docs here.

[ad_2]

Facebook Comments

Show More

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button