sql >> Databáze >  >> RDS >> PostgreSQL

Upgrade Slony-I 2.0.x na nejnovější verzi 2.1.x

Slony-1 2.1 má velmi dobré opravy a nové funkce, jako je přidávání hromadných tabulek, vylepšení WAIT FOR s Merge Set/Move Set, podpora TRUNCATE na replikaci tabulek a mnoho dalších. Používám Slony-I 2.0.7, tak mě napadlo upgradovat na nejnovější verzi. Upgrade Slony-I je velmi jednoduchý a lze jej dosáhnout v několika krocích. Můj postup upgradu předpokládá, že již existuje nastavení Master/Slave se Slony 2.0.7.

Záložní plán:
1. Zálohujte stávající slony schéma (_slonyschema) master/slave
2. Zálohujte staré binární soubory Slony
3. Backup all zpočátku vytvoří slony konfigurační soubory.

Postup upgradu:
1. Zastavte všechny běžící procesy slon na všech uzlech.
2. Nainstalujte novou verzi binárních souborů Slony 2.1.x.
3. Spusťte skript aktualizace SLONIK
4. Začněte slony s novými binárními soubory na všech uzlech.

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

Instalovat/konfigurovat nejnovější verzi zdroje 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

Skript upgradu:

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

Spusťte skript:

-bash-4.1$ slonik upgrade_207_201.slonik

Spusťte proces slony s novými binárními soubory a zkontrolujte změny.

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)

Můžete vidět, že moje slony verze byla upgradována na nejnovější. Můžete také provést kontrolu stavu schématu pomocí funkce poskytované Slony-I v jejich dokumentaci. Funkce Health Check by měla vrátit hodnotu PRAVDA, jinde jsou vaše katalogy PG a Slony poškozeny.
Odkaz na funkci:http://slony.info/documentation/2.1/function.slon-node-health-check.html

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

  1. Jak vyřešit problémy s oprávněními při obnově databáze PostgreSQL

  2. Jak řešit problémy s definicí MySQL

  3. Modelovací varianty produktu

  4. Co přesně dělá pg_escape_string?