ALTER DATABASE

Изменение свойств базы данных

Синтаксис

ALTER DATABASE name [ WITH CONNECTION LIMIT connlimit ]

ALTER DATABASE name RENAME TO newname

ALTER DATABASE name OWNER TO new_owner

ALTER DATABASE name SET TABLESPACE new_tablespace

ALTER DATABASE name SET parameter { TO | = } { value | DEFAULT }
ALTER DATABASE name SET parameter FROM CURRENT
ALTER DATABASE name RESET parameter
ALTER DATABASE name RESET ALL

Описание

ALTER DATABASE изменяет свойства базы данных.

Первый оператор изменяет количество подключений к базе данных. Изменить этот параметр могут только владелец базы данных или суперпользователь.

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

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

Четвёртый оператор изменяет табличное пространство по умолчанию для базы данных. Изменить табличное пространство по умолчанию могут только владелец базы данных или суперпользователь, а также необходимо иметь право создания объектов в новом табличном пространстве. Эта команда перемещает все таблицы и индексы, находящиеся в табличном пространстве по умолчанию данной базы данных, в новое табличное пространство. Обратите внимание, что таблицы и индексы, не находящиеся в табличном пространстве по умолчанию, не затрагиваются.

Остальные операторы используются для изменения значений параметров уровня сессии YMatrix по умолчанию. При открытии сессии в базе данных указанные значения параметров становятся значениями по умолчанию для этой сессии. Эти настройки переопределяют значения параметров из конфигурационного файла (postgresql.conf). Изменять значения по умолчанию для сессии может только владелец базы данных или суперпользователь. Некоторые параметры нельзя задавать таким способом или могут быть установлены исключительно суперпользователем.

Параметры

name

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

connlimit

  • Максимальное количество одновременных подключений. Значение по умолчанию -1 означает отсутствие ограничений.

parameter value

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

newname

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

new_owner

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

new_tablespace

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

Примечание

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

Пример

Установка пути поиска схемы по умолчанию для базы данных mydatabase:

ALTER DATABASE mydatabase SET search_path TO myschema, 
public, pg_catalog;

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

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

См. также

CREATE DATABASE , DROP DATABASE