Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#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
Ç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
Pages : 1