PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Tabela temporária de despejo do PostgreSQL


Acho que você não conseguirá usar pg_dump para essa tabela temporária. O problema é que tabelas temporárias só existem dentro da sessão em que elas foram criados :

Então você criaria a tabela temporária em uma sessão, mas pg_dump estaria usando uma sessão diferente que não possui sua tabela temporária.

No entanto, COPY Deveria trabalhar:

mas você estará copiando os dados para a saída padrão ou para um arquivo no servidor de banco de dados (que requer acesso de superusuário):

Portanto, usar COPY para despejar a tabela temporária diretamente em um arquivo pode não ser uma opção. Você pode COPIAR para a saída padrão, mas o quão bem isso funcionará depende de como você está acessando o banco de dados.

Você pode ter mais sorte se não usar tabelas temporárias. Você teria, é claro, que gerenciar nomes de tabela exclusivos para evitar conflitos com outras sessões e teria que tomar cuidado para garantir que suas tabelas temporárias não temporárias fossem descartadas quando você terminasse com elas.