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 15/03/2016 17:32:49

Dany1234
Membre

Connexion PSQL par l'invite de commande

Salut,

Je viens de me mettre à postgresql. Tout marche bien manuellement, mais je voudrais me connecter au serveur de ma base de données depuis l’invite de commande.

Je n’y arrive pas malgré les postes que j’ai pu lire dessus. J’aurai besoin d’un peu d’aide.

Je tape :
cd C:\Program Files\PostgreSQL\9.3\bin puis psql

La console me renvoie :
" psql n’a pas pu se connecter au serveur : Connection refused (0x0000274D/10061) Le serveur est-il actif sur l’hôte « localhost » (127.0.0.1) et accepte-t-il les connexionTCP/IP sur le port 5432 ?"

C’est clairement pas le bon port, je l’ai changé dans postgresql.conf, est –ce suffisant ? Sinon je ne vois pas pourquoi ça ne marche pas.
Si vous avez des idées, n’hésitez pas.

Modification du port dans postgresql.conf :
# - Connection Settings -
listen_addresses = '*'                                   
port = 5001               
max_connections = 100       

pg_hba.conf:
# IPv4 local connections:
host        all             all          127.0.0.1/24                          trust

Autres infos:
Hôte : localhost
Port TCP :5001
Nom serveur : JKL Prod

Hors ligne

#2 15/03/2016 18:25:35

rjuju
Administrateur

Re : Connexion PSQL par l'invite de commande

Bonjour,

Il faut spécifier dans le client (psql) les informations pour se connecter à la bonne instance. Dans votre cas, à priori « psql -p 5001 »



Pensez également à modifier votre variable d'environnement Path pour ne pas avoir besoin de spécifier le répertoire où trouver psql.

Hors ligne

#3 15/03/2016 19:24:07

Dany1234
Membre

Re : Connexion PSQL par l'invite de commande

Je vous remercie pour votre réponse rapide.

J'ai modifié le path, c'est en effet beaucoup plus pratique comme cela.

Par contre en spécifiant -p 5001, ça me met "psql: ERROR: No such database: Danyb"

Ce qui est mon nom utilisateur de session windows et qui n'a donc rien a voir...

D'autres idées?

Hors ligne

#4 15/03/2016 19:48:38

rjuju
Administrateur

Re : Connexion PSQL par l'invite de commande

Il s'agit du comportement normal de psql. Sans rien lui spécifier, il teste la connexion avec le nom d'utilisateur système en tant qu'utilisateur postgres et nom de base. Voyez les options -U et nombase dans la documentation : http://docs.postgresqlfr.org/9.5/app-psql.html

Hors ligne

#5 16/03/2016 11:13:03

Dany1234
Membre

Re : Connexion PSQL par l'invite de commande

Merci!
J'avais bien essayé en spécifiant -h -p et -U mais je viens de me rendre compte que je m'était trompé pour le paramètre de la BDD.
Donc ça marche!

La console me met tout de même que l'encodage de la console diffère de Windows, est-ce important? J'ai vu que certain rajoutait chcp 1252 dans le fichier runpsql.bat
Me conseillez-vous de le faire?

Une dernière question. Lorsque j'entre mes requêtes à la main dans l'invite tout fonctionne. A présent j'aimerais appeler mes fichiers.sql pour les exécuter et lorsque je spécifie le chemin ça me met "D: Permission denied" est-ce parce que ma commande n'est pas bonne ou est-ce autre chose?

Voici ma commande:
nom_base-> \i D:\Users\...\Requetes\extraction.sql

Hors ligne

#6 16/03/2016 12:31:16

rjuju
Administrateur

Re : Connexion PSQL par l'invite de commande

La console me met tout de même que l'encodage de la console diffère de Windows, est-ce important? J'ai vu que certain rajoutait chcp 1252 dans le fichier runpsql.bat

Oui, vous risquez des erreurs sinon.


Une dernière question. Lorsque j'entre mes requêtes à la main dans l'invite tout fonctionne. A présent j'aimerais appeler mes fichiers.sql pour les exécuter et lorsque je spécifie le chemin ça me met "D: Permission denied" est-ce parce que ma commande n'est pas bonne ou est-ce autre chose?

Voici ma commande:
nom_base-> \i D:\Users\...\Requetes\extraction.sql

Soit l'utilisateur système courant n'a pas accès à ces fichiers, soit vous lancer psql via un script(runpsql.bat ?) qui change l'utilisateur (\runas par exemple) pour un qui n'a pas accès à ces fichiers.

Hors ligne

#7 16/03/2016 15:32:26

Dany1234
Membre

Re : Connexion PSQL par l'invite de commande

Merci pour vos réponses mais j'avoue que je ne comprends pas...
Je me connecte au serveur de ma BDD qui est en réseau.
Je voudrais que mes fichiers.sql qui sont sur ma session puissent être exécutés via l'invite de commande pour interroger cette base de données. Est-ce possible?

Comment vérifier qu'il s'agit d'un problème d'utilisateur?

Hors ligne

#8 16/03/2016 16:43:00

rjuju
Administrateur

Re : Connexion PSQL par l'invite de commande

Je parlais bien de l'utilisateur système local, sur votre session. Je m'aperçois également qu'il s'agit plus certainement d'un problème sur le nom du fichier. Pouvez-vous essayer en entourant le nom de guillemets doubles (\i "D:\Users..." ), ou en utilisant des slash plutôt que des antislash ?

Hors ligne

Pied de page des forums