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:
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');
Dónde:
n_tup_ins: Cantidad de filas insertadas
n_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 desde 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 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.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-18 (UTC)"],[[["\u003cp\u003eThis page provides debugging scripts and guidance for using AlloyDB, particularly focusing on data migration from PostgreSQL.\u003c/p\u003e\n"],["\u003cp\u003eDatabase Migration Service supports the initial snapshot and \u003ccode\u003eINSERT\u003c/code\u003e statements for tables without primary keys during migration, but manual steps are needed for \u003ccode\u003eUPDATE\u003c/code\u003e and \u003ccode\u003eDELETE\u003c/code\u003e operations.\u003c/p\u003e\n"],["\u003cp\u003eYou can detect potential data discrepancies between the source and destination by identifying tables without primary keys and tracking \u003ccode\u003eINSERT\u003c/code\u003e, \u003ccode\u003eUPDATE\u003c/code\u003e, and \u003ccode\u003eDELETE\u003c/code\u003e activity using queries against \u003ccode\u003einformation_schema\u003c/code\u003e and \u003ccode\u003epg_stat_user_tables\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIf discrepancies are detected, manual migration options include comparing data and running SQL queries, utilizing \u003ccode\u003epg_dump\u003c/code\u003e and \u003ccode\u003epg_restore\u003c/code\u003e, or employing the Postgres \u003ccode\u003eCOPY\u003c/code\u003e command, which might require pre-migration data cleanup on the replica.\u003c/p\u003e\n"]]],[],null,[]]