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上的数据同步?对于copy和pg_stat_statements_reset((有两个独立的cronjob,这看起来不像是一个健壮的解决方案。
作为Oracle的背景,我每小时都会收到ADDM报告。发现pg_stat_statements在某种程度上是ADDM的令人满意的替代方案。我想按小时划分pg_stat_statements,以获得更深入的分析,因为对所有繁忙和非繁忙时间的单一总结意义不大。
感谢
有很多可能的解决方案,根据简单性和适合您的设置程度选择一种。
我的想法是而不是运行pg_stat_statements_reset()
,而是计算数据的后续快照之间的差异。这样就省去了同步这两个活动的麻烦。
对于快照,我的想法是在备用目录中创建一个(可能是NFS装载的(目录,在其中使用COPY
编写一个每小时一次的快照,由cron
作业调度。