48.15. pg_database
The catalogpg_database
stores information about the available databases. Databases are created with theCREATE DATABASE command. ConsultChapter 21 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 ofpg_database
per cluster, not one per database.
Table 48.15. pg_database
Columns
Name | Type | References | Description |
---|---|---|---|
oid | oid | Row identifier (hidden attribute; must be explicitly selected) | |
datname | name | Database name | |
datdba | oid |
| Owner of the database, usually the user who created it |
encoding | int4 | Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name) | |
datcollate | name | LC_COLLATE for this database | |
datctype | name | LC_CTYPE for this database | |
datistemplate | bool | If true, then this database can be cloned by any user withCREATEDB privileges; if false, then only superusers or the owner of the database can clone it. | |
datallowconn | bool | If false then no one can connect to this database. This is used to protect thetemplate0 database from being altered. | |
datconnlimit | int4 | Sets maximum number of concurrent connections that can be made to this database. -1 means no limit. | |
datlastsysoid | oid | Last system OID in the database; useful particularly topg_dump | |
datfrozenxid | xid | All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allowpg_clog to be shrunk. It is the minimum of the per-tablepg_class .relfrozenxid values. | |
datminmxid | xid | All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allowpg_multixact to be shrunk. It is the minimum of the per-tablepg_class .relminmxid values. | |
dattablespace | oid |
| The default tablespace for the database. Within this database, all tables for whichpg_class .reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there. |
datacl | aclitem[] | Access privileges; seeGRANT andREVOKE for details |