設定例:
SOURCE(POSTGRESQL(
port 5432
host 'postgresql-hostname'
user 'postgres_user'
password 'postgres_password'
db 'db_name'
table 'table_name'
replica(host 'example01-1' port 5432 priority 1)
replica(host 'example01-2' port 5432 priority 2)
where 'id=10'
invalidate_query 'SQL_QUERY'
query 'SELECT id, value_1, value_2 FROM db_name.table_name'
))<source>
<postgresql>
<host>postgresql-hostname</hoat>
<port>5432</port>
<user>clickhouse</user>
<password>qwerty</password>
<db>db_name</db>
<table>table_name</table>
<where>id=10</where>
<invalidate_query>SQL_QUERY</invalidate_query>
<query>SELECT id, value_1, value_2 FROM db_name.table_name</query>
</postgresql>
</source>設定フィールド:
| 設定 | 説明 |
|---|---|
host |
PostgreSQL サーバーのホストです。すべてのレプリカに対して指定することも、各レプリカごとに個別に指定することもできます (<replica> 内) 。 |
port |
PostgreSQL サーバーのポートです。すべてのレプリカに対して指定することも、各レプリカごとに個別に指定することもできます (<replica> 内) 。 |
user |
PostgreSQL ユーザー名です。すべてのレプリカに対して指定することも、各レプリカごとに個別に指定することもできます (<replica> 内) 。 |
password |
PostgreSQL ユーザーのパスワードです。すべてのレプリカに対して指定することも、各レプリカごとに個別に指定することもできます (<replica> 内) 。 |
replica |
レプリカ設定のセクションです。複数指定できます。 |
replica/host |
PostgreSQL のホストです。 |
replica/port |
PostgreSQL のポートです。 |
replica/priority |
レプリカの優先度です。接続を試みる際、ClickHouse は優先度順にレプリカをたどります。数値が小さいほど優先度は高くなります。 |
db |
データベース名です。 |
table |
テーブル名です。 |
where |
選択条件です。条件の構文は PostgreSQL の WHERE 句と同じです。たとえば、id > 10 AND id < 20 です。省略可能です。 |
invalidate_query |
Dictionary の状態確認用クエリです。省略可能です。詳しくは、LIFETIME を使用した Dictionary データの更新 セクションを参照してください。 |
background_reconnect |
接続に失敗した場合、バックグラウンドでレプリカに再接続します。省略可能です。 |
query |
カスタムクエリです。省略可能です。 |
sslmode |
libpq に渡す TLS/SSL モードです。disable、allow、prefer、require、verify-ca、verify-full を指定できます。未設定の場合は、libpq のデフォルト値である prefer が適用されます。省略可能です。 |
sslrootcert_pem |
PostgreSQL サーバー証明書の検証に使用する CA 証明書の内容です。省略可能です。 |
sslcert_pem |
証明書ベース認証に使用するクライアント証明書の内容です。省略可能です。 |
sslkey_pem |
sslcert_pem に対応する秘密鍵の内容です。省略可能です。 |
sslrootcert, sslcert, sslkey |
同じ認証情報をサーバー上のファイルへのパスとして指定します。サーバー設定ファイルで定義された Dictionary、またはそこで定義された named collection でのみ使用できます。以下を参照してください。省略可能です。 |