это должно быть можно, но если подставляю wal_sender_timeout=60min, то получаю
could not connect to the publisher: invalid connection option ""wal_sender_timeout"
Покажите строку соединения.
Вот такими образами пробовал, каждый раз ругается на невалидную опцию и называет ее по имени: ... SET subconninfo = 'host=b01 port=12345 user=replication_user password=hunter2 dbname=core wal_sender_timeout=2h' ... SET subconninfo = 'host=b01 port=12345 user=replication_user password=hunter2 dbname=core wal_sender_timeout=3600000' ... SET subconninfo = 'host=b01 port=12345 user=replication_user password=hunter2 dbname=core options="-c wal_sender_timeout=3600000"'
Перепроверил -- да, и мастер и реплика у нас версии 12.2
Так там строка соединения должна быть в обычном формате, вроде бы. Вот тут даже есть пример именно с wal_sender_timeout: https://www.postgresql.org/docs/current/warm-standby.html#STANDBY-SERVER-SETUP
Это для логического слота подписка, но вроде бы я этот формат тоже пробовал последним примером: 'host=b01 port=12345 user=replication_user password=hunter2 dbname=core options="-c wal_sender_timeout=3600000"'
Да, я знаю. Сравните: 'host=b01 port=12345 user=replication_user password=hunter2 dbname=core options="-c wal_sender_timeout=3600000"' -- Вот так, по идее: 'host=b01 port=12345 user=replication_user password=hunter2 dbname=core options=''-c wal_sender_timeout=3600000'''
Хмм окей, просто я пробовал убрать = между wal_sender_timeout и его значением, и в логе было написано что требуется = между параметром и значением, значит парсится оно правильно. Попробую позже когда воркер на реплике снова отвалится со словами что процесс для этой публикации уже существует. Раньше было wal_sender_timeout=0, но каждый раз на выходных возникала ситуация с раздутием WALов, когда логическая реплика начинала отваливаться со словами что для этой подписки на мастере уже есть процесс. Тем временем процесс на мастере действительно был и жил как ни в чем ни бывало. Сегодня я поставил wal_sender_timeout на 1min, но теперь мастер убивает этого воркера сам после пары часов работы, тем временем как реплика ничего толком не прожевала. Валов уже на 1.6ТБ, не подскажете как диагностировать? Поставить wal_sender_timeout=0 тоже могу обратно, но на следующих выходных опять появится зомби сендер на мастере...
Прежде чем вообще заниматься диагностикой, обновитесь до последней minor version. Иначе это запросто может быть пустой тратой времени.
Ок спасибо, с этого и начну!
Обсуждают сегодня