PostgreSQL, or Postgres, is a relational database management system that provides an implementation of the SQL querying language. It is a popular choice for many small and large projects, having many advanced features like transaction management and transaction without read-locks, which are essential for a high performant database.
Now, in this tutorial, let us look at how we can set up and install PostgreSQL on our Ubuntu system. We will also show you how you can create a new account on PostgreSQL for all your Database Management needs.
Step 1: Install PostgreSQL on Ubuntu
Ubuntuโs default repositories contain Postgres packages, so you can install these using the apt packaging system directly. So, let’s update our system first before installing PostgreSQL from its source repository.
We will be installing both the native postgresql package, as well as a -contrib package that adds some additional utilities and functionality.
sudo apt update
sudo apt install postgresql postgresql-contrib
Now, if this runs successfully, we have installed PostgreSQL, and we are now ready to configure it.
Step 2: Interact with the PostgreSQL Database System
The installation procedure created a user account called postgres that is associated with the default Postgres role. In order to use Postgres, you can log into that account.
To use the postgres account, we can simply switch to that account like root, using:
sudo -i -u postgres
This will log you directly into an account called postgres without the intermediary bash shell in between.
Now, we can login and interact with the Database as the postgres user, by simply typing:
psql
To, exit the psql prompt, simply type: \q.

Step 3: Create a new Role in PostgreSQL Database
We do not always want to switch to the postgres account to login to the Database System every time. Hence, a better alternative would be to create a new account from which we could login into PostgreSQL, without using either the postgres or the root accounts. This is also useful when you need to create different Databases depending on the user.
This involves creating a new role (account) in PostgreSQL for our user. Let us do that now.
We can create new roles from the command line with the createrole command. The --interactive flag will prompt you for the name of the new role and also ask whether it should have sudo permissions.
If you are logged in as the postgres account, you can create a new user by typing:
postgres@ubuntu:~$ createuser --interactive
This will now go to an interactive session for creating a new user, with suitable privileges.

Step 4: Create a New Database for our new Role/User
An assumption that the Postgres authentication system makes by default is that for any role used to log in, that role will have a database with the same name which it can access. Therefore, for our user called admin, the system will automatically try to connect to a Database called admin. But, we don’t have any Databases associated with our newly created account.
So, let’s create a database for our admin user, called admin. After this, we can finally log onto our new account.
We use the createdb command, while being logged into the postgres user.
postgres@ubuntu:~$ createdb admin
Step 5: Create a New Linux User for PostgreSQL Role
You will need a Linux user with the same name as your Postgres role and database.
If you donโt have a matching Linux user available, you can create one with the adduser command. Log out from the postgres account by typing exit, and then run this command as root.
root@ubuntu:~# sudo adduser admin
We are now ready to open PostgreSQL from the admin account.
Step 6: Log in to our new PostgreSQL account
To log in to psql, we again need to switch accounts; This time using admin.
sudo -i -u admin
We can now type psql to login to our new account.
To look at the connection details, type \conninfo to look at the User name, Database name, etc.

We have successfully created and logged onto a new PostgreSQL account! Now you can go on further and start using the full functionality of PostgreSQL from your new role!
Conclusion
In this tutorial, we showed you how we can install and configure PostgreSQL on Ubuntu 18.04 from the Terminal. We also showed how we can create a new account for PostgreSQL and log into that account. You can now start creating and manipulating databases for your custom role! I hope this tutorial helped you in configuring PostgreSQL without too much hassle. If you’re planning to create an application, you may want to consider the better option between PostgreSQL vs SQLite that suits you best.