Descripción general de la migración

Para mover bases de datos hacia o desde AlloyDB para PostgreSQL, puedes migrar instancias activas de PostgreSQL con un tiempo de inactividad mínimo usando Database Migration Service o importar y exportar archivos CSV, DMP y SQL almacenados en Cloud Storage.

Importando datos

Puedes migrar datos a AlloyDB con dos métodos:

Importa datos archivados desde archivos

AlloyDB te permite importar datos de archivos ubicados en un bucket de Cloud Storage. AlloyDB admite una variedad de formatos de archivo para la importación de datos, incluidos los siguientes:

  • CSV, con el contenido de una tabla por archivo, cargado con psql.

  • DMP, un archivo binario de una base de datos de PostgreSQL completa, importado con pg_restore.

  • SQL, una reconstrucción de texto sin formato de una base de datos de PostgreSQL, procesada con psql.

Migra una instancia activa con Database Migration Service

Como alternativa a la importación manual de archivos de volcado de datos, puedes usar Database Migration Service para AlloyDB. Este servicio te permite migrar todo el contenido de una instancia activa de PostgreSQL, incluidas todas sus bases de datos y metadatos, a un clúster nuevo de AlloyDB. Database Migration Service puede ayudarte a realizar la transición de tus aplicaciones existentes para usar AlloyDB como su nuevo almacén de datos con un tiempo de inactividad mínimo.

Configuraciones regionales admitidas para los datos importados

AlloyDB admite los siguientes parámetros de configuración regional:

  • Es el conjunto completo de configuraciones regionales proporcionadas por ICU.
  • Un conjunto limitado de configuraciones regionales proporcionadas por libc:
    • C.UTF-8
    • en_US.utf8

Si la base de datos que deseas importar a AlloyDB tiene una configuración regional de libc predeterminada que no sea una de las dos que se indican aquí, puedes importar tus datos, pero no se transferirá esa configuración predeterminada. Para asegurarte de que las consultas en SQL que usan ORDER BY ordenen sus resultados de forma correcta, es posible que debas seguir pasos adicionales después de importar tus datos.

Google recomienda permitir que tu base de datos nueva use la configuración regional predeterminada para AlloyDB: C.UTF-8, proporcionada por libc. Luego, asocia las intercalaciones con las columnas que las consultas de tu aplicación podrían incluir en las cláusulas ORDER BY y asigna una intercalación basada en ICU adecuada para cada una. Puedes hacerlo a través de consultas de DDL de ALTER TABLE, como las siguientes:

ALTER TABLE TABLE_NAME
    ALTER COLUMN COLUMN_NAME
    SET DATA TYPE COLUMN_DATA_TYPE
    COLLATE "COLLATION_NAME";

Reemplaza lo siguiente:

  • TABLE_NAME: Es el nombre de la tabla que contiene la columna.
  • COLUMN_NAME: Es el nombre de la columna que se actualizará.
  • COLUMN_DATA_TYPE: Es el tipo de datos de la columna.
  • COLLATION_NAME: Es el nombre de la intercalación basada en ICU que se aplicará.

Un clúster de AlloyDB nuevo define cientos de intercalaciones basadas en las configuraciones regionales proporcionadas por ICU, y puedes agregar más con la función CREATE COLLATION de PostgreSQL. Para ver la lista completa de nombres de intercalación basados en ICU definidos en un clúster de AlloyDB, ejecuta la siguiente consulta en cualquiera de sus instancias:

SELECT collname FROM pg_collation WHERE collprovider = 'i';

Además de las intercalaciones basadas en ICU, AlloyDB admite la intercalación integrada de PostgreSQL llamada ucs_basic. Esta intercalación usa el orden estándar de los puntos de código Unicode para habilitar una ordenación especialmente eficiente. Google recomienda su uso con columnas cuyo orden de clasificación adecuado coincida con el de la lista de puntos de código Unicode.

Exporta datos

Puedes usar utilidades de línea de comandos para exportar tus datos de AlloyDB a archivos almacenados en un bucket de Cloud Storage, en una variedad de formatos:

  • CSV, exportando una tabla por archivo, con psql.

  • DMP, con pg_dump para crear un archivo binario portátil de toda tu base de datos.

  • SQL, con pg_dump para crear una lista de sentencias de DDL y sentencias de SQL para reconstruir tu base de datos.

¿Qué sigue?