★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

48.15. pg_database

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

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

表 48-15. pg_databaseの列

名前参照先説明
oidoid 行識別子(隠し属性です。明示的に選択しなければなりません)
datnamename データベース名
datdbaoidpg_authid.oidデータベースの所有者。通常はそのデータベースの作成者
encodingint4 このデータベースの文字エンコード方式。 (pg_encoding_to_char()で、この番号からエンコード方式名称に変換できます。)
datcollatename このデータベースのLC_COLLATE
datctypename このデータベースのLC_CTYPE
datistemplatebool trueの場合、このデータベースはどのユーザでもCREATEDBを使って複製することができます。 falseの場合、スーパーユーザまたはデータベースの所有者だけが複製することができます。
datallowconnbool 偽の時はこのデータベースには誰も接続できません。 これはtemplate0データベースが変更されることを防ぐために使用されます。
datconnlimitint4 このデータベースに対する同時のコネクションの最大数を設定します。 -1は無制限を意味します。
datlastsysoidoid データベース最終のシステムOID。 pg_dumpでは特に有用です。
datfrozenxidxid このデータベースの中で、この値よりも前のトランザクションIDは、永遠("凍結")トランザクションIDを持つように変更されています。 これは、このデータベースに対して、トランザクションID周回を防ぎ、かつ、pg_clogを縮小させることを目的としたバキュームを行うかどうかを追跡するために使用されます。 これはテーブル毎のpg_class.relfrozenxid値の最小値になります。
datminmxidxid このデータベース内のトランザクションIDで置換される前のすべてのマルチトランザクションID。 これは、トランザクションIDの周回問題を防ぐ、またはpg_multixactを縮小させるためにデータベースをバキュームする必要があるかどうかを追跡するために使用されます。 これはテーブル毎のpg_class.relminmxidの最小値です。
dattablespaceoidpg_tablespace.oidデータベース用のデフォルトテーブル空間。 このデータベース内でpg_class.reltablespaceがゼロであるすべてのテーブルは、このテーブル空間に格納されます。 特に、共有されていないすべてのシステムカタログはこのテーブル空間にあります。
dataclaclitem[] アクセス権限。 GRANTREVOKEを参照してください。