41.12. pg_database

Le catalogue pg_database stocke les informations sur les bases de données disponibles. Les bases de données sont créées avec la commande CREATE DATABASE. Consultez le Chapitre 18 pour avoir des détails sur la signification de certains paramètres.

Contrairement à la plupart des catalogues système, pg_database est partagé entre toutes les bases de données d'un groupe de bases : il n'y a qu'une seule copie de pg_database par groupe, pas une par base.

Tableau 41-12. Colonnes de pg_database

NomTypeRéférencesDescription
datnamename Nom de la base de données
datdbaint4pg_shadow .usesysidPropriétaire de la base, généralement l'utilisateur qui l'a créée
encodingint4 Codage des caractères pour cette base de données.
datistemplatebool  Si ce champ vaut vrai, alors la base peut être utilisée dans la clause TEMPLATE de la commande CREATE DATABASE pour créer une nouvelle base qui sera un clone de celle-ci.
datallowconnbool  Si ce champ vaut faux, alors personne ne peut se connecter à cette base de données. Ceci permet d'empêcher toute altération de la base template0.
datlastsysoidoid  Dernier OID système de la base de données ; utile en particulier pour pg_dump.
datvacuumxidxid  Toutes les lignes insérées ou supprimées par des ID de transaction inférieurs à celui-ci ont été marquées << validé de manière avérée >> ou << annulé de manière avérée >> dans cette base de données. C'est utilisé pour déterminer quand l'espace des journaux de validation peut être réutilisé.
datfrozenxidxid  Toutes les lignes insérées ou supprimées par des ID de transaction inférieurs à celui-ci ont été réétiquetés avec un ID de transaction permanent (<< gelé >> dans cette base de données. C'est utile pour vérifier si une base de données doit être rapidement nettoyée avec VACUUM pour éviter les problèmes créés par une remise à zéro du compteur de transaction.
dattablespaceoidpg_tablespace.oid Le tablespace par défaut de la base de données. À l'intérieur de cette base de données, toutes les tables pour lesquelles pg_class.reltablespace vaut zéro seront stockées dans ce tablespace ; en particulier, tous les catalogues système non partagés seront ici.
datconfigtext[] Valeurs par défaut de la session pour les variables modifiables en cours de fonctionnement.
dataclaclitem[] Droits d'accès ; voir GRANT et REVOKE pour des détails.