PostgreSQL is an open-source, object-relational database system that provides an implementation of the SQL querying language. It has all the standard features of traditional commercial database systems with additional enhancements in next-generation DBMS systems.
Most Linux platforms, such as Debian, Red Hat / CentOS, SUSE, and Ubuntu, have PostgreSQL integrated with their package management. It is recommended that you install PostgreSQL this way since it ensures a proper integration with the operating system, including automatic patching and other update management functionality.
This tutorial will guide you through the process n how to install PostgreSQL on Ubuntu systems. We will be using Ubuntu 18.04 version and Ubuntu 16.04.
What you will need (for Ubuntu 18.04)
- An Ubuntu 18.04 Linux server
- A root user account or a user account with sudo privileges
- Access to the terminal window
- Basic understanding of Linux commands
Method 1: Install from PostgreSQL Apt repository
Step 1: Add PostgreSQL Repository
PostgreSQL is available by default on all Ubuntu versions. However, it does not guarantee automatic updates when new releases come out. Therefore, the best way to install the software is from the PostgreSQL Apt repository.
First, enter the following commands to add the GPG repository key:
sudo apt-get install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
Now add the PostgreSQL repository by entering:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
Step 2: Install PostgreSQL
Now that the PostgreSQL repository has been added to your system, it’s best to run an update on your system’s package list. This will ensure that you will install the latest PostgreSQL package.
sudo apt-get update
To install PostgreSQL, enter the following:
sudo apt-get install postgresql postgresql-contrib
The -contrib will add some additional utilities and functionalities to the PostgreSQL installation.
Method 2: Install from the Local Ubuntu repository
Step 1: Check the available PostgreSQL version
In this section, we will install PostgreSQL from the local ubuntu repository. However, remember that you will likely not get the latest package version.
First, we will update the repository:
sudo apt-get update
Now enter the following command to verify which version of PostgreSQL is available and if it will be okay for you. The following command will show all necessary information, including version and size.
apt show postgresql
Step 2: Install PostgreSQL package
To install PostgreSQL, enter the following command:
sudo apt-get install postgresql postgresql-contrib
With that, you have completed the installation of PostgreSQL on Ubuntu1 18.04. After installing from either the local repository or the PostgreSQL Apt Repository, the following steps will be used to connect to PostgreSQL successfully.
Step 3: Connect to PostgreSQL
By default, Postgres uses a concept called “roles” to handle authentication and authorization. During the installation process, a user account called Postgres was created, and you can access this by this command:
$ sudo su – postgres
Now with one simple command, you can enter the Postgres prompt:
$ Psql
This will log you into the PostgreSQL prompt, and from here, you are free to interact with the database management system immediately.
If you would like to exit the PostgreSQL prompt:
postgres-# \q
This will bring you to the Postgres Linux command prompt. If you would like to return to your regular system user, enter:
exit
Another way to connect to the Postgres prompt is to run the psql command directly. To do this, enter the following command:
$ sudo -u postgres psql
This command will log you into Postgres without going through the intermediary bash shell.
Step 4: Check connectivity
If you are connected to PostgreSQL and want to see details of the connection, use the command:
postgres-# conninfo
The output displays the database name, the account you are logged in to, the socket path, and the port number.
Step 5: Create a new role
Once you are logged into the Postgres account, you can create a new role by using this command:
postgres-# createuser –interactive
If you don’t want to switch to the Postgres account, you can do this using the sudo command:
$ sudo -u postgres createuser –interactive
No matter how you want to add the user, the run script will be the same. You will be prompted with some choices to create a user.
What you will need (for Ubuntu 16.04)
- An Ubuntu 16.04 Linux server
- A root user account or a user account with sudo privileges
- Access to the terminal window
- Basic understanding of Linux commands
Step 1: Update the system
First, ensure that all your system packages are up-to-date by running the following apt-get commands in the terminal.
sudo apt-get update
sudo apt-get upgrade
Step 2: Installing the PostgreSQL server
PostgreSQL is available in the default repositories. So enter the following command from the terminal to install it:
apt-get install postgresql postgresql-contrib phppgadmin
Step 3: Access the PostgreSQL command prompt.
After installing the PostgreSQL database server, it automatically creates a user ‘Postgres with role ‘Postgres. It also creates a system account with the same name ‘Postgres. So to connect to the Postgres server, log in to your system as user of Postgres and connect database:
su - postgres
psql
Now you are logged in to the PostgreSQL database server. To check login info, use the following command from a database command prompt:
postgres-# \conninfo
To disconnect from the PostgreSQL database command prompt, type the below command and press enter. It will return you to the Ubuntu command prompt:
postgres-# \q
Step 4: Create a new user and database
For example, let us create a new user called “idroot” with the password “idrootnet”, and a database called “idrootdb”.
sudo -u postgres createuser -D -A -P idroot
sudo -u postgres createdb -O idroot idrootdb
Step 5: Configure Apache2 for phpPgAdmin.
phpPgAdmin is a web-based administration tool for PostgreSQL. It is perfect for PostgreSQL DBAs, newbies, and hosting services. You need to configure apache for phpPgAdmin. Edit the file /etc/apache2/conf-available/phppgadmin.conf:
nano /etc/apache2/conf-available/phppgadmin.conf
Comment out the line #Require local by adding a # in front of the line and below the line allow from all so that you can access your browser.
Step 6: Configure phpPgAdmin
Next, edit the file /etc/phppgadmin/config.inc.php:
nano /etc/phppgadmin/config.inc.php
Now change the following option:
$conf[‘extra_login_security'] = true;
to
$conf[‘extra_login_security'] = false;
Now, we can restart Apache and phpPgAdmin so that the changes take place:
systemctl restart postgresql
systemctl restart apache2
systemctl enable postgresql
systemctl enable apache2
Step 7: Accessing phpPgAdmin.
phpPgAdmin will be available on HTTP port 80 by default. Open your favourite browser and navigate to:
http://yourdomain.com/phppgadmin
or
http://server-ip/phppgadmin
.
If you are using a firewall, please open port 80 to enable access to the control panel. Congratulations! You have successfully installed PostgreSQL Server.
Conclusions
This article should help you set up PostgreSQL on Ubuntu 18.04 and Ubuntu 16.04. Both installations are straightforward, whether you choose to install from the PostgreSQL repository or the local Ubuntu repository.
For those looking to manage their databases on a remote server, you might find it useful to set up a Ubuntu VPS server or an RDP server for Ubuntu. These setups can greatly enhance your ability to work with PostgreSQL from different locations and environments.
If this article was of help, let us know in the comments below (we are always eager to hear your feedback).
People also read: