Descripción general
Esta página incluye scripts que ayudan con la depuración y el uso de PostgreSQL.
Migrar operaciones ACTUALIZAR y ELIMINAR para tablas de clave no principal
Para las tablas que no tienen claves principales, el Servicio de migración de bases de datos admite la migración de la instantánea inicial y las declaraciones INSERT
durante la fase de captura de datos modificados (CDC).
Para actualizar los procesos UPDATE
y DELETE
que faltan, consulte las secciones posteriores de este documento.
Detectar datos faltantes entre las instancias de origen y de destino de Cloud SQL
- Identifique qué tablas no tienen claves principales:
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 comenzar la migración, para todas las tablas sin claves principales, verifique si hay actualizaciones o eliminaciones mediante 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
: número de filas insertadasn_tup_upd
: número de filas actualizadas (incluye filas actualizadas en caliente)n_tup_del
: número de filas eliminadas
- Guarde estos resultados en una tabla separada o en un archivo.
- Una vez completada la configuración de la migración, ejecute la consulta nuevamente.
- Compare los resultados con los resultados del paso 3.
Si hay diferencias en los valores de n_tup_upd
o n_tup_del
en el origen durante la migración, es posible que haya algunas actualizaciones o eliminaciones en el origen.
Migrar datos manualmente desde el origen a las instancias de destino de Cloud SQL
Si detecta que hay algunas discrepancias entre la instancia de origen y la de destino de Cloud SQL, puede migrar los datos usando una de las opciones:
Opción 1 : compare manualmente los datos entre el origen y el destino de Cloud SQL y ejecute consultas SQL apropiadas para actualizar solo los datos que son diferentes entre el origen y la réplica.
Opción 2 : ejecute
pg_dump
ypg_restore
para las tablas sin claves principales. Consulte Exportar datos desde un servidor PostgreSQL local usando pg_dump para obtener más información.Opción 3 : utilice el comando
COPY
de Postgres para migrar sus datos. Consulte la documentación de PostgreSQL para obtener más información. Tenga en cuenta que este paso requiere que la máquina virtual de réplica pueda conectarse a la máquina virtual de origen.