Search Postgresql Archives

Re: Setting up streaming replication problems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Am 22.01.2018 um 07:39 schrieb Thiemo Kellner:
Hi all

I try to set up synchronous streaming replication as try-out. I use my laptop with Debian 9 and PostgreSQL package 10+189.pgdg90+1. And of this PostgreSQL installation I have two clusters main (master) and main2 (hot standby). I tried with Rigg's book and the PostgreSQL documentation and some pages on the web, but fail miserably.


you have one cluster with 2 nodes ;-)



Master postgresql.conf (possible) differences from stock:
wal_level = replica
archive_mode = off
max_wal_senders = 12
max_replication_slots = 12
synchronous_standby_names = 'main2,main'

Note: it's a bad idea to build a synchronous cluster with only 2 nodes, you need at least 3 nodes


wal_receiver_timeout = 60s
log_min_messages = debug5
log_connections = on
log_statement = 'ddl'
log_replication_commands = on
lc_messages = 'C.UTF-8'

Master pg_hba.conf (possible) differences from stock:
host    replication     all             127.0.0.1/32 md5
host    replication     all             ::1/128 md5
local   replication     repuser peer
host    replication     repuser         0.0.0.1/0 md5
host    replication     repuser         ::1/0 md5

Master pg_hba.conf (possible) differences from stock:

that's the recovery.conf, not pg_hba.conf. And you don't need it on the master.

standby_mode = 'off'
primary_conninfo = 'host=localhost user=repuser port=5433 password=<md5 value of password>'
restore_command = 'false'

why that?






Master pg_hba.conf (possible) differences from stock:

master or standby? confused...


standby_mode = 'on'
primary_conninfo = 'host=localhost user=repuser port=5433 password=<md5 value of password>'

the same port as above?


restore_command = 'false'

why?





I have created repuser on master and equally on hot standby:
postgres=# \du+ repuser
                     Liste der Rollen
 Rollenname |   Attribute    | Mitglied von | Beschreibung
------------+----------------+--------------+--------------
 repuser    | Replikation   +| {}           |
            | 2 Verbindungen |              |


1) I am not sure whether to put the md5 value of the repuser password into primary conninfo or the plain one. I don't feel the documentation or the book is clear on that.

2) Starting the clusters, I do not see any attempt of the hot standby to connect to the master.

are the 2 nodes running on different ports?

You need only 1 recovery.conf, on the standby. restore_command = 'false' is useless, i'm guessing that's the reason that the standby doesn't connect to the master. And, again, a synchronous replication needs at least 3 nodes. if the standby doesn't work, the master can't do any write operations, he has to wait wait for the standby - as you can see ;-)




Greetings from Dresden, Andreas

--
2ndQuadrant - The PostgreSQL Support Company.
www.2ndQuadrant.com





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux