Visão geral da migração

Esta página oferece uma visão geral das formas de migrar dados para o AlloyDB para PostgreSQL e vice-versa.

Importando dados

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

  • Importar manualmente arquivos que contêm seus dados.

  • Usando o Google Cloud Database Migration Service para migrar o conteúdo de uma instância do PostgreSQL ativa para um novo cluster do AlloyDB.

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 do PostgreSQL inteiro, importado usando pg_restore.

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

Migrar uma instância ativa com Database Migration Service

Como alternativa à importação manual de arquivos de despejo de dados, use 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 seus aplicativos atuais para usar o AlloyDB como o novo repositório de dados com o menor tempo de inatividade.

Localizações compatíveis para dados importados

O AlloyDB oferece suporte aos seguintes idiomas:

  • O conjunto completo de localidades fornecidas pelo ICU.
  • Um conjunto limitado de localidades fornecido por libc:
    • C.UTF-8
    • en_US.utf8

Se o banco de dados que você quer importar para o AlloyDB for padrão para uma localidade libc diferente das duas listadas aqui, ainda será possível importar seus 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 a localidade padrão do AlloyDB: C.UTF-8, fornecido por libc. Em seguida, associe classificações a qualquer coluna que as consultas do seu aplicativo possam envolver em cláusulas ORDER BY, nomeando uma classificação adequada baseada em ICU para cada uma. Isso pode ser feito com consultas DDL ALTER TABLE, como esta:

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 ordenações com base em localidades fornecidas pelo ICU. É possível adicionar mais usando a facilidade CREATE COLLATION do PostgreSQL. Para ver a lista completa de nomes de ordenação baseados em ICU definidos em um cluster do AlloyDB, execute a seguinte consulta em qualquer uma das instâncias:

SELECT collname FROM pg_collation WHERE collprovider = 'i';

Além das ordenações baseadas em ICU, o AlloyDB oferece suporte à ordenação integrada do PostgreSQL chamada 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 com colunas cuja ordem de classificação corresponde à 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 em 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 seu banco de dados.