System Catalogs / Version comparison
What changed?
System Catalogs · PostgreSQL 9.2 → 9.3
Historical documentation for a PostgreSQL version that is no longer supported.
2 added · 0 removed · 3 changed · 7 reworded · 0 with columns not listed. These are changes between the pinned reference snapshots. “Changed” means columns, their types, their order or a measured attribute such as NOT NULL; “reworded” means only the manual's descriptions.
rewordedpg_am
--- 9.2 +++ 9.3 @@ -1,4 +1,5 @@ -(relation) The catalog pg_am stores information about index access methods. There is one row for each index access method supported by the system. The contents of this catalog are discussed in detail in Chapter 52. +(relation) The catalog pg_am stores information about index access methods. There is one row for each index access method supported by the system. The contents of this catalog are discussed in detail in Chapter 54. +oid: Row identifier (hidden attribute; must be explicitly selected) amname: Name of the access method amstrategies: Number of operator strategies for this access method, or zero if access method does not have a fixed set of operator strategies amsupport: Number of support routines for this access method
changedpg_class
9.2 → 9.3 + relispopulated boolean + relminmxid xid
rewordedpg_constraint
--- 9.2 +++ 9.3 @@ -1,4 +1,5 @@ (relation) The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in the pg_attribute catalog, not here. User-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table. Check constraints on domains are stored here, too. +oid: Row identifier (hidden attribute; must be explicitly selected) conname: Constraint name (not necessarily unique!) connamespace: The OID of the namespace that contains this constraint contype: c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint @@ -11,7 +12,7 @@ confrelid: If a foreign key, the referenced table; else 0 confupdtype: Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default confdeltype: Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default -confmatchtype: Foreign key match type: f = full, p = partial, u = simple (unspecified) +confmatchtype: Foreign key match type: f = full, p = partial, s = simple conislocal: This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously. coninhcount: The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed. connoinherit: This constraint is defined locally for the relation. It is a non-inheritable constraint.
rewordedpg_cursors
--- 9.2 +++ 9.3 @@ -1,4 +1,4 @@ -(relation) The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways: via the DECLARE statement in SQL via the Bind message in the frontend/backend protocol, as described in Section 46.2.3 via the Server Programming Interface (SPI), as described in Section 43.1 The pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction. +(relation) The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways: via the DECLARE statement in SQL via the Bind message in the frontend/backend protocol, as described in Section 48.2.3 via the Server Programming Interface (SPI), as described in Section 44.1 The pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction. name: The name of the cursor statement: The verbatim query string submitted to declare this cursor is_holdable: true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise
changedpg_database
9.2 → 9.3 + datminmxid xid
addedpg_event_trigger
--- 9.2 +++ 9.3 @@ -0,0 +1,6 @@ +evtname name +evtevent name +evtowner oid +evtfoid oid +evtenabled "char" +evttags text[]
changedpg_index
9.2 → 9.3 + indislive boolean
rewordedpg_language
--- 9.2 +++ 9.3 @@ -1,4 +1,5 @@ -(relation) The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 38 for more information about language handlers. +(relation) The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 39 for more information about language handlers. +oid: Row identifier (hidden attribute; must be explicitly selected) lanname: Name of the language lanowner: Owner of the language lanispl: This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.
addedpg_matviews
--- 9.2 +++ 9.3 @@ -0,0 +1,7 @@ +schemaname name +matviewname name +matviewowner name +tablespace name +hasindexes boolean +ispopulated boolean +definition text
rewordedpg_seclabel
--- 9.2 +++ 9.3 @@ -1,4 +1,4 @@ -(relation) The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 45.63. See also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster. +(relation) The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 47.65. See also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster. objoid: The OID of the object this security label pertains to classoid: The OID of the system catalog this object appears in objsubid: For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.
rewordedpg_shseclabel
--- 9.2 +++ 9.3 @@ -1,4 +1,4 @@ -(relation) The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 45.63. See also pg_seclabel, which performs a similar function for security labels involving objects within a single database. Unlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database. +(relation) The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 47.65. See also pg_seclabel, which performs a similar function for security labels involving objects within a single database. Unlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database. objoid: The OID of the object this security label pertains to classoid: The OID of the system catalog this object appears in provider: The label provider associated with this label.
rewordedpg_type
--- 9.2 +++ 9.3 @@ -1,11 +1,12 @@ (relation) The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS. +oid: Row identifier (hidden attribute; must be explicitly selected) typname: Data type name typnamespace: The OID of the namespace that contains this type typowner: Owner of the type typlen: For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a "varlena" type (one that has a length word), -2 indicates a null-terminated C string. typbyval: typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value. typtype: typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, or r for a range type. See also typrelid and typbasetype. -typcategory: typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be "preferred". See Table 45-51. +typcategory: typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be "preferred". See Table 47-52. typispreferred: True if the type is a preferred cast target within its typcategory typisdefined: True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on. typdelim: Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.