Я установил кластер postgreSQL в Streaming Replication с одним ведущим и двумя подчиненными.
Я создал несколько баз данных и увидел, что они реплицированы на подчиненные.
Затем я выполнил команду COPY для импорта большого набора данных (3 ГБ) на мастер. Когда команда COPY завершила с сообщением: COPY 43928933
Я наблюдаю странное поведение. Данные, импортированные из csv, не реплицируются на ведомые устройства, и потоковая репликация больше не работает. Я создаю базу данных на главном узле, которая не реплицируется на ведомые устройства.
Я вижу логи одного раба с
tail -f 100 /var/log/postgresql/postgresql-9.4-main.log
и я вижу это:
2019-06-27 14: 12: 48.919 UTC [13099] LOG: началась потоковая передача WAL с
первичный в 0/20000000 в сроки 1 2019-06-27 14: 12: 48.919 UTC
[13099] FATAL: не удалось получить данные из потока WAL: ERROR:
запрошенный сегмент WAL 000000010000000000000020 уже был
удалено
2019-06-27 14: 12: 53.931 UTC [13104] LOG: запущена потоковая передача
WAL от первичного в 0/20000000 на временной шкале 1 2019-06-27 14: 12: 53.931
UTC [13104] FATAL: не удалось получить данные из потока WAL: ОШИБКА:
запрошенный сегмент WAL 000000010000000000000020 уже был
удален
2019-06-27 14: 12: 58.943 UTC [13113] LOG: началась потоковая передача WAL с
первичный в 0/20000000 в сроки 1 2019-06-27 14: 12: 58.943 UTC
[13113] FATAL: не удалось получить данные из потока WAL: ОШИБКА:
запрошенный сегмент WAL 000000010000000000000020 уже был
удален
Кто-нибудь знает, как это исправить? Я не понимаю это поведение.