Descripción general
En esta página, se incluyen secuencias de comandos que ayudan con la depuración y el uso de AlloyDB.
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
que faltan, consulta las secciones posteriores de este documento.
Detecta los datos faltantes entre la fuente y el clúster de destino de AlloyDB
- 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 completada 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 de la fuente a las instancias de destino de AlloyDB
Si detectas que hay algunas discrepancias entre la fuente y la instancia de destino de AlloyDB, puedes migrar los datos con una de las siguientes opciones:
Opción 1: Comparar manualmente los datos entre la fuente y el destino de AlloyDB, y ejecutar 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_dump
ypg_restore
para 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
COPY
de 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.