カラムの追加は、バッチ同期の最後に反映される点に注意してください。これは、同期間隔または pull batch size のしきい値に達した後に発生する可能性があります。同期の制御について詳しくは、こちらを参照してください。
追加したカラムのデフォルト値
ADD COLUMN より前から存在する行に使用される値と同じ値が表示されます。テーブル全体の更新は必要ありません。
PostgreSQL では、ClickPipes はカラムの現在のデフォルト式ではなく、既存の行に対して PostgreSQL が保存した値を読み取ります。デフォルト値が式の場合、これは重要です。now() のような非揮発性の式はカラム追加時に PostgreSQL によって評価され、ClickPipes は式そのものではなく、その評価結果を反映します。後から実行する SET DEFAULT や DROP DEFAULT 操作は既存の行に使用されるデフォルト値を変更せず、ClickHouse にも反映されません。
次の値が反映されます。
- ブール値および有限の数値。
varchar、char、enum、UUID、JSON/JSONB、hstore、ネットワークアドレス、Date を含むテキスト値。- タイムスタンプ。タイムゾーン付きのタイムスタンプは UTC に正規化されます。
NULL、非有限の数値、bytea、配列、インターバル、時刻のみの値、ジオメトリ型など、ClickHouse に安全に移植できない表現のデフォルト値は省略されます。カラム自体は追加されますが、ClickHouse はカラム追加前のパーツに対して通常の型のデフォルト値を使用します。既存の行にソース側のデフォルト値を含める必要がある場合は、テーブル全体の更新が必要です。