Replikation mit Slony und PgAdminIII

Hallo Postgres-Gemeinde,

ich hoffe, ihr könnt mir helfen. Ich schildere mal mein Problem, bei dem ich nicht so richtig weiterkomme:

  • ich habe 2 identische PG-Datenbanken auf 2 verschiedenen Rechnern im Netzwerk
  • die eine DB soll als Master fungieren und die andere als Slave
  • Änderungen (UPDATE, INSERT usw.) sollen auf den Slave repliziert werden
  • auf beiden Systemen läuft WindowsXP SP2 (ich hab leider keine Wahl), PostgreSQL 8.1.5-1, PGAdminIII 1.6.1 und Slony-I 1.2.1

Alle Komponenten sind korrekt installiert und lauffähig.

  • Pfad zu den Slony-Scripten ist in den Optionen von PGAdmin angelegt
  • in der Rubrik “Replikation” der Master-DB habe ich ein Slony-Cluster (Test-Cluster) angelegt
  • zudem habe ich zwei Knoten “Master-Node” und “PgAdmin-Node” (wie auf http://www.pgadmin.org/docs/1.6/slony-install.html) beschrieben angelegt

So, und nun bin ich leider am Ende mit meinem Latein und die Anleitung der PGAdmin-Website bringt mich auch nicht weiter. Ich weiß nicht so recht, ob ich die gesamte Replikation im PgAdmin konfigurieren kann, oder ob ich noch externe Scripte usw. einbinden muss (so wie es hier im Forum zu einem ähnlichen Beitrag geschildert wird). An welchen Konfigurations-Dateine (Master und Slave) muss ich was ändern? Oder muss ich das überhaupt? Welche Pfade oder Listens muss ich in welchen Knoten angeben?

Hat jemand eine verständliche Anleitung für mich, wie ich die Replikation konfigurieren kann??? Ich häng jetzt schon 3 Tage daran und komm nicht weiter.
Ach ja; noch eine Frage: Funktioniert die die Replikation weiter (wenns denn mal klappen sollte), wenn der Slave-Rechner für kurze Zeit mal nicht im Netz ist und währenddessen in der Master-DB Änderungen vorgenommen werden?
D.h. Werden diese Änderungen beim Slave, nachdem er wieder am Netz hängt, nachgeholt?

Ich hoffe, ihr könnt mir helfen.

Grüße David

Ob das mit PGAdmin zu konfigurieren geht, weiß ich nicht. Der ‘normale’ Weg ist, sich ein Script für slonik zu schreiben. Wie das alles geht, ist hier beschrieben: http://linuxfinances.info/info/slonyadmin.html

Zur zweiten Frage: Slony weiß nach einer Unterbrechung nicht, was da noch aktuell ist. Daher wirft es auf dem Slave erst mal alles weg und zieht sich den aktuellen Stand vom Master.

Zu beachten ist noch, daß Slony keine DDL-Dinge synchronisiert. Also ein ‘ALTER TABLE’ z.B. muß Du mit einem EXECUTE SCRIPT dem slonik sagen etc. Du wirst also vermutlich öfters damit konfrontiert werden, es lohnt also, sich das mal anzulesen.

OK, die Seite kenne ich. Ich dachte nur, dass es der einfachere Weg sei, alles im PgAdmin zu konfigurieren, da dieser diese Funktionalität “scheinbar” bereitstellt. Jetzt kommt bestimmt ne blöde Frage: Wie schreibe ich dieses Slonik-Script unter Windows? Und wo und wie setzt ich die Variablen zb: CLUSTERNAME=… ?

ALso geht nichts verloren, das ist ja prima.

Wie sieht es denn mit “dbmirror” als Replikations-System für Postgres aus? Welche Vor- und Nachteile bietet das gegenüber SLONY?

Danke für die schnelle Antwort!!

Wink

Man schreibt sowas mit einem Editor des geringsten Mißtrauens.


dbmirror kenne ich nicht, das auf Systemhaus Ralf Burger AG - PostgreSQL Replikation klingt zwar nett und das auf
Accessing Postgres through Whitebeam ist hybsch gemacht,
aber http://pgfoundry.org/projects/dbmirror/ “Development Status: 7 - Depreciated” klingt ned gut…

Hallo David,

Als Scriptsprache unter Windows kann ich Dir AutoIt empfehlen. http://www.autoitscript.com


Wie bei allen anderen Betriebssystemen kannst Du auch unter Windows Enviroment-Variable setzen.



mfg

fristo

Das mag sein, ist aber in diesem Kontext hier Dummfug. ‘slonik’ ist ein eigenständiges Programm mit einer eigenständigen Scriptsprache. Es geht nicht darum, ein tolles Script zu schreiben, sondern lediglich um das Werkzeug, um es zu schreiben.
Volgär bezeichnet man sowas als Editor…

Hallo,

ich muss mich “leider” noch mal an euch wenden. Habe alles mögliche probiert wie es auf verschiedenen Seiten beschrieben war:
http://linuxfinances.info/info/slonyadmin.html

http://linuxfinances.info/info/installation.html

http://people.planetpostgresql.org/xzilla/index.php?/archives/200-Alpha-testing-Slony-on-win32-Crib-Notes.html

Aber funktionieren tut es immer noch nicht. Gibt es hier jemand, der schon Erfahrung hat, wie Slony unter Windows aufzusetzen ist? Ich bräuchte echt mal ne Schritt für Schritt-Anleitung. :frowning:

Grüße David

Sorry, unter Unix habe ich es schon mehrmals aufgesetzt und im Einsatz gehabt, unter Windows muss ich ebenfalls passen.

Hallo zusammen,

leider musste ich nun von Slony auf das schon etwas angegraute Replikationssystem “dbmirror” wechseln. Dbmirror ließ sich dank einer guten Anleitung auf http://src.opensolaris.org/source/xref/sfw/usr/src/cmd/postgres/postgresql-8.1.4/contrib/dbmirror/ recht einfach umsetzen. Ein paar Probleme gab es nur mit dem Perl-Modul “pgperl” was für Windows erst noch kompiliert werden musste. Aber nun läufts und ich bin zufrieden.

Der Grund warum ich hier noch mal schreibe ist folgender:

  1. Erst mal danke an alle, die sich meinem Problem angenommen haben.

  2. Ich möchte mal denjenigen kennenlernen, der mit dieser Anleitung http://www.pgadmin.org/docs/1.6/slony.html eine Replikation mit dem PGAdmin unter Windows aufsetzen kann. Wenn es dich gibt, bist du mein Held!

  3. In der neuen Postgres-Version (8.2) ist zwar Slony schon integriert, aber leider kamen beim Erstellen eines Slony-Clusters im PGAdmin immer wieder Fehlermeldungen. Dies klappte nur in der Kombination Postgres 8.1.5-1, PgAdmin 1…6.1 und Slony 1.2.2. Klingt komisch, ist aber so.

Nun gut. Frohes Schaffen noch.

Bye David