↑↓ select ↵ open ⌫ change scope Open full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

System Catalogs / Version comparison

What changed?

System Catalogs · PostgreSQL 10 → 11

Browse PG 11

Historical documentation for a PostgreSQL version that is no longer supported.

0 added · 0 removed · 9 changed · 21 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.

changedpg_aggregate
10 → 11
+ aggfinalmodify  "char"
+ aggmfinalmodify  "char"
rewordedpg_am
--- 10
+++ 11
@@ -1,4 +1,4 @@
-(relation) The catalog pg_am stores information about relation access methods. There is one row for each access method supported by the system. Currently, only indexes have access methods. The requirements for index access methods are discussed in detail in Chapter 60.
+(relation) The catalog pg_am stores information about relation access methods. There is one row for each access method supported by the system. Currently, only indexes have access methods. The requirements for index access methods are discussed in detail in Chapter 61.
 oid: Row identifier (hidden attribute; must be explicitly selected)
 amname: Name of the access method
 amhandler: OID of a handler function that is responsible for supplying information about the access method
rewordedpg_amproc
--- 10
+++ 11
@@ -1,7 +1,7 @@
-(relation) The catalog pg_amproc stores information about support procedures associated with access method operator families. There is one row for each support procedure belonging to an operator family.
+(relation) The catalog pg_amproc stores information about support functions associated with access method operator families. There is one row for each support function belonging to an operator family.
 oid: Row identifier (hidden attribute; must be explicitly selected)
 amprocfamily: The operator family this entry is for
 amproclefttype: Left-hand input data type of associated operator
 amprocrighttype: Right-hand input data type of associated operator
-amprocnum: Support procedure number
-amproc: OID of the procedure
+amprocnum: Support function number
+amproc: OID of the function
changedpg_attribute
10 → 11
+ atthasmissing  boolean
+ attmissingval  anyarray
changedpg_class
10 → 11
+ relrewrite  oid
- relhaspkey  boolean
changedpg_constraint
10 → 11
+ conparentid  oid
rewordedpg_conversion
--- 10
+++ 11
@@ -1,9 +1,9 @@
-(relation) The catalog pg_conversion describes encoding conversion procedures. See CREATE CONVERSION for more information.
+(relation) The catalog pg_conversion describes encoding conversion functions. See CREATE CONVERSION for more information.
 oid: Row identifier (hidden attribute; must be explicitly selected)
 conname: Conversion name (unique within a namespace)
 connamespace: The OID of the namespace that contains this conversion
 conowner: Owner of the conversion
 conforencoding: Source encoding ID
 contoencoding: Destination encoding ID
-conproc: Conversion procedure
+conproc: Conversion function
 condefault: True if this is the default conversion
rewordedpg_cursors
--- 10
+++ 11
@@ -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 52.2.3 via the Server Programming Interface (SPI), as described in Section 46.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 53.2.3 via the Server Programming Interface (SPI), as described in Section 47.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
rewordedpg_database
--- 10
+++ 11
@@ -7,7 +7,7 @@
 datctype: LC_CTYPE for this database
 datistemplate: If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or the owner of the database can clone it.
 datallowconn: If false then no one can connect to this database. This is used to protect the template0 database from being altered.
-datconnlimit: Sets maximum number of concurrent connections that can be made to this database. -1 means no limit.
+datconnlimit: Sets maximum number of concurrent connections that can be made to this database. -1 means no limit, -2 indicates the database is invalid.
 datlastsysoid: Last system OID in the database; useful particularly to pg_dump
 datfrozenxid: All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.
 datminmxid: All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.
rewordedpg_event_trigger
--- 10
+++ 11
@@ -1,4 +1,4 @@
-(relation) The catalog pg_event_trigger stores event triggers. See Chapter 39 for more information.
+(relation) The catalog pg_event_trigger stores event triggers. See Chapter 40 for more information.
 evtname: Trigger name (must be unique)
 evtevent: Identifies the event for which this trigger fires
 evtowner: Owner of the event trigger
rewordedpg_extension
--- 10
+++ 11
@@ -1,4 +1,4 @@
-(relation) The catalog pg_extension stores information about the installed extensions. See Section 37.15 for details about extensions.
+(relation) The catalog pg_extension stores information about the installed extensions. See Section 38.16 for details about extensions.
 oid: Row identifier (hidden attribute; must be explicitly selected)
 extname: Name of the extension
 extowner: Owner of the extension
changedpg_index
10 → 11
+ indnkeyatts  smallint
rewordedpg_inherits
--- 10
+++ 11
@@ -1,4 +1,4 @@
-(relation) The catalog pg_inherits records information about table inheritance hierarchies. There is one entry for each direct child table in the database. (Indirect inheritance can be determined by following chains of entries.)
-inhrelid: The OID of the child table
-inhparent: The OID of the parent table
-inhseqno: If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1.
+(relation) The catalog pg_inherits records information about table and index inheritance hierarchies. There is one entry for each direct parent-child table or index relationship in the database. (Indirect inheritance can be determined by following chains of entries.)
+inhrelid: The OID of the child table or index
+inhparent: The OID of the parent table or index
+inhseqno: If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1. Indexes can not have multiple inheritance, since they can only inherit when using declarative partitioning.
rewordedpg_language
--- 10
+++ 11
@@ -1,4 +1,4 @@
-(relation) The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 41 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 42 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
rewordedpg_opclass
--- 10
+++ 11
@@ -1,4 +1,4 @@
-(relation) The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input. Operator classes are described at length in Section 37.14.
+(relation) The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input. Operator classes are described at length in Section 38.15.
 oid: Row identifier (hidden attribute; must be explicitly selected)
 opcmethod: Index access method operator class is for
 opcname: Name of this operator class
rewordedpg_operator
--- 10
+++ 11
@@ -1,4 +1,4 @@
-(relation) The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 37.12 for more information.
+(relation) The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 38.13 for more information.
 oid: Row identifier (hidden attribute; must be explicitly selected)
 oprname: Name of the operator
 oprnamespace: The OID of the namespace that contains this operator
rewordedpg_opfamily
--- 10
+++ 11
@@ -1,4 +1,4 @@
-(relation) The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all “compatible”, in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics. Operator families are described at length in Section 37.14.
+(relation) The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all “compatible”, in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics. Operator families are described at length in Section 38.15.
 oid: Row identifier (hidden attribute; must be explicitly selected)
 opfmethod: Index access method operator family is for
 opfname: Name of this operator family
changedpg_partitioned_table
10 → 11
+ partdefid  oid
changedpg_proc
10 → 11
+ prokind  "char"
- proisagg  boolean
- proiswindow  boolean
changedpg_publication
10 → 11
+ pubtruncate  boolean
rewordedpg_publication_rel
--- 10
+++ 11
@@ -1,3 +1,3 @@
-(relation) The catalog pg_publication_rel contains the mapping between relations and publications in the database. This is a many-to-many mapping. See also Section 51.78 for a more user-friendly view of this information.
+(relation) The catalog pg_publication_rel contains the mapping between relations and publications in the database. This is a many-to-many mapping. See also Section 52.78 for a more user-friendly view of this information.
 prpubid: Reference to publication
 prrelid: Reference to relation
rewordedpg_replication_origin
--- 10
+++ 11
@@ -1,3 +1,3 @@
-(relation) The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 49.
+(relation) The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 50. Unlike most system catalogs, pg_replication_origin is shared across all databases of a cluster: there is only one copy of pg_replication_origin per cluster, not one per database.
 roident: A unique, cluster-wide identifier for the replication origin. Should never leave the system.
 roname: The external, user defined, name of a replication origin.
rewordedpg_replication_origin_status
--- 10
+++ 11
@@ -1,4 +1,4 @@
-(relation) The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins see Chapter 49.
+(relation) The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins see Chapter 50.
 local_id: internal node identifier
 external_id: external node identifier
 remote_lsn: The origin node's LSN up to which data has been replicated.
rewordedpg_replication_slots
--- 10
+++ 11
@@ -1,4 +1,4 @@
-(relation) The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state. For more on replication slots, see Section 26.2.6 and Chapter 48.
+(relation) The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state. For more on replication slots, see Section 26.2.6 and Chapter 49.
 slot_name: A unique, cluster-wide identifier for the replication slot
 plugin: The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.
 slot_type: The slot type - physical or logical
@@ -9,5 +9,5 @@
 active_pid: The process ID of the session using this slot if the slot is currently actively being used. NULL if inactive.
 xmin: The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.
 catalog_xmin: The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.
-restart_lsn: The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints.
+restart_lsn: The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints. NULL if the LSN of this slot has never been reserved.
 confirmed_flush_lsn: The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data older than this is not available anymore. NULL for physical slots.
rewordedpg_seclabel
--- 10
+++ 11
@@ -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 51.83. 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 52.83. 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
--- 10
+++ 11
@@ -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 51.83. 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 52.83. 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_stat_activity
--- 10
+++ 11
@@ -18,4 +18,4 @@
 backend_xid: Top-level transaction identifier of this backend, if any.
 backend_xmin: The current backend's xmin horizon.
 query: Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed. By default the query text is truncated at 1024 bytes; this value can be changed via the parameter track_activity_query_size.
-backend_type: Type of current backend. Possible types are autovacuum launcher, autovacuum worker, background worker, background writer, client backend, checkpointer, startup, walreceiver, walsender and walwriter.
+backend_type: Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, startup, walreceiver, walsender and walwriter. In addition, background workers registered by extensions may have additional types.
changedpg_stat_wal_receiver
10 → 11
+ sender_host  text
+ sender_port  integer
rewordedpg_subscription
--- 10
+++ 11
@@ -1,4 +1,4 @@
-(relation) The catalog pg_subscription contains all existing logical replication subscriptions. For more information about logical replication see Chapter 31. Unlike most system catalogs, pg_subscription is shared across all databases of a cluster: There is only one copy of pg_subscription per cluster, not one per database. Access to the column subconninfo is revoked from normal users, because it could contain plain-text passwords.
+(relation) The catalog pg_subscription contains all existing logical replication subscriptions. For more information about logical replication see Chapter 31. Unlike most system catalogs, pg_subscription is shared across all databases of a cluster: there is only one copy of pg_subscription per cluster, not one per database. Access to the column subconninfo is revoked from normal users, because it could contain plain-text passwords.
 oid: Row identifier (hidden attribute; must be explicitly selected)
 subdbid: OID of the database which the subscription resides in
 subname: Name of the subscription
rewordedpg_type
--- 10
+++ 11
@@ -6,7 +6,7 @@
 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 51.63.
+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 52.63.
 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.