2017-06-18 4 views
1

Actuellement je peux presque obtenir un fichier CSV à partir psql en exécutant simplementComment empêcher PSQL de sortir le nombre de lignes?

psql -A -t -F'\t' -c "SELECT ...;" > myfile.csv 

Cependant, il retourne le nombre de lignes à la fin du fichier. Je peux fixer son avec head -n -1

psql -A -t -F'\t' | head -n -1 | -c "SELECT ...;" 

Mais avec des fichiers très volumineux semble exagéré. Est-ce qu'il y a un drapeau dans psql où je peux désactiver le nombre d'enregistrements retournés?

+1

Probablement '--pset =" footer = off "' (je ne peux pas tester). –

+0

Cela fonctionne, S'il vous plaît afficher ceci comme réponse – ForeverConfused

+1

Oh, il y a de meilleures réponses [ici] (https://stackoverflow.com/questions/1517635/save-pl-pgsql-output-from-postgresql-to-a-csv- fichier) :) –

Répondre

3

Il existe un certain nombre de façons courantes d'obtenir un fichier CSV à partir de PostrgeSQL (voir par exemple this question). Cependant, toutes ces méthodes ne sont pas appropriées lorsque vous travaillez avec Redshift, en partie parce que Amazon Redshift est basé sur Postgres 8.0.2.

On peut essayer d'utiliser l'option --pset="footer=off" pour empêcher psql de sortir le nombre de lignes. Veuillez également consulter le 8.0.26 psql documentation.