43.12. pg_database

pg_database カタログには、使用可能なデータベースの情報が格納されています。データベースは CREATE DATABASE コマンドで作成されます。いくつかのパラメータの詳細については 第18章 を参照してください。

ほとんどのシステムカタログとは異なり、pg_database はクラスタにおける全てのデータベースにわたって共有されます。データベース毎に一つではなく、クラスタ毎にたった一つだけ pg_database の複製が存在します。

表 43-12. pg_database の列

名前参照先説明
datnamename データベース名
datdbaint4pg_shadow.usesysidデータベースの所有者で通常はそのデータベースの作成者
encodingint4 このデータベースの文字符号化方式
datistemplatebool  真であれば、このデータベースのクローンとして新規データベースを作成するため CREATE DATABASE"TEMPLATE" 句の中でこのデータベースを使用できます。
datallowconnbool  偽のときはこのデータベースには誰も接続できません。これは template0 データベースが変更されるのを防ぐために使用されます。
datlastsysoidoid  データベース最終のシステム OID で、pg_dump では特に威力を発揮します。
datvacuumxidxid  このデータベース内でコミット済もしくはアボートされたと識別される以前にトランザクション ID によって挿入と削除が行われたすべての行。コミットログの空間を再利用できるかどうか判断する際に使用されます。
datfrozenxidxid  このデータベースの中で恒久の("凍結した")トランザクション ID を使って再名称が与えられる前にトランザクション ID により挿入されたすべての行。トランザクション ID の囲い込み問題を解決するためデータベースに VACUUM をかけるかどうか判断する際に便利です。
datpathtext  もしデータベースが別の場所に保管されている場合、その場所を記録しています。その場所がどのように記述されたかで値は環境変数名、もしくは絶対パスです。
datconfigtext[] ランタイムコンフィギュレーション変数のセッションのデフォルト
dataclaclitem[] アクセス許可権限