Cara Upgrade PostgreSQL 16 Dengan pg_upgradecluster Pada Server Ubuntu
- Categories:
- tutorial
Pada tulisan ini adalah cara upgrade PostgrSQL pada server Ubuntu. Saya melakukan upgrade dari PostgreSQL 14 ke PostgreSQL 16 pada server Ubuntu. Meski begitu, untuk upgrade dengan versi lain cukup diganti dengan angka versi PostgreSQL yang diinginkan karena langkah-langkahnya sama.
1. Install Versi Terbaru PostgreSQL
Jika PostgreSQL sudah terpasang pada server Ubuntu, biasanya saat dilakukan upgrade server Ubuntu PostgreSQL yang terbaru otomatis ter-install.
Cara lain untuk upgrade versi terbaru PostgreSQL dapat dilakukan dengan menjalankan dibawah ini.
Untuk lebih detil dapat dilihat melalui https://www.postgresql.org/download/linux/ubuntu/.
Jika instalasi berhasil, maka akan terdapat dua buah PostgreSQL seperti berikut. Terlihat ada PostgreSQL 14 dan PostgreSQL 16.
Cara kedua dapat menggunakan perintah ps
untuk mengecek versi PostgreSQL yang telah berhasil di-install dan sedang aktif seperti berikut.
2. Cek Cluster PostgreSQL
Jika poin 1 berhasil dilakukan, saat menjalankan pg_lsclusters
untuk melihat daftar cluster, maka akan ada dua jenis cluster PostgreSQL, yaitu cluster PostgreSQL versi 14 dan 16. Terlihat versi 14 dan 16 sama-sama memiliki cluster bernama main
.
3. Matikan Service PostgreSQL
Agar dapat upgrade PostgreSQL 14 ke PostgreSQL 16 perlu dimatikan service PostgreSQL yang sedang berjalan.
Menjalankan pg_lsclusters
akan terlihat seluruh cluster statusnya adalah down
.
3. Ganti Nama Cluster PostgreSQL Versi Terbaru
Upgrade PostgreSQL 14 ke PostgreSQL 16 akan menggunakan nama cluster main
, sehingga cluster main
pada PostgreSQL versi 14 perlu ganti nama / rename dahulu agar tidak konflik. Misal main
diganti menjadi main_14
.
Jika berhasil, saat dijalankan pg_lsclusters
akan terdapat nama main_16
, berbeda dengan hasil poin 2 diatas.
4. Upgrade Cluster Pada PostgreSQL Versi Lama ke PostgreSQL Versi Baru
Pada bagian ini, seluruh data pada database cluster main
PostgreSQL 14 akan diupgrade untuk dijalankan oleh PostgreSQL 16. Semakin banyak data akan semakin lama.
Jika menjalankan pg_upgradecluster
terjadi error dibawah ini:
Coba lakukan generate locale “en_US.UTF-8”:
jika masih error, edit ~/.profile
dan tambahkan baris dibawah ini:
Lalu logout dan login ulang.
Jika pg_upgradecluster
berhasil, cek dengan pg_lsclusters
terlihat cluster main
PostgreSQL 14 adalah online
.
5. Hapus Cluster Lama
Berhubung cluster versi lama PostgreSQL sudah tidak digunakan, cluster lama dapat dihapus. Juga hapus cluster main_16
dimana ini merupakan cluster kita rename sebelumnya.
6. Hapus Paket lama PostgreSQL hasil dpkg
Lalu paket lama hasil dpkg
pada poin 1 juga dapat dihapus. Cara hapus paket lama PostgreSQL dapat dilakukan dengan cara berikut.
Jika cek lagi postgresql
, maka hanya terlihat PostgreSQL 16 saja.
Recent Posts
How to Defend Against Brute-Force and DoS Attacks with Fail2ban, Nginx limit_req, and iptables
In this tutorial, I’ll explain how to protect your public-facing Linux server and Nginx web server from common threats, including brute-force and DoS attacks.
Is Getting AWS Solutions Architect Associate Certification Worth It?
If you are a full-time Software Engineer, there's no strong need to pursue this certification.
DevSecOps
My Notes about DevSecOps
AWS Secrets Manager
Explanation about AWS Secrets Manager with example code.
Envelope Encryption
Envelope encryption is the practice of encrypting plaintext data with a data key, and then encrypting the data key under another key.