在AWS RDS PostgreSQL实例中查询视图/表的创建、修改日期
查询AWS RDS PostgreSQL中表与视图的创建、修改日期
一、查询用户表的时间信息
PostgreSQL的系统表/视图可以直接获取表的创建时间、结构修改时间和数据修改时间,无需依赖底层系统文件(AWS RDS环境完全支持这些系统对象):
SELECT n.nspname AS schema_name, c.relname AS table_name, c.relcreationtime AS create_time, s.last_ddl_time AS last_schema_modified_time, pg_stat_get_last_modified_time(c.oid) AS last_data_modified_time FROM pg_class c JOIN pg_namespace n ON c.relnamespace = n.oid JOIN pg_stat_user_tables s ON c.oid = s.relid WHERE c.relkind = 'r' -- 筛选普通用户表 AND n.nspname NOT IN ('pg_catalog', 'information_schema'); -- 排除系统内置模式
create_time:表的初始创建时间last_schema_modified_time:最后一次DDL操作(如ALTER TABLE、ADD COLUMN等)的时间(PostgreSQL 12+支持)last_data_modified_time:表数据最后被插入/更新/删除的时间
二、查询视图的时间信息
视图的创建与修改时间可通过pg_views和pg_class关联查询:
SELECT n.nspname AS schema_name, v.viewname AS view_name, c.relcreationtime AS create_time, c.relmtime AS last_modified_time FROM pg_views v JOIN pg_class c ON v.viewname = c.relname JOIN pg_namespace n ON c.relnamespace = n.oid WHERE c.relkind = 'v' -- 筛选视图 AND n.nspname NOT IN ('pg_catalog', 'information_schema');
create_time:视图的初始创建时间last_modified_time:最后一次通过CREATE OR REPLACE VIEW修改视图定义的时间
关键说明
- 无需开启
track_commit_timestamp参数:该参数用于记录行级数据的提交时间,与表/视图级别的元数据时间无关。 - AWS RDS与本地PostgreSQL的系统视图逻辑完全一致,所有查询均直接基于PostgreSQL内置系统对象,无需访问底层文件系统。
内容的提问来源于stack exchange,提问作者Jim Macaulay
相关产品推荐
相关产品推荐

