Le catalogue pg_database stocke les informations concernant les bases de données disponibles. Celles-ci sont créées avec la commande CREATE DATABASE(7). Consulter le Chapitre 21, Administration des bases de données pour les détails sur la signification de certains paramètres.
Contrairement à la plupart des catalogues système, pg_database est partagé par toutes les bases de données d'un cluster : il n'y a qu'une seule copie de pg_database par cluster, pas une par base.
Tableau 45.15. Colonnes de pg_database
Nom | Type | Références | Description |
---|---|---|---|
datname | name | Nom de la base de données | |
datdba | oid | pg_authid.oid | Propriétaire de la base, généralement l'utilisateur qui l'a créée |
encoding | int4 | Encodage de la base de données (la fonction pg_encoding_to_char() peut convertir ce nombre en nom de l'encodage) | |
datcollate | name | LC_COLLATE pour cette base de données | |
datctype | name | LC_CTYPE pour cette base de données | |
datistemplate | bool | Si ce champ est vrai, alors la base peut être utilisée dans la clause TEMPLATE de la commande CREATE DATABASE pour créer une nouvelle base comme clone de celle-ci. | |
datallowconn | bool | Si ce champ est faux, alors personne ne peut se connecter à cette base de données. Ceci est utilisé pour interdire toute modification de la base template0. | |
datconnlimit | int4 | Nombre maximum de connexions concurrentes autorisées sur la base de données. -1 indique l'absence de limite. | |
datlastsysoid | oid | Dernier OID système de la base de données ; utile en particulier pour pg_dump. | |
datfrozenxid | xid | Tous les ID de transaction avant celui-ci ont été remplacés par un ID de transaction permanent (« frozen »). Ceci est utilisé pour déterminer si la table doit être nettoyée (VACUUM) pour éviter un bouclage des ID de transaction (ID wraparound) ou pour compacter pg_clog. C'est la valeur minimale des valeurs par table de pg_class.relfrozenxid. | |
dattablespace | oid | pg_tablespace.oid | Le tablespace par défaut de la base de données. Dans cette base de données, toutes les tables pour lesquelles pg_class.reltablespace vaut 0 sont stockées dans celui-ci ; en particulier, tous les catalogues système non partagés s'y trouvent. |
datacl | aclitem[] | Droits d'accès ; voir GRANT(7) et REVOKE(7) pour les détails. |