[PostgreSQL] Partitioning Limitations in PostgreSQL 12

Partitioning has been introduced in Postgres 10. But, it wasn’t really working simply because the feature is there for some kind of introductions. The community has been working on it and improved a lot when it was released last year on Postgres version 11, but not until Postgres 12, will be released between late September or early October, that everything is ready for production use where mostly used for OLTP.
Read more →

[PostgreSQL] OH, NO! Database-nya Corrupt!

Jika ada hal yang paling mengerikan dari manajemen database, maka saya nomer satukan corruption. Kalau saya kehilangan primary server, masih punya standby, atau backup server. Kalau misalnya yang bermasalah adalah hilangnya data, masih ada backup server juga yang bisa diambil. Tapi, tidak dengan corrupt. Tapi, sebenarnya seperti apa sih data corrupt itu? Beberapa hal yang terjadi dan merupakan bentuk dari database corruption dalam Postgres adalah sebagai berikut: file yang tidak bisa dibaca, misalnya error seperti: could not read block N of relation X/Y/Z: read only 0 of 8192 bytes hilangnya attribute, seperti error: catalog is missing N attribute(s) for relid M rusaknya blok dari data semacam ERROR: invalid page in block %u of relation %s data yang ada di tabel, tapi ketika query dengan membaca index tidak kelihatan dll Ketika ini terjadi, yang paling sedikit dampaknya adalah data tidak bisa diakses atau hilang.
Read more →

Tips Ngusilin Rekan Kantor di PostgreSQL Server

Pernah lihat isinya folder PGDATA di server Postgres? Normalnya, akan berisi kurang lebih seperti ini: drwx——. 6 postgres postgres 4096 Jun 21 16:51 base -rw——-. 1 postgres postgres 44 Jul 2 16:09 current_logfiles drwx——. 2 postgres postgres 4096 Jul 2 16:09 global drwx——. 2 postgres postgres 4096 Jul 2 16:09 log drwx——. 2 postgres postgres 4096 Jun 21 16:45 pg_commit_ts drwx——. 2 postgres postgres 4096 Jun 21 16:45 pg_dynshmem -rw——-. 1 postgres postgres 4513 Jun 21 16:45 pg_hba.
Read more →

[PostgreSQL] Arsitektur (men)Dasar

Belajar PostgreSQL dengan praktik secara langsung memang mudah, karena ada banyak sumber yang bisa digunakan untuk dicontoh. Tapi, tanpa dasar yang benar bisa-bisa salah kaprah dan berujung petaka di kemudian hari.
Read more →

[PostgreSQL] psql dan Scripting Query

Belajar atau bermain database PostgreSQL dengan aplikasi dengan tampilan memang mudah, tapi menggunakan tool bawaan dari Postgres resmi jauh lebih powerful. Namanya, psql.
Read more →

[PostgreSQL] Replication Slot

Sejak PostgreSQL 9.4, ada parameter baru di Postgres yaitu max_replication_slot. Apa sih ini?

Replication slot adalah mekanisme dalam Postgres yang secara otomatis akan memastikan bahwa WAL files dari host master dijaga keberadaannya sampai semua standby server menerimanya. Dengan kata lain, slot replikasi akan memastikan bahwa WAL files yang ada di host master TIDAK dihapus sampai semua server standby sudah mengambilnya. Slot replikasi ini sebenarnya bisa digantikan dengan parameter wal_keep_segments dan archive_command, hanya saja cara kerja keduanya berbeda karena slot memastikan kebutuhan WAL files terpenuhi sedangkan wal_keep_segments menggunakan parameter jumlah file. Adapun archive_command memberikan beban kerja kepada server untuk memprosesnya.

Read more →