Achtung: Dieser Text wird nicht mehr aktiv gepflegt. Für aktuelle Information ist die manpage von replication.pl zuständig. Database 1) Jede Tabelle muss einen Primary Key folgender Form haben: "nr serial8 primary key" Der PK kann nicht verändert werden. oder "nr serial8 not null unique" 2) Wenn eine Tabelle Large Objects referenziert, so muss sie eine Spalte folgender Form haben: "lo oid unique". 3) Wenn Spalten das "unique" Attribut haben, dann muss in der Applikation darauf geachtet werden, dass keine gleichen Werte in mehreren Master zur selben Zeit eingetragen werden, ansonsten schlägt die Replikation fehl. (uniquenes conflict) Setup 1) Das File replication.sql ausführen. 2) Die Nummer des Nodes mit "select replication.node_num(1, '');" setzen 3) Für jede Tabelle "select replication.register('');" oder "select replication.registerlo('');" ausführen, je nachdem ob die Tabelle Large Objects enthält oder nicht. Restore 1) Durch Ausführen des Files drop.sql wird das 'replication' Schema wieder entfernt. Es sollte dann auf den anderen Nodes der eben aus der Replikation entfernte durch "select replication.drop_node()" auch entfernt werden. Betrieb: Die Replikation wird gestartet durch ausführen von: "replication.pl --local_dbname --remote_dbname ". Eventuell müssen zum Connect weitere Parameter gesetzt werden. Da der SQL Befehl "truncate " keine Trigger aufruft, bekommt pg_trompe davon nichts mit. Als Ersatz steht "select replication.truncate('')" zur Verfügung. Wartung: Sind mehrere Nodes per Replikation verknüpft, so können DDL Befehle mittels der Replikation verteilt werden. Dazu sollte je ein DDL Befehl als String mittels der Funktion replication.ddl('') ausgeführt werden. Der Befehl wird auf dem Node lokalem unmittelbar ausgeführt und in das Replikationslog übernommen. Damit ist die Reihenfolge zwischen DDL und DML Befehlen sichergestellt.