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 のテーブル構造はキャッシュされ、したがって変更されませんでした:
テーブルをデタッチして再度アタッチすると、構造が更新されました: