Pengenalan

PostgreSQL, juga dikenal sebagai Postgres, merupakan sistem manajemen basis data relasional yang open-source yang dapat menekankan ekstensibilitas dan kepatuhan SQL. Awalnya bernama POSTGRES, merujuk pada asalnya sebagai penerus basis data Ingres yang dikembangkan di University of California. Selengkapnya dapat merujuk pada link berikut: Wiki PostgreSQL

Instalasi

Secara default pada repository CentOS 8 sudah terdapat beberapa varian modul postgresql yang dapat digunakan sebagai berikut:

[[email protected] ~]#
[[email protected] ~]# dnf module list postgresql
Last metadata expiration check: 0:00:14 ago on Tue Mar 17 03:09:59 2020.
CentOS-8 - AppStream
Name                                  Stream                            Profiles                                      Summary
postgresql                            9.6                               client, server [d]                            PostgreSQL server and client module
postgresql                            10 [d]                            client, server [d]                            PostgreSQL server and client module
postgresql                            12                                client, server                                PostgreSQL server and client module

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[[email protected] ~]#

Dengan demikian Anda dapat memilih versi postgresql yang ingin Anda gunakan, jika Anda ingin instalasi menggunakan module yang sudah ada secara default untuk proses instalasinya dapat menggunakan beberapa command berikut

Install PostgreSQL versi 9.6

[[email protected] ~]#
[[email protected] ~]# dnf install @postgresql:9.6

Install PostgreSQL versi 12

[[email protected] ~]#
[[email protected] ~]# dnf install @postgresql:10

Apabila Anda ingin install postgreSQL versi latest menggunakan repository dapat dilakukan, sebagai berikut:

[[email protected] ~]#
[[email protected] ~]# dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Jika Anda menggunakan repository, maka Anda perlu menonaktifkan module default postgreSQL yang sudah ada di CentOS 8, gunakan perintah

[[email protected] ~]#
[[email protected] ~]# dnf -qy module disable postgresql
[[email protected] ~]#

Silakan pastikan kembali module list postgreSQL, jika sudah tidak aktif akan ada tanda (X)

[[email protected] ~]# dnf module list postgresql
Last metadata expiration check: 0:00:13 ago on Tue Mar 17 03:20:24 2020.
CentOS-8 - AppStream
Name                                  Stream                              Profiles                                     Summary
postgresql                            9.6 [x]                             client, server [d]                           PostgreSQL server and client module
postgresql                            10 [d][x]                           client, server [d]                           PostgreSQL server and client module
postgresql                            12 [x]                              client, server                               PostgreSQL server and client module

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[[email protected] ~]#

Untuk melanjutkan proses instalasi postgreSQL menggunakan repository gunakan perintah berikut

[[email protected] ~]#
[[email protected] ~]# dnf install postgresql12-server -y

Setelah instalasi selesai, inisialisasi basis data PostgreSQL, dan melakukan enable service postgreSQL supaya dapat aktif otomatis apabila VM melakukan boot dan pastikan service postgreSQL sudah running

[[email protected] ~]#
[[email protected] ~]# /usr/pgsql-12/bin/postgresql-12-setup initdb
Initializing database ... OK

[[email protected] ~]# systemctl enable postgresql-12
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql-12.service โ†’ /usr/lib/systemd/system/postgresql-12.service.
[[email protected] ~]#
[[email protected] ~]# systemctl start postgresql-12
[[email protected] ~]#
[[email protected] ~]# systemctl status postgresql-12

Selanjutnya, amankan akun pengguna Postgres dan akun pengguna administrator basis data dengan membuat kata sandi untuk akun pengguna sistem Postgres menggunakan utilitas passwd sebagai berikut

[[email protected] ~]#
[[email protected] ~]# passwd postgres
Changing password for user postgres.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[[email protected] ~]#

Kemudian beralih ke akun sistem Postgres dan buat kata sandi yang aman dan kuat untuk pengguna / peran database administrator PostgreSQL sebagai berikut

[[email protected] ~]#
[[email protected] ~]# su - postgres
Last login: Tue Mar 17 03:26:24 WIB 2020 on pts/0
[[email protected] ~]$
[[email protected] ~]$ psql -c "ALTER USER postgres WITH PASSWORD 'ISI_PASWORD';"
ALTER ROLE
[[email protected] ~]$ exit
logout
[[email protected] ~]#

Melakukan konfigurasi server Postgres supaya dapat mengotentikasi klien seperti pgAdmin.

Metode otentikasi yang didukung mencakup otentikasi berbasis kata sandi yang menggunakan salah satu metode enkripsi berikut: md5, crypt, atau password.

Untuk tutorial ini, kami akan mengonfigurasi metode otentikasi md5 di file /var/lib/pgsql/12/data/pg_hba.conf.

[[email protected] ~]#
[[email protected] ~]# vim /var/lib/pgsql/12/data/pg_hba.conf

Ubah menjadi MD5

Jika sudah silakan simpan dan restart postgres

[[email protected] ~]# systemctl restart postgresql-12
[[email protected] ~]#

Sekian tutorial terkait instalasi postgreSQL di CentOS 8

Selamat mencoba semoga bermanfaat ๐Ÿ‘Œ

See You ๐Ÿ˜ƒ