Depuración y otras herramientas

En esta página, se incluyen secuencias de comandos que ayudan a depurar y usar PostgreSQL.

Migra las operaciones UPDATE y DELETE para las tablas sin clave primaria

Para las tablas que no tienen claves primarias, Database Migration Service admite la migración de la instantánea inicial y las sentencias INSERT durante la fase de captura de datos modificados (CDC).

Para actualizar los procesos UPDATE y DELETE que faltan, consulta las secciones posteriores de este documento.

Detecta datos faltantes entre las instancias de origen y de destino de Cloud SQL

  1. Identifica qué tablas no tienen claves primarias:
    SELECT tab.table_schema,
           tab.table_name
    FROM information_schema.tables tab
    LEFT JOIN information_schema.table_constraints tco 
              ON tab.table_schema = tco.table_schema
              AND tab.table_name = tco.table_name 
              AND tco.constraint_type = 'PRIMARY KEY'
    WHERE tab.table_type = 'BASE TABLE'
          AND tab.table_schema NOT IN ('pg_catalog', 'information_schema', 'pglogical')
          AND tco.constraint_name IS NULL
    ORDER BY table_schema,
             table_name;
  2. Antes de iniciar la migración, para todas las tablas sin claves primarias, verifica si hay actualizaciones o eliminaciones con esta consulta:
    SELECT schemaname,
           relname,
           n_tup_ins,
           n_tup_upd,
           n_tup_del
    FROM pg_stat_user_tables
    WHERE schemaname NOT IN
      ('pglogical', 'pg_catalog', 'information_schema');
    Donde:
    • n_tup_ins: cantidad de filas insertadas
    • n_tup_upd: Es la cantidad de filas actualizadas (incluye las filas actualizadas de HOT).
    • n_tup_del: cantidad de filas borradas
  3. Guarda estos resultados en una tabla separada o en un archivo.
  4. Una vez que se complete la configuración de la migración, vuelve a ejecutar la consulta.
  5. Compara los resultados con los del paso 3.

Si hay diferencias en los valores de n_tup_upd o n_tup_del en la fuente durante la migración, es posible que haya algunas actualizaciones o eliminaciones en la fuente.

Migra datos de forma manual desde el origen hasta las instancias de destino de Cloud SQL

Si detectas que hay algunas discrepancias entre la instancia de origen y la de destino de Cloud SQL, puedes migrar los datos con una de las siguientes opciones:

  • Opción 1: Compara de forma manual los datos entre la fuente y el destino de Cloud SQL, y ejecuta las consultas en SQL adecuadas para actualizar solo los datos que son diferentes entre la fuente y la réplica.

  • Opción 2: Ejecuta pg_dump y pg_restore para las tablas sin claves primarias. Consulta Exporta datos de un servidor PostgreSQL local con pg_dump para obtener más información.

  • Opción 3: Usa el comando COPY de PostgreSQL para migrar tus datos. Consulta la documentación de PostgreSQL para obtener más información. Ten en cuenta que, para este paso, la VM de réplica debe poder conectarse a la VM de origen.