PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Upgrade Slony-I 2.0.x ke versi terbaru 2.1.x

Slony-1 2.1 memiliki perbaikan yang sangat baik dan fitur baru seperti menambahkan tabel Massal, peningkatan WAIT FOR dengan Merge Set/Move Set, dukungan untuk TRUNCATE pada tabel replikasi dan banyak lagi. Saya menggunakan Slony-I 2.0.7, jadi pertimbangkan untuk memutakhirkannya ke versi terbaru. Memutakhirkan Slony-I sangat sederhana dan dapat dicapai dalam beberapa langkah. Prosedur peningkatan saya mengasumsikan sudah ada pengaturan Master/Slave dengan Slony 2.0.7.

Paket Cadangan:
1. Cadangkan skema slony (_slonyschema) yang ada dari master/slave
2. Cadangkan Binari Slony LAMA
3. Cadangkan semua awalnya membuat file konfigurasi slony.

Prosedur Peningkatan:
1. Hentikan semua proses slon yang berjalan di semua node.
2. Instal versi baru binari Slony 2.1.x.
3. Jalankan skrip peningkatan SLONIK
4. Mulai slony dengan binari baru di semua node.

Tautan:http://slony.info/documentation/2.1/slonyupgrade.html

Current PostgreSQL & Slony version:

repdb=# select substr(version(),1,26) as "PostgreSQL-Version",_myrep.slonyversion();
PostgreSQL-Version | slonyversion
----------------------------+--------------
PostgreSQL 9.1.3 on x86_64 | 2.0.7
(1 row)

Instal/Konfigurasikan versi terbaru dari sumber Slony-I 2.1.x

 wget http://main.slony.info/downloads/2.0/source/slony1-2.1.0.tar.bz2
./configure --prefix=/opt/PostgreSQL/9.1/bin --with-pgconfigdir=/opt/PostgreSQL/9.1/bin
make
make install

After installation, you can find three executables slon, slonik & slon_logshipper under "/opt/PostgreSQL/9.1/bin/bin".

-bash-4.1$ ./slon -v
slon version 2.1.0

Skrip Peningkatan:

## Upgrade script

cluster name = myrep;
node 1 admin conninfo='host=localhost dbname=postgres user=postgres port=5432';
node 2 admin conninfo='host=localhost dbname=repdb user=postgres port=5433';
UPDATE FUNCTIONS ( ID = 1 );
UPDATE FUNCTIONS ( ID = 2 );

Note: Update all the nodes with UPDATE FUNCTIONS. I have two nodes Master(5432) and Slave(5433).

Jalankan skrip:

-bash-4.1$ slonik upgrade_207_201.slonik

Mulai proses slony dengan binari baru dan periksa perubahannya.

postgres=# select substr(version(),1,26) as "PostgreSQL-Version",_myrep.slonyversion();
PostgreSQL-Version | slonyversion
----------------------------+--------------
PostgreSQL 9.1.3 on x86_64 | 2.1.0
(1 row)

Anda dapat melihat versi slony saya telah ditingkatkan ke yang terbaru. Anda juga dapat melakukan pemeriksaan kesehatan pada skema dengan fungsi yang disediakan oleh Slony-I dalam dokumentasinya. Fungsi Pemeriksaan Kesehatan akan mengembalikan TRUE, jika tidak, katalog PG &Slony Anda rusak.
Tautan fungsi:http://slony.info/documentation/2.1/function.slon-node-health-check.html

postgres=# select node_health_check();
node_health_check
-------------------
t
(1 row)

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DatabaseError:transaksi saat ini dibatalkan, perintah diabaikan hingga akhir blok transaksi?

  2. Lewati beberapa nilai dalam parameter tunggal

  3. Tuple tidak dimasukkan secara berurutan dalam tabel database?

  4. Apa itu PostgreSQL?

  5. Upser dengan transaksi