Not so long ago I faced the problem of database synchronization using pg_basebackup utility on linux SLES 12 machine using PostgreSQL 10.4:
pg_basebackup -h host01 -U dbuser -D /var/PostgresDb -w LOG: standby "pg_basebackup" is now a synchronous standby with priority 1 pg_basebackup: could not receive data from WAL stream: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. pg_basebackup: child process exited with error 1 pg_basebackup: removing contents of data directory "/var/RtpPostgresDb"
PostgreSQL log of master server contain the following error entry: terminating walsender process due to replication timeout
Currently my configuration is the following: wal_sender_timeout = 1s wal_receiver_timeout = 1s wal_receiver_status_interval = 10s
On the one hand I understand that if my database gets bigger it will require bigger value of wal_sender_timeout. On the other hand I use wal_sender_timeout = 1s on purpose in order to detect if network bad.
Could you please suggest an appropriate configuration, sensible relations between configuration parameters or any other approach of database synchronization which overcomes this issue?