In this tutorial, we will show you how to install PostgreSQL on Debian 11. For those of you who didn’t know, PostgreSQL is a powerful, open-source object-relational database system that uses and extends the SQL language combined with many features that safely store and scale the most complicated data workloads. With over 30 years of active development, PostgreSQL is widely used as a database for numerous mobile and web applications.
This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo
‘ to the commands to get root privileges. I will show you the step-by-step installation of PostgreSQL 13 on a Debian 11 (Bullseye).
Prerequisites
- A server running one of the following operating systems: Debian 11.
- It’s recommended that you use a fresh OS install to prevent any potential issues.
- SSH access to the server (or just open Terminal if you’re on a desktop).
- An active internet connection. You’ll need an internet connection to download the necessary packages and dependencies for PostgreSQL.
- A
non-root sudo user
or access to theroot user
. We recommend acting as anon-root sudo user
, however, as you can harm your system if you’re not careful when acting as the root.
Install PostgreSQL on Debian 11 Bullseye
Step 1. Before we install any software, it’s important to make sure your system is up to date by running the following apt
commands in the terminal:
sudo apt update sudo apt upgrade sudo apt install wget software-properties-common apt-transport-https gnupg gnupg2
Step 2. Installing PostgreSQL on Debian 11.
By default, PostgreSQL is not available to install directly from the Debian 11 base repository. Now we add the official PostgreSQL repository to your system:
echo "deb [signed-by=/usr/share/keyrings/postgresql-keyring.gpg] http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list
Next, import the PostgreSQL signing key:
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-keyring.gpg
Finally, run the following command below to install PostgreSQL:
sudo apt update sudo apt install postgresql-13
After installing PostgreSQL, start the PostgreSQL service and enable it to start at system reboot:
sudo systemctl start postgresql sudo systemctl enable postgresql sudo systemctl status postgresql
Step 3. Accessing PostgreSQL database server.
Once PostgreSQL is installed, a new user called postgres
is created by default. You can confirm this by having a peek at the /etc/passwd
file which stores users’ information such as UID and GID:
cat /etc/passwd | grep -i postgres
To connect to the database, switch to the postgres
user as shown:
su - postgres psql
Now you are logged in to the PostgreSQL database server. To check login info use the following command from the database command prompt:
postgres-# \conninfo
Run the help command to view some command usages:
postgres=# help
To disconnect from the PostgreSQL database command prompt just type the below command and press enter. It will return you back to the Ubuntu command prompt:
postgres-# \q
Congratulations! You have successfully installed PostgreSQL. Thanks for using this tutorial for installing the latest version of the PostgreSQL database on Debian 11 Bullseye. For additional help or useful information, we recommend you check the official PostgreSQL website.