Visão geral da migração

Esta página oferece uma visão geral das maneiras de migrar dados para dentro e para fora do AlloyDB para PostgreSQL.

Importando dados

É possível migrar dados para o AlloyDB de duas maneiras:

  • Importando manualmente arquivos que contêm seus dados.

  • Usando Google Cloud o Database Migration Service para migrar o conteúdo de uma instância ativa inteira do PostgreSQL para um novo cluster do AlloyDB. Para mais informações, consulte Migrar usando o Database Migration Service.

Importar dados arquivados de arquivos

O AlloyDB permite importar dados de arquivos localizados em um bucket do Cloud Storage. O AlloyDB oferece suporte a vários formatos de arquivo para importação de dados, incluindo:

  • CSV, com o conteúdo de uma tabela por arquivo, carregado usando psql.

  • DMP, um arquivo binário de um banco de dados PostgreSQL inteiro, importado usando pg_restore.

  • SQL, uma reconstrução de texto simples de um banco de dados PostgreSQL, processada com psql.

Migrar uma instância ativa com o Database Migration Service

Como alternativa à importação manual de arquivos de despejo de dados, você pode usar o Database Migration Service para AlloyDB. Esse serviço permite migrar todo o conteúdo de uma instância ativa do PostgreSQL, incluindo todos os bancos de dados e metadados, para um novo cluster do AlloyDB. O Database Migration Service pode ajudar você a fazer a transição dos aplicativos atuais para usar o AlloyDB como novo armazenamento de dados com tempo de inatividade mínimo.

Locais compatíveis com dados importados

O AlloyDB oferece suporte aos seguintes locais:

  • O conjunto completo de locais fornecidos pela ICU.
  • Um conjunto limitado de locais fornecidos por libc:
    • C.UTF-8
    • en_US.utf8

Se o banco de dados que você quer importar para o AlloyDB for padrão para um local libc diferente dos dois listados aqui, ainda será possível importar os dados, mas esse padrão não será transferido. Para garantir que as consultas SQL que usam ORDER BY classifiquem os resultados corretamente, talvez seja necessário realizar outras etapas após a importação dos dados.

Recomendamos permitir que o novo banco de dados use o local padrão do AlloyDB: C.UTF-8, fornecido por libc. Em seguida, associe ordenações a todas as colunas que as consultas do aplicativo possam envolver em ORDER BY cláusulas, nomeando uma ordenação adequada baseada em ICU para cada uma delas. É possível fazer isso usando ALTER TABLE DDL consultas, como a seguinte:

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

Um novo cluster do AlloyDB define centenas de agrupamentos com base em locais fornecidos pela ICU, e você pode adicionar mais usando o recurso CREATE COLLATION do PostgreSQL. Para conferir a lista completa de nomes de agrupamento baseados em ICU definidos em um cluster do AlloyDB, execute a consulta a seguir em qualquer uma das instâncias:

SELECT collname FROM pg_collation WHERE collprovider = 'i';

Além dos agrupamentos baseados em ICU, o AlloyDB oferece suporte ao agrupamento integrado do PostgreSQL chamado ucs_basic. Essa ordenação usa a ordem padrão de pontos de código Unicode para permitir uma classificação especialmente eficiente. Recomendamos o uso dele com colunas cuja ordem de classificação adequada corresponda à da lista de pontos de código Unicode.

Exportação de dados

É possível usar utilitários de linha de comando para exportar os dados do AlloyDB para arquivos armazenados em um bucket do Cloud Storage, em vários formatos:

  • CSV, exportando uma tabela por arquivo, usando psql.

  • DMP, usando pg_dump para criar um arquivo binário portátil de todo o banco de dados.

  • SQL, usando pg_dump para criar uma lista de instruções DDL e SQL para reconstruir o banco de dados.

A seguir