es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Migrar datos de Postgres a CockroachDB

Estoy tratando de migrar todos mis datos de Postgres (13) a CockroachDB.

Encontré esto: https://www.cockroachlabs.com/docs/stable/migrate-from-postgres.html
Hice una volcada de los datos, luego intenté importarlos usando:

IMPORT PGDUMP 'nodelocal://self/do.sql' WITH ignore_unsupported_statements;

Pero… no funciona debido a la falta de secuencia.

ERROR: no se encontró la tabla de referencia "XXXXX_id_seq" en las tablas que se están importando (XXXXX_id_seq,XXXXX_id_seq,XXXXX_id_seq)

Así que intenté exportar los datos sin las secuencias.

pg_dump -U postgres --exclude-table=.*_id__seq > /tmp/dump.sql

Y obtuve nuevamente:

ERROR: no se encontró la tabla de referencia "XXXXX_id_seq" en las tablas que se están importando (XXXXX_id_seq,XXXXX_id_seq,XXXXX_id_seq)

Puedo hacerlo manualmente o simplemente recrear todos los datos desde mi aplicación, pero realmente quiero saber cómo hacerlo a nivel de base de datos usando comandos.

Aquí (https://stackoverflow.com/questions/43333066/import-postgres-dump-into-a-table-with-cockroachdb) solo se ofrece el consejo de eliminar todas las líneas que no son de copia y no son de creación. Tomará mucho tiempo, muchos comandos son de varias líneas.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en la migración de PostgreSQL y CockroachDB, el error que encontraste durante la migración de PostgreSQL (13) a CockroachDB se puede resolver exportando primero los datos sin las secuencias. Para hacer esto, utiliza el siguiente comando:

    pg_dump -U postgres --exclude-table=.*_id__seq > /tmp/dump.sql
    

    Después de hacer esto, puedes importar los datos utilizando el siguiente comando:

    IMPORT PGDUMP 'nodelocal://self/do.sql' WITH ignore_unsupported_statements;
    

    Esto debería resolver el error de secuencia que encontraste anteriormente. Sin embargo, si te encuentras con desafíos con declaraciones de múltiples líneas, puedes probar el enfoque sugerido en esta publicación de Stack Overflow: https://stackoverflow.com/questions/43333066/import-postgres-dump-into-a-table-with-cockroachdb. Este enfoque implica eliminar todas las líneas que no sean de copia y de creación, lo cual puede llevar mucho tiempo.

    En general, con estos pasos deberías poder migrar tus datos de PostgreSQL a CockroachDB con poco o ningún desafío.

Comments are closed.