[NOT] OVERRIDABLE キーワード、XML 属性、および/または設定オプション allow_named_collection_override_by_default を使って制限できます。
system database に 名前付きコレクション を格納する
DDLの例
key_1は常にオーバーライドできます。key_2は一切オーバーライドできません。urlは、allow_named_collection_override_by_defaultの値によって、オーバーライドできる場合とできない場合があります。
DDL を使用して 名前付きコレクション を作成するための権限
named_collection_control 権限が必要です。これは、/etc/clickhouse-server/users.d/ にファイルを追加することで付与できます。以下の例では、ユーザー default に access_management と named_collection_control の両方の権限を付与しています。
/etc/clickhouse-server/users.d/user_default.xml
名前付きコレクションの保存先
aes_128_ctr が使用されます。
名前付きコレクションの保存先を設定するには、type を指定する必要があります。指定できる値は local または keeper/zookeeper です。暗号化ストレージの場合は、
local_encrypted または keeper_encrypted/zookeeper_encrypted を使用できます。
ZooKeeper/Keeper を使用する場合は、configuration file の
named_collections_storage セクションに path (名前付きコレクションの保存先となる ZooKeeper/Keeper 内のパス) も設定する必要があります。次の例では、暗号化と ZooKeeper/Keeper を使用しています。
update_timeout_ms のデフォルト値は 5000 です。
設定ファイルに named collections を保存する
XMLの例
/etc/clickhouse-server/config.d/named_collections.xml
key_1は常に上書きできます。key_2は上書きできません。urlは、allow_named_collection_override_by_defaultの値に応じて、上書きできる場合とできない場合があります。
名前付きコレクションの変更
DDL の named collection を変更する
collection2 の key1 と key3 を変更または追加します
(これらのキーの overridable フラグの値は変更されません) :
key1 キーを変更または追加し、常に上書き可能にします:
collection2 から key2 キーを削除します:
collection2 コレクションのキー key1 を変更または追加し、key3 を削除します:
overridable フラグのデフォルト設定をキーに適用するには、
そのキーを削除してから再度追加する必要があります。
DDL の名前付きコレクション collection2 を削除します:
S3 にアクセスするための名前付きコレクション
DDLの例
XMLの例
s3() 関数と S3テーブルの named collection の例
s3_mydata を使用します。
s3() 関数
S3 テーブル
MySQL データベースにアクセスするための 名前付きコレクション
DDLの例
XML の例
mysql() 関数、MySQL テーブル、MySQL データベース、および Dictionary の named collection の例
mymysql を使用します。
mysql() 関数
名前付きコレクション では
table パラメータが指定されていないため、関数呼び出しで table = 'test' を指定します。MySQLテーブル
DDL は、connection_pool_size の 名前付きコレクション の設定を上書きします。
MySQL データベース
MySQL Dictionary
PostgreSQLデータベースにアクセスするための名前付きコレクション
userの別名としてusernamedatabaseの別名としてdb
addresses_expr は、コレクション内では host:port の代わりに使用します。このパラメータは省略可能です。これは、host、hostname、port といった他の省略可能なパラメータがあるためです。優先順位は次の疑似コードで説明します。
postgresql 関数で named collections を使用する例
PostgreSQLエンジンのデータベースで名前付きコレクションを使用する例
PostgreSQL では、テーブルの作成時に名前付きコレクションからデータがコピーされます。後からコレクションを変更しても、既存のテーブルには反映されません。
PostgreSQLエンジンのデータベースで名前付きコレクションを使用する例
ソースが POSTGRESQL の Dictionary で 名前付きコレクション を使用する例
リモート ClickHouse データベースにアクセスするための名前付きコレクション
secure は、接続には remoteSecure があるため必要ありませんが、辞書では使用できます。
remote/remoteSecure 関数で named collections を使う例
ソースが ClickHouse の Dictionary での named collections の使用例
Kafka へのアクセス用の名前付きコレクション
DDLの例
XMLの例
Kafkaテーブルで named collection を使用する例
my_kafka_cluster を使用します。
バックアップ用の名前付きコレクション
DDL の例
XMLの例
MongoDB Table および Dictionary にアクセスするための named collections
DDLの例
XMLの例
MongoDB テーブル
DDL によって、オプションに指定した 名前付きコレクション の設定は上書きされます。
MongoDB Dictionary
名前付きコレクション では、コレクション名に
my_collection を指定しています。関数呼び出しでは、別のコレクションを選択するために collection = 'my_dict' を指定してこれを上書きします。