我们正在尝试调试生产数据库服务器上的一些问题。我们想要启用的一件事情是pg_stat_statements,但是我们推迟重新启动服务。同时,我们的想法是可以启用pg_stat_statements并重新启动热备用。这里的想法是,我们至少可以看到所有的文字是在生产中发布的,只是一个时间延迟。然而,情况似乎并非如此。
是否有方法查看热备用上的WAL日志发出的更新?
编辑:还是通过流复制?
发布于 2017-08-10 04:32:16
pg_stat_statements和WAL没有任何关系。WAL不记录语句,您也无法发现WAL中运行了哪些语句。它只记录磁盘上更改的块和相关的元数据。
在待机状态下肯定没用。
您可以使用pg_xlogdump (pg_waldump on pg10和更新版)查看低级别WAL流,但是如果没有大量的经验和时间,您将无法理解它。它不能也不能显示表名和行信息,只有表relfilenodes和tuple TID,加上二进制元组数据。
如果您想避免安装pg_stat_statements,您可以通过在计时器上捕获pg_stat_activity并执行自己的解析和合并来生成一个糟糕的人版本。
https://dba.stackexchange.com/questions/183060
复制相似问题