Cer*_*rin 4 postgresql index metadata change-tracking
有什么方法可以找到 PostgreSQL 12-13 中索引上次创建或重新索引的时间吗?
该文档显示了一些标准视图,例如pg_stat_user_indexes
跟踪索引的使用统计信息,但我找不到任何跟踪创建/更新统计信息的内容。
创建索引以及重新索引会将新行写入系统表pg_class
。大多数 DDL 命令(包括这些)在 Postgres 中都是事务性的。当 Postgres DB 服务器使用 运行时track_commit_timestamp = on
,会记录提交时间戳。看:
然后,此查询会生成在 Postgres 9.5 或更高版本中上次创建或重新索引索引时的时间戳:
SELECT pg_xact_commit_timestamp(xmin)
FROM pg_class
WHERE relname = 'mytbl_pkey'; -- index name
Run Code Online (Sandbox Code Playgroud)
跟踪仅在服务器重新启动后track_commit_timestamp = on
开始,没有旧事务的信息。而且信息不会无限期地保留 - 随着事务 ID 回绕,它最终会丢失,通常是在很长一段时间后,但这取决于每次事务。