sql >> Database teknologi >  >> RDS >> PostgreSQL

Opgradering af Slony-I 2.0.x til seneste version 2.1.x

Slony-1 2.1 har meget gode rettelser og nye funktioner som f.eks. tilføjelse af Bulk-tabeller, forbedring af WAIT FOR med Merge Set/Move Set, understøttelse af TRUNCATE på replikerende tabeller og mange flere. Jeg bruger Slony-I 2.0.7, så tænkte på at opgradere den til nyeste version. Opgradering af Slony-I er meget enkel, og det kan opnås med få trin. Min opgraderingsprocedure antager, at der allerede er Master/Slave-opsætning med Slony 2.0.7.

Sikkerhedskopiplan:
1. Sikkerhedskopier det eksisterende slony-skema (_slonyschema) for master/slave
2. Sikkerhedskopier de GAMLE Slony Binaries
3. Sikkerhedskopiering af alt opretter til at begynde med sløje konfigurationsfiler.

Opgraderingsprocedure:
1. Stop al kørende slon-proces på alle noder.
2. Installer ny version af Slony 2.1.x binære filer.
3. Udfør SLONIK-opgraderingsscript
4. Start slony med nye binære filer på alle noder.

Link: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)

Installer/konfigurer den seneste version af Slony-I 2.1.x-kilde

 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

Opgraderingsscript:

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

Kør scriptet:

-bash-4.1$ slonik upgrade_207_201.slonik

Start den sløve proces med nye binære filer og tjek for ændringerne.

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)

Du kan se min slony version er blevet opgraderet til den nyeste. Du kan også udføre helbredstjek på skemaet med en funktion, der leveres af Slony-I i deres dokumentation. Health Check-funktionen skulle returnere TRUE, ellers er dine PG- og Slony-kataloger beskadiget.
Funktionslink:http://slony.info/documentation/2.1/function.slon-node-health-check.html

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

  1. Opret PostgreSQL-database på farten ved hjælp af Hibernate, selvom DB'en ikke eksisterer

  2. Installation af Oracle Database 12c-software på Windows

  3. Stort databasestyringssystem:Design og arkitekt

  4. Hvorfor er aggregerede funktioner ikke tilladt i where-klausulen