How to Install PostgreSQL on CentOS Stream 8: A Step-by-Step Tutorial
In this step-by-step tutorial, we will guide you through the process of installing PostgreSQL on a CentOS Stream 8 system.
PostgreSQL, often referred to as Postgres, is a robust and open-source relational database management system. It is widely used for various applications, from small-scale projects to large enterprise solutions. In this step-by-step tutorial, we will guide you through the process of installing PostgreSQL on a CentOS Stream 8 system. We will also cover essential database management tasks, providing you with the knowledge to get started with PostgreSQL on your CentOS Stream 8 server.
Introduction
PostgreSQL is known for its advanced features, extensibility, and strong community support. It’s an excellent choice for organizations and developers seeking a powerful, reliable, and versatile database solution. In this tutorial, we will install PostgreSQL version 13, which was the latest version available as of the knowledge cutoff date in September 2021. Please check the PostgreSQL website for the latest version and update accordingly.
Preconditions
Before you begin the installation process, ensure you have met the following prerequisites:
- A CentOS Stream 8 server with root or sudo access.
- A stable internet connection to download PostgreSQL packages.
- Familiarity with basic Linux command-line operations.
With these prerequisites in place, let’s proceed with the installation.
Installing PostgreSQL on CentOS Stream 8
Step 1: Update the System
Start by ensuring your CentOS Stream 8 system is up to date. Open a terminal and run the following commands:
sudo dnf update
This command will update the package list and upgrade existing packages on your system.
Step 2: Install PostgreSQL
To install PostgreSQL on CentOS Stream 8, use the following command:
sudo dnf install postgresql-server postgresql-contrib
This command will install both the PostgreSQL server and additional contrib packages that include useful extensions and utilities.
Step 3: Initialize the PostgreSQL Database
After the installation, initialize the PostgreSQL database cluster by running:
sudo postgresql-setup --initdb
This command will create the necessary directory structure and configuration files for PostgreSQL.
Step 4: Start and Enable PostgreSQL
To start the PostgreSQL service and enable it to start automatically at boot, use these commands:
sudo systemctl start postgresql
sudo systemctl enable postgresql
Creating a PostgreSQL User and Database
Now, let’s create a new PostgreSQL user and database. Replace your_user
and your_password
with your preferred values:
sudo -u postgres createuser your_user
sudo -u postgres createdb -O your_user your_database
To illustrate PostgreSQL’s capabilities, let’s create a simple table in the newly created database. Access the PostgreSQL command-line tool, psql
, with the following command:
sudo -u postgres psql -d your_database
Once in the psql
prompt, execute the following SQL commands to create a basic table:
CREATE TABLE example (
id serial PRIMARY KEY,
name VARCHAR (100),
age INT
);
Managing the PostgreSQL Service
To manage the PostgreSQL service on CentOS Stream 8, you can use the following commands:
-
Start PostgreSQL service:
sudo systemctl start postgresql
-
Stop PostgreSQL service:
sudo systemctl stop postgresql
-
Restart PostgreSQL service:
sudo systemctl restart postgresql
-
Check PostgreSQL service status:
sudo systemctl status postgresql
Conclusion
You have successfully installed PostgreSQL on your CentOS Stream 8 server, created a database, and learned how to perform basic management tasks. PostgreSQL’s feature-rich nature makes it an excellent choice for a wide range of data storage needs. Explore PostgreSQL’s documentation to fully leverage its capabilities and adapt it to your specific requirements.
With PostgreSQL now installed and operational, you are well-equipped to build and manage databases for your applications, harnessing its scalability and reliability for your data-driven projects.
If you want to learn more about MySQL, please use our PostgreSQL tutorials and PostgreSQL Reference.