#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
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
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