43.15. pg_database

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

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

表 43-15. pg_databaseの列

名前参照先説明
datnamename データベース名
datdbaoidpg_authid.oidデータベースの所有者で通常はそのデータベースの作成者
encodingint4 このデータベースの文字符号化方式。(pg_encoding_to_char()で、この番号から符号化方式名称に変換できます。)
datistemplatebool  真であれば、このデータベースのクローンとして新規データベースを作成するためCREATE DATABASE"TEMPLATE"句の中でこのデータベースを使用できます。
datallowconnbool  偽の時はこのデータベースには誰も接続できません。これはtemplate0データベースが変更されるのを防ぐために使用されます。
datconnlimitint4  このデータベースに対する同時のコネクションの最大数を設定します。-1は無制限を意味します。
datlastsysoidoid  データベース最終のシステムOIDで、pg_dumpでは特に威力を発揮します。
datfrozenxidxid このデータベースの中で、この値よりも前のトランザクションIDは、恒久的な("凍結")トランザクションIDを持つように変更されています。 これは、このデータベースに対して、トランザクションID周回を防ぎ、かつ、pg_clogを縮小させることを目的としたバキュームを行うかどうかを追跡するために使用されます。 これはテーブル毎のpg_class.relfrozenxid値の最小値になります。
dattablespaceoidpg_tablespace.oidデータベースのためのデフォルトテーブル空間。このデータベース内でpg_class.reltablespaceがゼロである全てのテーブルは、このテーブル空間に格納されます。特に、共有されていないシステムカタログは、このテーブル空間にあります。
datconfigtext[] ランタイムコンフィギュレーション変数のセッションのデフォルト
dataclaclitem[] アクセス許可権限。詳細はGRANTREVOKEを参照してください。