-<!-- $PostgreSQL: pgsql/doc/src/sgml/catalogs.sgml,v 2.136 2006/11/05 22:42:06 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/catalogs.sgml,v 2.137 2006/11/12 06:25:37 neilc Exp $ -->
<!--
Documentation of the system catalogs, directed toward PostgreSQL developers
-->
The initial value of the transition state. This is a text
field containing the initial value in its external string
representation. If this field is NULL, the transition state
- value starts out NULL.
+ value starts out NULL
</entry>
</row>
</tbody>
The exact meaning of positive values is data type-dependent.
For scalar data types, <structfield>attstattarget</structfield>
is both the target number of <quote>most common values</quote>
- to collect, and the target number of histogram bins to create.
+ to collect, and the target number of histogram bins to create
</entry>
</row>
<entry>
The number of the column. Ordinary columns are numbered from 1
up. System columns, such as <structfield>oid</structfield>,
- have (arbitrary) negative numbers.
+ have (arbitrary) negative numbers
</entry>
</row>
<entry>
Number of dimensions, if the column is an array type; otherwise 0.
(Presently, the number of dimensions of an array is not enforced,
- so any nonzero value effectively means <quote>it's an array</>.)
+ so any nonzero value effectively means <quote>it's an array</>)
</entry>
</row>
<entry>
Always -1 in storage, but when loaded into a row descriptor
in memory this may be updated to cache the offset of the attribute
- within the row.
+ within the row
</entry>
</row>
supplied at table creation time (for example, the maximum
length of a <type>varchar</type> column). It is passed to
type-specific input functions and length coercion functions.
- The value will generally be -1 for types that do not need <structfield>atttypmod</>.
+ The value will generally be -1 for types that do not need <structfield>atttypmod</>
</entry>
</row>
<entry>
Normally a copy of <literal>pg_type.typstorage</> of this
column's type. For TOAST-able data types, this can be altered
- after column creation to control storage policy.
+ after column creation to control storage policy
</entry>
</row>
<entry></entry>
<entry>
This represents a not-null constraint. It is possible to
- change this column to enable or disable the constraint.
+ change this column to enable or disable the constraint
</entry>
</row>
<entry>
This column has a default value, in which case there will be a
corresponding entry in the <structname>pg_attrdef</structname>
- catalog that actually defines the value.
+ catalog that actually defines the value
</entry>
</row>
<entry>
This column has been dropped and is no longer valid. A dropped
column is still physically present in the table, but is
- ignored by the parser and so cannot be accessed via SQL.
+ ignored by the parser and so cannot be accessed via SQL
</entry>
</row>
<entry></entry>
<entry>
This column is defined locally in the relation. Note that a column may
- be locally defined and inherited simultaneously.
+ be locally defined and inherited simultaneously
</entry>
</row>
<entry></entry>
<entry>
The number of direct ancestors this column has. A column with a
- nonzero number of ancestors cannot be dropped nor renamed.
+ nonzero number of ancestors cannot be dropped nor renamed
</entry>
</row>
<row>
<entry>Name</entry>
<entry>Type</entry>
- <entry>References</entry>
<entry>Description</entry>
</row>
</thead>
<row>
<entry><structfield>rolname</structfield></entry>
<entry><type>name</type></entry>
- <entry></entry>
<entry>Role name</entry>
</row>
<row>
<entry><structfield>rolsuper</structfield></entry>
<entry><type>bool</type></entry>
- <entry></entry>
<entry>Role has superuser privileges</entry>
</row>
<row>
<entry><structfield>rolinherit</structfield></entry>
<entry><type>bool</type></entry>
- <entry></entry>
<entry>Role automatically inherits privileges of roles it is a
member of</entry>
</row>
<row>
<entry><structfield>rolcreaterole</structfield></entry>
<entry><type>bool</type></entry>
- <entry></entry>
<entry>Role may create more roles</entry>
</row>
<row>
<entry><structfield>rolcreatedb</structfield></entry>
<entry><type>bool</type></entry>
- <entry></entry>
<entry>Role may create databases</entry>
</row>
<row>
<entry><structfield>rolcatupdate</structfield></entry>
<entry><type>bool</type></entry>
- <entry></entry>
<entry>
Role may update system catalogs directly. (Even a superuser may not do
- this unless this column is true.)
+ this unless this column is true)
</entry>
</row>
<row>
<entry><structfield>rolcanlogin</structfield></entry>
<entry><type>bool</type></entry>
- <entry></entry>
<entry>
Role may log in. That is, this role can be given as the initial
- session authorization identifier.
+ session authorization identifier
</entry>
</row>
<row>
<entry><structfield>rolconnlimit</structfield></entry>
<entry><type>int4</type></entry>
- <entry></entry>
<entry>
For roles that can log in, this sets maximum number of concurrent
- connections this role can make. -1 means no limit.
+ connections this role can make. -1 means no limit
</entry>
</row>
<row>
<entry><structfield>rolpassword</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
<entry>Password (possibly encrypted); NULL if none</entry>
</row>
<row>
<entry><structfield>rolvaliduntil</structfield></entry>
<entry><type>timestamptz</type></entry>
- <entry></entry>
<entry>Password expiry time (only used for password authentication);
NULL if no expiration</entry>
</row>
<row>
<entry><structfield>rolconfig</structfield></entry>
<entry><type>text[]</type></entry>
- <entry></entry>
<entry>Session defaults for run-time configuration variables</entry>
</row>
</tbody>
<para>
The catalog <structname>pg_autovacuum</structname> stores optional
- per-relation configuration parameters for <xref linkend="autovacuum" endterm="autovacuum-title">.
+ per-relation configuration parameters for the autovacuum daemon.
If there is an entry here for a particular relation, the given
parameters will be used for autovacuuming that table. If no entry
- is present, the system-wide defaults will be used.
+ is present, the system-wide defaults will be used. For more information
+ about the autovacuum daemon, see <xref linkend="autovacuum">.
</para>
<table>
any negative value) to indicate that the system-wide default should
be used for this particular value. Observe that the
<structfield>vac_cost_delay</> variable inherits its default value from the
- <varname>autovacuum_vacuum_cost_delay</> configuration parameter,
+ <xref linkend="guc-autovacuum-vacuum-cost-delay"> configuration parameter,
or from <varname>vacuum_cost_delay</> if the former is set to a negative
value. The same applies to <structfield>vac_cost_limit</>.
Also, autovacuum will ignore attempts to set a per-table
- freeze_max_age larger than the system-wide setting (it can only be set
- smaller), and the freeze_min_age value will be limited to half the
- system-wide <varname>autovacuum_freeze_max_age</> setting.
+ <structfield>freeze_max_age</> larger than the system-wide setting (it can only be set
+ smaller), and the <structfield>freeze_min_age value</> will be limited to half the
+ system-wide <xref linkend="guc-autovacuum-freeze-max-age"> setting.
</para>
</sect1>
<para>
The catalog <structname>pg_cast</structname> stores data type conversion paths,
- both built-in paths and those defined with <command>CREATE CAST</command>.
+ both built-in paths and those defined with
+ <xref linkend="sql-createcast" endterm="sql-createcast-title">.
</para>
<table>
<entry>
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).
+ run-time operation is needed to perform the cast)
</entry>
</row>
<literal>a</> means implicitly in assignment
to a target column, as well as explicitly.
<literal>i</> means implicitly in expressions, as well as the
- other cases.
+ other cases
</entry>
</row>
</tbody>
<entry></entry>
<entry>
Size of the on-disk representation of this table in pages (of size
- <symbol>BLCKSZ</symbol>).
- This is only an estimate used by the planner.
- It is updated by <command>VACUUM</command>,
- <command>ANALYZE</command>, and a few DDL commands
- such as <command>CREATE INDEX</command>.
+ <symbol>BLCKSZ</symbol>). This is only an estimate used by the
+ planner. It is updated by <command>VACUUM</command>,
+ <command>ANALYZE</command>, and a few DDL commands such as
+ <command>CREATE INDEX</command>
</entry>
</row>
<entry><type>float4</type></entry>
<entry></entry>
<entry>
- Number of rows in the table.
- This is only an estimate used by the planner.
- It is updated by <command>VACUUM</command>,
- <command>ANALYZE</command>, and a few DDL commands
- such as <command>CREATE INDEX</command>.
+ Number of rows in the table. This is only an estimate used by the
+ planner. It is updated by <command>VACUUM</command>,
+ <command>ANALYZE</command>, and a few DDL commands such as
+ <command>CREATE INDEX</command>
</entry>
</row>
<entry><type>oid</type></entry>
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
<entry>
- OID of the TOAST table associated with this table, 0 if none.
- The TOAST table stores large attributes <quote>out of
- line</quote> in a secondary table.
+ OID of the TOAST table associated with this table, 0 if none. The
+ TOAST table stores large attributes <quote>out of line</quote> in a
+ secondary table
</entry>
</row>
<entry><type>oid</type></entry>
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry>
<entry>
- For a TOAST table, the OID of its index. 0 if not a TOAST table.
+ For a TOAST table, the OID of its index. 0 if not a TOAST table
</entry>
</row>
indexes. This is set by <command>CREATE INDEX</command>, but
not cleared immediately by <command>DROP INDEX</command>.
<command>VACUUM</command> clears <structfield>relhasindex</> if it finds the
- table has no indexes.
+ table has no indexes
</entry>
</row>
<entry><structfield>relisshared</structfield></entry>
<entry><type>bool</type></entry>
<entry></entry>
- <entry>True if this table is shared across all databases in the
- cluster. Only certain system catalogs (such as
- <structname>pg_database</structname>) are shared.</entry>
+ <entry>
+ True if this table is shared across all databases in the cluster. Only
+ certain system catalogs (such as <structname>pg_database</structname>)
+ are shared
+ </entry>
</row>
<row>
Number of user columns in the relation (system columns not
counted). There must be this many corresponding entries in
<structname>pg_attribute</structname>. See also
- <literal>pg_attribute.attnum</literal>.
+ <literal>pg_attribute.attnum</literal>
</entry>
</row>
<entry></entry>
<entry>
Number of check constraints on the table; see
- <structname>pg_constraint</structname> catalog
+ <link linkend="catalog-pg-constraint"><structname>pg_constraint</structname></link> catalog
</entry>
</row>
<entry></entry>
<entry>
Number of triggers on the table; see
- <structname>pg_trigger</structname> catalog
+ <link linkend="catalog-pg-trigger"><structname>pg_trigger</structname></link> catalog
</entry>
</row>
<entry><structfield>relhasrules</structfield></entry>
<entry><type>bool</type></entry>
<entry></entry>
- <entry>True if table has rules; see
- <structname>pg_rewrite</structname> catalog
+ <entry>
+ True if table has rules; see
+ <link linkend="catalog-pg-rewrite"><structname>pg_rewrite</structname></link> catalog
</entry>
</row>
(<quote>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 <literal>pg_clog</> to be shrunk. Zero
- (<symbol>InvalidTransactionId</symbol>) if the relation is not a table.
+ (<symbol>InvalidTransactionId</symbol>) if the relation is not a table
</entry>
</row>
</indexterm>
<para>
- The catalog <structname>pg_database</structname> stores information
- about the available databases. Databases are created with the
- <command>CREATE DATABASE</command> command. Consult
- <xref linkend="managing-databases"> for details about the meaning of some of the
- parameters.
+ The catalog <structname>pg_database</structname> stores information about
+ the available databases. Databases are created with the <xref
+ linkend="sql-createdatabase" endterm="sql-createdatabase-title"> command.
+ Consult <xref linkend="managing-databases"> for details about the meaning
+ of some of the parameters.
</para>
<para>
If true then this database can be used in the
<literal>TEMPLATE</literal> clause of <command>CREATE
DATABASE</command> to create a new database as a clone of
- this one.
+ this one
</entry>
</row>
<entry></entry>
<entry>
If false then no one can connect to this database. This is
- used to protect the <literal>template0</> database from being altered.
+ used to protect the <literal>template0</> database from being altered
</entry>
</row>
<entry></entry>
<entry>
Sets maximum number of concurrent connections that can be made
- to this database. -1 means no limit.
+ to this database. -1 means no limit
</entry>
</row>
track whether the database needs to be vacuumed in order to prevent
transaction ID wraparound or to allow <literal>pg_clog</> to be shrunk.
It is the minimum of the per-table
- <structname>pg_class</>.<structfield>relfrozenxid</> values.
+ <structname>pg_class</>.<structfield>relfrozenxid</> values
</entry>
</row>
Within this database, all tables for which
<structname>pg_class</>.<structfield>reltablespace</> is zero
will be stored in this tablespace; in particular, all the non-shared
- system catalogs will be there.
+ system catalogs will be there
</entry>
</row>
For a table column, this is the column number (the
<structfield>objid</> and <structfield>classid</> refer to the
table itself). For all other object types, this column is
- zero.
+ zero
</entry>
</row>
For a table column, this is the column number (the
<structfield>refobjid</> and <structfield>refclassid</> refer
to the table itself). For all other object types, this column
- is zero.
+ is zero
</entry>
</row>
<para>
The catalog <structname>pg_description</> stores optional descriptions
(comments) for each database object. Descriptions can be manipulated
- with the <command>COMMENT</command> command and viewed with
+ with the <xref linkend="sql-comment" endterm="sql-comment-title"> command and viewed with
<application>psql</application>'s <literal>\d</literal> commands.
Descriptions of many built-in system objects are provided in the initial
contents of <structname>pg_description</structname>.
For a comment on a table column, this is the column number (the
<structfield>objoid</> and <structfield>classoid</> refer to
the table itself). For all other object types, this column is
- zero.
+ zero
</entry>
</row>
<entry><structfield>indisvalid</structfield></entry>
<entry><type>bool</type></entry>
<entry></entry>
- <entry>If true, the index is currently valid for queries.
- False means the index is possibly incomplete: it must still be
- inserted into by INSERT/UPDATE operations, but it cannot safely be
- used for queries, and if it is unique, the uniqueness shouldn't be
- relied on either.</entry>
+ <entry>
+ If true, the index is currently valid for queries. False means the
+ index is possibly incomplete: it must still be modified by
+ <command>INSERT</>/<command>UPDATE</> operations, but it cannot safely
+ be used for queries. If it is unique, the uniqueness property is not
+ true either
+ </entry>
</row>
<row>
<entry>
For each column in the index key this contains the OID of
the operator class to use. See
- <structname>pg_opclass</structname> for details.
+ <link linkend="catalog-pg-opclass"><structname>pg_opclass</structname></link> for details
</entry>
</row>
<entry>Expression trees (in <function>nodeToString()</function> representation)
for index attributes that are not simple column references. This is a
list with one element for each zero entry in <structfield>indkey</>.
- NULL if all index attributes are simple references.</entry>
+ NULL if all index attributes are simple references</entry>
</row>
<row>
<entry><type>text</type></entry>
<entry></entry>
<entry>Expression tree (in <function>nodeToString()</function> representation)
- for partial index predicate. NULL if not a partial index.</entry>
+ for partial index predicate. NULL if not a partial index</entry>
</row>
</tbody>
</tgroup>
<entry>
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.
+ inherited columns are to be arranged. The count starts at 1
</entry>
</row>
</tbody>
<acronym>SQL</acronym>) and true for user-defined languages.
Currently, <application>pg_dump</application> still uses this
to determine which languages need to be dumped, but this may be
- replaced by a different mechanism sometime.
+ replaced by a different mechanism in the future
</entry>
</row>
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 may create functions in untrusted
- languages.
+ languages
</entry>
</row>
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.
+ language
</entry>
</row>
<entry>
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.
+ are created. Zero if no validator is provided
</entry>
</row>
OID assigned when it is created. Each large object is broken into
segments or <quote>pages</> small enough to be conveniently stored as rows
in <structname>pg_largeobject</structname>.
- The amount of data per page is defined to be <literal>LOBLKSIZE</> (which is currently
+ The amount of data per page is defined to be <symbol>LOBLKSIZE</> (which is currently
<literal>BLCKSZ/4</>, or typically 2 kB).
</para>
<row>
<entry>Name</entry>
<entry>Type</entry>
- <entry>References</entry>
<entry>Description</entry>
</row>
</thead>
<row>
<entry><structfield>loid</structfield></entry>
<entry><type>oid</type></entry>
- <entry></entry>
<entry>Identifier of the large object that includes this page</entry>
</row>
<row>
<entry><structfield>pageno</structfield></entry>
<entry><type>int4</type></entry>
- <entry></entry>
<entry>Page number of this page within its large object
(counting from zero)</entry>
</row>
<row>
<entry><structfield>data</structfield></entry>
<entry><type>bytea</type></entry>
- <entry></entry>
<entry>
Actual data stored in the large object.
- This will never be more than <symbol>LOBLKSIZE</> bytes and may be less.
+ This will never be more than <symbol>LOBLKSIZE</> bytes and may be less
</entry>
</row>
</tbody>
<row>
<entry><structfield>relname</structfield></entry>
<entry><type>name</type></entry>
- <entry></entry>
- <entry>Notify condition name. (The name need not match any actual
- relation in the database; the name <structfield>relname</> is historical.)
+ <entry>
+ Notify condition name. (The name need not match any actual
+ relation in the database; the name <structfield>relname</> is historical.)
</entry>
</row>
<row>
<entry><structfield>listenerpid</structfield></entry>
<entry><type>int4</type></entry>
- <entry></entry>
<entry>PID of the server process that created this entry</entry>
</row>
<row>
<entry><structfield>notification</structfield></entry>
<entry><type>int4</type></entry>
- <entry></entry>
<entry>
Zero if no event is pending for this listener. If an event is
- pending, the PID of the server process that sent the notification.
+ pending, the PID of the server process that sent the notification
</entry>
</row>
</tbody>
<row>
<entry>Name</entry>
<entry>Type</entry>
- <entry>References</entry>
<entry>Description</entry>
</row>
</thead>
<row>
<entry><structfield>tmplname</structfield></entry>
<entry><type>name</type></entry>
- <entry></entry>
<entry>Name of the language this template is for</entry>
</row>
<row>
<entry><structfield>tmpltrusted</structfield></entry>
<entry><type>boolean</type></entry>
- <entry></entry>
<entry>True if language is considered trusted</entry>
</row>
<row>
<entry><structfield>tmplhandler</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
<entry>Name of call handler function</entry>
</row>
<row>
<entry><structfield>tmplvalidator</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
<entry>Name of validator function, or NULL if none</entry>
</row>
<row>
<entry><structfield>tmpllibrary</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
<entry>Path of shared library that implements language</entry>
</row>
<row>
<entry><structfield>tmplacl</structfield></entry>
<entry><type>aclitem[]</type></entry>
- <entry></entry>
<entry>Access privileges for template (not yet used)</entry>
</row>
Function returns null if any call argument is null. In that
case the function won't actually be called at all. Functions
that are not <quote>strict</quote> must be prepared to handle
- null inputs.
+ null inputs
</entry>
</row>
<entry>
An array with the data types of the function arguments. This includes
only input arguments (including <literal>INOUT</literal> arguments), and thus represents
- the call signature of the function.
+ the call signature of the function
</entry>
</row>
all arguments (including <literal>OUT</literal> and <literal>INOUT</literal> arguments); however, if all the
arguments are IN arguments, this field will be null.
Note that subscripting is 1-based, whereas for historical reasons
- <structfield>proargtypes</> is subscripted from 0.
+ <structfield>proargtypes</> is subscripted from 0
</entry>
</row>
<literal>b</literal> for <literal>INOUT</> arguments.
If all the arguments are <literal>IN</literal> arguments, this field will be null.
Note that subscripts correspond to positions of
- <structfield>proallargtypes</> not <structfield>proargtypes</>.
+ <structfield>proallargtypes</> not <structfield>proargtypes</>
</entry>
</row>
Arguments without a name are set to empty strings in the array.
If none of the arguments have a name, this field will be null.
Note that subscripts correspond to positions of
- <structfield>proallargtypes</> not <structfield>proargtypes</>.
+ <structfield>proallargtypes</> not <structfield>proargtypes</>
</entry>
</row>
This tells the function handler how to invoke the function. It
might be the actual source code of the function for interpreted
languages, a link symbol, a file name, or just about anything
- else, depending on the implementation language/call convention.
+ else, depending on the implementation language/call convention
</entry>
</row>
<entry><structfield>probin</structfield></entry>
<entry><type>bytea</type></entry>
<entry></entry>
- <entry>Additional information about how to invoke the function.
- Again, the interpretation is language-specific.
+ <entry>
+ Additional information about how to invoke the function.
+ Again, the interpretation is language-specific
</entry>
</row>
<para>
The catalog <structname>pg_shdescription</structname> stores optional
- descriptions (comments) for shared database objects. Descriptions can
- be manipulated with the <command>COMMENT</command> command and viewed
- with <application>psql</application>'s <literal>\d</literal> commands.
+ descriptions (comments) for shared database objects. Descriptions can be
+ manipulated with the <xref linkend="sql-comment"
+ endterm="sql-comment-title"> command and viewed with
+ <application>psql</application>'s <literal>\d</literal> commands.
</para>
<para>
<entry><structfield>description</structfield></entry>
<entry><type>text</type></entry>
<entry></entry>
- <entry>Arbitrary text that servers as the description of this object.</entry>
+ <entry>Arbitrary text that serves as the description of this object</entry>
</row>
</tbody>
</tgroup>
A value less than zero is the negative of a fraction of the number
of rows in the table (for example, a column in which values appear about
twice on the average could be represented by <structfield>stadistinct</> = -0.5).
- A zero value means the number of distinct values is unknown.
+ A zero value means the number of distinct values is unknown
</entry>
</row>
<entry>
A code number indicating the kind of statistics stored in the
<replaceable>N</>th <quote>slot</quote> of the
- <structname>pg_statistic</structname> row.
+ <structname>pg_statistic</structname> row
</entry>
</row>
An operator used to derive the statistics stored in the
<replaceable>N</>th <quote>slot</quote>. For example, a
histogram slot would show the <literal><</literal> operator
- that defines the sort order of the data.
+ that defines the sort order of the data
</entry>
</row>
kind does not store any data values. Each array's element
values are actually of the specific column's data type, so there
is no way to define these columns' type more specifically than
- <type>anyarray</>.
+ <type>anyarray</>
</entry>
</row>
</tbody>
Variable-length types are always passed by reference. Note that
<structfield>typbyval</structfield> can be false even if the
length would allow pass-by-value; this is currently true for
- type <type>float4</type>, for example.
+ type <type>float4</type>, for example
</entry>
</row>
table's row type), <literal>d</literal> for a domain, or
<literal>p</literal> for a pseudo-type. See also
<structfield>typrelid</structfield> and
- <structfield>typbasetype</structfield>.
+ <structfield>typbasetype</structfield>
</entry>
</row>
True if the type is defined, false if this is a placeholder
entry for a not-yet-defined type. When
<structfield>typisdefined</structfield> is false, nothing
- except the type name, namespace, and OID can be relied on.
+ except the type name, namespace, and OID can be relied on
</entry>
</row>
<entry><structfield>typdelim</structfield></entry>
<entry><type>char</type></entry>
<entry></entry>
- <entry>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.</entry>
+ <entry>
+ 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
+ </entry>
</row>
<row>
<structname>pg_class</structname> entry doesn't really represent
a table, but it is needed anyway for the type's
<structname>pg_attribute</structname> entries to link to.)
- Zero for non-composite types.
+ Zero for non-composite types
</entry>
</row>
its internal representation must be some number of values of the
<structfield>typelem</structfield> data type with no other data.
Variable-length array types have a header defined by the array
- subroutines.
+ subroutines
</entry>
</row>
<entry></entry>
<entry><para>
<structfield>typnotnull</structfield> represents a not-null
- constraint on a type. Used for domains only.
+ constraint on a type. Used for domains only
</para></entry>
</row>
<entry><type>oid</type></entry>
<entry><literal><link linkend="catalog-pg-type"><structname>pg_type</structname></link>.oid</literal></entry>
<entry><para>
- If this is a domain (see <structfield>typtype</structfield>),
- then <structfield>typbasetype</structfield> identifies
- the type that this one is based on. Zero if not a domain.
+ If this is a domain (see <structfield>typtype</structfield>), then
+ <structfield>typbasetype</structfield> identifies the type that this
+ one is based on. Zero if this type is not a domain
</para></entry>
</row>
<entry><para>
Domains use <structfield>typtypmod</structfield> to record the <literal>typmod</>
to be applied to their base type (-1 if base type does not use a
- <literal>typmod</>). -1 if this type is not a domain.
+ <literal>typmod</>). -1 if this type is not a domain
</para></entry>
</row>
<structfield>typndims</structfield> is the number of array dimensions
for a domain that is an array (that is, <structfield>typbasetype</> is an array type;
the domain's <structfield>typelem</> will match the base type's <structfield>typelem</structfield>).
- Zero for types other than array domains.
+ Zero for types other than array domains
</para></entry>
</row>
<entry><para>
If <structfield>typdefaultbin</> is not null, it is the <function>nodeToString()</function>
representation of a default expression for the type. This is
- only used for domains.
+ only used for domains
</para></entry>
</row>
<structfield>typdefaultbin</> is null and <structfield>typdefault</> is
not, then <structfield>typdefault</> is the external representation of
the type's default value, which may be fed to the type's input
- converter to produce a constant.
+ converter to produce a constant
</para></entry>
</row>
</tbody>
<row>
<entry>Name</entry>
<entry>Type</entry>
- <entry>References</entry>
<entry>Description</entry>
</row>
</thead>
<row>
<entry><structfield>name</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
<entry>The name of the cursor</entry>
</row>
<row>
<entry><structfield>statement</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
<entry>The verbatim query string submitted to declare this cursor</entry>
</row>
<row>
<entry><structfield>is_holdable</structfield></entry>
<entry><type>boolean</type></entry>
- <entry></entry>
<entry>
<literal>true</literal> if the cursor is holdable (that is, it
can be accessed after the transaction that declared the cursor
<row>
<entry><structfield>is_binary</structfield></entry>
<entry><type>boolean</type></entry>
- <entry></entry>
<entry>
<literal>true</literal> if the cursor was declared
<literal>BINARY</literal>; <literal>false</literal>
<row>
<entry><structfield>is_scrollable</structfield></entry>
<entry><type>boolean</type></entry>
- <entry></entry>
<entry>
<literal>true</> if the cursor is scrollable (that is, it
allows rows to be retrieved in a nonsequential manner);
<row>
<entry><structfield>creation_time</structfield></entry>
<entry><type>timestamptz</type></entry>
- <entry></entry>
<entry>The time at which the cursor was declared</entry>
</row>
</tbody>
<entry><structfield>schemaname</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-namespace"><structname>pg_namespace</structname></link>.nspname</literal></entry>
- <entry>name of schema containing table and index</entry>
+ <entry>Name of schema containing table and index</entry>
</row>
<row>
<entry><structfield>tablename</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.relname</literal></entry>
- <entry>name of table the index is for</entry>
+ <entry>Name of table the index is for</entry>
</row>
<row>
<entry><structfield>indexname</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.relname</literal></entry>
- <entry>name of index</entry>
+ <entry>Name of index</entry>
</row>
<row>
<entry><structfield>tablespace</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-tablespace"><structname>pg_tablespace</structname></link>.spcname</literal></entry>
- <entry>name of tablespace containing index (NULL if default for database)</entry>
+ <entry>Name of tablespace containing index (NULL if default for database)</entry>
</row>
<row>
<entry><structfield>indexdef</structfield></entry>
<entry><type>text</type></entry>
<entry></entry>
- <entry>index definition (a reconstructed creation command)</entry>
+ <entry>Index definition (a reconstructed <command>CREATE INDEX</command>
+ command)</entry>
</row>
</tbody>
</tgroup>
<entry><type>integer</type></entry>
<entry></entry>
<entry>
- page number within the relation, or NULL if the object
+ Page number within the relation, or NULL if the object
is not a tuple or relation page
</entry>
</row>
<entry><type>smallint</type></entry>
<entry></entry>
<entry>
- tuple number within the page, or NULL if the object is not a tuple
+ Tuple number within the page, or NULL if the object is not a tuple
</entry>
</row>
<row>
<entry></entry>
<entry>
Process ID of the server process holding or awaiting this
- lock. NULL if the lock is held by a prepared transaction.
+ lock. NULL if the lock is held by a prepared transaction
</entry>
</row>
<row>
<entry><structfield>mode</structfield></entry>
<entry><type>text</type></entry>
<entry></entry>
- <entry>name of the lock mode held or desired by this process (see <xref
+ <entry>Name of the lock mode held or desired by this process (see <xref
linkend="locking-tables">)</entry>
</row>
<row>
<entry><structfield>granted</structfield></entry>
<entry><type>boolean</type></entry>
<entry></entry>
- <entry>true if lock is held, false if lock is awaited</entry>
+ <entry>True if lock is held, false if lock is awaited</entry>
</row>
</tbody>
</tgroup>
view produces a consistent set of results, while not blocking
normal lock manager operations longer than necessary. Nonetheless
there could be some impact on database performance if this view is
- read often.
+ frequently accessed.
</para>
<para>
<row>
<entry>Name</entry>
<entry>Type</entry>
- <entry>References</entry>
<entry>Description</entry>
</row>
</thead>
<row>
<entry><structfield>name</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
<entry>
The identifier of the prepared statement
</entry>
<row>
<entry><structfield>statement</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
<entry>
The query string submitted by the client to create this
prepared statement. For prepared statements created via SQL,
this is the <command>PREPARE</command> statement submitted by
the client. For prepared statements created via the
frontend/backend protocol, this is the text of the prepared
- statement itself.
+ statement itself
</entry>
</row>
<row>
<entry><structfield>prepare_time</structfield></entry>
<entry><type>timestamptz</type></entry>
- <entry></entry>
<entry>
The time at which the prepared statement was created
</entry>
<row>
<entry><structfield>parameter_types</structfield></entry>
<entry><type>regtype[]</type></entry>
- <entry></entry>
<entry>
The expected parameter types for the prepared statement in the
form of an array of <type>regtype</type>. The OID corresponding
to an element of this array can be obtained by casting the
- <type>regtype</type> value to <type>oid</type>.
+ <type>regtype</type> value to <type>oid</type>
</entry>
</row>
<row>
<entry><structfield>from_sql</structfield></entry>
<entry><type>boolean</type></entry>
- <entry></entry>
<entry>
<literal>true</literal> if the prepared statement was created
via the <command>PREPARE</command> SQL statement;
view produces a consistent set of results, while not blocking
normal operations longer than necessary. Nonetheless
there could be some impact on database performance if this view is
- read often.
+ frequently accessed.
</para>
</sect1>
<entry><type>bool</type></entry>
<entry></entry>
<entry>
- Role may log in, that is, this role can be given as the initial
- session authorization identifier.
+ Role may log in. That is, this role can be given as the initial
+ session authorization identifier
</entry>
</row>
<entry></entry>
<entry>
For roles that can log in, this sets maximum number of concurrent
- connections this role can make. -1 means no limit.
+ connections this role can make. -1 means no limit
</entry>
</row>
<entry><structfield>schemaname</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-namespace"><structname>pg_namespace</structname></link>.nspname</literal></entry>
- <entry>name of schema containing table</entry>
+ <entry>Name of schema containing table</entry>
</row>
<row>
<entry><structfield>tablename</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.relname</literal></entry>
- <entry>name of table the rule is for</entry>
+ <entry>Name of table the rule is for</entry>
</row>
<row>
<entry><structfield>rulename</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-rewrite"><structname>pg_rewrite</structname></link>.rulename</literal></entry>
- <entry>name of rule</entry>
+ <entry>Name of rule</entry>
</row>
<row>
<entry><structfield>definition</structfield></entry>
<entry><type>text</type></entry>
<entry></entry>
- <entry>rule definition (a reconstructed creation command)</entry>
+ <entry>Rule definition (a reconstructed creation command)</entry>
</row>
</tbody>
</tgroup>
</table>
<para>
- The <structname>pg_rules</structname> view excludes the ON SELECT rules of
- views; those can be seen in <structname>pg_views</structname>.
+ The <structname>pg_rules</> view excludes the <literal>ON SELECT</> rules
+ of views; those can be seen in <structname>pg_views</>.
</para>
</sect1>
<row>
<entry>Name</entry>
<entry>Type</entry>
- <entry>References</entry>
<entry>Description</entry>
</row>
</thead>
<row>
<entry><structfield>name</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
- <entry>run-time configuration parameter name</entry>
+ <entry>Run-time configuration parameter name</entry>
</row>
<row>
<entry><structfield>setting</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
- <entry>current value of the parameter</entry>
+ <entry>Current value of the parameter</entry>
</row>
<row>
<entry><structfield>unit</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
- <entry>implicit unit of the parameter</entry>
+ <entry>Implicit unit of the parameter</entry>
</row>
<row>
<entry><structfield>category</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
- <entry>logical group of the parameter</entry>
+ <entry>Logical group of the parameter</entry>
</row>
<row>
<entry><structfield>short_desc</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
- <entry>a brief description of the parameter</entry>
+ <entry>A brief description of the parameter</entry>
</row>
<row>
<entry><structfield>extra_desc</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
- <entry>additional, more detailed, information about the parameter</entry>
+ <entry>Additional, more detailed, information about the parameter</entry>
</row>
<row>
<entry><structfield>context</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
- <entry>context required to set the parameter's value</entry>
+ <entry>Context required to set the parameter's value</entry>
</row>
<row>
<entry><structfield>vartype</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
- <entry>parameter type (<literal>bool</>, <literal>integer</>,
+ <entry>Parameter type (<literal>bool</>, <literal>integer</>,
<literal>real</>, or <literal>string</>)
</entry>
</row>
<row>
<entry><structfield>source</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
- <entry>source of the current parameter value</entry>
+ <entry>Source of the current parameter value</entry>
</row>
<row>
<entry><structfield>min_val</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
- <entry>minimum allowed value of the parameter (NULL for nonnumeric
+ <entry>Minimum allowed value of the parameter (NULL for non-numeric
values)</entry>
</row>
<row>
<entry><structfield>max_val</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
- <entry>maximum allowed value of the parameter (NULL for nonnumeric
+ <entry>Maximum allowed value of the parameter (NULL for non-numeric
values)</entry>
</row>
</tbody>
The <structname>pg_settings</structname> view cannot be inserted into or
deleted from, but it can be updated. An <command>UPDATE</command> applied
to a row of <structname>pg_settings</structname> is equivalent to executing
- the <xref linkend="SQL-SET" endterm="SQL-SET-title"> command on that named
+ the <xref linkend="sql-set" endterm="sql-set-title"> command on that named
parameter. The change only affects the value used by the current
session. If an <command>UPDATE</command> is issued within a transaction
that is later aborted, the effects of the <command>UPDATE</command> command
<entry><structfield>schemaname</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-namespace"><structname>pg_namespace</structname></link>.nspname</literal></entry>
- <entry>name of schema containing table</entry>
+ <entry>Name of schema containing table</entry>
</row>
<row>
<entry><structfield>tablename</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.relname</literal></entry>
- <entry>name of table</entry>
+ <entry>Name of table</entry>
</row>
<row>
<entry><structfield>attname</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-attribute"><structname>pg_attribute</structname></link>.attname</literal></entry>
- <entry>name of the column described by this row</entry>
+ <entry>Name of the column described by this row</entry>
</row>
<row>
<entry><structfield>null_frac</structfield></entry>
<entry><type>real</type></entry>
<entry></entry>
- <entry>fraction of column entries that are null</entry>
+ <entry>Fraction of column entries that are null</entry>
</row>
<row>
<entry><structfield>avg_width</structfield></entry>
<entry><type>integer</type></entry>
<entry></entry>
- <entry>average width in bytes of column's entries</entry>
+ <entry>Average width in bytes of column's entries</entry>
</row>
<row>
<entry><structfield>n_distinct</structfield></entry>
<entry><type>real</type></entry>
<entry></entry>
- <entry>If greater than zero, the estimated number of distinct values
- in the column. If less than zero, the negative of the number of
- distinct values divided by the number of rows. (The negated form
- is used when <command>ANALYZE</> believes that the number of distinct
- values
- is likely to increase as the table grows; the positive form is used
- when the column seems to have a fixed number of possible values.)
- For example, -1 indicates a unique column in which the number of
- distinct values is the same as the number of rows.
+ <entry>
+ If greater than zero, the estimated number of distinct values in the
+ column. If less than zero, the negative of the number of distinct
+ values divided by the number of rows. (The negated form is used when
+ <command>ANALYZE</> believes that the number of distinct values is
+ likely to increase as the table grows; the positive form is used when
+ the column seems to have a fixed number of possible values.) For
+ example, -1 indicates a unique column in which the number of distinct
+ values is the same as the number of rows
</entry>
</row>
<entry><structfield>most_common_vals</structfield></entry>
<entry><type>anyarray</type></entry>
<entry></entry>
- <entry>A list of the most common values in the column. (NULL if
- no values seem to be more common than any others.)</entry>
+ <entry>
+ A list of the most common values in the column. (NULL if
+ no values seem to be more common than any others.)
+ </entry>
</row>
<row>
<entry><structfield>most_common_freqs</structfield></entry>
<entry><type>real[]</type></entry>
<entry></entry>
- <entry>A list of the frequencies of the most common values,
- i.e., number of occurrences of each divided by total number of rows.
- (NULL when <structfield>most_common_vals</structfield> is.)
+ <entry>
+ A list of the frequencies of the most common values,
+ i.e., number of occurrences of each divided by total number of rows.
+ (NULL when <structfield>most_common_vals</structfield> is.)
</entry>
</row>
<entry><structfield>histogram_bounds</structfield></entry>
<entry><type>anyarray</type></entry>
<entry></entry>
- <entry>A list of values that divide the column's values into
- groups of approximately equal population. The values in
- <structfield>most_common_vals</>, if present, are omitted from this
- histogram calculation. (This column is NULL if the column data type
- does not have a <literal><</> operator or if the
- <structfield>most_common_vals</> list accounts for the entire
- population.)
+ <entry>
+ A list of values that divide the column's values into groups of
+ approximately equal population. The values in
+ <structfield>most_common_vals</>, if present, are omitted from this
+ histogram calculation. (This column is NULL if the column data type
+ does not have a <literal><</> operator or if the
+ <structfield>most_common_vals</> list accounts for the entire
+ population.)
</entry>
</row>
<entry><structfield>correlation</structfield></entry>
<entry><type>real</type></entry>
<entry></entry>
- <entry>Statistical correlation between physical row ordering and
- logical ordering of the column values. This ranges from -1 to +1.
- When the value is near -1 or +1, an index scan on the column will
- be estimated to be cheaper than when it is near zero, due to reduction
- of random access to the disk. (This column is NULL if the column data
- type does not have a <literal><</> operator.)
+ <entry>
+ Statistical correlation between physical row ordering and
+ logical ordering of the column values. This ranges from -1 to +1.
+ When the value is near -1 or +1, an index scan on the column will
+ be estimated to be cheaper than when it is near zero, due to reduction
+ of random access to the disk. (This column is NULL if the column data
+ type does not have a <literal><</> operator.)
</entry>
</row>
</tbody>
<entry><structfield>schemaname</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-namespace"><structname>pg_namespace</structname></link>.nspname</literal></entry>
- <entry>name of schema containing table</entry>
+ <entry>Name of schema containing table</entry>
</row>
<row>
<entry><structfield>tablename</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.relname</literal></entry>
- <entry>name of table</entry>
+ <entry>Name of table</entry>
</row>
<row>
<entry><structfield>tableowner</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-authid"><structname>pg_authid</structname></link>.rolname</literal></entry>
- <entry>name of table's owner</entry>
+ <entry>Name of table's owner</entry>
</row>
<row>
<entry><structfield>tablespace</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-tablespace"><structname>pg_tablespace</structname></link>.spcname</literal></entry>
- <entry>name of tablespace containing table (NULL if default for database)</entry>
+ <entry>Name of tablespace containing table (NULL if default for database)</entry>
</row>
<row>
<entry><structfield>hasindexes</structfield></entry>
<row>
<entry><structfield>abbrev</structfield></entry>
<entry><type>text</type></entry>
- <entry>time zone abbreviation</entry>
+ <entry>Time zone abbreviation</entry>
</row>
<row>
<entry><structfield>utc_offset</structfield></entry>
<entry><type>interval</type></entry>
- <entry>offset from UTC (positive means east of Greenwich)</entry>
+ <entry>Offset from UTC (positive means east of Greenwich)</entry>
</row>
<row>
<entry><structfield>is_dst</structfield></entry>
<entry><type>boolean</type></entry>
- <entry>true if this is a daylight-savings abbreviation</entry>
+ <entry>True if this is a daylight-savings abbreviation</entry>
</row>
</tbody>
</tgroup>
<row>
<entry><structfield>name</structfield></entry>
<entry><type>text</type></entry>
- <entry>time zone name</entry>
+ <entry>Time zone name</entry>
</row>
<row>
<entry><structfield>abbrev</structfield></entry>
<entry><type>text</type></entry>
- <entry>time zone abbreviation</entry>
+ <entry>Time zone abbreviation</entry>
</row>
<row>
<entry><structfield>utc_offset</structfield></entry>
<entry><type>interval</type></entry>
- <entry>offset from UTC (positive means east of Greenwich)</entry>
+ <entry>Offset from UTC (positive means east of Greenwich)</entry>
</row>
<row>
<entry><structfield>is_dst</structfield></entry>
<entry><type>boolean</type></entry>
- <entry>true if currently observing daylight savings</entry>
+ <entry>True if currently observing daylight savings</entry>
</row>
</tbody>
</tgroup>
<row>
<entry>Name</entry>
<entry>Type</entry>
- <entry>References</entry>
<entry>Description</entry>
</row>
</thead>
<row>
<entry><structfield>usename</structfield></entry>
<entry><type>name</type></entry>
- <entry></entry>
<entry>User name</entry>
</row>
<row>
<entry><structfield>usesysid</structfield></entry>
<entry><type>int4</type></entry>
- <entry></entry>
<entry>User ID (arbitrary number used to reference this user)</entry>
</row>
<row>
<entry><structfield>usecreatedb</structfield></entry>
<entry><type>bool</type></entry>
- <entry></entry>
<entry>User may create databases</entry>
</row>
<row>
<entry><structfield>usesuper</structfield></entry>
<entry><type>bool</type></entry>
- <entry></entry>
<entry>User is a superuser</entry>
</row>
<row>
<entry><structfield>usecatupd</structfield></entry>
<entry><type>bool</type></entry>
- <entry></entry>
<entry>
User may update system catalogs. (Even a superuser may not do
this unless this column is true.)
<row>
<entry><structfield>passwd</structfield></entry>
<entry><type>text</type></entry>
- <entry></entry>
<entry>Not the password (always reads as <literal>********</>)</entry>
</row>
<row>
<entry><structfield>valuntil</structfield></entry>
<entry><type>abstime</type></entry>
- <entry></entry>
<entry>Password expiry time (only used for password authentication)</entry>
</row>
<row>
<entry><structfield>useconfig</structfield></entry>
<entry><type>text[]</type></entry>
- <entry></entry>
<entry>Session defaults for run-time configuration variables</entry>
</row>
</tbody>
<entry><structfield>schemaname</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-namespace"><structname>pg_namespace</structname></link>.nspname</literal></entry>
- <entry>name of schema containing view</entry>
+ <entry>Name of schema containing view</entry>
</row>
<row>
<entry><structfield>viewname</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.relname</literal></entry>
- <entry>name of view</entry>
+ <entry>Name of view</entry>
</row>
<row>
<entry><structfield>viewowner</structfield></entry>
<entry><type>name</type></entry>
<entry><literal><link linkend="catalog-pg-authid"><structname>pg_authid</structname></link>.rolname</literal></entry>
- <entry>name of view's owner</entry>
+ <entry>Name of view's owner</entry>
</row>
<row>
<entry><structfield>definition</structfield></entry>
<entry><type>text</type></entry>
<entry></entry>
- <entry>view definition (a reconstructed <command>SELECT</command> query)</entry>
+ <entry>View definition (a reconstructed <command>SELECT</command> query)</entry>
</row>
</tbody>
</tgroup>