Catalogs: pg_proc

The catalog pg_proc stores information about functions (or procedures). See CREATE FUNCTION and Section 36.3 for more information. The table contains data for aggregate functions as well as plain functions. If proisagg is true, there should be a matching row in pg_aggregate. Table 50-38. pg_proc Columns Name Type References Description oid oid Row identifier (hidden attribute; must be explicitly selected) proname name Name of the function pronamespace oid pg_namespace.oid The OID of the n

Catalogs: pg_prepared_statements

The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements. pg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command). Table 50-69. pg_prepared_statements Columns Name Type Description name text The identifier of t

Catalogs: pg_policies

The view pg_policies provides access to useful information about each row-level security policy in the database. Table 50-68. pg_policies Columns Name Type References Description schemaname name pg_namespace.nspname Name of schema containing table policy is on tablename name pg_class.relname Name of table policy is on policyname name pg_policy.polname Name of policy roles name[] The roles to which this policy applies cmd text The command type to which the policy is applied qual text The

Catalogs: pg_pltemplate

The catalog pg_pltemplate stores "template" information for procedural languages. A template for a language allows the language to be created in a particular database by a simple CREATE LANGUAGE command, with no need to specify implementation details. Unlike most system catalogs, pg_pltemplate is shared across all databases of a cluster: there is only one copy of pg_pltemplate per cluster, not one per database. This allows the information to be accessible in each database as it is needed. Tab

Catalogs: pg_opfamily

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 des

Catalogs: pg_operator

The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.12 for more information. Table 50-34. pg_operator Columns Name Type References Description oid oid Row identifier (hidden attribute; must be explicitly selected) oprname name Name of the operator oprnamespace oid pg_namespace.oid The OID of the namespace that contains this operator oprowner oid pg_authid.oid Owner of the operator oprkind char b = infix ("both"), l = prefix ("left"), r = postf

Catalogs: pg_opclass

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

Catalogs: pg_namespace

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. Table 50-32. pg_namespace Columns Name Type References Description oid oid Row identifier (hidden attribute; must be explicitly selected) nspname name Name of the namespace nspowner oid pg_authid.oid Owner of the namespace nspacl aclitem[] Access privileges; see GRANT and REVOKE for details Pre

Catalogs: pg_locks

The view pg_locks provides access to information about the locks held by active processes within the database server. See Chapter 13 for more discussion of locking. pg_locks contains one row per active lockable object, requested lock mode, and relevant process. Thus, the same lockable object might appear many times, if multiple processes are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all. There are several distinct types of lockab

Catalogs: pg_matviews

The view pg_matviews provides access to useful information about each materialized view in the database. Table 50-67. pg_matviews Columns Name Type References Description schemaname name pg_namespace.nspname Name of schema containing materialized view matviewname name pg_class.relname Name of materialized view matviewowner name pg_authid.rolname Name of materialized view's owner tablespace name pg_tablespace.spcname Name of tablespace containing materialized view (null if default for database