YouTube Icon

Code Playground.

How to Install PostgreSQL on Ubuntu 18.04


How to Install PostgreSQL on Ubuntu 18.04

PostgreSQL or Postgres is an open-source broadly useful article social information base administration framework. PostgreSQL has many progressed highlights which permit you to make complex web applications. 

In this instructional exercise, we will tell you the best way to introduce PostgreSQL on Ubuntu 18.04 and investigate the essentials of fundamental information base organization. 


Prior to proceeding with this instructional exercise, ensure you are signed in as a client with sudo advantages . 

Install PostgreSQL on Ubuntu

At the hour of composing this article, the most recent form of PostgreSQL accessible from the authority Ubuntu archives is PostgreSQL variant 10.4. 

To introduce PostgreSQL on your Ubuntu worker follow the means underneath: 

Introducing PostgreSQL 

Invigorate the nearby bundle list and introduce the PostgreSQL worker alongside the PostgreSQL contrib bundle which gives a few extra highlights to the PostgreSQL information base: 

sudo apt update
sudo apt install postgresql postgresql-contrib

Confirming PostgreSQL Installation 

When the establishment is finished, the PostgreSQL administration will begin naturally. 

To confirm the establishment we will attempt to interface with the PostgreSQL information base worker utilizing the psql and print the worker form : 

sudo -u postgres psql -c "SELECT version();"

Introducing PostgreSQL Ubuntu 

psql is an intuitive order line utility that permits you to communicate with the PostgreSQL worker. 

PostgreSQL Roles and Authentication Methods

Information base access authorizations inside PostgreSQL are taken care of with the idea of jobs. A job can speak to an information base client or a gathering of data set clients. 

PostgreSQL upholds numerous confirmation strategies . The most generally utilized are: 

Trust - With this technique, the job can associate without a secret phrase, as long as the standards characterized in the pg_hba.conf are met. 

Secret word - A job can associate by giving a secret word. The passwords can be put away as scram-sha-256 md5 and secret key (clear-text) 

Ident - This technique is just upheld on TCP/IP associations. Works by acquiring the customer's working framework client name, with a discretionary client name planning. 

Friend - Same as Ident however it is just upheld on nearby associations. 

PostgreSQL customer confirmation is characterized in the design document named pg_hba.conf. Naturally for neighborhood associations, PostgreSQL is set to utilize the companion verification technique. 

The postgres client is made consequently when you introduce PostgreSQL. This client is the superuser for the PostgreSQL occurrence and it is equal to the MySQL root client. 

To sign in to the PostgreSQL worker as the postgres client first you need to change to the client postgres and afterward you can get to a PostgreSQL brief utilizing the psql utility: 

sudo su - postgres

From here, you can associate with your PostgreSQL case. To exit out of the PostgreSQL shell type: 


You can likewise get to the PostgreSQL brief without exchanging clients utilizing the sudo order: 

sudo -u postgres psql

The postgres client is ordinarily utilized distinctly from the nearby host and it is prescribed not to set the secret phrase for this client. 

Creating PostgreSQL Role and Database

You can make new jobs from the order line utilizing the createuser order. Just superusers and parts with CREATEROLE advantage can make new jobs. 

In the accompanying model, we will make another job named john an information base named johndb and award advantages on the information base. 

Create a new PostgreSQL Role

The accompanying order will make another job named john: 

sudo su - postgres -c "createuser john"

Make another PostgreSQL Database 

Make another information base named johndb utilizing the createdb order: 

sudo su - postgres -c "createdb johndb"


Award advantages 

To allow authorizations to the john client on the information base we made in the past advance, associate with the PostgreSQL shell: 

sudo -u postgres psql

what's more, run the accompanying question: 

grant all privileges on database johndb to john;

Enable remote access to PostgreSQL server

Of course, the PostgreSQL worker listens just on the neighborhood interface To empower far off admittance to your PostgreSQL worker open the design document postgresql.conf and add listen_addresses = '*' in the CONNECTIONS AND AUTHENTICATION area. 

sudo vim /etc/postgresql/10/main/postgresql.conf



# - Connection Settings -

listen_addresses = '*'     # what IP address(es) to listen on;

save the record and restart the PostgreSQL administration with: 

sudo service postgresql restart

Check the progressions with the ss utility: 

ss -nlt | grep 5432
LISTEN   0         128          *
LISTEN   0         128                    [::]:5432                [::]:*

As should be obvious from the yield over the PostgreSQL worker is tuning in on all interfaces ( 

The last advance is to arrange the worker to acknowledge distant associations by altering the pg_hba.conf record. 

The following are a few models indicating diverse use cases: 


# TYPE  DATABASE        USER            ADDRESS                 METHOD

# The user jane will be able to access all databases from all locations using a md5 password
host    all             jane                  md5

# The user jane will be able to access only the janedb from all locations using a md5 password
host    janedb          jane                  md5

# The user jane will be able to access all databases from a trusted location ( without a password
host    all             jane              trust


You have figured out how to introduce and arrange PostgreSQL on your Ubuntu 18.04 worker. 

Counsel the PostgreSQL 10.4 Documentation for more data on this point. 

In the event that you have any inquiries, if it's not too much trouble leave a remark underneath.