"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Dicas para exportar com eficiência os resultados da consulta PL/PGSQL para os arquivos CSV no PostgreSQL

Dicas para exportar com eficiência os resultados da consulta PL/PGSQL para os arquivos CSV no PostgreSQL

Postado em 2025-04-12
Navegar:866

How to Efficiently Export PL/pgSQL Query Results to a CSV File in PostgreSQL?

Exportar PL/PGSQL Saída para o arquivo CSV no PostGresql

Introdução

exportando dados do PostgreSQL para um arquivo CSV é uma tarefa comum na análise de dados e processamento adicional. Este artigo discute duas maneiras de atingir esse objetivo usando o processo PL/PGSQL:

Método do lado do servidor

Este método utiliza o comando de cópia incorporado no PostGresql. Ele permite que você escreva o resultado do SQL diretamente nos arquivos no servidor. Exemplo:

COPY (SELECT * FROM foo) TO '/tmp/test.csv' WITH CSV DELIMITER ',' HEADER;

vantagem:

  • alta eficiência para exportação de dados grandes
  • execute completamente no servidor, minimizando o servidor do cliente

detrimento:

  • requer permissões de super usuário
  • pode escrever apenas arquivos no servidor

método do cliente

você pode usar o copy para stdout para recuperar dados e processar gravações de arquivos no aplicativo cliente em vez de usar a cópia no servidor. Exemplo em psql:

\copy (SELECT * FROM foo) TO '/tmp/test.csv' WITH CSV DELIMITER ',' HEADER

vantagem:

  • Nenhum Super Usuário permissões necessárias
  • Permitir acesso aos arquivos no cliente

detrimento:

  • talvez mais lento que o método do lado do servidor
  • requer processamento adicional no aplicativo cliente

Precauções de segurança

Se você escolher um método do lado do servidor, certifique-se de implementar medidas de segurança apropriadas, como:

  • Crie funções usando a opção de definidor de segurança para aplicar direitos de acesso de arquivo e tabela específicos ao usuário.
  • Verifique novamente as permissões de arquivo e verifique se o servidor não pode acessar dados confidenciais.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3