You are on page 1of 4

Recommended guide to install

POSTGRESQL from Source

Posted by​ ​Prince DAN​ December 28, 2019 in​ ​DevOps

PostgreSQL (also called postgres) is a very famous, powerful, open-source object-relational


database management system that has been around for almost 30 years. PostgreSQL requires
very minimum maintained efforts because of its stability. Therefore, if you develop applications
based on PostgreSQL, the total cost of ownership is low in comparison with other database
management systems.

Recommended Read:​ ​Simple guide to install POSTGRESQL on Ubuntu

Also Read:​ ​How to setup SSH login without password on Linux systems

In this tutorial, we will learn to install PostgreSQL from source. So let’s start the tutorial,
Pre-requisites

We need to install some packages on servers before we can install PostgreSQL from source,

CentOS/RHEL

# yum groupinstall “Development Tools” -y

# yum install gcc zlib-devel readline-devel systemd-devel -y

Ubuntu

# sudo apt-get install build-essential -y

# sudo apt install gcc zlib1g-dev libreadline6-dev libsystemd-dev -y

Now we can start the process to install PostgreSQL from source.

Install Postgres from source

The first step would be to download the source package for Postgres. Here we will be installing
PostgreSQL 11.6,

# wget -O – https://ftp.postgresql.org/pub/source/v11.6/postgresql-11.6.tar.bz2 | tar jxf –

# cd postgresql-11.6

We will now configure postgresql,

# ./configure –with-systemd

Next, run the following commands,

# make

# make install

So these commands will install postgresql from the source. Next step would be to create a user
for the postgres installation,

# useradd postgres

# passwd -d postgres
Next, we will also create a data directory for postgres,

# mkdir /usr/local/pgsql/data

# chown postgres /usr/local/pgsql/data

The next step would be to initialize the database. To do that, change the user to postgres &
execute the following command,

# su – postgres

$ /usr/local/pgsql/bin/initdb -A trust -D /usr/local/pgsql/data

Once this is done, we can start the database but we need to create a service file to start the
database. Revert back to superuser & create a service file,

# vi /etc/systemd/system/postgresql.service

[Unit]

Description=PostgreSQL database server

Documentation=man:postgres(1)

[Service]

Type=notify

User=postgres

ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data

ExecReload=/bin/kill -HUP \\\$MAINPID

KillMode=mixed

KillSignal=SIGINT

TimeoutSec=0

[Install]

WantedBy=multi-user.target

EOF
Save the file & exit. Then run the following command to start the database service,

# systemctl daemon-reload

# systemctl enable postgresql.service

# systemctl start postgresql.service

That’s it, the database is now ready to use.

Note:​ The Same method can be used to install other postgresql versions as well, the only
change would download link for the version you wish to install.

We now end this tutorial on how to install postgresql from source, in our future tutorial​ ​we will
discuss some other important Postgresql commands​. Please feel free to send in any
questions or queries using the comment box below.

If you think we have helped you or just want to support us, please consider these:-

Connect to us:​ ​Facebook​ |​ ​Twitter​ |​ ​Linkedin

TheLinuxGURUS are thankful for your continued support.

TheLinuxGURUS.com

You might also like