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 12/03/2019 14:32:35

philDeDakar
Membre

[V10] pg_dump

Bonjour
Je désirais utiliser pg_dump sous windows 10 pour récupérer le schémas d'une base de données d'un serveur Ubuntu. Hors si mon mot de passe contient 1 caractères «@» cela plante

Voici la commande que je lance :
"D:\Mes Projets\Archive_Soft2\Exe\libpq32\pg_dump.exe" --dbname=postgres://postgres:*P@rtiPris@2019*@<server adresse or server DNS name>/<database name> --file="D:\Mes Projets\Archive_Soft2\Exe\libpq32\dumpbase.sql" --schema-only

pg_dump considère que «rtiPris@2019*@<server adresse or server DNS name>» est le nom du serveur...
j'ai essayé : d'encadrer le mot de passe avec '' "" de mettre \ devant les @ mais rien à faire

Une idée ?

si je test avec un user dont le mot de passe ne contient pas de caractère «@» cela fonctionne à merveille

ps
*P@rtiPris@2019* n'est pas le véritable password

Hors ligne

#2 12/03/2019 14:59:45

rjuju
Administrateur

Re : [V10] pg_dump

Bonjour,


Le problème n'est pas spécifique à pg_dump mais à tout programme utilisant la libpq.  Ce cas de figure n'est pas supporté, car c'est ambigu.  Vous pouvez soit fournir le mot de passe de manière intéractive, soit utiliser le fichier .pgpass.

Hors ligne

#3 12/03/2019 15:01:47

philDeDakar
Membre

Re : [V10] pg_dump

Dans https://www.postgresql.org/docs/current … CONNSTRING
je trouve : "Percent-encoding may be used to include symbols with special meaning in any of the URI parts, e.g. replace = with %3D."
J'ai donc remplacé met «@» en «%40»
Résultat : «%40» est transformé en «0» il supprime donc juste le «%4» et naturellement j'ai un échec de l'authentification...

Hors ligne

#4 12/03/2019 15:40:11

rjuju
Administrateur

Re : [V10] pg_dump

Exact, cela devrait également fonctionner.


Sur ma machine linux, le %40 est bien remplacé en @.  Je suppose qu'il s'agit d'un comportement spécifique des shell Windows, où % est utilisé pour les noms de variables.  Consultez la documentation de Windows pour savoir comment avoir le caractère % plutôt que (à priori) la variable %4.

Hors ligne

#5 12/03/2019 16:00:17

philDeDakar
Membre

Re : [V10] pg_dump

@rjuju
[RESOLU]
Merci pour votre aide car je testais via un fichier cmd juste pour avoir la bonne syntaxe...
Via l'assemblage 'system.Diagnostics.process' il n'y a pas de soucis en remplaçant les @ par %40

Hors ligne

Pied de page des forums