Homelab: Postgresql pg_stat_statements
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)
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;
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
Selesai