51.15. pg_database#

51.15. pg_database

51.15. pg_database

Каталог pg_database хранит информацию о доступных базах данных. Базы данных создаются с помощью команды CREATE DATABASE. Для получения подробной информации о значении некоторых параметров см. Глава 22.

В отличие от большинства системных каталогов, pg_database общий для всех баз данных кластера: в кластере существует только одна копия pg_database, а не по одной на каждую базу данных.

Таблица 51.15. pg_database Колонки

Тип столбца

Описание

oid oid

Идентификатор строки

datname name

Название базы данных

datdba oid (ссылается на pg_authid.oid)

Владелец базы данных, обычно это пользователь, который ее создал

encoding int4

Кодировка символов для этой базы данных (pg_encoding_to_char() может перевести это число в имя кодировки)

datlocprovider char

Поставщик локали для этой базы данных: c = libc, i = icu

datistemplate bool

Если значение true, то эту базу данных можно клонировать любым пользователем с привилегиями CREATEDB; если значение false, то ее можно клонировать только суперпользователям или владельцу базы данных.

datallowconn bool

Если значение равно false, то никто не сможет подключиться к этой базе данных. Это используется для защиты базы данных template0 от изменений.

datconnlimit int4

Устанавливает максимальное количество одновременных подключений, которые могут быть выполнены к этой базе данных. -1 означает отсутствие ограничений, -2 указывает на то, что база данных недействительна.

datfrozenxid xid

Все идентификаторы транзакций до этого были заменены постоянным идентификатором транзакции (frozen) в этой базе данных. Это используется для отслеживания необходимости очистки базы данных для предотвращения зацикливания идентификатора транзакции или для уменьшения размера pg_xact. Это минимальное значение из значений relfrozenxid в таблице pg_class для каждой таблицы.

datminmxid xid

Все идентификаторы мультитранзакций до этого были заменены идентификатором транзакции в этой базе данных. Это используется для отслеживания необходимости очистки базы данных для предотвращения обертывания идентификатора мультитранзакции или для уменьшения размера pg_multixact. Это значение является минимальным из значений relminmxid в таблице pg_class для каждой таблицы.

dattablespace oid (ссылается на pg_tablespace.oid)

Табличнoe пространствo по умолчанию для базы данных. Внутри этой базы данных все таблицы, для которых pg_class.reltablespace равно нулю, будут храниться в этом табличнoм пространстве; в частности, все несовместно используемые системные каталоги будут здесь.

datcollate text

LC_COLLATE для этой базы данных

datctype text

LC_CTYPE для этой базы данных

daticulocale text

ICU идентификатор локали для этой базы данных

datcollversion text

Версия правила сортировки, связанная с провайдером. Это записывается при создании базы данных, а затем проверяется при ее использовании для обнаружения изменений в определении правила сортировки, которые могут привести к повреждению данных.

datacl aclitem[]

Права доступа; см. Раздел 5.7 для получения подробной информации