на реплике командой:
/usr/pgsql-13/bin/pg_ctl -w -D /var/lib/pgsql/13/data promote
появилась ошибка в логах:
2023-10-02 13:26:25.880 MSK [21523] LOG: background worker "Error Log Retention Policy [2]" (PID 30355) exited with exit code 1
2023-10-02 16:09:33.394 MSK [50062] LOG: job 2 threw an error
2023-10-02 16:09:33.395 MSK [50062] ERROR: cannot delete from table "job_errors" because it does not have a replica identity and publishes deletes
2023-10-02 16:09:33.395 MSK [50062] HINT: To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE.
2023-10-02 16:09:33.395 MSK [50062] CONTEXT: SQL statement "WITH deleted AS
(DELETE
FROM _timescaledb_internal.job_errors
WHERE finish_time < (now() - drop_after) RETURNING *)
SELECT count(*)
FROM deleted"
PL/pgSQL function _timescaledb_internal.policy_job_error_retention(integer,jsonb) line 7 at SQL statement
это БД Zabbix. вроде бы и все работает в забиксе, но ошибка постоянно появляется.
недоконца отключилась физ репликация?
Ошибка от логической репликации
а я физическую делал
У Вас явно есть логическая репликация, и именно для этой таблицы (_timescaledb_internal.job_errors) — в какой БД, другой вопрос. Нужно найти её (и, скорее всего, удалить — тут Вам виднее).
А pg_publication_tables действует только в пределах базы? Не через весь кластер?
Да, только в пределах базы. И вообще, есть же: \dRp[+] [PATTERN] list replication publications
Обсуждают сегодня