Привет, Я DocuDroid!
Оценка ИИ поиска
Спасибо за оценку нашего ИИ поиска!
Мы будем признательны, если вы поделитесь своими впечатлениями, чтобы мы могли улучшить наш ИИ поиск для вас и других читателей.
GitHub

ALTER DATABASE

Изменяет атрибуты базы данных.

Синтаксис

ALTER DATABASE <name> [ WITH CONNECTION LIMIT <connlimit> ]

ALTER DATABASE <name> RENAME TO <new_name>

ALTER DATABASE <name> OWNER TO <new_owner>

ALTER DATABASE <name> SET TABLESPACE <new_tablespace>

ALTER DATABASE <name> SET <configuration_parameter> { TO | = } { <value> | DEFAULT }

ALTER DATABASE <name> SET <configuration_parameter> FROM CURRENT

ALTER DATABASE <name> RESET <configuration_parameter>

ALTER DATABASE <name> RESET ALL

Описание

ALTER DATABASE изменяет атрибуты базы данных.

Первая форма изменяет определенные настройки, специфичные для базы данных (подробности см. ниже).

Вторая форма изменяет имя базы данных. Переименовать базу данных может только владелец базы данных или суперпользователь; владельцы, не являющиеся суперпользователями, также должны иметь привилегию CREATEDB. Текущую базу данных переименовать нельзя. Для этого необходимо подключиться к другой базе данных.

Третья форма изменяет владельца базы данных. Чтобы изменить владельца, необходимо быть владельцем базы данных и прямым или косвенным членом новой роли-владельца, а также иметь привилегию CREATEDB. Суперпользователи автоматически обладают всеми этими привилегиями.

Четвертая форма изменяет табличное пространство (tablespace) по умолчанию для базы данных. Это может сделать только владелец базы данных или суперпользователь; вы также должны иметь права на создание в новом табличном пространстве. Эта команда физически перемещает все таблицы или индексы в старом табличном пространстве по умолчанию базы данных в новое табличное пространство. Обратите внимание, что таблицы и индексы в табличных пространствах, не используемых по умолчанию, не затрагиваются.

Оставшиеся формы изменяют значение по умолчанию для переменной конфигурации базы данных PostgreSQL, действующей в рамках сеанса. Всякий раз, когда в этой базе данных впоследствии запускается новый сеанс, указанное значение становится значением по умолчанию для сеанса. Установленное для конкретной базы данных значение по умолчанию переопределяет любую настройку, присутствующую в postgresql.conf или полученную из командной строки postgres. Только владелец базы данных или суперпользователь могут изменить значения по умолчанию для сеанса базы данных. Некоторые переменные не могут быть установлены таким образом или могут быть установлены только суперпользователем.

Параметры

Параметр Описание

name

Имя базы данных, атрибуты которой необходимо изменить

connlimit

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

new_name

Новое имя базы данных

new_owner

Новый владелец базы данных

new_tablespace

Новое табличное пространство по умолчанию для базы данных

configuration_parameter

Присваивает указанному параметру конфигурации в рамках сеанса в этой базе данных заданное значение по умолчанию. Если значение value равно DEFAULT или, что эквивалентно, используется оператор RESET, специфичная для базы данных настройка удаляется, и в новых сеансах будет наследоваться общесистемное значение по умолчанию. Используйте RESET ALL, чтобы очистить все настройки, специфичные для базы данных. SET FROM CURRENT сохраняет текущее значение параметра сеанса в качестве значения, специфичного для базы данных

Примечания

Также можно привязать параметры сеанса не к базе данных, а к определенной роли; см. ALTER ROLE. В случае конфликта параметры на уровне роли переопределяют параметры на уровне базы данных.

Примеры

Чтобы по умолчанию отключить сканирование по индексам в базе данных test, выполните:

ALTER DATABASE test SET enable_indexscan TO off;

Совместимость

Оператор ALTER DATABASE является расширением PostgreSQL.

См. также