查询PostgreSQL外部表最后统计计算日期可使用哪个系统视图
在PostgreSQL中,你可以通过查询pg_stat_user_foreign_tables系统视图获取外部表最后一次统计信息计算的日期。
这个视图是专门为外部表设计的统计信息视图,包含所有用户自定义外部表的运行时统计数据,其中就包括了你需要的last_analyze(手动执行ANALYZE的时间)、last_autoanalyze(自动统计任务执行ANALYZE的时间)字段,还支持查询last_vacuum、last_autovacuum等外部表相关的维护操作时间。
你可以使用如下查询获取指定外部表的统计信息更新时间:
SELECT schemaname, relname, last_vacuum, last_autovacuum, last_analyze, last_autoanalyze FROM pg_stat_user_foreign_tables WHERE relname = 'my_foreign_table';
补充说明:
- 如果使用的是PostgreSQL 9.6及更早版本,
pg_stat_user_foreign_tables视图尚未正式提供,需要升级到PostgreSQL 10及以上版本才能使用该特性。 - 若对应外部表从未执行过ANALYZE操作,查询结果中
last_analyze和last_autoanalyze字段会返回空值。
内容的提问来源于stack exchange,提问作者Fabrice Chapuis
相关产品推荐
相关产品推荐

