我正在研究一个项目,该项目需要我编写查询以在PostgreSQL中创建实例化视图。我的要求是,如何获取特定实例化视图的PostgreSQL实例化视图刷新历史记录时间。
答案 0 :(得分:2)
PostgreSQL不存储运行诸如REFRESH MATERIALIZED VIEW
之类的SQL语句的时间。
任何依靠基础数据文件的文件修改时间的尝试都是徒劳的,因为诸如autovacuum之类的作业可能会修改文件。
保留此类信息的唯一方法是自行存储在表中运行语句的时间。
一种替代方法是记录所有DDL语句(log_statement = 'ddl'
)并从日志文件中检索信息。