System Catalogs / Version comparison
What changed?
System Catalogs · PostgreSQL 7.4 → 8.0
Historical documentation for a PostgreSQL version that is no longer supported.
1 added · 0 removed · 10 changed · 13 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_amop
7.4 → 8.0 + amopsubtype oid
changedpg_amproc
7.4 → 8.0 + amprocsubtype oid
changedpg_attribute
7.4 → 8.0 - attisset boolean
rewordedpg_cast
--- 7.4 +++ 8.0 @@ -2,4 +2,4 @@ castsource: OID of the source data type casttarget: OID of the target data type castfunc: The OID of the function to use to perform this cast. Zero is stored if the data types are binary compatible (that is, no run-time operation is needed to perform the cast). -castcontext: Indicates what contexts the cast may be invoked in. e means only as an explicit cast (using CAST, ::, or function-call syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases. +castcontext: Indicates what contexts the cast may be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.
changedpg_class
7.4 → 8.0 + reltablespace oid
rewordedpg_conversion
--- 7.4 +++ 8.0 @@ -1,4 +1,4 @@ -(relation) The catalog pg_conversion stores encoding conversion information. See CREATE CONVERSION for more information. +(relation) The catalog pg_conversion describes the available encoding conversion procedures. See CREATE CONVERSION for more information. conname: Conversion name (unique within a namespace) connamespace: The OID of the namespace that contains this conversion conowner: Owner of the conversion
changedpg_database
7.4 → 8.0 + dattablespace oid - datpath text
rewordedpg_description
--- 7.4 +++ 8.0 @@ -1,4 +1,4 @@ -(relation) The catalog pg_description can store an optional description or comment for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description. +(relation) The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description. objoid: The OID of the object this description pertains to classoid: The OID of the system catalog this object appears in objsubid: For a comment 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.
changedpg_indexes
7.4 → 8.0 + tablespace name
rewordedpg_inherits
--- 7.4 +++ 8.0 @@ -1,4 +1,4 @@ -(relation) The catalog pg_inherits records information about table inheritance hierarchies. +(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 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. +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.
rewordedpg_language
--- 7.4 +++ 8.0 @@ -1,7 +1,7 @@ -(relation) The catalog pg_language registers call interfaces or languages in which you can write functions or stored procedures. See under CREATE LANGUAGE and in Chapter 36 for more information about language handlers. -lanname: Name of the language (to be specified when creating a function) +(relation) The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 34 for more information about language handlers. +lanname: Name 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 may be replaced by a different mechanism sometime. -lanpltrusted: This is a trusted language. See under CREATE LANGUAGE what this means. If this is an internal language (lanispl is false) then this column is meaningless. +lanpltrusted: This is a trusted language. If this is an internal language (lanispl is false) then this column is meaningless. 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. -lanvalidator: This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. See under CREATE LANGUAGE for further information about validators. -lanacl: Access privileges +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 GRANT and REVOKE for details.
rewordedpg_namespace
--- 7.4 +++ 8.0 @@ -1,4 +1,4 @@ (relation) The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts. nspname: Name of the namespace nspowner: Owner of the namespace -nspacl: Access privileges +nspacl: Access privileges; see GRANT and REVOKE for details.
rewordedpg_opclass
--- 7.4 +++ 8.0 @@ -1,8 +1,8 @@ -(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. Note that there can be multiple operator classes for a given data type/access method combination, thus supporting multiple behaviors. Operator classes are described at length in Section 33.13. +(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. Note that there can be multiple operator classes for a given data type/access method combination, thus supporting multiple behaviors. Operator classes are described at length in Section 31.14. opcamid: Index access method operator class is for opcname: Name of this operator class opcnamespace: Namespace of this operator class opcowner: Operator class owner -opcintype: Input data type of the operator class +opcintype: Data type that the operator class indexes opcdefault: True if this operator class is the default for opcintype -opckeytype: Type of index data, or zero if same as opcintype +opckeytype: Type of data stored in index, or zero if same as opcintype
rewordedpg_operator
--- 7.4 +++ 8.0 @@ -1,4 +1,4 @@ -(relation) The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 33.11 for details on these operator parameters. +(relation) The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 31.12 for more information. oprname: Name of the operator oprnamespace: The OID of the namespace that contains this operator oprowner: Owner of the operator
changedpg_proc
7.4 → 8.0 + proargnames text[]
changedpg_settings
7.4 → 8.0 + category text + short_desc text + extra_desc text
rewordedpg_shadow
--- 7.4 +++ 8.0 @@ -1,9 +1,9 @@ (relation) The catalog pg_shadow contains information about database users. The name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field. Chapter 17 contains detailed information about user and privilege management. Because user identities are cluster-wide, pg_shadow is shared across all databases of a cluster: there is only one copy of pg_shadow per cluster, not one per database. usename: User name -usesysid: User id (arbitrary number used to reference this user) +usesysid: User ID (arbitrary number used to reference this user) usecreatedb: User may create databases usesuper: User is a superuser usecatupd: User may update system catalogs. (Even a superuser may not do this unless this column is true.) -passwd: Password -valuntil: Account expiry time (only used for password authentication) +passwd: Password (possibly encrypted) +valuntil: Password expiry time (only used for password authentication) useconfig: Session defaults for run-time configuration variables
rewordedpg_statistic
--- 7.4 +++ 8.0 @@ -1,5 +1,5 @@ -(relation) The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. There is one entry for each table column that has been analyzed. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date. Since different kinds of statistics may be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in "slots", which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h. pg_statistic should not be readable by the public, since even statistical information about a table's contents may be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user. -starelid: The table that the described column belongs to +(relation) The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. There is one entry for each table column that has been analyzed. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date. pg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Since different kinds of statistics may be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in "slots", which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h. pg_statistic should not be readable by the public, since even statistical information about a table's contents may be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user. +starelid: The table or index that the described column belongs to staattnum: The number of the described column stanullfrac: The fraction of the column's entries that are null stawidth: The average stored width, in bytes, of nonnull entries
rewordedpg_stats
--- 7.4 +++ 8.0 @@ -1,4 +1,4 @@ -(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. +(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
changedpg_tables
7.4 → 8.0 + tablespace name
addedpg_tablespace
--- 7.4 +++ 8.0 @@ -0,0 +1,4 @@ +spcname name +spcowner integer +spclocation text +spcacl aclitem[]
rewordedpg_trigger
--- 7.4 +++ 8.0 @@ -1,4 +1,4 @@ -(relation) The catalog pg_trigger stores triggers on tables. See under CREATE TRIGGER for more information. +(relation) The catalog pg_trigger stores triggers on tables. See CREATE TRIGGER for more information. tgrelid: The table this trigger is on tgname: Trigger name (must be unique among triggers of same table) tgfoid: The function to be called
changedpg_type
7.4 → 8.0 + typanalyze regproc
rewordedpg_user
--- 7.4 +++ 8.0 @@ -1,9 +1,9 @@ (relation) The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field. usename: User name -usesysid: User id (arbitrary number used to reference this user) +usesysid: User ID (arbitrary number used to reference this user) usecreatedb: User may create databases usesuper: User is a superuser usecatupd: User may update system catalogs. (Even a superuser may not do this unless this column is true.) passwd: Not the password (always reads as ********) -valuntil: Account expiry time (only used for password authentication) +valuntil: Password expiry time (only used for password authentication) useconfig: Session defaults for run-time configuration variables