PostgreSQL
リモートの PostgreSQL サーバー上のデータベースに接続できます。ClickHouse と PostgreSQL の間でデータを交換するための読み取りおよび書き込み操作(SELECT
および INSERT
クエリ)をサポートします。
SHOW TABLES
および DESCRIBE TABLE
クエリを使用して、リモート PostgreSQL からテーブルリストおよびテーブル構造にリアルタイムアクセスを提供します。
テーブル構造の変更(ALTER TABLE ... ADD|DROP COLUMN
)をサポートします。use_table_cache
パラメータ(以下のエンジンパラメータを参照)が 1
に設定されている場合、テーブル構造はキャッシュされ、変更が確認されませんが、DETACH
および ATTACH
クエリで更新できます。
データベースの作成
エンジンパラメータ
host:port
— PostgreSQL サーバーアドレス。database
— リモートデータベース名。user
— PostgreSQL ユーザー。password
— ユーザーパスワード。schema
— PostgreSQL スキーマ。use_table_cache
— データベースのテーブル構造がキャッシュされるかどうかを定義します。オプション。デフォルト値:0
。
データ型のサポート
PostgreSQL | ClickHouse |
---|---|
DATE | Date |
TIMESTAMP | DateTime |
REAL | Float32 |
DOUBLE | Float64 |
DECIMAL, NUMERIC | Decimal |
SMALLINT | Int16 |
INTEGER | Int32 |
BIGINT | Int64 |
SERIAL | UInt32 |
BIGSERIAL | UInt64 |
TEXT, CHAR | String |
INTEGER | Nullable(Int32) |
ARRAY | Array |
使用例
ClickHouse で PostgreSQL サーバーとデータを交換するデータベース:
PostgreSQL テーブルからデータを読み取る:
PostgreSQL テーブルにデータを書き込む:
PostgreSQL でテーブル構造が変更されたと仮定します:
データベースが作成されたときに use_table_cache
パラメータが 1
に設定されていたため、ClickHouse のテーブル構造はキャッシュされており、したがって変更されていませんでした:
テーブルをデタッチし再度アタッチした後、構造が更新されました: