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