Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 22 December 2010 16:35

Anaïs Just
Participant actif
Lieu: Montreuil
Date d'inscription: 10 Dec 2007
Messages: 131

changer le port d'écoute dans le DOS

Bonjour,

Je travaille actuellement sur la version 9.0 de postgresql mais j'ai encore la 8.4 sur mon ordi.
Je suis sous windows.
Dans mon dos je me suis connectée en tant qu'utilisateur postgres avec la commande

runas \user:postgres cmd

ensuite je me suis placée dans mon répertoire de travail

cd C:\Program Files\PostgreSQL\9.0\bin

pour lancer la commande shp2pgsql.


C:\Program Files\PostgreSQL\9.0\bin>shp2pgsql -s 27572 C:\batis_isoles_clape.shp batis_isoles_clape|psql mabasesilat


Le problème c'est que je cherche à importer un shape dans ma base qui est sous postgres9.0 (port 5433) mais par défaut mon port d'écoute est le 5432 (postgresql8.4).

Du coup j'ai un message d'erreur car il ne trouve pas ma base.

psql: FATAL:  la base de données « mabasesilat » n'existe pas


Comment faire pour changer le port dans ma ligne de commande sans passer par un changement manuel dans le fichier de configuration?
J'ai essayé la commande suivante

postgres -p:5433

mais j'ai le message d'erreur suivant

postgres ne sait pas o trouver le fichier de configuration du serveur.
Vous devez soit sépcifier l'option --config-file soit spécifier l'option -D
soit initialiser la variable d'environnement.


Quelqu'un pourrait-il me dire comment on utilise cette option config-file? ou comment on change de port plus simplement? je n'ai pas trouvé d'option de port dans l'executable shp2pgsql

Merci beaucoup!!

Anaïs

Hors ligne

 

#2 Wed 22 December 2010 18:18

ThomasG
Membre
Lieu: Nantes
Date d'inscription: 9 Sep 2005
Messages: 947
Site web

Re: changer le port d'écoute dans le DOS

Bonjour,

Je n'ai jamais été confronté à ce problème de configuration. Il n'y a pas besoin de gérer le port dans shp2pgsql mais au niveau  de psql.
En effet, shp2pgsql se charge de convertir en SQL/COPY votre shp  mais pour charger cet élément dans la base, c'est psql qui intervient et ce dernier permet de changer de port.

En repartant de l'exemple sur http://www.bostongis.com/pgsql2shp_shp2 … kguide.bqg
Vous aurez une ligne du type

Code:

shp2pgsql -s 27572 C:\batis_isoles_clape.shp batis_isoles_clape|psql -h localhost -p 5433 -d mabasesilat -U postgres

Cordialement

ThomasG

Hors ligne

 

#3 Mon 03 January 2011 15:48

Anaïs Just
Participant actif
Lieu: Montreuil
Date d'inscription: 10 Dec 2007
Messages: 131

Re: changer le port d'écoute dans le DOS

Merci!! ça a fonctionné.
Au passage, connaissez vous un tutoriel qui explique clairement sous windows, pour postgresql, l'utilisation des différentes interfaces (psql shell, dos, pgadmin). Je suis un peu perdue quand je dois choisir par laquelle passer et je n'ai trouvé que de la doc sous linux qui passe par  la gestion des superutilisateurs etc.

Et bonne année 2011!!!

Hors ligne

 

#4 Mon 03 January 2011 18:12

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: changer le port d'écoute dans le DOS

Anaïs Just a écrit:

Merci!! ça a fonctionné.
Au passage, connaissez vous un tutoriel qui explique clairement sous windows, pour postgresql, l'utilisation des différentes interfaces (psql shell, dos, pgadmin). Je suis un peu perdue quand je dois choisir par laquelle passer et je n'ai trouvé que de la doc sous linux qui passe par  la gestion des superutilisateurs etc.

Et bonne année 2011!!!


Bonjour,

Sans parler du tutoriel:

• psql est l'outil de commande de postgresql, en ligne de commande, donc: sous DOS avec Windows, et dans un shell sous une distribution mac ou linux/unix.
Le gros avantage de cet outil est qu'il est livré avec Postgresql et est donc disponible tout le temps.
Maitriser cet outil (dont les commandes SONT LES MEMES quelque soit la plateforme) est alors la garantie que l'on peut se servir de postgresql en toute circonstance, notamment lors de prise de machines a distance (ssh par exemple), et sans interface graphique.

• PgAdmin est un outil d'administration indépendant de Postgresql, en mode graphique.
Il a le gros avantage d'etre disponible sous toutes les plateformes (Windows, Linux, Mac, etc) et se presente sous la meme forme sous toutes les plateformes (a quelques differences pres).

Il permet d'executer des requetes SQL mais aussi de nombreuses taches d'admin en mode graphique: il est donc facile a prendre en main, facile a comprendre.
Il a, a mon sens, le gros inconvénient de verrouiller l'instance entiere de Postgresql sur laquelle il est connecté, empechant par exemple a une autre personne de dropper une base de donnée de ladite instance. Il faut donc avoir la rigueur de fermer l'outil quand on ne s'en sert pas, histoire de ne pas avoir a tuer toutes les connexions sur une instance en cas de lock.

Enfin, un petit mot concernant les utilisateurs:
Il y a souvent une confusion sur les utilisateurs quand on parle de PostgreSQL, entre les utilisateurs du systeme d'exploitation et les utilisateurs de la base de données:

• L'installation de Postgresql doit se faire avec un utilisateur du systeme d'exploitation qui n'a pas de droits particuliers, notamment les droits administrateurs, pour une question de sécurité si qq'un prenait le controle de Postgresql.
C'est pour cela que sous Windows ou Linux, un utilisateur "postgres" est crée.

• Une fois la base de données installée, il faut aussi créer des utilisateurs pour cette base de données, notamment un superutilisateur qui pourra créer de nouvelles bases. La plupart des installeurs créent donc un utilisateur BD appelé postgres, mais qui n'a rien a voir avec le compte systeme postgres qui a installé l'application.

La confusion peut venir du fait que sous Linux, un des modes d'authentification possibles pour accéder a PostgreSQL est "IDENT SAMEUSER", ce qui signifie: "authentifie-toi aupres de la base Postgresql en prenant le meme nom que l'utilisateur du systeme qui est actuellement connecté".
Ca permet, sous Linux, de se connecter en tant qu'utilisateur systeme "postgres" ET d'accéder a l'instance Postgresql en meme temps, sans retaper de mot de passe ou se ré-authentifier.

Par exemple, sur ma machine, apres avoir installé une instance postgresql, je fais deux choses:
1) Je crée un superutilisateur Postgresql ayant le meme nom que le compte de ma machine: nicolas
2) Je crée une base de données appelée "nicolas"

De la sorte, qd je tape "psql" dans mon terminal, je suis automatiquement connecté a la base de données "nicolas" (sachant que par défaut, psql se connecte a une base ayant le nom de l'utilisateur systeme).

Voila voila... Bon je suis un peu long, je m'arrete.

Hors ligne

 

#5 Tue 04 January 2011 09:46

Anaïs Just
Participant actif
Lieu: Montreuil
Date d'inscription: 10 Dec 2007
Messages: 131

Re: changer le port d'écoute dans le DOS

non c'est très bien, merci pour ces précisions: c'est difficile de trouver ce genre d'explications/nuances dans les tutoriels.
bonne journée!

Hors ligne

 

Pied de page des forums

Powered by FluxBB