"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Conseils pour exporter efficacement les résultats de la requête PL / PGSQL vers les fichiers CSV dans PostgreSQL

Conseils pour exporter efficacement les résultats de la requête PL / PGSQL vers les fichiers CSV dans PostgreSQL

Publié le 2025-04-12
Parcourir:259

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

Exporter PL / PGSQL Sortie vers le fichier CSV dans PostgreSQL

Introduction

L'exportation des données de PostgreSQL vers un fichier CSV est une tâche courante dans l'analyse des données et le traitement ultérieur. Cet article examine deux façons d'atteindre cet objectif en utilisant le processus PL / PGSQL:

méthode côté serveur

Cette méthode utilise la commande copie intégrée en postgresql. Il vous permet d'écrire directement des résultats SQL sur les fichiers du serveur. Exemple:

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

avantage:

  • Haute efficacité pour les grandes exportations de données
  • Exécutez complètement sur le serveur, minimisant les surfaces de serveur client

défaut:

  • nécessite des autorisations de super utilisateur
  • ne peut écrire que des fichiers sur le serveur

méthode client

Vous pouvez utiliser Copy sur STDOUT pour récupérer les données et les écritures de fichiers de traitement dans l'application client au lieu d'utiliser la copie sur le serveur. Exemple dans psql:

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

avantage:

  • Aucune autorisation de super utilisateur requise
  • Autoriser l'accès aux fichiers du client

défaut:

  • peut-être plus lent que la méthode côté serveur
  • nécessite un traitement supplémentaire dans l'application client

Précautions de sécurité

Si vous choisissez une méthode côté serveur, assurez-vous d'implémenter des mesures de sécurité appropriées, telles que:

  • Créer des fonctions à l'aide de l'option Security Definer pour appliquer des droits d'accès aux fichiers et à la table spécifiques à l'utilisateur.
  • Vérifiez joyeusement les autorisations de fichiers et assurez-vous que le serveur ne peut pas accéder aux données sensibles.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3