How To Install Postgresql 10 on Ubuntu 20.04
Categories:
Introduction
In this tutorial, we learn how to install PostgreSQL 10 on Ubuntu 20.04 (Focal Fossa).
PostgreSQL, or usually called Postgres, is an open-source object-relational database management system (ORDBMS) with an emphasis on extensibility and standards compliance.
PostgreSQL is ACID-compliant and transactional. It is developed by PostgreSQL Global Development Group (PGDG) that consists of many companies and individual contributors. PostgreSQL released under the terms of PostgreSQL license.
PostgreSQL 10 was released on 5 October 2017. Major enhancements in PostgreSQL 10 includes:
- Logical replication using publish/subscribe
- Declarative table partitioning
- Improved query parallelism
- Significant general performance improvements
- Stronger password authentication based on SCRAM-SHA-256
- Improved monitoring and control
Prerequisites
This tutorial assumes you already satisfy the following requirements:
- A machine with fresh install of Ubuntu Server 20.04. It can be A virtual machine locally using Virtualbox, VMWare workstation or VMWare Fusion, KVM, Xen, or a virtual machine in the cloud like DigitalOcean or Linode.
- A non-root user with
sudo
privileges (recommended) or a root user access. If you’re usingroot
user removesudo
from each command on this tutorial.
Step 1 — Update Base Systems
Update our system to the latest update before installing PostgreSQL 10
sudo apt-get update
sudo apt-get -y upgrade
After we upgrade our base system, now it’s time to install PostgreSQL 10.
Ubuntu 20.04 doesn’t have PostgreSQL 10 in its repository, we need to add official PostgreSQL repository so we can install PostgreSQL 10.
Step 2 — Import Repository Signing Key
The PostgreSQL team is using GPG to sign downloadable packages from the PostgreSQL website.
We add PostgreSQL public GPG key so apt can verify that packages downloaded from PostgreSQL repository are not tampered or corrupt.
Add PostgreSQL GPG public key using the command below.
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
You should get OK
output for command above.
If you got the different output, you need to fix the error first before continue to the next step.
Step 3 — Add PostgreSQL 10 repository
After adding PostgreSQL release keys, we create a new repository configuration for PostgreSQL using the command below.
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql-pgdg.list > /dev/null
Refresh apt metadata using the command below.
sudo apt-get update
Step 4 — Install PostgreSQL 10
We’re ready to install PostgreSQL 10. Use the command below to install PostgreSQL 10 on Ubuntu 20.04.
sudo apt-get install postgresql-10
Only 4 steps needed to install PostgreSQL 10 on Ubuntu 20.04. We learn how to check and verify and managing PostgreSQL 10 installation in the next few sections.
Verify PostgreSQL 10 Installation on Ubuntu 20.04
We can check PostgreSQL 10 packages that already installed using the command below.
dpkg -l | grep postgresql
Check PostgreSQL 10 Listening Ports
By default, PostgreSQL listens on port 5432. We can use netstat to check whether there is a process listening on port 5432.
sudo netstat -naptu | grep 5432
Another method is to check whether there is a process named postgres
listening on a port.
sudo netstat -naptu | grep postgres
Alternative to netstat
, We can use ss
command below to check whether there is a process listen on PostgreSQL default port 5432.
sudo ss -atnp | grep 5432
We can also use ss
to check whether there is a process named postgres
listening on a port.
sudo ss -atp | grep postgres
The last output above shows there is also a connection to ephemeral UDP port from local. According to this thread on PostgreSQL mailing lists, this is PostgreSQL stats collector that use UDP to send and receive stats data locally.
Checking PostgreSQL 10 Process
We can ue ps
command to check what processes currently running with name contain postgres.
ps -aux | grep postgres
Check PostgreSQL 10 resource usage like CPU and memory usingtop
command.
top -u postgres
Managing PostgreSQL 10 Services on Ubuntu 20.04
Check postgres
service status using command below.
sudo service postgresql status
We can also use systemctl
command to check PostgreSQL service status.
sudo systemctl status postgresql
Using both commands above you see active (exited)
on the Active:
line. This happens because systemd doesn’t know the status of each PostgreSQL cluster running on the instance. One instance / installation of PostgreSQL can run mutliple clusters od PostgreSQL.
We can check, list of PostgreSQL clusters running on our machine using the command below.
pg_lsclusters
There is one cluster running on our machine. The cluster named main
running PostgreSQL 10. To check this cluster service status, we can use the command below.
sudo service postgresql@10-main status
As an alternative to service, we can use the systemctl
to check this cluster status.
sudo systemctl status postgresql@10-main
Stop PostgreSQL service using the command below.
sudo systemctl stop postgresql
Start PostgreSQL service using the command below.
sudo systemctl start postgresql
Restart PostgreSQL service using the command below.
sudo systemctl restart postgresql
Reload PostgreSQL service using the command below.
sudo systemctl reload postgresql
Connect to PostgreSQL using psql
Now let’s connect to the PostgreSQL 10 server using psql
client application.
By default, postgres create system user named postgres
. There is also role in postgresql database named postgres
wth superuser permission.
Switch to postgresql
user.
sudo su - postgres
After switching to postgres user, we can connect using psql
command.
To list all databases in PostgreSQL we can use \l
command.
Tidak ada komentar:
Posting Komentar