System Catalogs / Version comparison
What changed?
System Catalogs · PostgreSQL 13 → 14
5 added · 0 removed · 15 changed · 45 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
--- 13 +++ 14 @@ -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 tables and indexes have access methods. The requirements for table and index access methods are discussed in detail in Chapter 60 and Chapter 61 respectively. +(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 tables and indexes have access methods. The requirements for table and index access methods are discussed in detail in Chapter 61 and Chapter 62 respectively. oid: Row identifier amname: Name of the access method amhandler: OID of a handler function that is responsible for supplying information about the access method
changedpg_attribute
13 → 14 + attcompression "char" ~ column order changed
rewordedpg_authid
--- 13 +++ 14 @@ -1,4 +1,4 @@ -(relation) The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of “users” and “groups”. A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members. Since this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field. Chapter 21 contains detailed information about user and privilege management. Because user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database. +(relation) The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of “users” and “groups”. A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members. Since this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field. Chapter 22 contains detailed information about user and privilege management. Because user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database. oid: Row identifier rolname: Role name rolsuper: Role has superuser privileges @@ -7,7 +7,7 @@ rolcreatedb: Role can create databases rolcanlogin: Role can log in. That is, this role can be given as the initial session authorization identifier. rolreplication: Role is a replication role. A replication role can initiate replication connections and create and drop replication slots. -rolbypassrls: Role bypasses every row level security policy, see Section 5.8 for more information. +rolbypassrls: Role bypasses every row-level security policy, see Section 5.8 for more information. rolconnlimit: For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit. rolpassword: Encrypted password; null if none. The format depends on the form of encryption used. rolvaliduntil: Password expiry time (only used for password authentication); null if no expiration
addedpg_backend_memory_contexts
--- 13 +++ 14 @@ -0,0 +1,9 @@ +name text +ident text +parent text +level integer +total_bytes bigint +total_nblocks bigint +free_bytes bigint +free_chunks bigint +used_bytes bigint
rewordedpg_class
--- 13 +++ 14 @@ -2,16 +2,16 @@ oid: Row identifier relname: Name of the table, index, view, etc. relnamespace: The OID of the namespace that contains this relation -reltype: The OID of the data type that corresponds to this table's row type, if any (zero for indexes, which have no pg_type entry) -reloftype: For typed tables, the OID of the underlying composite type, zero for all other relations +reltype: The OID of the data type that corresponds to this table's row type, if any; zero for indexes, sequences, and toast tables, which have no pg_type entry +reloftype: For typed tables, the OID of the underlying composite type; zero for all other relations relowner: Owner of the relation -relam: If this is a table or an index, the access method used (heap, B-tree, hash, etc.) +relam: If this is a table or an index, the access method used (heap, B-tree, hash, etc.); otherwise zero (zero occurs for sequences, as well as relations without storage, such as views) relfilenode: Name of the on-disk file of this relation; zero means this is a “mapped” relation whose disk file name is determined by low-level state reltablespace: The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. Not meaningful if the relation has no on-disk file, except for partitioned tables, where this is the tablespace in which partitions will be created when one is not specified in the creation command. relpages: Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX. -reltuples: Number of live rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX. +reltuples: Number of live rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX. If the table has never yet been vacuumed or analyzed, reltuples contains -1 indicating that the row count is unknown. relallvisible: Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX. -reltoastrelid: OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes “out of line” in a secondary table. +reltoastrelid: OID of the TOAST table associated with this table, zero if none. The TOAST table stores large attributes “out of line” in a secondary table. relhasindex: True if this is a table and it has (or recently had) any indexes relisshared: True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared. relpersistence: p = permanent table, u = unlogged table, t = temporary table @@ -21,12 +21,12 @@ relhasrules: True if table has (or once had) rules; see pg_rewrite catalog relhastriggers: True if table has (or once had) triggers; see pg_trigger catalog relhassubclass: True if table or index has (or once had) any inheritance children -relrowsecurity: True if table has row level security enabled; see pg_policy catalog -relforcerowsecurity: True if row level security (when enabled) will also apply to table owner; see pg_policy catalog +relrowsecurity: True if table has row-level security enabled; see pg_policy catalog +relforcerowsecurity: True if row-level security (when enabled) will also apply to table owner; see pg_policy catalog relispopulated: True if relation is populated (this is true for all relations other than some materialized views) relreplident: Columns used to form “replica identity” for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped) relispartition: True if table or index is a partition -relrewrite: For new relations being written during a DDL operation that requires a table rewrite, this contains the OID of the original relation; otherwise 0. That state is only visible internally; this field should never contain anything other than 0 for a user-visible relation. +relrewrite: For new relations being written during a DDL operation that requires a table rewrite, this contains the OID of the original relation; otherwise zero. That state is only visible internally; this field should never contain anything other than zero for a user-visible relation. relfrozenxid: All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. Zero (InvalidTransactionId) if the relation is not a table. relminmxid: All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table. relacl: Access privileges; see Section 5.7 for details
rewordedpg_collation
--- 13 +++ 14 @@ -1,4 +1,4 @@ -(relation) The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 23.2 for more information. +(relation) The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 24.2 for more information. oid: Row identifier collname: Collation name (unique per namespace and encoding) collnamespace: The OID of the namespace that contains this collation
rewordedpg_constraint
--- 13 +++ 14 @@ -5,12 +5,12 @@ contype: c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint condeferrable: Is the constraint deferrable? condeferred: Is the constraint deferred by default? -convalidated: Has the constraint been validated? Currently, can only be false for foreign keys and CHECK constraints -conrelid: The table this constraint is on; 0 if not a table constraint -contypid: The domain this constraint is on; 0 if not a domain constraint -conindid: The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else 0 -conparentid: The corresponding constraint in the parent partitioned table, if this is a constraint in a partition; else 0 -confrelid: If a foreign key, the referenced table; else 0 +convalidated: Has the constraint been validated? Currently, can be false only for foreign keys and CHECK constraints +conrelid: The table this constraint is on; zero if not a table constraint +contypid: The domain this constraint is on; zero if not a domain constraint +conindid: The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else zero +conparentid: The corresponding constraint of the parent partitioned table, if this is a constraint on a partition; else zero +confrelid: If a foreign key, the referenced table; else zero 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, s = simple
rewordedpg_cursors
--- 13 +++ 14 @@ -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
--- 13 +++ 14 @@ -1,4 +1,4 @@ -(relation) The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 22 for details about the meaning of some of the parameters. Unlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database. +(relation) The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 23 for details about the meaning of some of the parameters. Unlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database. oid: Row identifier datname: Database name datdba: Owner of the database, usually the user who created it
rewordedpg_default_acl
--- 13 +++ 14 @@ -1,6 +1,6 @@ (relation) The catalog pg_default_acl stores initial privileges to be assigned to newly created objects. oid: Row identifier defaclrole: The OID of the role associated with this entry -defaclnamespace: The OID of the namespace associated with this entry, or 0 if none +defaclnamespace: The OID of the namespace associated with this entry, or zero if none defaclobjtype: Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type, n = schema defaclacl: Access privileges that this type of object should have on creation
rewordedpg_depend
--- 13 +++ 14 @@ -1,6 +1,6 @@ (relation) The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case. See also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster. -classid: The OID of the system catalog the dependent object is in -objid: The OID of the specific dependent object +classid: The OID of the system catalog the dependent object is in, or zero for a DEPENDENCY_PIN entry +objid: The OID of the specific dependent object, or zero for a DEPENDENCY_PIN entry objsubid: For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero. refclassid: The OID of the system catalog the referenced object is in refobjid: The OID of the specific referenced object
rewordedpg_event_trigger
--- 13 +++ 14 @@ -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. oid: Row identifier evtname: Trigger name (must be unique) evtevent: Identifies the event for which this trigger fires
rewordedpg_extension
--- 13 +++ 14 @@ -1,4 +1,4 @@ -(relation) The catalog pg_extension stores information about the installed extensions. See Section 37.17 for details about extensions. +(relation) The catalog pg_extension stores information about the installed extensions. See Section 38.17 for details about extensions. oid: Row identifier extname: Name of the extension extowner: Owner of the extension
rewordedpg_foreign_table
--- 13 +++ 14 @@ -1,4 +1,4 @@ (relation) The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation. -ftrelid: OID of the pg_class entry for this foreign table +ftrelid: The OID of the pg_class entry for this foreign table ftserver: OID of the foreign server for this foreign table ftoptions: Foreign table options, as “keyword=value” strings
changedpg_inherits
13 → 14 + inhdetachpending boolean
rewordedpg_language
--- 13 +++ 14 @@ -1,10 +1,10 @@ -(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 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. lanpltrusted: True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages. -lanplcallfoid: For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language +lanplcallfoid: For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language. Zero for internal languages. laninline: This references a function that is responsible for executing “inline” anonymous code blocks (DO blocks). Zero if inline blocks are not supported. lanvalidator: This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided. lanacl: Access privileges; see Section 5.7 for details
changedpg_locks
13 → 14 + waitstart timestamp with time zone
rewordedpg_opclass
--- 13 +++ 14 @@ -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.16. +(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.16. oid: Row identifier opcmethod: Index access method operator class is for opcname: Name of this operator class
rewordedpg_operator
--- 13 +++ 14 @@ -1,16 +1,16 @@ -(relation) The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 37.14 for more information. +(relation) The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 38.14 for more information. oid: Row identifier oprname: Name of the operator oprnamespace: The OID of the namespace that contains this operator oprowner: Owner of the operator -oprkind: b = infix (“both”), l = prefix (“left”), r = postfix (“right”) +oprkind: b = infix operator (“both”), or l = prefix operator (“left”) oprcanmerge: This operator supports merge joins oprcanhash: This operator supports hash joins -oprleft: Type of the left operand +oprleft: Type of the left operand (zero for a prefix operator) oprright: Type of the right operand -oprresult: Type of the result -oprcom: Commutator of this operator, if any -oprnegate: Negator of this operator, if any -oprcode: Function that implements this operator -oprrest: Restriction selectivity estimation function for this operator -oprjoin: Join selectivity estimation function for this operator +oprresult: Type of the result (zero for a not-yet-defined “shell” operator) +oprcom: Commutator of this operator (zero if none) +oprnegate: Negator of this operator (zero if none) +oprcode: Function that implements this operator (zero for a not-yet-defined “shell” operator) +oprrest: Restriction selectivity estimation function for this operator (zero if none) +oprjoin: Join selectivity estimation function for this operator (zero if none)
rewordedpg_opfamily
--- 13 +++ 14 @@ -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.16. +(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.16. oid: Row identifier opfmethod: Index access method operator family is for opfname: Name of this operator family
rewordedpg_partitioned_table
--- 13 +++ 14 @@ -1,8 +1,8 @@ (relation) The catalog pg_partitioned_table stores information about how tables are partitioned. partrelid: The OID of the pg_class entry for this partitioned table partstrat: Partitioning strategy; h = hash partitioned table, l = list partitioned table, r = range partitioned table -partnatts: The number of columns in partition key -partdefid: The OID of the pg_class entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition. +partnatts: The number of columns in the partition key +partdefid: The OID of the pg_class entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition partattrs: This is an array of partnatts values that indicate which table columns are part of the partition key. For example, a value of 1 3 would mean that the first and the third table columns make up the partition key. A zero in this array indicates that the corresponding partition key column is an expression, rather than a simple column reference. partclass: For each column in the partition key, this contains the OID of the operator class to use. See pg_opclass for details. partcollation: For each column in the partition key, this contains the OID of the collation to use for partitioning, or zero if the column is not of a collatable data type.
rewordedpg_policy
--- 13 +++ 14 @@ -1,9 +1,9 @@ -(relation) The catalog pg_policy stores row level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it applies to, the expression to be added as a security-barrier qualification to queries that include the table, and the expression to be added as a WITH CHECK option for queries that attempt to add new records to the table. +(relation) The catalog pg_policy stores row-level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it applies to, the expression to be added as a security-barrier qualification to queries that include the table, and the expression to be added as a WITH CHECK option for queries that attempt to add new records to the table. oid: Row identifier polname: The name of the policy polrelid: The table to which the policy applies polcmd: The command type to which the policy is applied: r for SELECT, a for INSERT, w for UPDATE, d for DELETE, or * for all polpermissive: Is the policy permissive or restrictive? -polroles: The roles to which the policy is applied +polroles: The roles to which the policy is applied; zero means PUBLIC (and normally appears alone in the array) polqual: The expression tree to be added to the security barrier qualifications for queries that use the table polwithcheck: The expression tree to be added to the WITH CHECK qualifications for queries that attempt to add rows to the table
changedpg_prepared_statements
13 → 14 + generic_plans bigint + custom_plans bigint
changedpg_proc
13 → 14 + prosqlbody pg_node_tree
rewordedpg_publication
--- 13 +++ 14 @@ -1,4 +1,4 @@ -(relation) The catalog pg_publication contains all publications created in the database. For more on publications see Section 30.1. +(relation) The catalog pg_publication contains all publications created in the database. For more on publications see Section 31.1. oid: Row identifier pubname: Name of the publication pubowner: Owner of the publication
rewordedpg_publication_rel
--- 13 +++ 14 @@ -1,4 +1,4 @@ -(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.79 for a more user-friendly view of this information. oid: Row identifier prpubid: Reference to publication prrelid: Reference to relation
changedpg_range
13 → 14 + rngmultitypid oid
rewordedpg_replication_origin
--- 13 +++ 14 @@ -1,3 +1,3 @@ -(relation) The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 49. 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. +(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
--- 13 +++ 14 @@ -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.
changedpg_replication_slots
13 → 14 + two_phase boolean
rewordedpg_roles
--- 13 +++ 14 @@ -9,6 +9,6 @@ rolconnlimit: For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit. rolpassword: Not the password (always reads as ********) rolvaliduntil: Password expiry time (only used for password authentication); null if no expiration -rolbypassrls: Role bypasses every row level security policy, see Section 5.8 for more information. +rolbypassrls: Role bypasses every row-level security policy, see Section 5.8 for more information. rolconfig: Role-specific defaults for run-time configuration variables oid: ID of role
rewordedpg_seclabel
--- 13 +++ 14 @@ -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.84. 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_sequence
--- 13 +++ 14 @@ -1,4 +1,4 @@ -(relation) The catalog pg_sequence contains information about sequences. Some of the information about sequences, such as the name and the schema, is in pg_class. +(relation) The catalog pg_sequence contains information about sequences. Some of the information about sequences, such as the name and the schema, is in pg_class seqrelid: The OID of the pg_class entry for this sequence seqtypid: Data type of the sequence seqstart: Start value of the sequence
rewordedpg_shadow
--- 13 +++ 14 @@ -4,7 +4,7 @@ usecreatedb: User can create databases usesuper: User is a superuser userepl: User can initiate streaming replication and put the system in and out of backup mode. -usebypassrls: User bypasses every row level security policy, see Section 5.8 for more information. +usebypassrls: User bypasses every row-level security policy, see Section 5.8 for more information. passwd: Encrypted password; null if none. See pg_authid for details of how encrypted passwords are stored. valuntil: Password expiry time (only used for password authentication) useconfig: Session defaults for run-time configuration variables
rewordedpg_shdepend
--- 13 +++ 14 @@ -1,7 +1,7 @@ (relation) The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them. See also pg_depend, which performs a similar function for dependencies involving objects within a single database. Unlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database. -dbid: The OID of the database the dependent object is in, or zero for a shared object -classid: The OID of the system catalog the dependent object is in -objid: The OID of the specific dependent object +dbid: The OID of the database the dependent object is in, or zero for a shared object or a SHARED_DEPENDENCY_PIN entry +classid: The OID of the system catalog the dependent object is in, or zero for a SHARED_DEPENDENCY_PIN entry +objid: The OID of the specific dependent object, or zero for a SHARED_DEPENDENCY_PIN entry objsubid: For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero. refclassid: The OID of the system catalog the referenced object is in (must be a shared catalog) refobjid: The OID of the specific referenced object
rewordedpg_shmem_allocations
--- 13 +++ 14 @@ -1,4 +1,4 @@ -(relation) The pg_shmem_allocations view shows allocations made from the server's main shared memory segment. This includes both memory allocated by postgres itself and memory allocated by extensions using the mechanisms detailed in Section 37.10.10. Note that this view does not include memory allocated using the dynamic shared memory infrastructure. +(relation) The pg_shmem_allocations view shows allocations made from the server's main shared memory segment. This includes both memory allocated by postgres itself and memory allocated by extensions using the mechanisms detailed in Section 38.10.10. Note that this view does not include memory allocated using the dynamic shared memory infrastructure. name: The name of the shared memory allocation. NULL for unused memory and <anonymous> for anonymous allocations. off: The offset at which the allocation starts. NULL for anonymous allocations, since details related to them are not known. size: Size of the allocation
rewordedpg_shseclabel
--- 13 +++ 14 @@ -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.84. 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.
changedpg_stat_activity
13 → 14 + query_id bigint
changedpg_stat_database
13 → 14 + session_time double precision + active_time double precision + idle_in_transaction_time double precision + sessions bigint + sessions_abandoned bigint + sessions_fatal bigint + sessions_killed bigint
rewordedpg_stat_database_conflicts
--- 13 +++ 14 @@ -1,4 +1,4 @@ -(relation) The pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers. +(relation) The pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on primary servers. datid: OID of a database datname: Name of this database confl_tablespace: Number of queries in this database that have been canceled due to dropped tablespaces
rewordedpg_stat_progress_analyze
--- 13 +++ 14 @@ -3,7 +3,7 @@ datid: OID of the database to which this backend is connected. datname: Name of the database to which this backend is connected. relid: OID of the table being analyzed. -phase: Current processing phase. See Table 27.33. +phase: Current processing phase. See Table 28.35. sample_blks_total: Total number of heap blocks that will be sampled. sample_blks_scanned: Number of heap blocks scanned. ext_stats_total: Number of extended statistics.
rewordedpg_stat_progress_basebackup
--- 13 +++ 14 @@ -1,6 +1,6 @@ (relation) Whenever an application like pg_basebackup is taking a base backup, the pg_stat_progress_basebackup view will contain a row for each WAL sender process that is currently running the BASE_BACKUP replication command and streaming the backup. The tables below describe the information that will be reported and provide information about how to interpret it. pid: Process ID of a WAL sender process. -phase: Current processing phase. See Table 27.41. +phase: Current processing phase. See Table 28.43. backup_total: Total amount of data that will be streamed. This is estimated and reported as of the beginning of streaming database files phase. Note that this is only an approximation since the database may change during streaming database files phase and WAL log may be included in the backup later. This is always the same value as backup_streamed once the amount of data streamed exceeds the estimated total size. If the estimation is disabled in pg_basebackup (i.e., --no-estimate-size option is specified), this is NULL. backup_streamed: Amount of data streamed. This counter only advances when the phase is streaming database files or transferring wal files. tablespaces_total: Total number of tablespaces that will be streamed.
rewordedpg_stat_progress_cluster
--- 13 +++ 14 @@ -4,7 +4,7 @@ datname: Name of the database to which this backend is connected. relid: OID of the table being clustered. command: The command that is running. Either CLUSTER or VACUUM FULL. -phase: Current processing phase. See Table 27.39. +phase: Current processing phase. See Table 28.41. cluster_index_relid: If the table is being scanned using an index, this is the OID of the index being used; otherwise, it is zero. heap_tuples_scanned: Number of heap tuples scanned. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap. heap_tuples_written: Number of heap tuples written. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.
addedpg_stat_progress_copy
--- 13 +++ 14 @@ -0,0 +1,10 @@ +pid integer +datid oid +datname name +relid oid +command text +type text +bytes_processed bigint +bytes_total bigint +tuples_processed bigint +tuples_excluded bigint
rewordedpg_stat_progress_create_index
--- 13 +++ 14 @@ -5,7 +5,7 @@ relid: OID of the table on which the index is being created. index_relid: OID of the index being created or reindexed. During a non-concurrent CREATE INDEX, this is 0. command: The command that is running: CREATE INDEX, CREATE INDEX CONCURRENTLY, REINDEX, or REINDEX CONCURRENTLY. -phase: Current processing phase of index creation. See Table 27.35. +phase: Current processing phase of index creation. See Table 28.37. lockers_total: Total number of lockers to wait for, when applicable. lockers_done: Number of lockers already waited for. current_locker_pid: Process ID of the locker currently being waited for. @@ -13,5 +13,5 @@ blocks_done: Number of blocks already processed in the current phase. tuples_total: Total number of tuples to be processed in the current phase. tuples_done: Number of tuples already processed in the current phase. -partitions_total: When creating an index on a partitioned table, this column is set to the total number of partitions on which the index is to be created. -partitions_done: When creating an index on a partitioned table, this column is set to the number of partitions on which the index has been completed. +partitions_total: When creating an index on a partitioned table, this column is set to the total number of partitions on which the index is to be created. This field is 0 during a REINDEX. +partitions_done: When creating an index on a partitioned table, this column is set to the number of partitions on which the index has been created. This field is 0 during a REINDEX.
rewordedpg_stat_progress_vacuum
--- 13 +++ 14 @@ -1,9 +1,9 @@ -(relation) Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress for VACUUM FULL commands is reported via pg_stat_progress_cluster because both VACUUM FULL and CLUSTER rewrite the table, while regular VACUUM only modifies it in place. See Section 27.4.4. +(relation) Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress for VACUUM FULL commands is reported via pg_stat_progress_cluster because both VACUUM FULL and CLUSTER rewrite the table, while regular VACUUM only modifies it in place. See Section 28.4.4. pid: Process ID of backend. datid: OID of the database to which this backend is connected. datname: Name of the database to which this backend is connected. relid: OID of the table being vacuumed. -phase: Current processing phase of vacuum. See Table 27.37. +phase: Current processing phase of vacuum. See Table 28.39. heap_blks_total: Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM. heap_blks_scanned: Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap. heap_blks_vacuumed: Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments.
addedpg_stat_replication_slots
--- 13 +++ 14 @@ -0,0 +1,10 @@ +slot_name text +spill_txns bigint +spill_count bigint +spill_bytes bigint +stream_txns bigint +stream_count bigint +stream_bytes bigint +total_txns bigint +total_bytes bigint +stats_reset timestamp with time zone
changedpg_stat_ssl
13 → 14 - compression boolean
addedpg_stat_wal
--- 13 +++ 14 @@ -0,0 +1,9 @@ +wal_records bigint +wal_fpi bigint +wal_bytes numeric +wal_buffers_full bigint +wal_write bigint +wal_sync bigint +wal_write_time double precision +wal_sync_time double precision +stats_reset timestamp with time zone
rewordedpg_statistic
--- 13 +++ 14 @@ -10,11 +10,11 @@ stakind3: A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row. stakind4: A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row. stakind5: A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row. -staop1: An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. -staop2: An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. -staop3: An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. -staop4: An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. -staop5: An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. +staop1: An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator. +staop2: An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator. +staop3: An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator. +staop4: An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator. +staop5: An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator. stacoll1: The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data. stacoll2: The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data. stacoll3: The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.
changedpg_statistic_ext
13 → 14 + stxexprs pg_node_tree
changedpg_statistic_ext_data
13 → 14 + stxdexpr pg_statistic[]
rewordedpg_stats
--- 13 +++ 14 @@ -1,7 +1,7 @@ (relation) The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view. pg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic. schemaname: Name of schema containing table tablename: Name of table -attname: Name of the column described by this row +attname: Name of column described by this row inherited: If true, this row includes inheritance child columns, not just the values in the specified table null_frac: Fraction of column entries that are null avg_width: Average width in bytes of column's entries
changedpg_stats_ext
13 → 14 + exprs text[]
addedpg_stats_ext_exprs
--- 13 +++ 14 @@ -0,0 +1,16 @@ +schemaname name +tablename name +statistics_schemaname name +statistics_name name +statistics_owner name +expr text +null_frac real +avg_width integer +n_distinct real +most_common_vals anyarray +most_common_freqs real[] +histogram_bounds anyarray +correlation real +most_common_elems anyarray +most_common_elem_freqs real[] +elem_count_histogram real[]
changedpg_subscription
13 → 14 + subbinary boolean + substream boolean
rewordedpg_subscription_rel
--- 13 +++ 14 @@ -1,5 +1,5 @@ (relation) The catalog pg_subscription_rel contains the state for each replicated relation in each subscription. This is a many-to-many mapping. This catalog only contains tables known to the subscription after running either CREATE SUBSCRIPTION or ALTER SUBSCRIPTION ... REFRESH PUBLICATION. srsubid: Reference to subscription srrelid: Reference to relation -srsubstate: State code: i = initialize, d = data is being copied, s = synchronized, r = ready (normal replication) +srsubstate: State code: i = initialize, d = data is being copied, f = finished table copy, s = synchronized, r = ready (normal replication) srsublsn: Remote LSN of the state change used for synchronization coordination when in s or r states, otherwise null
rewordedpg_transform
--- 13 +++ 14 @@ -2,5 +2,5 @@ oid: Row identifier trftype: OID of the data type this transform is for trflang: OID of the language this transform is for -trffromsql: The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if this operation is not supported. -trftosql: The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if this operation is not supported. +trffromsql: The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if the default behavior should be used. +trftosql: The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if the default behavior should be used.
rewordedpg_trigger
--- 13 +++ 14 @@ -1,15 +1,15 @@ (relation) The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information. oid: Row identifier tgrelid: The table this trigger is on -tgparentid: Parent trigger that this trigger is cloned from, zero if not a clone; this happens when partitions are created or attached to a partitioned table. +tgparentid: Parent trigger that this trigger is cloned from (this happens when partitions are created or attached to a partitioned table); zero if not a clone tgname: Trigger name (must be unique among triggers of same table) tgfoid: The function to be called tgtype: Bit mask identifying trigger firing conditions tgenabled: Controls in which session_replication_role modes the trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always. tgisinternal: True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint) -tgconstrrelid: The table referenced by a referential integrity constraint -tgconstrindid: The index supporting a unique, primary key, referential integrity, or exclusion constraint -tgconstraint: The pg_constraint entry associated with the trigger, if any +tgconstrrelid: The table referenced by a referential integrity constraint (zero if trigger is not for a referential integrity constraint) +tgconstrindid: The index supporting a unique, primary key, referential integrity, or exclusion constraint (zero if trigger is not for one of these types of constraint) +tgconstraint: The pg_constraint entry associated with the trigger (zero if trigger is not for a constraint) tgdeferrable: True if constraint trigger is deferrable tginitdeferred: True if constraint trigger is initially deferred tgnargs: Number of argument strings passed to trigger function
rewordedpg_ts_parser
--- 13 +++ 14 @@ -5,5 +5,5 @@ prsstart: OID of the parser's startup function prstoken: OID of the parser's next-token function prsend: OID of the parser's shutdown function -prsheadline: OID of the parser's headline function +prsheadline: OID of the parser's headline function (zero if none) prslextype: OID of the parser's lextype function
rewordedpg_ts_template
--- 13 +++ 14 @@ -2,5 +2,5 @@ oid: Row identifier tmplname: Text search template name tmplnamespace: The OID of the namespace that contains this template -tmplinit: OID of the template's initialization function +tmplinit: OID of the template's initialization function (zero if none) tmpllexize: OID of the template's lexize function
changedpg_type
13 → 14 + typsubscript regproc
rewordedpg_user
--- 13 +++ 14 @@ -4,7 +4,7 @@ usecreatedb: User can create databases usesuper: User is a superuser userepl: User can initiate streaming replication and put the system in and out of backup mode. -usebypassrls: User bypasses every row level security policy, see Section 5.8 for more information. +usebypassrls: User bypasses every row-level security policy, see Section 5.8 for more information. passwd: Not the password (always reads as ********) valuntil: Password expiry time (only used for password authentication) useconfig: Session defaults for run-time configuration variables
rewordedpg_user_mapping
--- 13 +++ 14 @@ -1,5 +1,5 @@ (relation) The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead. oid: Row identifier -umuser: OID of the local role being mapped, 0 if the user mapping is public +umuser: OID of the local role being mapped, or zero if the user mapping is public umserver: The OID of the foreign server that contains this mapping umoptions: User mapping specific options, as “keyword=value” strings
rewordedpg_user_mappings
--- 13 +++ 14 @@ -2,6 +2,6 @@ umid: OID of the user mapping srvid: The OID of the foreign server that contains this mapping srvname: Name of the foreign server -umuser: OID of the local role being mapped, 0 if the user mapping is public +umuser: OID of the local role being mapped, or zero if the user mapping is public usename: Name of the local user to be mapped umoptions: User mapping specific options, as “keyword=value” strings