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