338 votes

psql - enregistrer les résultats de la commande dans un fichier

Je me sers de psql `` pour répertorier toutes les tables dans une base de données. J’ai besoin d’enregistrer les résultats dans un fichier.

Je suis sûr que je l’avez fait avant mais ne me souviens pas de la syntaxe.

Merci.

565voto

jhwist Points 5270

De l’aide de psql ( `` ) :

\o [fichier] envoyer tous les résultats pour déposer de la requête ou | pipe

La séquence de commandes ressemblera à ceci :

109voto

intgr Points 9041

Le psql \o commande a déjà été décrit par jhwist.

Une approche alternative est d'utiliser l' COPY TO commande pour écrire directement dans un fichier sur le serveur. Ceci a l'avantage que c'est l'objet de dumping dans un facile à analyser format de votre choix -- plutôt que de psql est sous forme de tableaux. Il est aussi très facile à importer dans une autre table/base de données à l'aide de COPY FROM.

NB! Cela nécessite des privilèges de superutilisateur et écrire dans un fichier sur le serveur.

Exemple: COPY (SELECT foo, bar FROM baz) TO '/tmp/query.csv' (format csv, delimiter ';')

Crée un fichier CSV avec des"; " comme séparateur de champ.

Comme toujours, consultez la documentation pour plus de détails

1voto

hlovdal Points 11039

Je suppose qu’il existe une commande interne psql pour cela, mais vous pouvez également exécuter la `` commande du paquet util-linux-ng :

DESCRIPTION Script rend un texte dactylographié de tout imprimé sur votre terminal.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X