Manual MyTable

PostgreSQL • Duplicar Tabela

Use esta função para criar uma cópia de uma tabela existente no PostgreSQL. É útil para testes, versões de homologação, backup rápido de trabalho ou para montar um ambiente de experimentação sem afetar a tabela original.


Antes de começar

  • Confirme o schema de origem (ex.: public) e o nome exato da tabela.
  • Defina um nome claro para a cópia (ex.: clientes_tmp, pedidos_hmg).
  • Decida se a cópia terá somente estrutura ou também os dados.

Abrir “Duplicar Tabela”

  1. Conecte-se à sua conexão PostgreSQL e selecione o banco.
  2. Escolha o schema correto.
  3. Na árvore, selecione a tabela desejada.
  4. No menu de ações, toque em Duplicar Tabela.

Opções de duplicação

  • Nome da nova tabela: defina o identificador de destino (sem espaços/acentos).
  • Schema de destino: por padrão, o mesmo da origem; é possível mudar (se tiver permissão).
  • O que copiar:
    • Estrutura (colunas, tipos, defaults, NOT NULL).
    • Dados (opcional): copia todas as linhas atuais.
    • Índices (opcional): recria os índices da origem no destino.
    • Constraints (opcional): PK/UK/CK e FKs, quando fizer sentido.
    • Comentários (opcional): documentação de tabela/colunas.

Dica: Ao copiar FKs, confirme se as tabelas referenciadas também existem/acessíveis no destino. Caso contrário, deixe as FKs para criar depois.


Passo a passo

  1. Revise Origem (schema.tabela) e informe Destino (schema + nome).
  2. Marque as opções desejadas (dados, índices, constraints, comentários).
  3. (Opcional) Ajuste o owner da nova tabela e privilégios básicos.
  4. Toque em Duplicar e acompanhe o status.
  5. Ao concluir, a nova tabela aparecerá na árvore do schema escolhido.

Boas práticas

  • Use um prefixo/sufixo padrão para cópias (_tmp, _hmg, _bk + data).
  • Para bases grandes, prefira primeiro somente estrutura e depois copie dados em lotes (quando necessário).
  • Se for compartilhar a cópia, configure Permissões adequadas.
  • Documente o propósito e o prazo de vida da cópia para evitar “tabelas órfãs”.

Limitações e observações

  • Triggers e funções referenciadas não são copiadas automaticamente para a nova tabela por padrão. Recrie-as se necessário (veja Triggers e Funções).
  • Sequências associadas a colunas IDENTITY/SERIAL podem exigir ajuste do próximo valor (setval) após copiar dados.
  • Constraints de FK podem falhar se as tabelas referenciadas não existirem ou se os dados não forem coerentes.

Erros comuns (e soluções)

“Tabela de destino já existe”

  • Escolha outro nome ou remova/renomeie a tabela existente.

“Permissão negada para criar no schema X”

  • Garanta USAGE/CREATE no schema de destino (veja Permissões).

“Falha ao copiar índices/constraints”

  • Reveja nomes que conflitam e dependências (FKs). Tente criar primeiro a estrutura e depois os demais objetos.

“Dados muito grandes (timeout/lentidão)”

  • Considere copiar só a estrutura e, em seguida, migrar dados por lotes (Editor SQL) com LIMIT/OFFSET.

Depois de duplicar

  • Confira estatísticas (Analyze) e crie índices necessários para os testes.
  • Valide permissões de quem vai acessar a nova tabela.
  • Se a cópia for temporária, agende limpeza ao final do uso.

Ferramentas relacionadas

Voltar: PostgreSQL • Permissões