#1 Thu 28 September 2017 09:17
- Lacenaire
- Juste Inscrit !
- Date d'inscription: 16 May 2017
- Messages: 7
Utiliaires Postgres sur PgAdmin - PGClimb
Bonjour à tous,
J'aimerais avoir quelques explications sur l'utilisation des utilitaires Postgres et notamment PGClimb https://github.com/lukasmartinelli/pgclimb (permettant de faire des exports de table en diffèrent format).
J'utilise PGadmin pour l'administration de ma base de données et je n'arrive pas à appeler PGClimb dans mes requêtes SQL.
Le tuto du lien ci-dessous nous indique qu'il faut l'appeler par les commandes PGClimb -o -c etc... mais PgAdmin ne reconnaît pas ce langage.
Est-il possible de le faire ? Où doit-on exclusivement passer par le terminal ?
Merci pour vos réponses !
Lacenaire
Hors ligne
#2 Thu 28 September 2017 10:14
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1159
Re: Utiliaires Postgres sur PgAdmin - PGClimb
Salut,
Je pense que cet outil est réservé à la ligne de commande.
Hors ligne
#3 Tue 03 October 2017 13:57
- blesca
- Juste Inscrit !
- Date d'inscription: 1 Oct 2017
- Messages: 4
Re: Utiliaires Postgres sur PgAdmin - PGClimb
Hi,
Il est possible d'exporter dans différents format avec les fonctions postgres.
Ex : https://www.postgresql.org/docs/9.3/sta … -json.html
Quel est le format attendu?
B.
Hors ligne
#4 Tue 03 October 2017 15:48
- Lacenaire
- Juste Inscrit !
- Date d'inscription: 16 May 2017
- Messages: 7
Re: Utiliaires Postgres sur PgAdmin - PGClimb
Merci pour vos réponses
Il me faudrait faire des export en xls...
Cela semble compliqué, non?
L.
Hors ligne
#5 Tue 03 October 2017 17:41
- nworr
- Participant actif
- Date d'inscription: 10 Apr 2014
- Messages: 77
Re: Utiliaires Postgres sur PgAdmin - PGClimb
Pas forcément compliqué , mais il faut forcément l'installer et lancer les commandes depuis un terminal .
Pgadmin permet sinon de faire des export csv , qui peuvent ensuite être converti "à la main" en tableur xls ...
Hors ligne
#6 Wed 04 October 2017 10:05
- Lacenaire
- Juste Inscrit !
- Date d'inscription: 16 May 2017
- Messages: 7
Re: Utiliaires Postgres sur PgAdmin - PGClimb
Merci,
Question certainement débile :
Quelles sont les avantages de devoir passer par le terminal plutôt d'un logiciel d'administration de bdD?
L.
Hors ligne
#7 Wed 04 October 2017 10:40
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1159
Re: Utiliaires Postgres sur PgAdmin - PGClimb
Si vous voulez parler du fait d'utiliser le client psql dans le terminal, les avantages sont :
- utiliser psql dans des scripts, rediriger ses entrées/sorties
- beaucoup de commandes sont disponibles, une fois apprises,
on peut inspecter ses bdd très rapidement.
exemple : lister toutes les tables d'un schema, etc...
les avantages d'un logiciel admin :
- c'est graphique, donc pas besoin de retenir les commandes / consulter l'aide à chaque instant
- édition multi ligne d'une requête, plus pratique que de taper du sql ligne à ligne dans un terminal.
[EDIT] en fait on peut utiliser un programme externe avec psql pour éditer les requêtes
- certains plugins peuvent être utiles et rapide à utiliser.
Psql est plus orienté power user, si vous passez vos journées le nez dans vos cluster postgres,
ca peut valoir le coup de s'y mettre, vous gagnerez en souplesse et donc en temps.
Sinon vous pouvez toujours en apprendre les rudiments, çà peut vous être utile.
Dernière modification par tumasgiu (Wed 04 October 2017 10:47)
Hors ligne
#8 Wed 04 October 2017 12:41
- Lacenaire
- Juste Inscrit !
- Date d'inscription: 16 May 2017
- Messages: 7
Re: Utiliaires Postgres sur PgAdmin - PGClimb
Merci pour ces précisions
Mais j'ai toujours un problème avec le terminal et pgclimb.
Quand j'execute dans le terminal :
Code:
pgclimb -o CHEMIN/NOM_FICHIER.xlsx -c "SELECT * FROM NOM_TAbLE" xlsx
Il m'indique
Code:
relation " NOM_TAbLE" does not exist
Alors qu'il est paramètré pour se connecter à ma base.
je n'arrive pas non plus à modifier le parametre de connection à la base comme avec cela :
Code:
pgclimb -d "EAU" --host "localhost" --port "5432" --username "postgres" --pass ""
Comme indiqué ici : https://github.com/lukasmartinelli/pgclimb
Hors ligne
#9 Wed 04 October 2017 14:18
- nworr
- Participant actif
- Date d'inscription: 10 Apr 2014
- Messages: 77
Re: Utiliaires Postgres sur PgAdmin - PGClimb
J'arrive à lancer des commandes en spécifiant les paramètres au début et le format de sortie à la fin :
Code:
pgclimb_windows_amd64.exe --host "<hote>" -U "<utilsateur>" --password "<pass>" -d "<nombase>" -o fichier.xlsx --query "select * from tabble " xlsx
ou sans guillement sauf query
Code:
pgclimb_windows_amd64.exe --host <hote> -U <utilsateur> --password <pass> -d <nombase> -o fichier.xlsx --query "select * from tabble " xlsx
Par contre postgres est sensible à la casse des nom de tables et bases , si il y a des majuscules, il vaut mieux les mettre entre guillemets ou guillemets échappés ? (\")
Hors ligne
#10 Wed 04 October 2017 15:06
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1159
Re: Utiliaires Postgres sur PgAdmin - PGClimb
Par contre postgres est sensible à la casse des nom de tables et bases , si il y a des majuscules, il vaut mieux les mettre entre guillemets ou guillemets échappés ? (\")
postgres est sensible à la casse mais tout nom qui a été déclaré sans être encadré par des double quote
est transformé en casse basse.
Exemple
Code:
CREATE TABLE "T" (id int); SELECT * FROM t ; -- erreur syntaxe SELECT * FROM T ; -- erreur syntaxe SELECT * FROM "T" ; -- fonctionne CREATE TABLE W (id int); SELECT * FROM W -- fonctionne SELECT * FROM w -- fonctionne SELECT * FROM "W" -- erreur syntaxe
Donc utilisation des double quote echappées en ligne de commande,
ou bien utilisation de quote simple pour encadrer la requête :
Code:
'SELECT * FROM "T"'
Dernière modification par tumasgiu (Wed 04 October 2017 15:25)
Hors ligne
#11 Wed 04 October 2017 16:35
- Lacenaire
- Juste Inscrit !
- Date d'inscription: 16 May 2017
- Messages: 7
Re: Utiliaires Postgres sur PgAdmin - PGClimb
Bonjour,
Mon problème est en partie résolu.
Il exporte bien un fichier en xlsx.
il faillait mettre la query entre simple quote ' ' et non double " ".
Cependant pgclimb ne semble pas apprécier tous les types de champs.
-Il accepte bien le int,
-il sort des cellules vide pour le double precision,
-il sort bien le numeric, sauf lorsque le chiffre est un entier (il le mets en texte)
-il sort bien le character varying.
Savez-vous d'ou peut provenir le problème ?
merci encore
Hors ligne
#12 Wed 04 October 2017 18:26
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Utiliaires Postgres sur PgAdmin - PGClimb
Bonsoir,
Et juste avec psql et la commande COPY, histoire d'avoir du CSV comme proposé par nwor ?
Vous avez un fichier ouvrable dans Excel ou libreOffice, puis sauvable en xlsx.
Vous n'aurez pas de pb sur les champs avec les bonnes options COPY, par ex:
Code:
psql -p 5432 -h localhost -U monuser -c "COPY matable to 'C:/tmp/matable.csv' WITH (header true, format CSV, encoding 'UTF8', delimiter ',') " mabase
Nicolas
Hors ligne
#13 Fri 06 October 2017 11:50
- Lacenaire
- Juste Inscrit !
- Date d'inscription: 16 May 2017
- Messages: 7
Re: Utiliaires Postgres sur PgAdmin - PGClimb
Il semblerait qu'il n'accepte définitivement que le INT...
Merci pour vos aides.
L.
Hors ligne