Comment voulez-vous imprimer le résultat d'une requête PostgreSQL en CSV ou TSV format de la ligne de commande?
J'aimerais exécuter une requête à partir de la coque (pas dans interactive psql client) et de l'imprimer au format CSV ou TSV représentation de la sortie vers STDOUT. Comment faites-vous cela avec psql
ou de l'une de PostgreSQL outils en ligne de commande?
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez PostgreSQL 8.2 ou plus récent, l'utiliser pour CSV:
et ce de TSV, avec les valeurs Null:
Le CSV formulaire correct de citer tous les champs qui contiennent le caractère de guillemets doubles. Voir la documentation PostgreSQL de votre version spécifique pour plus de détails et les options de COPIE.
À partir de Bohème de réponse, j'ai trouvé ces indicateurs utiles:
ÉDITÉ: Aide -F
Utiliser les virgules par
-F
et l'utilisation "non alignés table de mode de sortie"-A
:Pour spécifier un tsv utiliser le délimiteur '\t'
Pour spécifier un csv utiliser le délimiteur ','
Également possible est la copie de commande qui vous permet de spécifier l'en-tête, les séparateurs et en citant les options
Vous pouvez spécifier le séparateur de champ avec l'option-F paramètre de ligne de commande pour psql
À l'exportation COMME TSV AVEC en-TÊTE
Vous pouvez inclure l'en-TÊTE comme suit:
E. g. (PSQL):
BASH: