The pg_database catalog stores information
about the available databases. Databases are created with the
CREATE DATABASE command. Consult the
Administrator's Guide 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.
Table 3-12. pg_database Columns
Name | Type | References | Description |
---|
datname | name | | Database name |
datdba | int4 | pg_shadow.usesysid | Owner of the database, usually the user who created it |
encoding | int4 | | Character/multibyte encoding for this database |
datistemplate | bool | | If true then this database can be used in the
"TEMPLATE" clause of CREATE
DATABASE to create a new database as a clone of
this one.
|
datallowconn | bool | | If false then no one can connect to this database. This is
used to protect the template0 database from being altered.
|
datlastsysoid | oid | | Last system OID in the database; useful
particularly to pg_dump
|
datvacuumxid | xid | | All tuples inserted or deleted by transaction IDs before this one
have been marked as known committed or known aborted in this database.
This is used to determine when commit-log space can be recycled.
|
datfrozenxid | xid | | All tuples inserted by transaction IDs before this one have been
relabeled with a permanent ("frozen") transaction ID in this
database. This is useful to check whether a database must be vacuumed
soon to avoid transaction ID wraparound problems.
|
datpath | text | | If the database is stored at an alternative location then this
records the location. It's either an environment variable name
or an absolute path, depending how it was entered.
|
datconfig | text[] | | Session defaults for run-time configuration variables |
datacl | aclitem[] | | Access permissions |