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