Práticas recomendadas para importação e exportação de dados

Esta página informa as práticas recomendadas para importar e exportar dados com o Cloud SQL. Para instruções passo a passo sobre como importar dados para o Cloud SQL, consulte Importar dados. Para instruções passo a passo sobre como exportar seus dados, seja no Cloud SQL ou em uma instância que você gerencia, consulte Exportar dados.

Práticas recomendadas para importação e exportação

Veja a seguir as práticas recomendadas a serem consideradas ao importar e exportar dados:

Não use os buckets dos pagamentos do solicitante do Cloud Storage

Não é possível usar um bucket do Cloud Storage que tem a opção Pagamentos do solicitante ativada para operações de importação e exportação do Cloud SQL.

Usar as sinalizações corretas ao criar um arquivo dump SQL

Se você não usar o procedimento correto ao exportar dados para um arquivo dump SQL, poderá ocorrer uma falha na importação. Para informações sobre como criar um arquivo dump SQL para importar para o Cloud SQL, consulte Como exportar dados.

Compacte dados para reduzir custos

O Cloud SQL permite a importação e exportação de arquivos compactados e não compactados. A compactação pode economizar um espaço de armazenamento significativo no Cloud Storage e reduzir os custos com armazenamento, principalmente durante a exportação de grandes instâncias.

Ao exportar um arquivo CSV ou dump SQL, use uma extensão de arquivo .gz para compactar os dados. Ao importar um arquivo com uma extensão de .gz, ele é descompactado automaticamente.

Reduzir processos de importação e exportação de longa duração

As importações e exportações para o Cloud SQL que usam a função de importação (por meio de um bucket do Cloud Storage) podem demorar muito para serem concluídas, dependendo do tamanho do banco de dados. Esse processo pode ter os seguintes impactos:

  • Não é possível interromper uma operação de longa duração.
  • Apenas uma operação de importação ou exportação pode ser executada por vez para cada instância.

É possível diminuir o tempo necessário para concluir cada operação usando a função de importação ou exportação do Cloud SQL com lotes menores de dados.

Para exportações, use a opção sem servidor para minimizar o impacto no desempenho do banco de dados e permitir que outras operações sejam executadas na sua instância enquanto a exportação é feita.

Para mais dicas, consulte Como diagnosticar problemas com instâncias do Cloud SQL.

Solução de problemas

Clique nos links da tabela para ver detalhes:

Para este problema... O problema pode ser... Tente o seguinte...
Não é possível ver o status da operação. A interface do usuário mostra apenas sucesso ou falha. Use estes comandos do banco de dados para saber mais.
408 Error (Timeout) durante a exportação. A exportação do SQL pode demorar muito, dependendo do tamanho do banco de dados e do conteúdo exportado. Use várias exportações de CSV para reduzir o tamanho de cada operação.
A exportação de CSV funcionou, mas a exportação de SQL falhou. A exportação de SQL tem mais chances de ter problemas de compatibilidade com o Cloud SQL. Use exportações de CSV para exportar apenas o que você precisa.
A exportação está demorando muito. O Cloud SQL não é compatível com operações síncronas simultâneas. Use o descarregamento de exportação. Saiba mais.
A importação está demorando demais. Muitas conexões ativas podem interferir nas operações de importação. Feche as conexões não usadas ou reinicie a instância do Cloud SQL antes de iniciar uma operação de importação.
Erro ao criar extensão. O arquivo dump contém referências a extensões não compatíveis. Edite o arquivo dump para remover as referências.
Erro ao usar pg_dumpall. A ferramenta exige o papel de superusuário. O papel de superusuário não é compatível.
A operação de exportação expira antes de exportar qualquer coisa. A consulta precisa produzir dados nos primeiros sete minutos. Tente uma exportação manual usando a ferramenta pg_dump.
Falha na importação. O arquivo exportado pode conter usuários do banco de dados que ainda não existem. Crie os usuários do banco de dados antes de fazer a importação.
Conexão fechada durante a operação de exportação. A consulta precisa produzir dados nos primeiros sete minutos. Teste a consulta manualmente. Saiba mais.
Erro desconhecido durante a exportação. Possível problema de largura de banda. Verifique se a instância e o bucket do Cloud Storage estão na mesma região.
Você quer automatizar as exportações. O Cloud SQL não oferece uma maneira de automatizar exportações. Crie seu próprio pipeline para executar essa funcionalidade. Saiba mais.
ERROR_RDBMS: system error occurred. Permissões do Cloud Storage ou tabela não existente. Verifique as permissões OU verifique se a tabela existe.

Não é possível ver o status da operação

Não é possível ver o status de uma operação em andamento.

O problema pode ser

O Console do Google Cloud informa apenas o sucesso ou falha no momento da conclusão e não foi projetado para retornar avisos.

O que você deve tentar

Conecte-se ao banco de dados e execute SHOW WARNINGS.


Erro 408 (tempo limite) durante a exportação

Você vê a mensagem de erro 408 Error (Timeout) ao executar um job de exportação no Cloud SQL.

O problema pode ser

Os formatos CSV e SQL são exportados de maneira diferente. O formato SQL exporta todo o banco de dados e provavelmente leva mais tempo para ser concluído. O formato CSV permite definir quais elementos do banco de dados serão incluídos na exportação.

O que você deve tentar

Use o formato CSV e execute vários jobs de exportação menores para reduzir o tamanho e a duração de cada operação.


A exportação de CSV funcionou, mas a exportação de SQL falhou

A exportação de CSV funcionou, mas a exportação de SQL falhou.

O problema pode ser

Os formatos CSV e SQL são exportados de maneira diferente. O formato SQL exporta todo o banco de dados e provavelmente leva mais tempo para ser concluído. O formato CSV permite definir quais elementos do banco de dados serão incluídos na exportação.

O que você deve tentar

Use exportações de CSV para exportar apenas o que você precisa.


A exportação está demorando muito

A exportação está demorando muito, bloqueando outras operações.

O problema pode ser

O Cloud SQL não é compatível com operações síncronas simultâneas.

O que você deve tentar

Tente exportar conjuntos de dados cada vez menores.


A importação está demorando demais

A importação está demorando muito, o que bloqueia outras operações.

O problema pode ser

Muitas conexões ativas podem interferir nas operações de importação. As conexões consomem CPU e memória, limitando os recursos disponíveis.

O que você deve tentar

Feche operações não usadas. Verifique o uso de CPU e da memória para garantir que há vários recursos disponíveis. A melhor maneira de garantir o máximo de recursos para a operação de importação é reiniciar a instância antes de começar a operação. Uma reinicialização:

  • fecha todas as conexões;
  • encerra todas as tarefas que possam estar consumindo recursos.


Erro ao criar extensão

Você vê a mensagem de erro SET SET SET SET SET SET CREATE EXTENSION ERROR: must be owner of extension plpgsql.

O problema pode ser

Ao importar um dump do PostgreSQL e você ver uma mensagem de erro semelhante, o arquivo dump contém referências a plpgsql

O que você deve tentar

Edite o arquivo dump e comente todas as linhas relacionadas a plpgsql.


Erro ao usar pg_dumpall

Você recebe um erro ao tentar usar a ferramenta de linha de comando pg_dumpall externa.

O problema pode ser

Essa ferramenta exige o papel de superusuário.

O que você deve tentar

O Cloud SQL é um serviço gerenciado e não concede aos usuários os papéis ou as permissões de superusuário.


Conexão redefinida pelo par

A operação de exportação expira antes que qualquer item seja exportado. Você vê a mensagem de erro Could not receive data from client: Connection reset by peer..

O problema pode ser

Se o Cloud Storage não recebe dados em um determinado período, a conexão é redefinida.

O que você deve tentar

Faça uma exportação manual usando a ferramenta pg_dump.


Falha na importação

A importação falha quando um ou mais usuários referenciados no arquivo de despejo SQL exportado não existem.

O problema pode ser

Antes de importar um arquivo de dump SQL, todos os usuários do banco de dados que têm objetos ou receberam permissões nos objetos no banco de dados despejado precisam existir. Caso contrário, a restauração não recriará os objetos com a propriedade e/ou as permissões originais.

O que você deve tentar

Crie os usuários do banco de dados antes de importar o dump SQL.


Conexão fechada durante a operação de exportação

Conexão fechada durante a operação de exportação.

O problema pode ser

A conexão com o Cloud Storage pode expirar porque a consulta em execução na exportação não está produzindo nenhum dado nos primeiros sete minutos desde que a exportação foi iniciada.

O que você deve tentar

Teste a consulta manualmente conectando-se a partir de qualquer cliente e enviando a saída da consulta para STDOUT com o comando abaixo:

COPY (INSERT_YOUR_QUERY_HERE) TO STDOUT WITH ( FORMAT csv, DELIMITER ',', ENCODING 'UTF8', QUOTE '"', ESCAPE '"' ).

Esse é o comportamento esperado, porque quando a exportação é iniciada, o cliente deve começar a enviar dados imediatamente. Caso a conexão continue sem dados enviados, ela acaba sendo interrompida e, por fim, resultando em falha na exportação e deixando a operação em um estado incerto. Além disso, é isso que a mensagem de erro do gcloud está tentando dizer com esta mensagem:

operation is taking longer than expected.


Erro desconhecido durante a exportação

Você verá a mensagem de erro Unknown error ao tentar exportar um banco de dados para um bucket do Cloud Storage.

O problema pode ser

A transferência pode falhar devido a um problema de largura de banda.

O que você deve tentar

A instância do Cloud SQL pode estar em uma região diferente do bucket do Cloud Storage. A leitura e a gravação de dados de um continente para outro envolve o uso excessivo de rede e pode causar problemas intermitentes como esse. Verifique as regiões da instância e do bucket.


Querer automatizar exportações

Você quer automatizar as exportações.

O problema pode ser

O Cloud SQL não oferece uma maneira de automatizar exportações.

O que você deve tentar

É possível criar seu próprio sistema de exportação automatizada usando produtos do Google Cloud, como Cloud Scheduler, Pub/Sub e Cloud Functions.


Houve um erro de sistema ERROR_RDBMS

Você vê a mensagem de erro [ERROR_RDBMS] system error occurred.

O problema pode ser

  • O usuário pode não ter todas as permissões necessárias do Cloud Storage.
  • A tabela de banco de dados pode não existir.

O que você deve tentar

  1. Verifique se você tem pelo menos as permissões WRITER no bucket e READER no arquivo de exportação. Para mais informações sobre como configurar o controle de acesso no Cloud Storage, consulte Criar e gerenciar listas de controle de acesso.
  2. Verifique se a tabela existe. Se a tabela existir, confirme se você tem as permissões corretas no bucket.

A seguir