Forum Linux.debian/ubuntu Installer postgresql

Posté par  (site web personnel) .
Étiquettes :
0
16
avr.
2008
Bonsoir, j'essaye d'installer postgreSQL sur ma ubuntu(gutsy), et en fait c'est pas simple du tout.
Au début, installation classique avec aptitude.
J'ai ensuite suivi ça :
http://doc.ubuntu-fr.org/postgresql

Je démare le serveur.
Je me connecte avec pgadmin, que j'installe par ailleurs.

Impossible. Soit pgadmin me dit que pg_hba.conf est pas bien configuré malgré ça :
host all all 127.0.0.1/32 md5

Il m'a aussi sorti un moment que le serveur n'écoutait pas

J'essaye plein de truc, ça marche pas.
Bon je me dis, je vais reseter la configuration et réinstaller. En suivant la deuxième partie du tuto

Et là, LA connerie, dans le but de repartir avec une config propre: rm -rf /etc/postgresql/

Je vire postgre avec aptitude(tous les paquets que j'ai installé), je le réinstalle
et là, il ne me recrée pas les fichiers de conf !! :-/
raaaahhh

Comment on fait pour forcer aptitude à me les remettre?

Bref, la tuto cité plus haut qui marche pas, la grosse galère. Tout ça pour une petite base à moi..
C'est limite s'il va pas falloir que j'installe un windows dans qemu, parce que là au moins ç s'installe sans problème...

Merci pour vos conseils !
  • # etapes

    Posté par  . Évalué à 3.

    1°) as-tu suivi le tuto avec toutes les etapes ?
    y compris le sudo -s -u ...

    2°) pour nettoyer un programme et ses fichiers de config, c'est
    apt-get remove --purge nom du paquet
    • [^] # Re: etapes

      Posté par  (site web personnel) . Évalué à 2.

      J'ai tout fait avant le titre "Pour aller plus loin"

      J'ai donc appliqué le purge(merci je connaissais pas) : et lorsque je réinstalle, j'ai :
      Paramétrage de postgresql-8.3 (8.3.0-1~gutsy1) ...
      Configuring already existing cluster (configuration: /etc/postgresql/8.3/main, data: /var/lib/postgresql/8.3/main, owner: 124:128)
      Error: move_conffile: required configuration file /var/lib/postgresql/8.3/main/postgresql.conf does not exist
      Error: could not create default cluster. Please create it manually with

      pg_createcluster 8.3 main --start

      or a similar command (see 'man pg_createcluster').


      et ensuite


      $sudo pg_createcluster 8.3 main --start
      Configuring already existing cluster (configuration: /etc/postgresql/8.3/main, data: /var/lib/postgresql/8.3/main, owner: 124:128)
      Error: move_conffile: required configuration file /var/lib/postgresql/8.3/main/postgresql.conf does not exist


      Détail intéressant :

      $ls -l /etc/postgresql/
      total 0


      Je vais regarder si j'ai pas des options intéressantes dans apt-get...

      « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

    • [^] # Re: etapes

      Posté par  (site web personnel) . Évalué à 2.

      La suite. J'ai donc désinstallé TOUT les paquets avec --purge, mais aucun ne réinstalle les fichier de conf...

      Je crois que je vais prendre l'archive binaire et copier les fichiers de confs...

      « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

      • [^] # Re: etapes

        Posté par  . Évalué à 2.

        Salut,

        Es-tu sûr qu'il faille avoir des fichiers de conf dans /etc/postgresql ?

        La commande "rm -rf <répertoire>" ne renverra aucune erreur si le répertoire en question n'existe pas.

        Sur les installations que j'ai eues sous la main (redhat, debian), il n'y a rien concernant postgres sous /etc (éventuellement il peut exister /etc/postgresql-common/autovacuum.conf ou des choses concernant logrotate, mais rien de vraiment important pour le fonctinnement de la base).

        Les fichiers de configuration doivent être dans /var/lib/pgsql/data/ : postgresql.conf, pg_hba.conf, ...

        Enfin, avec la configuration de pg_hba.conf que tu donnes, les connexions TCP ne sont possibles qu'en local : ça veut dire que pgadmin doit se connecter sur le serveur localhost ou 127.0.0.1. Si tu indiques le nom de la machine comme serveur, ça ne marchera pas. Si tu passes par une socket Unix, cela risque de bloquer également (tout dépend de ce que tu as mis sur la ligne commençant par "local" dans pg_hba.conf). Note que certains programme passe par une socket Unix lorsque le nom du serveur est "localhost" (tu peux alors indiquer 127.0.0.1 pour passer par la couche TCP/IP).
        Pour finir, il faut évidemment que tu ais créé un utilisateur avec un mot de passe pour que tout ça fonctionne correctement.

        Bon courage,
        JJD
        • [^] # Re: etapes

          Posté par  (site web personnel) . Évalué à 2.

          > Les fichiers de configuration doivent être dans /var/lib/pgsql/data/ : postgresql.conf, pg_hba.conf

          bah, ça se configure la place des fichiers de conf, et comme les utilisateurs debian/ubuntu sont habitués à les trouver là où ils doivent être (/etc), c'est là qu'ils sont :

          % cat /etc/debian_version
          lenny/sid
          % ls /etc/postgresql/8.3/main
          environment pg_hba.conf pg_ident.conf postgresql.conf start.conf

          Mais effectivement, l'install les copie depuis /var/lib/machin (comme indiqué dans les logs d'ontologia d'ailleurs). Quanbd ça marche, ça donne ça :
          Creating new cluster (configuration: /etc/postgresql/8.3/main, data: /var/lib/postgresql/8.3/main)...
          Moving configuration file /var/lib/postgresql/8.3/main/postgresql.conf to /etc/postgresql/8.3/main...
          Moving configuration file /var/lib/postgresql/8.3/main/pg_hba.conf to /etc/postgresql/8.3/main...
          Moving configuration file /var/lib/postgresql/8.3/main/pg_ident.conf to /etc/postgresql/8.3/main...

          > Pour finir, il faut évidemment que tu ais créé un utilisateur avec un mot de passe pour que tout ça fonctionne correctement.

          Si tu crées l'utilisateur à ton nom de login (ce qui est conseillé dans la doc qu'ontologia a suivie), nul besoin de mettre un mot de passe.
      • [^] # Re: etapes

        Posté par  . Évalué à 2.

        As-tu essayé sans apt, et seulement avec dpkg ?

        dpkg --purge nom_du_paquet && apt-get clean && apt-get install nom_du_paquet
  • # Alors, à vue de nez ...

    Posté par  . Évalué à 2.

    Bon, j'ai survolé l'article et ses commentaires, mais à première vue, je peux dire ceci :

    - il ne faut pas confondre la liste des adresses locales, sur lesquelles le serveur va se mettre à l'écoute, de celle des machines distantes autorisées à se connecter. La première est dans postgresql.conf, la seconde dans pg_hba.conf (Host-Based Authentication).

    - Tu as autorisé 127.0.0.1/32 à se connecter, avec un mot de passe. Mais si c'est le seul accès possible, il y a de fortes chance pour que ton client ouvre un socket Unix plutôt qu'une connexion TCP. Dans ce cas, il faut aussi laisser rentrer les gens en local.

    - Il faut se souvenir que PG refuse de démarrer si 1) on ne lui indique pas le chemin vers le cluster, soit explicitement, en ligne de commande, avec -D, soit implicitement, en utilisant la variable d'environnement PGDATA, et 2) si le répertoire du cluster et les fichiers qu'il contient n'appartiennent pas exclusivement à l'utilisateur qui lance le serveur.

    Moi, j'ai installé le mien au boulot et tout fonctionne bien.

    Bon courage.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.