Menyiapkan Server Postgresql.

Kita akan menggunakan multipass untuk menyiapkan virtual machine untuk server postgresql.

Jalankan perintah berikut untuk membuat virtual machine ubuntu edisi jammy.

multipass launch jammy --name postgresql-stat

Masuk ke virtual machine dengan perintah berikut.

multipass shell postgresql-stat

Update repository dan package.

sudo apt update && sudo apt upgrade -y

Pasang postgresql server dengan perintah berikut.

sudo apt update && sudo apt install postgresql -y

Masuk sebagai user postgres.

sudo su - postgres

Masuk ke psql.

psql

Gunakan exit untuk keluar dari psql dan untuk keluar dari user postgres.

Memasang pg_stat_statements

Buka file postgresql.sql yang berada di /etc/postgresql/14/main/ sebagai root dengan editor pilihan.

sudo vim /etc/postgresql/14/main/postgresql.conf

Cari konfigurasi shared_preload_libraries. Hapus komentar (karakter pagar) didepan konfigurasi dan masukkan pg_stat_statements pada konfigurasi. Simpan.

shared_preload_libraries = 'pg_stat_statements'  # (change requires restart)

contoh konfigurasi shared_preload_libraries di file postgresql.conf

Restart server postgresql.

sudo systemctl restart postgresql

Masuk sebagai user postgres.

sudo su - postgres

Masuk ke psql.

psql

Aktifkan ekstensi pg_stat_statements dengan perintah berikut.

create extension if not exists pg_stat_statements;

View pg_stat_statements dan pg_stat_statements_info akan tersedia setelah ekstensi diaktifkan.

-- untuk menyalakan extended display
\x 
-- untuk mematikan pager
\pset pager 0

select * from pg_stat_statements;

contoh pg_stat_statements

Gunakan perintah exit untuk keluar psql.

Tambahan: Membuat simulasi workload dengan pgbench

Sebagai demo fitur pg_stat_statements, kita bisa menggunakan tool pgbench untuk membuat simulasi workload.

Pertama buat database baru untuk pgbench.

psql -c "create database demo_pgbench"

Inisiasi tabel - tabel pgbench ke database baru.

pgbench -i demo_pgbench

Generate workload dengan pgbench.

pgbench -c 2 -t 100 demo_pgbench

contoh pg_stat_statements setelah pgbench

Selesai