Kế hoạch dự phòng:
1. Sao lưu giản đồ slony hiện có (_slonyschema) của master / slave
2. Sao lưu các Binaries Slony CŨ
3. Việc sao lưu tất cả ban đầu sẽ tạo ra các tệp cấu hình slony.
Quy trình nâng cấp:
1. Dừng tất cả các quy trình slon đang chạy trên tất cả các nút.
2. Cài đặt phiên bản mới của tệp nhị phân Slony 2.1.x.
3. Thực thi tập lệnh nâng cấp SLONIK
4. Bắt đầu slony với các mã nhị phân mới trên tất cả các nút.
Liên kết: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)
Cài đặt / Định cấu hình phiên bản mới nhất của nguồn 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
Tập lệnh nâng cấp:
## 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).
Thực thi tập lệnh:
-bash-4.1$ slonik upgrade_207_201.slonik
Bắt đầu quá trình slony với các mã nhị phân mới và kiểm tra các thay đổi.
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)
Bạn có thể thấy phiên bản slony của tôi đã được nâng cấp lên mới nhất. Bạn cũng có thể thực hiện kiểm tra sức khỏe trên giản đồ bằng một chức năng do Slony-I cung cấp trong tài liệu của họ. Chức năng Kiểm tra tình trạng phải trả về TRUE, nếu không thì ở đâu đó danh mục PG &Slony của bạn bị hỏng.
Liên kết chức năng:http://slony.info/documentation/2.1/ Chức năng.slon-node-health-check.html
postgres=# select node_health_check();
node_health_check
-------------------
t
(1 row)