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 Re : Installation » psql et création de table » 13/12/2008 16:48:04

Merci encore grace à ton intervention j'ai résolu mon problème.

#2 Re : Installation » psql et création de table » 13/12/2008 16:01:06

Merci beaucoup, mais pour le

psql ..... < /tmp/plop.sql

J'imagine que tous les points sont utiles, mais je n'arrive pas à lancer mon fichier .sql, j'indique le chemin absolu mais il ne trouve pas le fichier... Misère... sos merci

#3 Re : Installation » connexion » 13/12/2008 12:56:55

Cette erreur survient habituellement lorsque tu n'as pas démarré le serveur, du moins de mon expérience. Fait :
PostgreSQL start;

#4 Installation » psql et création de table » 13/12/2008 11:28:48

chaps31
Réponses : 3

Bonjour,

Via psql, en ligne de commande je voudrais créer des tables, le problème est la sélection de la base de donnée, car la création des tables sera un script d'installation dans lequel l'utilisateur n'interviendra pas (mis à part l'indication de son mot de passe).

passer par -d <nom_de_ma_base> entraine l'affichage de m_base=#  derrière quoi je peux taper ma requête CREATE TABLE. Mais cela ne convient pas comme je le disais juste au-dessus.

Y-a-t'il un moyen en une seule ligne de commande d'indiquer au serveur la bonne base ? Car là je crée un utilisateur, je crée une base de donnée "maBase" et derrière je lance un -c "CREATE TABLE..." mais le serveur crée la table dans la base "postgres" et pas dans ma base que je viens de créer, comment lui indiquer la bonne base dans la même ligne que la requête CREATE TABLE ? J'ai beau chercher depuis 24h je ne trouve pas...

Merci par avance.

#5 Re : Installation » Les galères du débutants » 11/12/2008 13:41:39

Bon j'ai résolu avec la création des users avant d'activer le md5, ça reste étrange mais bon j'ai une olution.

#6 Re : Installation » Les galères du débutants » 11/12/2008 11:19:21

J'ai résolu le problème, tout simplement en ligne de commande avec postgreSQL start.

Je me heurte encore à un autre soucis, je vois le bout du tunnel mais il reste quelques écueils... J'installe postgreSQL et je modifie le fichier pg_hba.conf pour mettre les accès en md5 et là gros problème... je ne peux plus accéder... Je pensais que postgres l'utilisateur par défaut n'avait pas de mot de passe, mais une fois le md5 activé (et le serveur redémarré), si je ne rentre pas de mot de passe pour l'utilisateur postgres l'accès m'est refusé, alors qu'il n'en a pas, et d'ailleurs je veux accéder pour lui en donner un (et créer un autre utilisateur et une base de données...).

SOS.

Je me suis dit que je pouvais créer l'utilisateur et modifier postgres avant d'activer le md5, ceci avec psql -c, mais visiblement il faut dans cette ligne de commande que je précise le nom de la base de donnée... Je n'ai pas trouvé la syntaxe pour le faire à la suite de psql -c et je ne sais pas laquelle indiquer pour les utilisateurs, template01 ?
Mais est-ce normal que, même en ayant activé le md5, je ne puisse accéder à un utilisateur sans mot de passe (postgres en l'occurence, si comme je le pense il n'a pas de mot de passe par défaut).

Merci

#7 Re : Installation » Les galères du débutants » 09/12/2008 18:45:14

Une dernière galère pour la route... Maintenant à coup de chmod chown et autre sed, quelques lignes de commandes et postgreSQL est sécurisé par contre je me heurte à un nouveau problème qu me suprend, j'ai à nouveau le message d'erreur de serveur injoignable via pgadiminIII ou mon projet, il faut que je lance le serveur via ServiceManager une application qui ne fait que ça lancer et couper le serveur, afin que tout fonctionne le serveur ne se lance pas seul lorsqu'il reçoit une requête, via gadminIII ou un PQconnectdb de la bibliothèque C de postgreSQL...

Quelle est la commande pour lancer et couper le serveur ? Merci, cela m'évitera de passer par ServiceManager, j'ai beau chercher je ne trouve pas.

#8 Re : Installation » Les galères du débutants » 09/12/2008 14:03:24

Problème résolu, pour une raison mystérieuse lors de la modification du fichier  Mac os X enlève l'accès à l'utilisateur postgres et le remplace par une autorisation admin, ce qui au passage en fait 2...

Merci beaucoup  à gleu pour toutes ses réponses

#9 Re : Installation » Les galères du débutants » 09/12/2008 11:53:56

Je viens de faire une manip assez troublante.... Je vais finir par croire qu'il existe une poupée vaudou quelque part à mon nom...

- La fenêtre du répertoire "data" est ouverte, je déplace pg_hba.conf sur le bureau. Plus de fichier pg_hba.conf dans "data" le serveur ne démarre plus, ok.

- Je remet le fichier pg_hba.conf sans y avoir touché. OK le serveur redémarre.

- Je le remet sur le bureau (donc l'enlève de "data"), le duplique, j'en fais une copie, apparait d'ailleurs cette copie sur le bureau avec "-copie". Je place cette copie dans le dossier "data" et renomme en pg_hba.conf, sans "-copie" : plus de démarage du serveur !!!! C'est excatement le même fichier je ne l'ai pas modifié !!!

- J'enlève cette copie remet l'original (bien que les 2 fichiers soient rigoureusement identiques) et ... le serveur remarche !!!

Argh.. Je deviens fou là ??? Quelqu'un a une idée de génie ?? Merci

#10 Re : Installation » Les galères du débutants » 09/12/2008 11:18:11

Dans le pg_hba.conf, je ne fais que modifier les "trust" en "md5". Lorsque je fais cette manip, il y a d'autres colonnes à modifier obligatoirement ?

Je ne change que le trust, ce qui donne ça :

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               md5
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5

#11 Re : Installation » Les galères du débutants » 08/12/2008 11:04:32

OK, oublions pgAdmin III. Mon projet au premier lancement cré un nuvel utilisateur avec mot de passe cré une base de donnée et enfin cré un mot de passe pour le user "postgres", ça fonctionne sans problème.
Sous Mac os X (qui est un Unix) il existe un package d'installation tout prêt que j'ai utilisé pour postgresSQL 8.3.0.

Ce qui pose problème c'est dès que je touche à pg_hba.conf.
Partout il est écrit que pour sécuriser c'est dans ce fichier que tout se passe. en effet je le lis et donc comme indiqué partout je modifie "trust" par "md5", et à partir de là si je relance mon projet, et là, plus de connection au serveur. Le fait de modifier ce fichier bloque toute connection au serveur, il ne s'agit pas d'un problème de mot de passe, de toute manière si je remet tout en trust le problème reste le même. D'ailleurs comme je l'expliquais, avant de toucher au fichier j'en ai fais une sauvegarde intacte. Lorsque je replace cette sauvegarde ça ne change rien c'est assez incroyable, seul solution réinstaller postgreSQL

Je me suis dis que ça venais peut-être du fait d'ouvrir les autorisation d'accès Unix au dossier data, mais en modifiant juste les autorisations sans toucher au fichier ça ne bug pas. Est-ce que la modification de ce fichier entraine la modification d'un autre ??

#12 Re : Installation » Les galères du débutants » 07/12/2008 18:17:48

Bon j'éclaircis le problème, à partir du moment où je touche au fichier pg_hba.conf le serveur ne démarre plus !! Pire si je garde une copie de ce même fichier non modifié, au chaud dans un coin de mon disque, et que je le remet dans le dossier data, idem, toujours la même erreur :

could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/tmp/.s.PGSQL.5432"?


De toute manière le "manager" ne veut plus lancer le serveur, là je ne comprends plus... On doit modifier ce fichier pour quitter le mode trust mais dès que je le touche tout est définitivement planté !!! Je précise que j'ai juste remplacé trust par md5 et de toute manière replacé le fichier non modifié après et idem le serveur ne démarre plus... SOS

#13 Re : Installation » Les galères du débutants » 07/12/2008 12:59:23

SOS... Un coup de main ? J'avance bien mais il reste juste cette difficulté....

#14 Re : Installation » Les galères du débutants » 06/12/2008 12:20:24

Les choses avancent, mais il reste 2 soucis, un premier lié à mon état de débutant amateur à qui il manque les bases basiques... et le deuxième que je ne comprends toujours pas.

- Je suis étonné que pgadminIII me permette de créer des serveurs en veux-tu en voilà, je pensais qu'en installant Postgres j'avais un serveur de base de donnée sur lequel je créais des utilisateurs et des BDD, cette notion de création de serveurs me perturbe, j'ai du mal à l'appréhender. En plus je cré des utilisateurs et BDD via mon projet xcode et pour vérifier je lance pgadminIII, il faut que je cré un serveur pour accéder aux utilisateurs et à ma BDD, je pensais qu'il fallait un serveur pour créer de utilisateurs et une BDD... Une explication sur ces bases pour un débutant ?

- Donc via pgadmin III je cré des serveurs de test, les supprime, puis recré pour vérifier que mon projet fait ce qu'il faut et parfois (comme en ce moment) je ne peux plus créer de serveurs, j'ai un message me disant "impossible de se connecter au serveur no such file or directory...". Là il me manque les bases je suis paumé. Pourquoi d'un coup cette impossibilité ? Et je croyais que les serveurs je les créais avec pgadminIII, l'erreur actuelle survient lors de la tentative de création d'un serveur de test...

Je serais très reconnaissant à celui qui pourra m'expliquer tout ça... Merci par avance.

#15 Re : Installation » Les galères du débutants » 04/12/2008 10:54:36

OK, merci l'équipe de maintenance c'est moi wink d'ici là je m'y connaitrais, notament grace à vous wink

#16 Re : Installation » Les galères du débutants » 03/12/2008 11:52:13

C'est bon les mots de passe fonctionnent, désolé.

Sinon une question me vient à l'esprit, pensez-vous qu'il soit raisonnable d'avoir un serveur postgreSQL sur un ordi avec un utilisateur qui ne connait rien à l'informatique ? En gros un serveur postgreSQL peut tourner tout seul ?
L'utilisateur final lui ne verra que l'appli qu'il utilise et qui se sert de la base.

#17 Re : Installation » Les galères du débutants » 03/12/2008 11:29:13

Du coup je reviens avec mes précédents problèmes. Mon projet XCode commence par créer un nouvel utilisateur avec mot de passe, modifie l'utilisateur postgres en lui donnant un mot de passe et cré une base de donnée.

Je vérifie avec pgadminIII le nouvel utilisateur est créé ainsi que la base de donnée, mais comment je peux vérifier si un utilisateur a bien un mot de passe ? Parce-que le problème persiste, lorsque je lance le erveur de test créé, il me demande un mot de passe pour l'utilisateur postgres (je lui en ai mis un normalement, et si je ne rentre rien il lance quand même le serveur...
De même si j'ouvre un 2eme serveur via l'utilisateur nouvellement créé ne pas préciser de mot de passe ne pose aucun problème...

J'ai modifié pg_hba.conf en mettant md5 à la place des trust, ceci via pgadminIII, je ne comprends pas.

#18 Re : Installation » Les galères du débutants » 03/12/2008 11:14:22

J'ai reréinstallé... Et c'est bon.... Ca m'inquiète un peu ce dysfonctionnement inexpliqué... maintenant ça marche. Merci

#19 Re : Installation » Les galères du débutants » 03/12/2008 10:46:25

J'ai réinstallé postgreSQL donc les fichiers ne sont pas modifiés. En fait je contrôle les actions de mon projet XCode avec pgadminIII, je lance pgadminIII, il y a 0 serveur, je clique sur l'icone de connection (la prise) donne un nom et lance la connection sous l'utilisateur postgres.

J'ai toujours fais comme ça, cela crée un serveur qui porte le nom précisé. Mais là ça ne fonctionne plus j'ai systématiquement ce même message...

Seule explication il y a un fichier auquel je ne pense pas quelque part....

#20 Installation » Les galères du débutants » 02/12/2008 12:16:39

chaps31
Réponses : 21

Suite à "impossible d'exécuter des requêtes sql" je recré un post pour plus de clarté.

Je commence le développement d'une application qui nécessite une base de donnée, si j'ai déjà largement utilisé des bases MySQL sans difficulté je dois avouer qu'avec postgreSQL je vais de problèmes en problèmes, actuellement je ne code plus j'essaie de faire tourner postgres depuis des jours et des jours....

J'ai modifié pg_hba.conf où tout est en trust par défaut (ce qui m'a surpris) et j'ai mis md5, malheureusement malgré cela je pouvais toujours créer un serveur et me connecter sans indiquer les mots de passe de mes utilisateurs.... Mais en redémarrant maintenant j'ai :

could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/tmp/.s.PGSQL.5432"?


Là je ne comprends plus, j'ai réinstallé postgreSQL (via l'installeur classique en 8.3.0) et toujours pareil... Comment cela se fait-il que d'un coup le serveur ne démarre plus ? Même avec une réinstallation ? Je n'ai rien modifié...

SOS Merci....

Je vois poindre un autre soucis, lorsqu'enfin mon serveur acceptera d'être sécurisé avec mes modif de pg_hba.conf wink   il faudrait que je trouve un moyen plus simple et automatique de modifier les autorisations lors de l'installation du serveur.

#21 Re : Installation » Impossible de faire exécuter des requêtes SQL... » 01/12/2008 18:54:01

Merci, ça avance, j'ai trouvé le fichier, j'ai pu l'ouvrir en modifiant ses permissions d'accès, en effet toutes les méthodes étaient en trust, j'ai tout modifié en md5, et... ça ne change rien... connection avec n'importe quel mot de passe...
Alors j'ai vérifié, mes utilisateurs n'ont pas de mot de passe lorsque je double clique sur leur nom... J'ai recréé dans pgadmin un utilisateur avec password='motdepasse', il apparait au rafraichissement dans la liste des roles de connection, mais si je double clique il n'a pas de mot de passe non plus.. J'en met un, je réouvre il n'en a pas ... Je ne comprends plus...

SOS... Comment garder les mots de passe ? Et pour le fichier pg_hba.conf je suis obligé de l'ouvrir manuellement pour le modifier ? Il n'y a pas de requête qui le fait ?

#22 Re : Installation » Impossible de faire exécuter des requêtes SQL... » 27/11/2008 16:47:54

Le seul que je trouve est pg_hba.conf.sample...  Il n'y a pas moyen d'accéder à ça via pgadmin3 ou ligne de commande ou encore mieux dans la bibliothèque libpq ?
Merci

#23 Re : Installation » Impossible de faire exécuter des requêtes SQL... » 27/11/2008 14:08:23

Le soucis est que je ne vois pas comment changer les autorisations...

Je pensais que je créerais un utilisateur avec mot de passe une base de donnée avec comme propriétaire cet utilisateur, et que seul lui y aurait accès et bien sûr après son identification avec mot de passe, rine de plus logique. C'est incompréhensible que ça ne fonctionne pas comme cela... C'est pour ça que j'imagine que par défaut postgres est en trust, ou qu'il y a un réglage à faire que je ne connais pas...

J'ai beau lire la doc je ne vois pas, est-ce réellement normal que postgre par défaut ne tienne pas compte des mots de passe des propriétaires des bases... Pas très sécurisé... D'où la suspicion de mode trust actif mais je ne trouve pas comment vérifier cela ni comment le modifier...

SOS...

#24 Re : Installation » Impossible de faire exécuter des requêtes SQL... » 26/11/2008 12:50:24

Merci pour ta réponse, oui j'ai parcouru la doc, mais je suis un peu largué, après réflexion, je pense comprendre que lors de son installation postgre est en trust pour pouvoir accéder la première fois via l'utilisateur par défaut postgres sans mot de passe. Mais je ne vois pas comment modifier cet état.

De plus comme l'utilisateur postgres a visiblement un mot de passe je pense qu'il faut que je le modifie avant de quitter "l'état" trust. Ai-je raison ?

Donc comment arrivé à modifier cet état ? Je retourne dans la doc...

#25 Re : Installation » Impossible de faire exécuter des requêtes SQL... » 25/11/2008 19:16:29

Là je sèche, tout fonctionne maintenant sauf que par défaut postgre ne tient pas compte des mots de passe, je cré un utilisateur avec mot de passe, je me connecte via ce user sans mot de passe, et ça marche...   
Une base avec un owner utilsateurX et l'utilisateur postgre par défaut y accède sans problème... J'ai beau lire la doc je ne comprends pas pourquoi il n'y a aucun contrôle d'accès, ni aux utilisateurs via leur mot de passe ni à la base...

SOS, je bloque complètement, je pensais que par défaut quand on cré un utilisateur avec mot de passe il faut le donner pour se logger sous cette utilisateur et si une base a un owner, par défaut sans avoir touché aux privilèges seul lui devrait pourvoir accéder à la base... Désolé mais vraiment je ne comprend pas , cela ne me parait pas logique.

Sinon tout fonctionne et à partir des appels de mon projet via libpq, impeccable, sauf cette absence de controle de la part du serveur...

Merci par avance du temps pris à me répondre.

Pied de page des forums

Propulsé par FluxBB