We will guide you through the steps to set up PostgreSQL to start automatically on Ubuntu boot.
PostgreSQL is a popular open-source relational database management system used by many developers and organizations worldwide. In Ubuntu, you can configure PostgreSQL to start automatically upon system boot, ensuring that your database server is always up and running.
Before we begin, make sure you have the following prerequisites in place:
- Ubuntu operating system installed on your machine.
- PostgreSQL database installed on your Ubuntu system.
- Administrative privileges or sudo access to execute commands.
Table of Contents
Step 1: Confirm PostgreSQL Installation
First, let’s verify that PostgreSQL is installed on your Ubuntu system. Open a terminal and execute the following command:
$ psql --version
This command will display the version of PostgreSQL installed. If PostgreSQL is not installed, you can install it using the following command:
$ sudo apt update $ sudo apt install postgresql
Step 2: Enable Auto Start
Ubuntu uses a service management system called
systemd to manage services, including PostgreSQL. To enable PostgreSQL to start automatically on boot, we need to create a
systemd unit file.
- Open a terminal and create a new unit file using the following command:
$ sudo nano /etc/systemd/system/postgresql.service
- Add the following content to the file:
[Unit] Description=PostgreSQL database server Documentation=man:postgres(1) [Service] Type=notify User=postgres ExecStart=/usr/lib/postgresql/<version>/bin/postgres -D /var/lib/postgresql/<version>/main -c config_file=/etc/postgresql/<version>/main/postgresql.conf ExecReload=/bin/kill -HUP $MAINPID KillMode=mixed KillSignal=SIGINT TimeoutSec=0 [Install] WantedBy=multi-user.target
Make sure to replace
<version> with the specific version of PostgreSQL installed on your system. For example, if you have PostgreSQL 12, the paths will be
- Save the file and exit the text editor.
Step 3: Configure Permissions and Reload
Now, we need to set the appropriate permissions on the
systemd unit file and reload the
- Set the correct ownership and permissions on the unit file:
$ sudo chown root:root /etc/systemd/system/postgresql.service $ sudo chmod 644 /etc/systemd/system/postgresql.service
- Reload the
systemddaemon to load the newly created unit file:
$ sudo systemctl daemon-reload
Step 4: Enable and Start PostgreSQL Service
systemd unit file in place, we can now enable and start the PostgreSQL service.
- Enable the PostgreSQL service to start automatically on boot:
$ sudo systemctl enable postgresql
- Start the PostgreSQL service:
$ sudo systemctl start postgresql
- Verify that PostgreSQL is running properly:
$ sudo systemctl status postgresql
The status command should indicate that PostgreSQL is active and running. You can also connect to the database using the
psql command to further validate its functionality.
Step 5: Reboot and Test
To ensure that PostgreSQL starts automatically on system boot, it is recommended to reboot your Ubuntu machine:
$ sudo reboot
After the reboot, PostgreSQL should automatically start. To confirm this, follow these steps:
- After the reboot, log in to your Ubuntu system.
- Open a terminal and execute the following command to check the status of the PostgreSQL service:
$ sudo systemctl status postgresql
The output should indicate that the PostgreSQL service is active and running.
If the connection is successful, you will be greeted with the PostgreSQL command prompt.
You have successfully set up PostgreSQL to start automatically on Ubuntu. From now on, PostgreSQL will automatically start whenever your Ubuntu system boots up, ensuring the availability of your database server.