Penyesuaian dengan terbitnya Perpres No.16 Tahun 2018, maka diperlukan upgrade SPSE ke versi 4.3 yang minimal requirementnya adalah database menggunakan Postgresql 10, lalu bagaimana agar Postgresql < 10 pada SPSE yang sudah running sebelumnya agar bisa diupgrade ke 10 tanpa harus melakukan instal ulang terhadap OS dan aplikasi yang sudah terpasang?

Kondisi teknis yang berjalan saat ini :
a. OS = Centos 6.9 x64
b. Database = Postgresql 9.5
c. Web = Apache 2.2

Sebelum mengikuti langkah dibawah ini, harap melakukan full backup db untuk antisipasi kesalahan perintah dan mengakibatkan database rusak/hilang.

Pada tuts kali ini saya akan melakukan upgrade postgresql, dengan langkah sebagai berikut :

1. cek paket pgdg yang digunakan system :
[root@localhost ~]# yum update
[root@localhost ~]# rpm -qa | grep pgdg
pgdg-centos95-9.5-4.noarch
2. remove pgdg :
[root@localhost ~]# yum remove pgdg-centos95-9.5-4.noarch
3. check paket postgresql yang terinstal saat ini :
[root@localhost ~]# rpm -qa | grep postgresql
postgresql95-devel-9.5.4-1PGDG.rhel6.x86_64
postgresql95-libs-9.5.4-1PGDG.rhel6.x86_64
postgresql95-contrib-9.5.4-1PGDG.rhel6.x86_64
postgresql95-server-9.5.4-1PGDG.rhel6.x86_64
postgresql95-9.5.4-1PGDG.rhel6.x86_64
4. unduh dan instal pgdg untuk postgresql 10 :
[root@localhost ~]# yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-6-x86_64/pgdg-centos10-10-2.noarch.rpm
5. lanjutkan dengan instalasi postgresql 10 (server, client, libs, devel, contrib) :
[root@localhost ~]# yum install postgresql10-server postgresql10 postgresql10-contrib postgresql95-libs postgresql95-devel
6. inisialisai dan konfigurasi auto start on boot postgresql 10 :
[root@localhost ~]# service postgresql-10 initdb
[root@localhost ~]# chkconfig postgresql-10 on
[root@localhost ~]# service postgresql-10 start

sampai langkah ini, maka ada 2 postgresql yang terinstal pada system, yaitu versi 9.5 dan 10, langkah selanjutnya adalah migrasi konfigurasi, db dan mematikan service postgresql 9.5.

7. cek pg_hba.conf pada postgresql 9.5 :
[root@localhost ~]# nano /var/lib/pgsql/9.5/data/pg_hba.conf
dan sesuaikan baris local dari : “local all all trust” menjadi : “local all all peer”
8. restart service postgresql 9.5 :
[root@localhost ~]# service postgresql-9.5 restart
9. login sebagai postgres :
[root@localhost ~]# su – postgres
[root@localhost ~]# cd ~
10. jalankan perintah check migrasi db :
-bash-4.1$ /usr/pgsql-10/bin/pg_upgrade
–old-bindir=/usr/pgsql-9.5/bin/
–new-bindir=/usr/pgsql-10/bin/
–old-datadir=/var/lib/pgsql/9.5/data/
–new-datadir=/var/lib/pgsql/10/data/
–check

status pengecekan kompatibilitas antar versi postgresql

-bash-4.1$ exit
11. stop service postgresql 9.5 :
[root@localhost ~]# service postgresql-9.5 stop
12. jalankan migrasi db :
[root@localhost ~]# su – postgres
[root@localhost ~]# cd ~
-bash-4.1$ /usr/pgsql-10/bin/pg_upgrade
–old-bindir=/usr/pgsql-9.5/bin/
–new-bindir=/usr/pgsql-10/bin/
–old-datadir=/var/lib/pgsql/9.5/data/
–new-datadir=/var/lib/pgsql/10/data/

tunggu sampai proses migrasi selesai dijalankan

-bash-4.1$ exit
12. jalankan service postgresql 10 :
[root@localhost ~]# service postgresql-10 start
13. jalankan skrip analisa new cluster dan hapus db lama dari postgresql 9.5 :
[root@localhost ~]# su – postgres
-bash-4.1$ ./analyze_new_cluster.sh
-bash-4.1$ ./delete_old_cluster.sh
-bash-4.1$ psql –version
psql (PostgreSQL) 10.5

Sampai sini proses upgrade dan migrasi Postgresql 9.5 ke Postgresql 10 sudah selesai, untuk upgrade httpd/apache 2.2 ke 2.4 akan disajikan pada tuts terpisah.

Selamat mencoba…DWYOR

(https://www.youtube.com/watch?v=e6kOnUIZbDs, https://tecadmin.net/install-postgresql-server-centos/)