Ten en cuenta que la adición de columnas se propagará al final de la sincronización de un batch, lo que puede ocurrir una vez alcanzado el intervalo de sincronización o el tamaño del pull batch. Más información sobre cómo controlar las sincronizaciones aquí
Valores predeterminados para columnas añadidas
ADD COLUMN; no es necesario actualizar toda la tabla.
En PostgreSQL, ClickPipes lee el valor que PostgreSQL almacenó para las filas preexistentes, en lugar de la expresión predeterminada actual de la columna. Esto es importante cuando el valor predeterminado es una expresión: PostgreSQL evalúa una expresión no volátil, como now(), al añadir la columna, y ClickPipes propaga el valor resultante, no la expresión. Las operaciones posteriores SET DEFAULT o DROP DEFAULT no modifican el valor predeterminado usado para las filas existentes ni se propagan a ClickHouse.
Se propagan los siguientes valores:
- Valores booleanos y numéricos finitos.
- Valores de texto, incluidos
varchar,char, enums, UUIDs, JSON/JSONB,hstore, direcciones de red y fechas. - Marcas de tiempo. Las marcas de tiempo con zonas horarias se normalizan a UTC.
NULL, valores numéricos no finitos, bytea, arrays, intervalos, valores de hora del día y tipos geométricos. La columna se añade igualmente, pero ClickHouse usa el valor predeterminado normal de su tipo para las partes anteriores a la columna. Es necesario actualizar toda la tabla si esas filas existentes deben contener el valor predeterminado de origen.