Panduan Langkah-demi-Langkah
-
Buat cadangan . Pastikan database Anda tidak diperbarui.
pg_dumpall > outputfile
-
Instal Postgres 10 . Ikuti instruksi di halaman ini:https://www.postgresql.org/download/linux/ubuntu/
Kemudian jalankan
sudo apt-get install postgresql-10
. Versi yang lebih baru akan dipasang berdampingan dengan versi sebelumnya. -
Jalankan
pg_lsclusters
:Ver Cluster Port Status Owner Data directory Log file 9.6 main 5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log 10 main 5433 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
Sudah ada cluster
main
untuk 10 (karena ini dibuat secara default pada instalasi paket). Hal ini dilakukan agar penginstalan baru dapat berjalan di luar kotak tanpa perlu membuat cluster terlebih dahulu, tetapi tentu saja bentrok saat Anda mencoba memutakhirkan9.6/main
ketika10/main
juga ada. Prosedur yang disarankan adalah menghapus 10 cluster denganpg_dropcluster
dan kemudian tingkatkan denganpg_upgradecluster
. -
Hentikan 10 cluster dan jatuhkan:
sudo pg_dropcluster 10 main --stop
-
Hentikan semua proses dan layanan menulis ke database. Hentikan basis data:
sudo systemctl stop postgresql
-
Tingkatkan kluster 9.6:
sudo pg_upgradecluster -m upgrade 9.6 main
-
Mulai PostgreSQL lagi
sudo systemctl start postgresql
-
Jalankan
pg_lsclusters
. Cluster 9.6 Anda sekarang harus "down", dan cluster 10 harus online di5432
:Ver Cluster Port Status Owner Data directory Log file 9.6 main 5433 down postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log 10 main 5432 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
-
Pertama, periksa apakah semuanya berfungsi dengan baik. Setelah itu, hapus cluster 9.6:
sudo pg_dropcluster 9.6 main --stop
Beberapa catatan tentang pg_upgradecluster
Panduan ini berfungsi dengan baik untuk memutakhirkan dari 9.5 ke 10.1. Saat memutakhirkan dari versi yang lebih lama, pertimbangkan untuk menghilangkan -m upgrade
pada langkah #6:
sudo pg_upgradecluster 9.6 main
Jika Anda memiliki cluster yang sangat besar, Anda dapat menggunakan pg_upgradecluster
dengan --link
opsi, sehingga pemutakhiran akan dilakukan. Namun, ini berbahaya — Anda dapat kehilangan cluster jika terjadi kegagalan. Hanya saja, jangan gunakan opsi ini jika tidak perlu, karena -m upgrade
sudah cukup cepat.
Berdasarkan:
- Dokumen:Meningkatkan Cluster PostgreSQL
- Inti #1:delameko/upgrade-postgres-9.5-to-9.6.md
- Inti #2:johanndt/upgrade-postgres-9.3-to-9.5.md
- Apa yang terjadi jika saya menyela atau membatalkan
pg_upgradecluster
? - Halaman manual Ubuntu untuk pg_upgradecluster
Perbarui
Panduan ini berfungsi dengan baik untuk memutakhirkan dari 9,6 ke 11 dan dari 10 ke 11, serta dari 10 ke 13.