Descripción general
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 que no son de 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 faltantes, consulta las secciones posteriores de este documento.
Detectar datos faltantes entre las instancias de origen y destino de Cloud SQL
- 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; - Antes de iniciar la migración, para todas las tablas sin claves primarias, verifica si hay actualizaciones o eliminaciones con esta consulta:
Dónde: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');n_tup_ins: Cantidad de filas insertadasn_tup_upd: Cantidad de filas actualizadas (incluye las filas actualizadas de HOT)n_tup_del: Cantidad de filas borradas
- Guarda estos resultados en una tabla o un archivo separados.
- Una vez que se complete la configuración de la migración, vuelve a ejecutar la consulta.
- 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 la fuente a las instancias de destino de Cloud SQL
Si detectas 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 manualmente los datos entre la fuente y el destino de Cloud SQL, y ejecuta las consultas de SQL adecuadas para actualizar solo los datos que son diferentes entre la fuente y la réplica.
Opción 2: Ejecuta
pg_dumpypg_restorepara 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
COPYde Postgres para migrar tus datos. Consulta la documentación de PostgreSQL para obtener más información. Ten en cuenta que este paso requiere que la VM de réplica pueda conectarse a la VM de origen.