0

Aurora Postgres 11.8 我必须每小时在 Reader 实例上隔离 pg_stat_statements。在 Writer 实例上很简单,每小时创建一个表并备份 pg_stat_statements,然后使用 pg_stat_statements_reset() 清理 pg_stat_statements。

由于我无法在 Reader 上创建表,因此需要专家对此进行评论,一个想法是在 Writer 上创建 FDW 表并每小时复制数据,但是如何将 pg_stat_statements_reset() 与 Reader 上的表同步?对于复制和 pg_stat_statements_reset() 有两个单独的 cronjobs 看起来不像是一个健壮的解决方案。

来自 Oracle 背景,我很喜欢每小时的 ADDM 报告。pg_stat_statements 被发现是 ADDM 的一种令人满意的替代方案。我想按小时划分 pg_stat_statements 以获得更深入的分析,因为所有繁忙时间和非工作时间的单一摘要意义不大。

谢谢

4

1 回答 1

0

有许多可能的解决方案,请根据简单性以及它是否适合您的设置来选择一种。

我的想法是根本不运行pg_stat_statements_reset(),而是计算数据后续快照之间的差异。这样就省去了同步这两个活动的麻烦。

对于快照,我的想法是备用数据库上的一个(可能是 NFS 挂载的)目录,您可以在其中写入由作业COPY安排的每小时快照。cron

于 2020-11-18T05:54:32.523 回答