pg_database カタログには、使用可能なデータベースの情報が格納されています。データベースは CREATE DATABASE コマンドで作成されます。いくつかのパラメータの詳細については 第18章 を参照してください。
ほとんどのシステムカタログとは異なり、pg_database はクラスタにおける全てのデータベースにわたって共有されます。データベース毎に一つではなく、クラスタ毎にたった一つだけ pg_database の複製が存在します。
表 43-12. pg_database の列
名前 | 型 | 参照先 | 説明 |
---|---|---|---|
datname | name | データベース名 | |
datdba | int4 | pg_shadow.usesysid | データベースの所有者で通常はそのデータベースの作成者 |
encoding | int4 | このデータベースの文字符号化方式 | |
datistemplate | bool | 真であれば、このデータベースのクローンとして新規データベースを作成するため CREATE DATABASE の "TEMPLATE" 句の中でこのデータベースを使用できます。 | |
datallowconn | bool | 偽のときはこのデータベースには誰も接続できません。これは template0 データベースが変更されるのを防ぐために使用されます。 | |
datlastsysoid | oid | データベース最終のシステム OID で、pg_dump では特に威力を発揮します。 | |
datvacuumxid | xid | この値より前のIDを持つトランザクションによって挿入あるいは削除されたすべての行は、コミット済みあるいはアボート済みのものとして認識されています。 コミットログ空間を再利用できるかどうかを判断する際に使用されます。 | |
datfrozenxid | xid | このデータベースの中で、datfronzenxidよりも前のIDを持つトランザクションによって挿入されたすべての行は、恒久的な(「凍結した」)トランザクションIDを持つように変更されています。 トランザクション IDの回り込み問題を解決するために、データベースに VACUUMをかける必要があるかどうか判断する際に役立ちます。 | |
datpath | text | もしデータベースが別の場所に保管されている場合、その場所を記録しています。その場所がどのように記述されたかで値は環境変数名、もしくは絶対パスです。 | |
datconfig | text[] | ランタイムコンフィギュレーション変数のセッションのデフォルト | |
datacl | aclitem[] | アクセス許可権限 |