更新时间:2023-10-17 GMT+08:00

PG_OBJECT

PG_OBJECT系统表存储限定类型对象(普通表,索引,序列,视图,存储过程和函数)的创建用户、创建时间和最后修改时间。

表1 PG_OBJECT字段

名称

类型

描述

object_oid

oid

对象标识符

object_type

"char"

对象类型:

  • r 表示普通表
  • i 表示索引
  • s 表示序列
  • v 表示视图
  • p 表示存储过程和函数

creator

oid

创建用户的标识符

ctime

timestamp with time zone

对象的创建时间

mtime

timestamp with time zone

对象的最后修改时间,修改行为包括ALTER操作和GRANT、REVOKE操作

createcsn

bigint

对象创建时的CSN。

changecsn

bigint

对表或索引执行DDL操作时的CSN。

  • 无法记录初始化数据库(initdb)过程中所创建或修改的对象,即PG_OBJECT无法查询到该对象记录。
  • 对于升级至该版本的数据库,无法记录升级以前所创建的对象,即PG_OBJECT无法查询到该对象记录。
  • 对于上述两类对象再次修改时,会记录其修改时间(mtime),由于无法得知该对象创建时间,因此ctime为空。
  • 对于升级前创建的对象,再次修改时会记录其修改时间(mtime),对表或索引执行DDL操作时会记录其所属事务的事务提交序列号(changecsn)。由于无法得知该对象创建时间,因此ctime和createcsn为空。
  • ctime和mtime所记录的时间为用户当次操作所属事务的起始时间。
  • 由扩容引起的对象修改时间也会被记录。
  • createcsn和changecsn记录的是用户当次操作所属事务的事务提交序列号。