TOAST, los slots de replicación, las publicaciones, los cambios de esquema y los mapeos de tipos— se abordan en las FAQ de ClickPipes for Postgres. La información allí también aplica a las migraciones de ClickHouse Managed Postgres.
Veo un error de “invalid input value for enum” durante la replicación
ALTER TYPE ... ADD VALUE, por lo que los nuevos valores enum añadidos en el origen después de la configuración inicial del esquema harán que las inserciones fallen en el destino.
Para solucionarlo, añade el valor que falta al tipo enum en el Postgres de destino:
your_enum_type por el nombre de su tipo enum y 'new_value' por el valor que falta en el mensaje de error.
Se produce un error de violación de una restricción de unicidad o de comprobación durante la replicación
- Restricciones de unicidad: Aplicamos los cambios como operaciones
MERGE/UPSERTpor lotes que escriben el valor más reciente para cada clave primaria, por lo que el orden de las operaciones para una clave determinada puede no coincidir con el orden que espera el índice único. Esto puede infringir temporalmente una restricciónUNIQUEdentro de la transacción, aunque la restricción se cumpla una vez finalizado elMERGE. Postgres no puede diferir las comprobaciones de índices únicos como sí puede hacerlo con las claves foráneas, por lo que no es posible posponer la comprobación hasta el final de la transacción. Esto no afecta a la consistencia de los datos: la identidad de la fila se define mediante la clave primaria y la lógica deMERGEusa esa misma clave primaria. - Restricciones de comprobación: Una restricción de comprobación en el destino puede ser más estricta que en el origen, o un estado intermedio durante un
MERGEpor lotes puede no cumplir la restricción, aunque el estado final sí la cumpla. Al igual que con las restricciones de unicidad, esto no afecta a la consistencia de los datos, ya que elMERGEusa la clave primaria que define la identidad de la fila.