add the FIRST keyword to the ADD INDEX command to be able to add index in the beginning of the list. Signed-off-by: Aleksei Semiglazov <asemiglazov@cloudflare.com>
34 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | 72537a2d52 |
36 | ALTER |
ALTER
その ALTER
クエリーのみ対応して *MergeTree
テーブルだけでなく、 Merge
とDistributed
. クエリに複数のバリエーションがあります。
列の操作
テーブル構造の変更。
ALTER TABLE [db].name [ON CLUSTER cluster] ADD|DROP|CLEAR|COMMENT|MODIFY COLUMN ...
クエリでは、コンマ区切りのアクションのリストを指定します。 各アクションは、列に対する操作です。
次の操作がサポートされます:
- ADD COLUMN — Adds a new column to the table.
- DROP COLUMN — Deletes the column.
- CLEAR COLUMN — Resets column values.
- COMMENT COLUMN — Adds a text comment to the column.
- MODIFY COLUMN — Changes column's type, default expression and TTL.
これらの行動を詳細に説明します。
ADD COLUMN
ADD COLUMN [IF NOT EXISTS] name [type] [default_expr] [codec] [AFTER name_after]
指定されたテーブルに新しい列を追加します name
, type
, codec
と default_expr
(節を参照 既定の式).
もし IF NOT EXISTS
列が既に存在する場合、クエリはエラーを返しません。 指定した場合 AFTER name_after
(別の列の名前)、列は表の列のリスト内で指定された列の後に追加されます。 それ以外の場合は、列がテーブルの最後に追加されます。 テーブルの先頭に列を追加する方法はないことに注意してください。 一連の行動のために, name_after
前の操作のいずれかで追加された列の名前を指定できます。
列を追加すると、データでアクションを実行せずにテーブル構造が変更されます。 その後、データはディスクに表示されません ALTER
. テーブルから読み取るときに列のデータがない場合は、デフォルト値が入力されます(デフォルトの式がある場合はデフォルトの式を実行するか、ゼロ 列の表示のディスクと統合データ部品( メルゲツリー).
このアプローチにより、 ALTER
古いデータの量を増やすことなく、瞬時にクエリ。
例:
ALTER TABLE visits ADD COLUMN browser String AFTER user_id
DROP COLUMN
DROP COLUMN [IF EXISTS] name
名前の列を削除します name
. もし IF EXISTS
列が存在しない場合、クエリはエラーを返しません。
コンピュータのデータを削除するファイルシステム。 この削除全ファイル、クエリーがほぼ完了します。
例:
ALTER TABLE visits DROP COLUMN browser
CLEAR COLUMN
CLEAR COLUMN [IF EXISTS] name IN PARTITION partition_name
すべてリセットデータ列の指定されたパーティション セクションのパーティション名の設定の詳細を読む パーティション式の指定方法.
もし IF EXISTS
列が存在しない場合、クエリはエラーを返しません。
例:
ALTER TABLE visits CLEAR COLUMN browser IN PARTITION tuple()
COMMENT COLUMN
COMMENT COLUMN [IF EXISTS] name 'comment'
列にコメントを追加します。 もし IF EXISTS
列が存在しない場合、クエリはエラーを返しません。
各列には一つのコメントがあります。 列にコメントが既に存在する場合、新しいコメントは前のコメントを上書きします。
コメントは comment_expression
によって返される列 DESCRIBE TABLE クエリ。
例:
ALTER TABLE visits COMMENT COLUMN browser 'The table shows the browser used for accessing the site.'
MODIFY COLUMN
MODIFY COLUMN [IF EXISTS] name [type] [default_expr] [TTL]
このクエリは、 name
列のプロパティ:
-
タイプ
-
既定の式
-
TTL
For examples of columns TTL modifying, see [Column TTL](../engines/table_engines/mergetree_family/mergetree.md#mergetree-column-ttl).
もし IF EXISTS
列が存在しない場合、クエリはエラーを返しません。
型を変更するとき、値は次のように変換されます トタイプ 機能をそれらに適用した。 既定の式のみが変更された場合、クエリは複雑な処理を行わず、ほぼ即座に完了します。
例:
ALTER TABLE visits MODIFY COLUMN browser Array(String)
Changing the column type is the only complex action – it changes the contents of files with data. For large tables, this may take a long time.
いくつかの処理段階があります:
- 準備一時(新しいファイルが修正データです。
- 古いファイルの名前を変更する。
- 一時(新しい)ファイルの名前を古い名前に変更します。
- 古いファイルを削除します。
最初の段階だけ時間がかかります。 この段階で障害が発生した場合、データは変更されません。 連続するいずれかの段階で障害が発生した場合、データを手動で復元することができます。 例外は、古いファイルがファイルシステムから削除されたが、新しいファイルのデータがディスクに書き込まれず、失われた場合です。
その ALTER
列を変更するクエリが複製されます。 命令はZooKeeperに保存され、各レプリカはそれらを適用します。 すべて ALTER
クエリは同じ順序で実行されます。 クエリは、他のレプリカで適切なアクションが完了するのを待機します。 ただし、レプリケートされたテーブル内の列を変更するクエリは中断され、すべてのアクションが非同期に実行されます。
クエリの制限の変更
その ALTER
クエリを作成および削除個別要素(カラム)をネストしたデータ構造が全体に入れ子データ構造です。 入れ子になったデータ構造を追加するには、次のような名前の列を追加できます name.nested_name
そしてタイプ Array(T)
. 入れ子になったデータ構造は、ドットの前に同じプレフィックスを持つ名前を持つ複数の配列列と同等です。
主キーまたはサンプリングキーの列を削除することはサポートされていません。 ENGINE
式)。 主キーに含まれる列の型を変更することは、この変更によってデータが変更されない場合にのみ可能です(たとえば、列挙型に値を追加したり、型を変更 DateTime
に UInt32
).
もし ALTER
クエリでは、必要なテーブルの変更を行うのに十分ではありません。 INSERT SELECT を使用してテーブルを切り替えます RENAME 古いテーブルを照会して削除します。 を使用することができます クリックハウス-複写機 の代わりとして INSERT SELECT
クエリ。
その ALTER
クエリーのブロックすべてを読み込みと書き込んでいます。 言い換えれば、 SELECT
の時に実行されている ALTER
クエリは、 ALTER
クエリは、それが完了するのを待ちます。 同時に、同じテーブルに対するすべての新しいクエリは、この間待機します ALTER
走ってる
データ自体を格納しないテーブルの場合(以下のように Merge
と Distributed
), ALTER
テーブル構造を変更するだけで、下位テーブルの構造は変更されません。 たとえば、 Distributed
テーブル、あなたも実行する必要があります ALTER
テーブルのすべてすることができます。
キー式による操作
次のコマン:
MODIFY ORDER BY new_expression
これは、 MergeTree
家族(含む
複製 テーブル)。 このコマンドは
ソートキー テーブルの
に new_expression
(式または式のタプル)。 主キーは同じままです。
このコマンドは、メタデータのみを変更するという意味で軽量です。 データ部分のプロパティを保持するには
行は並べ替えキー式で並べ替えられます既存の列を含む式は追加できません
によって追加された列のみ ADD COLUMN
同じコマンド ALTER
クエリ)。
操作データを飛指標
これは、 *MergeTree
家族(含む
複製 テーブル)。 次の操作
利用できます:
-
ALTER TABLE [db].name ADD INDEX name expression TYPE type GRANULARITY value [FIRST|AFTER name]
-付加価指数の説明をテーブルメタデータを指すものとします。 -
ALTER TABLE [db].name DROP INDEX name
-除去す指標の説明からテーブルメタデータを削除を行指数のファイルからディスク。
これらのコマンドは軽量でいるという意味においてのみ変化メタデータの削除ファイルです。 また、それらは複製されます(ZooKeeperを介して索引メタデータを同期)。
制約による操作
詳細はこちら 制約
制約は、次の構文を使用して追加または削除できます:
ALTER TABLE [db].name ADD CONSTRAINT constraint_name CHECK expression;
ALTER TABLE [db].name DROP CONSTRAINT constraint_name;
クエリに追加または削除約メタデータの制約からテーブルで、速やかに処理します。
制約チェック 実行されません 既存のデータが追加された場合。
変更後の内容の複製のテーブル放送への飼育係で適用されますその他のレプリカ.
パーティションとパーツの操作
次の操作は 仕切り 利用できます:
- DETACH PARTITION – Moves a partition to the
detached
ディレクトリとそれを忘れ。 - DROP PARTITION – Deletes a partition.
- ATTACH PART|PARTITION – Adds a part or partition from the
detached
テーブルへのディレクトリ。 - ATTACH PARTITION FROM – Copies the data partition from one table to another and adds.
- REPLACE PARTITION -コピーするデータを仕切りからテーブルにも置き換え.
- MOVE PARTITION TO TABLE(#alter_move_to_table-partition)-データ-パーティションをあるテーブルから別のテーブルに移動します。
- CLEAR COLUMN IN PARTITION -パーティション内の指定された列の値をリセットします。
- CLEAR INDEX IN PARTITION -リセットの指定された二次インデックス、パーティション
- FREEZE PARTITION – Creates a backup of a partition.
- FETCH PARTITION – Downloads a partition from another server.
- MOVE PARTITION|PART – Move partition/data part to another disk or volume.
DETACH PARTITION
ALTER TABLE table_name DETACH PARTITION partition_expr
指定されたパーティションのすべてのデータを detached
ディレクトリ。 サーバーのを忘れているのは、一戸建てのデータを分配していない場合は存在します。 サーバーはこのデータについて知りません。 ATTACH クエリ。
例:
ALTER TABLE visits DETACH PARTITION 201901
セクションでのパーティション式の設定について パーティション式の指定方法.
クエリが実行された後、データを使用して好きなことを行うことができます。 detached
directory — delete it from the file system, or just leave it.
This query is replicated – it moves the data to the detached
すべてのレプリカ上の このクエリは、リーダーレプリカでのみ実行できます。 する場合は、レプリカは、オーソドックスなアプローチを行う SELECT
クエリを実行する システムレプリカ テーブル。 あるいは、 DETACH
クエリはすべてのレプリカ-すべてのレプリカ、例外をスロー以外のリーダーレプリカ.
DROP PARTITION
ALTER TABLE table_name DROP PARTITION partition_expr
指定したパーティションを表から削除します。 このクエリのタグの仕切りとして休止または消去いたしますデータを完全に約10分です。
セクションでのパーティション式の設定について パーティション式の指定方法.
The query is replicated – it deletes data on all replicas.
DROP DETACHED PARTITION|PART
ALTER TABLE table_name DROP DETACHED PARTITION|PART partition_expr
指定された部分または指定されたパーティションのすべての部分を detached
.
セクションでのパーティション式の設定の詳細 パーティション式の指定方法.
ATTACH PARTITION|PART
ALTER TABLE table_name ATTACH PARTITION|PART partition_expr
テーブルにデータを追加します。 detached
ディレクトリ。 パーティション全体または別の部分のデータを追加することができます。 例:
ALTER TABLE visits ATTACH PARTITION 201901;
ALTER TABLE visits ATTACH PART 201901_2_2_0;
セクションでのパーティション式の設定の詳細 パーティション式の指定方法.
このクエリは複製されます。 のレプリカ-イニシエータチェックがあるか否かのデータを detached
ディレクトリ。 データが存在する場合、クエリはその整合性を確認します。 すべてが正しい場合、クエリはデータをテーブルに追加します。 他のすべてのレプリカをダウンロードからデータのレプリカ-イニシエータです。
だから、データを置くことができます detached
ディレクトリを一つのレプリカ上に置き、 ALTER ... ATTACH
すべてのレプリカのテーブルに追加するクエリ。
ATTACH PARTITION FROM
ALTER TABLE table2 ATTACH PARTITION partition_expr FROM table1
このクエリは、データパーティションを table1
に table2
にデータを追加します。 table2
. データは削除されないことに注意してください table1
.
クエリを正常に実行するには、次の条件を満たす必要があります:
- 両方のテーブルを作成するときに必要となる構造です。
- 両方のテーブルを作成するときに必要となる分割。
REPLACE PARTITION
ALTER TABLE table2 REPLACE PARTITION partition_expr FROM table1
このクエリは、データパーティションを table1
に table2
の既存のパーティションを置き換え table2
. データは削除されないことに注意してください table1
.
クエリを正常に実行するには、次の条件を満たす必要があります:
- 両方のテーブルを作成するときに必要となる構造です。
- 両方のテーブルを作成するときに必要となる分割。
MOVE PARTITION TO TABLE
ALTER TABLE table_source MOVE PARTITION partition_expr TO TABLE table_dest
このクエリは、データパーティションを table_source
に table_dest
からデータを削除すると table_source
.
クエリを正常に実行するには、次の条件を満たす必要があります:
- 両方のテーブルを作成するときに必要となる構造です。
- 両方のテーブルを作成するときに必要となる分割。
- 両方のテーブルと同じでなければならエンジンです。 (複製または非複製)
- 両方のテーブルを作成するときに必要となる貯ます。
CLEAR COLUMN IN PARTITION
ALTER TABLE table_name CLEAR COLUMN column_name IN PARTITION partition_expr
すべてリセット値で指定されたカラムがありました。 もし DEFAULT
句が決定されたテーブルを作成するときに、このクエリは、指定された既定値に列の値を設定します。
例:
ALTER TABLE visits CLEAR COLUMN hour in PARTITION 201902
FREEZE PARTITION
ALTER TABLE table_name FREEZE [PARTITION partition_expr]
このクエリーを作成し、地元のバックアップの指定されたパーティション もし PARTITION
条項を省略して、クエリーを作成し、バックアップの仕切ります。
!!! note "注" バックアップ処理全体は、サーバーを停止せずに実行されます。
古いスタイルのテーブルの場合、パーティション名のプレフィックスを指定できます(例えば, ‘2019’)のクエリーを作成し、バックアップのためのすべてに対応する隔壁 セクションでのパーティション式の設定について パーティション式の指定方法.
実行時に、データスナップショットの場合、クエリはテーブルデータへのハードリンクを作成します。 Hardlinksに設置されているディレクトリ /var/lib/clickhouse/shadow/N/...
,ここで:
/var/lib/clickhouse/
設定で指定された作業ClickHouseディレクトリです。N
バックアップの増分数です。
!!! note "注"
を使用する場合 テーブル内のデータ格納用のディスクのセット は、 shadow/N
ディレクトリが表示される毎にディスクデータを格納する部品と合わせによる PARTITION
式。
バックアップの内部と同じディレクトリ構造が作成されます /var/lib/clickhouse/
. クエリの実行 ‘chmod’ すべてのファイルの禁止に対して書き込みます。
バックアップの作成後、データをコピーするには /var/lib/clickhouse/shadow/
ローカルサーバーから削除します。 なお、 ALTER t FREEZE PARTITION
クエリは複製されません。 するための地元のバックアップ、現地サーバーです。
クエリをバックアップトで最初のでお待ちしておりますので、現在のクエリーに対応するテーブルに仕上げた。
ALTER TABLE t FREEZE PARTITION
コピーのみのデータのないテーブルメタデータを指すものとします。 をバックアップテーブルメタデータ、コピー、ファイル /var/lib/clickhouse/metadata/database/table.sql
バックアップからデータを復元するには:
- テーブルが存在しない場合はテーブルを作成します。 クエリを表示するには、を使用します。sqlファイル(置換
ATTACH
それでCREATE
). - からデータをコピーします
data/database/table/
バックアップ内のディレクトリ/var/lib/clickhouse/data/database/table/detached/
ディレクトリ。 - 走れ。
ALTER TABLE t ATTACH PARTITION
テーブルにデータを追加するクエリ。
復元からのバックアップを必要としないの停止、サーバーにコピーします。
バックアップおよびデータの復元の詳細については、 データバックア セクション
CLEAR INDEX IN PARTITION
ALTER TABLE table_name CLEAR INDEX index_name IN PARTITION partition_expr
クエリは次のように動作します CLEAR COLUMN
しかし、列データではなくインデックスをリセットします。
FETCH PARTITION
ALTER TABLE table_name FETCH PARTITION partition_expr FROM 'path-in-zookeeper'
ダウンロードパーティションから別のサーバーです。 このクエリーだけを再現します。
クエリは、次の操作を実行します:
- ダウンロードパーティションから、指定されたザ-シャー. で ‘path-in-zookeeper’ ZooKeeperでシャードへのパスを指定する必要があります。
- 次に、クエリはダウンロードしたデータを
detached
のディレクトリtable_name
テーブル。 使用する ATTACH PARTITION|PART テーブルにデータを追加するクエリ。
例えば:
ALTER TABLE users FETCH PARTITION 201902 FROM '/clickhouse/tables/01-01/visits';
ALTER TABLE users ATTACH PARTITION 201902;
なお:
- その
ALTER ... FETCH PARTITION
クエリは複製されません。 それは仕切りをに置きますdetached
ディレクトリの現地サーバーです。 - その
ALTER TABLE ... ATTACH
クエリが複製されます。 すべてのレプリカにデータを追加します。 データはレプリカのいずれかに追加されます。detached
ディレクトリ、および他の人に-隣接するレプリカから。
ダウンロードする前に、システムかどうかをチェックすると、パーティションが存在するとテーブル構造。 最も適切なレプリカは、正常なレプリカから自動的に選択されます。
クエリは呼び出されますが ALTER TABLE
テーブル構造を変更せず、テーブル内で使用可能なデータを直ちに変更することはありません。
MOVE PARTITION|PART
パーティションまた MergeTree
-エンジンテーブル。 見る 複数のブロックデバイスのためのデータ保存.
ALTER TABLE table_name MOVE PARTITION|PART partition_expr TO DISK|VOLUME 'disk_name'
その ALTER TABLE t MOVE
クエリ:
- な再現が異なるレプリカで保管。
- 指定されたディスクまたはボリュ ストレージポリシーで指定されたデータ移動の条件を適用できない場合、Queryはエラーを返します。
- 復帰できるエラーの場合、データの移動に移行している背景には、同時
ALTER TABLE t MOVE
クエリまたはバックグラウンドデータマージの結果。 この場合、ユーザーは追加の操作を実行しないでください。
例:
ALTER TABLE hits MOVE PART '20190301_14343_16206_438' TO VOLUME 'slow'
ALTER TABLE hits MOVE PARTITION '2019-09-01' TO DISK 'fast_ssd'
パーティション式の設定方法
パーティション式を指定するには ALTER ... PARTITION
異なる方法でのクエリ:
- からの値として
partition
の列system.parts
テーブル。 例えば,ALTER TABLE visits DETACH PARTITION 201901
. - テーブル列からの式として。 定数と定数式がサポートされています。 例えば,
ALTER TABLE visits DETACH PARTITION toYYYYMM(toDate('2019-01-25'))
. - パーティションIDの使用。 Partition IDは、ファイルシステムおよびZooKeeperのパーティションの名前として使用されるパーティションの文字列識別子(可能であれば人間が読める)です。 パーティションIDは、
PARTITION ID
一重引quotesで囲まれた句。 例えば,ALTER TABLE visits DETACH PARTITION ID '201901'
. - で ALTER ATTACH PART と DROP DETACHED PART パーツの名前を指定するには、文字列リテラルを使用します。
name
の列 システムdetached_parts テーブル。 例えば,ALTER TABLE visits ATTACH PART '201901_1_1_0'
.
ご利用の引用符を指定する場合、パーティションのエントランスは目を引く壁面緑化を表現。 例えば、 String
その名前を引用符で指定する必要があります ('
). のために Date
と Int*
型引用符は必要ありません。
古いスタイルのテーブルの場合は、パーティションを数値として指定できます 201901
または文字列 '201901'
. 新しいスタイルのテーブルの構文は、型によってより厳密になります(値の入力形式のパーサーと同様)。
上記のすべてのルールは、 OPTIMIZE クエリ。 を指定する場合にのみ分配時の最適化、非仕切られたテーブルセットの表現 PARTITION tuple()
. 例えば:
OPTIMIZE TABLE table_not_partitioned PARTITION tuple() FINAL;
の例 ALTER ... PARTITION
クエリは、テストで示されます 00502_custom_partitioning_local
と 00502_custom_partitioning_replicated_zookeeper
.
テーブルTTLによる操作
変更できます テーブルTTL 以下のフォームのリクエストで:
ALTER TABLE table-name MODIFY TTL ttl-expression
ALTERクエリの同期性
複製不可能なテーブルの場合、すべて ALTER
クエリは同期的に実行されます。 のためのreplicatableテーブル、クエリーだけで追加指示のための適切な行動を ZooKeeper
そして、アクション自体はできるだけ早く実行されます。 ただし、クエリは、すべてのレプリカでこれらの操作が完了するまで待機できます。
のために ALTER ... ATTACH|DETACH|DROP
クエリを使用することができます replication_alter_partitions_sync
待機を設定する設定。
可能な値: 0
– do not wait; 1
– only wait for own execution (default); 2
– wait for all.
突然変異
突然変異は、テーブル内の行を変更または削除できるALTER query variantです。 標準とは対照的に UPDATE
と DELETE
ポイントデータの変更、突然変異を目的としたクエリは、テーブル内の多くの行を変更する重い操作を目的としています。 のために支えられる MergeTree
家族のテーブルエンジンなどのエンジンの複製です。
既存のテーブルはそのままで(変換は必要ありません)突然変異の準備ができていますが、最初の突然変異がテーブルに適用されると、そのメタデータ形式
現在利用可能なコマンド:
ALTER TABLE [db.]table DELETE WHERE filter_expr
その filter_expr
型である必要があります UInt8
. このクエリは、この式がゼロ以外の値をとるテーブル内の行を削除します。
ALTER TABLE [db.]table UPDATE column1 = expr1 [, ...] WHERE filter_expr
その filter_expr
型である必要があります UInt8
. このクエリは、指定された列の値を、指定された列の行の対応する式の値に更新します。 filter_expr
ゼロ以外の値をとります。 値は、列型にキャストされます。 CAST
オペレーター プライマリキーまたはパーティションキーの計算で使用される列の更新はサポートされません。
ALTER TABLE [db.]table MATERIALIZE INDEX name IN PARTITION partition_name
クエリを再建の二次指数 name
パーティション内 partition_name
.
一つのクエリを含むことができ複数のコマンドをカンマで区切られています。
*MergeTree表の場合、突然変異はデータ部分全体を書き換えることによって実行されます。 原子性がない-部品は準備ができているとすぐ変異させた部品のために置き換えられ、a SELECT
突然変異中に実行を開始したクエリには、すでに変異している部分のデータと、まだ変異していない部分のデータが表示されます。
突然変異は完全にそれらの作成順序によって順序付けられ、その順序で各部分に適用される。 突然変異が送信される前にテーブルに挿入されたデータは変異され、その後に挿入されたデータは変異されません。 突然変異は挿入を決してブロックしないことに注意してください。
突然変異クエリは、突然変異エントリが追加された直後に返されます(複製されたテーブルがZooKeeperに、複製されていないテーブルがファイルシステムに)。 の突然変異体の執行を非同利用システムの概要を設定します。 あなたが使用することができ、突然変異の進行を追跡するために system.mutations
テーブル。 正常に送信された突然変異は、ClickHouseサーバーが再起動されても実行され続けます。 それが提出された後、突然変異をロールバックする方法はありませんが、突然変異が何らかの理由で立ち往生している場合、それは KILL MUTATION
クエリ。
完了した突然変異のエントリはすぐに削除されません(保存されたエントリの数は、 finished_mutations_to_keep
ストレージエンジ 古い突然変異エントリは削除されます。
ALTER USER
ClickHouseユーザーアカウントの変更。
構文
ALTER USER [IF EXISTS] name [ON CLUSTER cluster_name]
[RENAME TO new_name]
[IDENTIFIED [WITH {PLAINTEXT_PASSWORD|SHA256_PASSWORD|DOUBLE_SHA1_PASSWORD}] BY {'password'|'hash'}]
[[ADD|DROP] HOST {LOCAL | NAME 'name' | REGEXP 'name_regexp' | IP 'address' | LIKE 'pattern'} [,...] | ANY | NONE]
[DEFAULT ROLE role [,...] | ALL | ALL EXCEPT role [,...] ]
[SETTINGS variable [= value] [MIN [=] min_value] [MAX [=] max_value] [READONLY|WRITABLE] | PROFILE 'profile_name'] [,...]
説明
使用するには ALTER USER
あなたは、 ALTER USER 特権だ
例
付与されたロールを既定に設定する:
ALTER USER user DEFAULT ROLE role1, role2
ロールが以前にユーザーに付与されていない場合、ClickHouseは例外をスローします。
付与されたすべての役割をdefaultに設定します:
ALTER USER user DEFAULT ROLE ALL
将来ユーザーにロールが付与されると、自動的にデフォルトになります。
セットの付与の役割をデフォルトを除く role1
と role2
:
ALTER USER user DEFAULT ROLE ALL EXCEPT role1, role2
ALTER ROLE
役割を変更します。
構文
ALTER ROLE [IF EXISTS] name [ON CLUSTER cluster_name]
[RENAME TO new_name]
[SETTINGS variable [= value] [MIN [=] min_value] [MAX [=] max_value] [READONLY|WRITABLE] | PROFILE 'profile_name'] [,...]
ALTER ROW POLICY
行ポリシーを変更します。
構文
ALTER [ROW] POLICY [IF EXISTS] name [ON CLUSTER cluster_name] ON [database.]table
[RENAME TO new_name]
[AS {PERMISSIVE | RESTRICTIVE}]
[FOR SELECT]
[USING {condition | NONE}][,...]
[TO {role [,...] | ALL | ALL EXCEPT role [,...]}]
ALTER QUOTA
クォータを変更します。
構文
ALTER QUOTA [IF EXISTS] name [ON CLUSTER cluster_name]
[RENAME TO new_name]
[KEYED BY {'none' | 'user name' | 'ip address' | 'client key' | 'client key or user name' | 'client key or ip address'}]
[FOR [RANDOMIZED] INTERVAL number {SECOND | MINUTE | HOUR | DAY | WEEK | MONTH | QUARTER | YEAR}
{MAX { {QUERIES | ERRORS | RESULT ROWS | RESULT BYTES | READ ROWS | READ BYTES | EXECUTION TIME} = number } [,...] |
NO LIMITS | TRACKING ONLY} [,...]]
[TO {role [,...] | ALL | ALL EXCEPT role [,...]}]
ALTER SETTINGS PROFILE
クォータを変更します。
構文
ALTER SETTINGS PROFILE [IF EXISTS] name [ON CLUSTER cluster_name]
[RENAME TO new_name]
[SETTINGS variable [= value] [MIN [=] min_value] [MAX [=] max_value] [READONLY|WRITABLE] | INHERIT 'profile_name'] [,...]