Descripción general
En esta página, se incluyen secuencias de comandos que ayudan a depurar y usar PostgreSQL.
Migra operaciones UPDATE y DELETE para 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.
Detecta 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:
Donde: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 filas actualizadas con HOT)n_tup_del: cantidad de filas borradas
- Guarda estos resultados en una tabla separada o en un archivo.
- 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 que hay algunas discrepancias entre la fuente y la instancia 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 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 mediante 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.