Перейти к содержимому
Последнее обновление

ALTER DATABASE

Описание​

Эта инструкция используется для настройки свойств указанной базы данных, изменения её имени и задания различных квот для неё.

Синтаксис​

ALTER DATABASE <db_name> RENAME <new_name>
ALTER DATABASE <db_name> SET { DATA | REPLICA | TRANSACTION } QUOTA <quota>
ALTER DATABASE <db_name> SET <PROPERTIES> ("<key>" = "<value>" [, ...])

Обязательные параметры​

** 1. <db_name>**

Указывает идентификатор изменяемой базы данных.

** 2. <new_db_name>**

Указывает новый идентификатор базы данных

** 3. <quota>**

Квота на объём данных или количество реплик базы данных

** 4. <PROPERTIES>**

Дополнительная информация об этой базе данных

Управление правами доступа​

Пользователь, выполняющий эту команду SQL, должен иметь как минимум следующие права:

ПраваОбъектПримечания
ALTER_PRIVСоответствующая база данныхНеобходимо иметь право на изменение соответствующей базы данных.

Важные замечания​

  • Квоты на объём данных и количество реплик ограничивают выполнение операций, добавляющих новые данные или реплики. Снижение квоты ниже текущего уровня использования не удаляет существующие данные или реплики. Когда текущий уровень использования достигает квоты или превышает её, Doris отклоняет последующие операции, которые увеличили бы соответствующий показатель.
  • Команда RECOVER восстанавливает метаданные и существующие данные или реплики из корзины. Она не записывает новые данные и не создаёт новые реплики, поэтому квоты на объём данных и количество реплик не препятствуют её выполнению. После успешного восстановления уровень использования ресурсов базой данных может превысить квоту; последующие операции по добавлению данных или реплик остаются заблокированными, пока уровень использования не опустится ниже квоты или квота не будет увеличена.

После переименования базы данных при необходимости используйте команды REVOKE и GRANT для изменения соответствующих прав пользователей. По умолчанию квота на объём данных базы данных составляет 1024 GB, а квота на количество реплик — 1073741824.

Пример​

  • Задать квоту на объём данных для указанной базы данных

      ALTER DATABASE example_db SET DATA QUOTA 10995116277760;
  • Переименовать базу данных example_db в example_db2

      ALTER DATABASE example_db RENAME example_db2;
  • Задать квоту на количество реплик указанной базы данных

      ALTER DATABASE example_db SET REPLICA QUOTA 102400;
  • Изменить стратегию распределения реплик по умолчанию для таблиц в базе данных (эта операция применяется только к вновь создаваемым таблицам и не изменяет существующие таблицы в базе данных)

      ALTER DATABASE example_db SET PROPERTIES("replication_allocation" = "tag.location.default:2");
  • Отменить политику распределения реплик по умолчанию для таблиц в базе данных (эта операция применяется только к вновь создаваемым таблицам и не изменяет существующие таблицы в базе данных)

      ALTER DATABASE example_db SET PROPERTIES("replication_allocation" = "");
  • Изменить Storage Vault по умолчанию для таблиц в базе данных (эта операция применяется только к вновь создаваемым таблицам и не изменяет существующие таблицы в базе данных)

      ALTER DATABASE example_db SET PROPERTIES("storage_vault_name" = "hdfs_demo_vault");
  • Отменить использование Storage Vault по умолчанию для таблиц в базе данных (эта операция применяется только к вновь создаваемым таблицам и не изменяет существующие таблицы в базе данных)

      ALTER DATABASE example_db SET PROPERTIES("storage_vault_name" = "");
Примечание

Настройка storage_vault_name для базы данных поддерживается начиная с версии 3.0.5