PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Надстройка на Slony-I 2.0.x до най-новата версия 2.1.x

Slony-1 2.1 има много добри корекции и нови функции като добавяне на групови таблици, подобрение на WAIT FOR с Merge Set/Move Set, поддръжка за TRUNCATE при репликиращи таблици и много други. Използвам Slony-I 2.0.7, така че реших да го надстроя до най-новата версия. Надстройката на Slony-I е много проста и може да бъде постижима в няколко стъпки. Моята процедура за надграждане предполага, че вече има настройка Master/Slave със Slony 2.0.7.

Резервен план:
1. Архивирайте съществуващата слони схема (_slonyschema) на главен/подчинен
2. Архивирайте СТАРИТЕ двоични файлове Slony
3. Архивирането на всички първоначално създава лоши конфигурационни файлове.

Процедура за надграждане:
1. Спрете всички работещи slon процеси на всички възли.
2. Инсталирайте нова версия на двоични файлове Slony 2.1.x.
3. Изпълнете скрипт за надграждане на SLONIK
4. Започнете slony с нови двоични файлове на всички възли.

Връзка: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)

Инсталиране/конфигуриране на последната версия на източника 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

Скрипт за надграждане:

## 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).

Изпълнете скрипта:

-bash-4.1$ slonik upgrade_207_201.slonik

Започнете процеса slony с нови двоични файлове и проверете за промените.

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)

Можете да видите, че моята слони версия е надстроена до най-новата. Можете също да извършите проверка на състоянието на схемата с функция, предоставена от Slony-I в тяхната документация. Функцията Health Check трябва да върне TRUE, иначе някъде вашите PG &Slony каталози са повредени.
Връзка към функцията: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. DROP FUNCTION без да знаете броя/вида на параметрите?

  2. Еквивалент на PostgreSQL DATEADD().

  3. Вземете деня от дата в PostgreSQL

  4. Достъп до външни XML файлове като променливи в PSQL скрипт (източник от bash скрипт)

  5. Устройството на Django се проваля, като се посочва DatabaseError:стойността е твърде дълга за тип символ варира (50)