RDS for PostgreSQL 只读副本故障排除
下面,您可以找到一些常见 RDS for PostgreSQL 只读副本问题的故障排除思路。
- 终止导致只读副本滞后的查询
-
在数据库中长时间运行的处于活动或空闲事务状态的事务可能会干扰 WAL 复制过程,从而增加复制滞后。因此,请务必使用 PostgreSQL
pg_stat_activity视图监控这些事务的运行时。在主实例上运行类似于以下内容的查询,来查找长时间运行的查询的进程 ID(PID):
SELECT datname, pid,usename, client_addr, backend_start, xact_start, current_timestamp - xact_start AS xact_runtime, state, backend_xmin FROM pg_stat_activity WHERE state='active';SELECT now() - state_change as idle_in_transaction_duration, now() - xact_start as xact_duration,* FROM pg_stat_activity WHERE state = 'idle in transaction' AND xact_start is not null ORDER BY 1 DESC;确定查询的 PID 后,您可以选择结束此查询。
在主实例上运行类似于以下内容的查询,来终止长时间运行的查询:
SELECT pg_terminate_backend(PID);