Para mover bancos de dados para dentro ou fora do AlloyDB para PostgreSQL, é possível migrar instâncias ativas do PostgreSQL com tempo de inatividade mínimo usando o Database Migration Service ou importar e exportar arquivos CSV, DMP e SQL armazenados no Cloud Storage.
Importando dados
É possível migrar dados para o AlloyDB usando dois métodos:
Importar manualmente arquivos que contêm seus dados.
Usar 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 para o AlloyDB para PostgreSQL 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 é compatível com 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 em 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 dump 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 aplicativos atuais para usar o AlloyDB como o novo repositório de dados com o mínimo de inatividade.
Locais compatíveis com dados importados
O AlloyDB é compatível com as seguintes localidades:
- O conjunto completo de localidades fornecidas pela ICU.
- Um conjunto limitado de localidades fornecidas por
libc:C.UTF-8en_US.utf8
Se o banco de dados que você quer importar para o AlloyDB tiver como padrão
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 seguir
outras etapas depois de importar os dados.
O Google recomenda permitir que o novo banco de dados use a localidade padrão do
AlloyDB: C.UTF-8, fornecida por libc. Em seguida, associe
regras de ordenação a todas as
colunas que as consultas do aplicativo possam envolver em cláusulas ORDER BY, nomeando uma regra de ordenação apropriada baseada em ICU para cada uma. Para isso,
use consultas DDL do
ALTER TABLE, como as seguintes:
ALTER TABLE TABLE_NAME
ALTER COLUMN COLUMN_NAME
SET DATA TYPE COLUMN_DATA_TYPE
COLLATE "COLLATION_NAME";
Substitua:
TABLE_NAME: o nome da tabela que contém a coluna.COLUMN_NAME: o nome da coluna a ser atualizada.COLUMN_DATA_TYPE: o tipo de dados da coluna.COLLATION_NAME: o nome da ordenação baseada em ICU a ser aplicada.
Um novo cluster do AlloyDB define centenas de agrupamentos
com base em localidades fornecidas pela ICU, e é possível adicionar mais usando o recurso CREATE COLLATION
do PostgreSQL. Para
ver a lista completa de nomes de agrupamento com base 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 é compatível com a
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. O Google recomenda o uso com colunas em que a 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_dumppara criar um arquivo binário portátil de todo o banco de dados.SQL, usando
pg_dumppara criar uma lista de instruções DDL e SQL para reconstruir o banco de dados.