PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 19/05/2015 13:12:56

icadedt
Membre

bash linux et psql loop

Bonjour,

je souhaite récupérer et concaténer les valeur dans une colonne de ma table et
je souhaite faire ca dans un bash alors je fais :

  
#!/bin/bash
export PGPASSWORD='monmotdepasse'
$Aaa= "" 
for i in $(psql -h 00.00.00.00 -p 5432 -U utilisateur -w -d mabase -c "SELECT id  FROM  matable limit 100"); do
 
    $Aaa+=" "$i 
 
done


echo $Aaa

le probleme c'est que pour faire ca il faudrait un while plutot qu'un FOR mais je suis assez novice en bash...
Merci d'avance

Dernière modification par icadedt (19/05/2015 13:13:30)

Hors ligne

#2 19/05/2015 14:04:53

gleu
Administrateur

Re : bash linux et psql loop

Ça se fait en une requête :

SELECT string_agg(id::text, ' ') FROM (SELECT id FROM t1 LIMIT 100) tmp;

Guillaume.

Hors ligne

#3 19/05/2015 14:11:57

icadedt
Membre

Re : bash linux et psql loop

gleu a écrit :

Ça se fait en une requête :

SELECT string_agg(id::text, ' ') FROM (SELECT id FROM t1 LIMIT 100) tmp;

avec FOR , on a malheureusement le nom de la colonne et "------------" faisant partie du résultat
comment faire pour ne pas les avoir ?

Hors ligne

#4 19/05/2015 14:22:26

gleu
Administrateur

Re : bash linux et psql loop

La doc de psql (http://docs.postgresql.fr/9.4/app-psql.html) vous indique les bonnes options pour éviter d'avoir que les entêtes et bas de page. Ou plutôt pour n'avoir que les lignes.


Guillaume.

Hors ligne

#5 19/05/2015 15:05:42

icadedt
Membre

Re : bash linux et psql loop

si seulement la doc était compréhensible...

en gros faut rajouter un -T ?

Hors ligne

#6 19/05/2015 15:42:49

gleu
Administrateur

Re : bash linux et psql loop

Presque, -t. En quoi la doc n'est pas compréhensible ? "Désactive l'affichage des noms de colonnes et le pied de page contenant le nombre de résultats, etc.", ça me paraît clair et ce que vous cherchez.


Guillaume.

Hors ligne

Pied de page des forums