Install PostgreSQL on Ubuntu 24.04: The Complete Guide
Are you ready to find out how to install PostgreSQL on Ubuntu 24.04? You're in the right place! PostgreSQL, often simply called Postgres Ubuntu, is a powerful open-source relational database management system (RDBMS) known for its reliability, robustness, and rich feature set. Whether you're developing a new web application, managing large amounts of data, or simply exploring the world of databases, this guide will walk you through it step by step.
In this article, we'll see together how to install the latest version of PostgreSQL on Ubuntu 24.04 (Noble Numbat), configure basic access, and take your first steps with this extraordinary database.
Why Choose PostgreSQL?
PostgreSQL stands out for several reasons:
- Open Source and Free: No licensing costs.
- Extensibility: Supports custom data types, functions, operators, and aggregates.
- SQL Standard Compliance: High adherence to SQL standards.
- Reliability and Stability: Ideal for mission-critical applications thanks to its robust architecture.
- Active Community: Extensive documentation and community support.
- Advanced Features: Support for JSON, ACID transactions, replication, and much more.
If you're looking for a powerful and flexible database solution for your Ubuntu 24.04 server, PostgreSQL is an excellent choice.
Prerequisites
Before you begin, make sure you have:
- A system with Ubuntu 24.04 LTS (Noble Numbat) installed.
- Access to a user with
sudoprivileges. - An active internet connection to download packages.
Step 1: Update Your Ubuntu System
It's always good practice to update the package list and installed packages before adding new software. Open the terminal and type:
sudo apt update
sudo apt upgrade -yThis command will update the list of available packages and then upgrade all installed packages to their latest versions.
Step 2: Install PostgreSQL on Ubuntu 24.04
Ubuntu 24.04 includes a recent version of PostgreSQL in its official repositories. At the time of writing this article, the default version is PostgreSQL 16. To install it, along with the postgresql-contrib package which provides additional utilities and functionalities, run:
sudo apt install postgresql postgresql-contrib -yVerifying the Installation
Once the installation is complete, the PostgreSQL service should start automatically. You can check its status with the following command:
sudo systemctl status postgresql.serviceIf everything went well, you should see output indicating that the service is active (running). Press q to exit the status view.
You can also check the installed version with:
psql --versionIt should return something like psql (PostgreSQL) 16.x (Ubuntu 16.x-...).
Step 3: Accessing PostgreSQL and Configuring the postgres User
During installation, PostgreSQL creates an operating system user named postgres. This user has the default superuser role within the database.
Connecting via the postgres user
To connect to the PostgreSQL prompt (called psql), you first need to switch to the postgres operating system user:
sudo -i -u postgresOnce you become the postgres user, you can access the psql prompt:
psqlYou should now be at the PostgreSQL prompt, indicated by postgres=#. To exit the psql prompt, type \q and press Enter. To return to your regular user, type exit and press Enter.
Setting a Password for the postgres User
For security reasons, it is crucial to set a password for the postgres database user. Inside the psql prompt (after connecting as described above), type:
ALTER USER postgres PASSWORD 'yourSuperSecurePassword';Replace 'yourSuperSecurePassword' with a strong password. Remember that this password is for the postgres *database* user, not the operating system user.
Step 4: Creating a New User and a New Database (Recommended)
For most applications, it is not advisable to use the postgres user directly. It's good practice to create dedicated users with specific privileges for your databases.
Create a New User Role
Still from the psql prompt (connected as the postgres user), you can create a new role (user). For example, to create a user named myuser:
CREATE USER myuser WITH PASSWORD 'aPasswordForMyuser';Create a New Database
Now, let's create a database. For example, a database named mydatabase owned by the newly created myuser:
CREATE DATABASE mydatabase OWNER myuser;Grant Privileges to the New User on the Database
Even though myuser owns the database, you might want to explicitly grant all privileges:
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;Exit the psql prompt (\q) and the postgres user session (exit).
Verify the Connection with the New User
You can now try to connect to your new database with your new user directly from your regular Linux user (without sudo -u postgres), if you have configured md5 or scram-sha-256 authentication (usually default for local connections after setting a password).
psql -U myuser -d mydatabase -h localhostYou will be prompted for the password you set for myuser. If the connection is successful, you will see the mydatabase=> prompt.
Note: The default authentication method for local connections (host or local) is often peer for the postgres user and md5 or scram-sha-256 for other users after they have been assigned a password. If you encounter authentication issues, you may need to modify the pg_hba.conf file. For Ubuntu 24.04 with PostgreSQL 16, it is usually located at /etc/postgresql/16/main/pg_hba.conf.
Useful Commands for Managing PostgreSQL
Here are some useful systemctl commands for managing the PostgreSQL service:
Start PostgreSQL:
sudo systemctl start postgresqlStop PostgreSQL:
sudo systemctl stop postgresqlRestart PostgreSQL:
sudo systemctl restart postgresqlEnable PostgreSQL to start on boot:
sudo systemctl enable postgresqlDisable PostgreSQL from starting on boot:
sudo systemctl disable postgresql
Need Expert Help?
Installing and configuring PostgreSQL is just the first step. Database management, performance optimization, security, and backup planning can become complex.
If you feel overwhelmed or prefer to focus on your core business, our team of Linux experts is here to help! We offer customized Linux consulting and support services, including advanced PostgreSQL configuration and maintenance.
Don't waste valuable time solving complex problems: Contact us today for a free consultation!
Frequently Asked Questions (FAQ) about PostgreSQL on Ubuntu 24.04
- Q: What version of PostgreSQL is installed on Ubuntu 24.04 with
apt?
A: Ubuntu 24.04 (Noble Numbat) includes PostgreSQL 16 in its default repositories. - Q: Where are the PostgreSQL configuration files located?
A: The main configuration files (postgresql.confandpg_hba.conf) are usually located in/etc/postgresql/16/main/(the version number might vary if you install a different version). Q: How can I enable remote connections to PostgreSQL?
A: You need to modify two files:postgresql.conf: setlisten_addresses = '*'.pg_hba.conf: add a line to allow connections from the desired network, e.g.,host all all 0.0.0.0/0 md5(for IPv4) orhost all all ::/0 md5(for IPv6). Warning:0.0.0.0/0allows connections from any IP; carefully consider the security implications.
Remember to restart the PostgreSQL service after making changes.
- Q: What is a popular GUI tool for managing PostgreSQL?
A: pgAdmin is the most popular open-source administration and development platform for PostgreSQL. It is available as a web or desktop application. - Q: How do you back up a PostgreSQL database?
A: You can use thepg_dumputility. For example:pg_dump -U username -d databasename -f backup.sql.
Conclusion
Congratulations! You now have a fully functional PostgreSQL Ubuntu server on your Ubuntu 24.04 installation. You've learned how to install PostgreSQL