PG_OBJECT
PG_OBJECT系统表存储限定类型对象(普通表,索引,序列,视图,存储过程和函数)的创建用户、创建时间和最后修改时间。
名称 |
类型 |
描述 |
---|---|---|
object_oid |
oid |
对象标识符。 |
object_type |
"char" |
对象类型:
|
creator |
oid |
对象的所有者。 |
ctime |
timestamp with time zone |
对象的创建时间。 |
mtime |
timestamp with time zone |
对象的最后修改时间,修改行为包括ALTER操作和GRANT、REVOKE操作。 |
createcsn |
bigint |
对象创建时的CSN。 |
changecsn |
bigint |
对表或索引执行DDL操作时的CSN。 |
valid |
boolean |
对象的有效性,t为有效,f为无效。 |
- 无法记录初始化数据库(initdb)过程中所创建或修改的对象,即PG_OBJECT无法查询到该对象记录。
- 对于升级前创建的对象,再次修改时会记录其修改时间(mtime),对表或索引执行DDL操作时会记录其所属事务的事务提交序列号(changecsn)。由于无法得知该对象创建时间,因此ctime和createcsn为空。
- ctime和mtime所记录的时间为用户当次操作所属事务的起始时间。
- 由扩容引起的对象修改时间也会被记录。
- createcsn和changecsn记录的是用户当次操作所属事务的事务提交序列号。
- enable_gtt_concurrent_truncate开启时,truncate全局临时表不会刷新mtime字段。
- 执行对象创建语句时,存在未定义的对象,或所依赖的对象有修改或删除动作时,对象会为无效状态。