The catalog pg_database stores information
about the available databases. Databases are created with the
CREATE DATABASE command. Consult
Chapter 18 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 43-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 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 rows 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 rows 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 wrap-around 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 privileges |