Hi, und zwar arbeite ich gerade an einer Einrichtung eines Master <> Slave (Slony) Replikations-Systems auf unterschiedlichen Hosts.
Local (d.h. beides auf einem System) hab ich ein soweit ordentlich zum laufen bekommen. Bei der Übertragung das nun auf zwei getrennten System laufen zu lassen enstehen komische fehler, aber dazu gleich.
Mein Script:
slonik <<_EOF_
cluster name = my_cluster2;
node 1 admin conninfo = 'dbname=node_1 host=192.168.0.13 user=postgres password=***';
node 2 admin conninfo = 'dbname=node_2 host=192.168.0.21 user=postgres password=***';
init cluster ( id=1, comment = 'Slony Cluster-Test');
create set (id=1, origin=1, comment='Alle Tabellen');
set add table (set id=1, origin=1, id=1,
fully qualified name = 'public.t_klasse', comment='Klassen');
set add table (set id=1, origin=1, id=2,
fully qualified name = 'public.t_schueler',
comment='Schueler');
store node (id=2, comment = 'Slave node');
store path (server = 1, client = 2,
conninfo='dbname=node_1 host=192.168.0.13 user=postgres password=***');
store path (server = 2, client = 1,
conninfo='dbname=node_2 host=192.168.0.21 user=postgres password=***');
store listen (origin=1, provider = 1, receiver =2);
store listen (origin=2, provider = 2, receiver =1);
# FRAGE, darf ich das hier schon schreiben?
subscribe set ( id = 1, provider = 1, receiver = 2, forward = no);
_EOF_
Quelle: Slony konfigurieren
So und zwar mal eine konzeptionelle frage: Diese Script muss im Prinzip auf beide systeme angewendet werden. Slony wird dann anhand den IP’s den master & slave später erkennen. Seh ich das richtig?
Gibt es eine Reihenfolge die beachtet werden muss, wann was bei welchen System eingerichtet werden muss, damit es funktionieren kann?
So nun weiter:
Das Script wird via user “postgres” ausgeführt >> “sh slony_init.sh”. Script hat ebenfalls chmod +x rechte.
Ich führe es aus, “sh slony_init.sh”
Fehler: (tritt auf beiden system auf).
<stdin>:15: PGRES_FATAL_ERROR load '$libdir/xxid'; - ERROR: could not access file "$libdir/xxid": No such file or directory
<stdin>:15: Error: the extension for the xxid data type cannot be loaded in database 'dbname=node_2 host=192.168.0.21 user=postgres password=****'
Hoffe evt. kennt sich jemand mit der Materie aus.