From: | Thiemo Kellner <thiemo(at)gelassene-pferde(dot)biz> |
---|---|
To: | PostgreSQL DE Allgemein <pgsql-de-allgemein(at)lists(dot)postgresql(dot)org> |
Subject: | Re: [gelöst] Probleme Replikation aufzusetzen |
Date: | 2018-01-31 15:21:07 |
Message-ID: | b847510e-bff6-392c-7730-2aba8e692db9@gelassene-pferde.biz |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
Vielen Dank an Andreas Kretschmer und die anderen der Liste, die mir
geholfen haben. Ich habe unten nun die funkntionierenden Abweichungen
von den Standardeinstellungen aufgeführt.
Zunächst war mein Fehler, dass ich nicht begriffen habe, dass jeder
Standby eines Streaming-Masters ein Klon sein muss (z. B. über
pg_basebackup), zwei logisch gleiche Datenbanken, z. B. zwei
jungfräuliche Initialisierungen, funktioniert nicht. Das Master-Log
zeigt dann einen Fehler, dass die Identifier nicht übereinstimmen. Die
Dateien des Base-Backup habe ich einfach ins Datenverzeichnis des
Standbys kopiert. Ob dies nur im Falle frisch initialisierter
Datenbanken funktioniert oder ob dies das reguläre Vorgehen ist, ist mir
nicht klar geworden.
Es ist wichtig, dass nicht nur in
postgres.config-synchronous_standby_names für jeden Standby ein
Applikationsname eingetragen wird, sondern auch dass in jeweils einer
dieser Applikationsnamen in recovery.conf-primary_conninfo im Parameter
application_name geführt wird - für jeden Standby ein eigener. Nur so
ist es Master möglich, die Erfolgsmeldungen der Standbys zuzuordnen.
Zum Schluss hatte ich noch das Problem, dass ich nicht alle
synchronisierten Datenbank-Objekte im Standby gefunden hatte. Beim
Anlegen auf Master hatte ich nicht das neue Schema und die neue DB
angegeben, aber in diesen auf Standby gesucht.
Liebe Grüße
Thiemo
== Hot standby ==
/etc/postgresql/10/main2/pg_hba.conf
host replication all ::1/128 md5
host replication all 127.0.0.1/32 md5
host replication repuser ::1/0 md5
host replication repuser 0.0.0.1/0 md5
local replication repuser peer
/etc/postgresql/10/main2/postgresql.conf
wal_level = replica
#synchronous_commit = on
max_replication_slots = 12
synchronous_standby_names = 'main'
hot_standby = on
log_min_messages = warning
log_connections = on
log_statement = 'ddl'
log_replication_commands = on
lc_messages = 'C.UTF-8'
/etc/postgresql/10/main2/recovery.conf
standby_mode = 'on'
primary_conninfo = 'application_name=main2 host=localhost user=repuser
port=5432 password=<plain text>'
== master ==
/etc/postgresql/10/main/pg_hba.conf
host replication all ::1/128 md5
host replication all 127.0.0.1/32 md5
host replication repuser ::1/0 md5
host replication repuser 0.0.0.1/0 md5
local replication repuser peer
/etc/postgresql/10/main/postgresql.conf
wal_level = replica
#synchronous_commit = on
archive_mode = off
max_wal_senders = 12
max_replication_slots = 12
synchronous_standby_names = 'main2'
hot_standby = on
wal_receiver_timeout = 60s
log_min_messages = warning
log_connections = on
log_statement = 'ddl'
log_replication_commands = on
lc_messages = 'C.UTF-8'
/etc/postgresql/10/main/recovery.conf
standby_mode = 'off'
primary_conninfo = 'application_name=main host=localhost user=repuser
port=5433 password=<plain text>'
Attachment | Content-Type | Size |
---|---|---|
thiemo.vcf | text/x-vcard | 693 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Thiemo Kellner | 2018-01-31 15:49:26 | Re: [gelöst] Probleme Replikation aufzusetzen |
Previous Message | Andreas Kretschmer | 2018-01-31 08:24:24 | Re: Probleme Replikation aufzusetzen |