Comment connecter pgAdmin III (Windows) pour postgresql (Linux virtual box)

J'ai un postgresql démon sur mon virtuel sous Linux, et à peine installé pgAdmin III sur la machine Windows. Maintenant, je voudrais configurer la première connexion.

Ce que j'ai fait jusqu'à présent:

  • J'ai édité /etc/postgresql/9.1/main/pg_hba.conf et ajouté une ligne pour faire le démon accepter les connexions à partir de ma machine Windows:

    host all all 192.168.123.45/32 md5
  • J'ai mis une coque mot de passe pour l'utilisateur du système postgres (sudo passwd postgres)
  • Edit: cela semble être hors de propos

    J'ai copié /usr/share/postgresql/9.1/pg_service.conf.sample à /etc/postgresql-common/pg_service.conf et décommenté l'exemple de service, de me donner

    [postgres]

    dbname=postgres

    user=postgres
  • Edit: cela semble être hors de propos

    J'ai mis une ligne en /etc/environment pour pointer vers le pgservice.conf fichier:

    PGSERVICEFILE=/etc/postgresql-common/pg_service.conf

    (qui fonctionne; quand j'ai dupliqué la session PuTTY, il avait cette variable)
  • J'ai redémarré le serveur de base de données après chaque changement.

    sudo /etc/init.d/postgresql restart
  • Enfin, je restartet la boîte Linux,

Le serveur semble avoir redémarré avec succès:

[ ok ] Restarting PostgreSQL 9.1 database server: main.

Cependant, lorsque j'essaie de me connecter au service, pgAdmin III me donne un message d'erreur:

Erreur de connexion au serveur: définition de " service "postgres" n'est pas trouvée.

dmesg | grep postgres donne-moi une seule ligne:

[   18.054965] postgres (2242): /proc/2242/oom_adj is deprecated, please use /proc/2242/oom_score_adj instead.

Je n'ai aucune idée si postgresql utilise mon pq_service.conf à tous, ou tout autre chose est le problème; toute aide est appréciée ...

Edit:
Ma question initiale, "How can I know whether postgresql uses my pg_service.conf file?", semble être lui répondit: - il n'a tout simplement pas. Je n'arrive toujours pas à se connecter, mais maintenant, la question ne correspond pas avec les messages d'erreur de plus.

J'ai enlevé le "Service" à l'entrée de mon "Nouveau Serveur d'Enregistrement des données". Maintenant j'ai une autre erreur de quelque chose comme "authentification par mot de passe pour l'utilisateur >>postgres<< a échoué". Je suis tout à fait sûr le mot de passe est correct, je l'ai juste mis ... et je l'ai testé en commentant ma clé ssh de authorized_keys fichier.

Je serais heureux de vous connecter avec ma clé ssh, mais cela semble difficile. Avec PuTTY, ma clé est prise à partir de Spectacle, et je me suis connecté sans problème; pgAdmin parle de "SSH tunnels", mais je ne trouve normalement pas besoin de tunnels pour cette machine locale ...

J'ai essayé de créer un tunnel de toute façon.

  • Session PuTTY:
    • Port Source est 5432
    • destination est my-vbox.host.name:5432
  • Dans pgAdmin, "Tunnel SSH":
    • Nom d'utilisateur postgres
    • l'aide d'une fiche d'Identité
    • Tunnel hôte localhost → erreur:

      "SSH error: Could not connect to socket with error code 10051"
    • Tunnel hôte localhost:5432 → erreur:

      "SSH error: Unable to resolve host: localhost:5432"
    • Tunnel hôte 127.0.0.1:5432 → erreur:

      "SSH error: Unable to resolve host: 127.0.0.1:5432"

Comment diable est-ce censé être configuré?!

  • En fait pg_service.conf est un standard de fichier de config mais pour libpqles clients. Et n'a aucun effet sur le côté serveur.
  • Merci, j'ai oublié le "Service" et de la mise à jour de ma question.
  • et je l'ai testé en commentant ma clé ssh: vous êtes à la confusion de l' mot de passe de la base de données postgres utilisateur est ce que l'erreur est sur, avec le mot de passe de postgres utilisateur de linux, ce qui est pertinent pour le ssh, mais pas pour le serveur postgresql.
  • Oui, mais quand dans un shell en tant qu'utilisateur postgres, psql ne pas poser d'autres questions quand j'ai l'intention d'agir en tant que base de données de l'utilisateur postgres. Lorsque le système de l'utilisateur www-data pistes de Zope, et la base de données de l'utilisateur www-data est propriétaire de la base de données, tout ce que je besoin de se connecter est le nom de base de données. Ces deux sont des choses différentes, mais reliées.
  • c'est le pg_hba.conf qui contrôle tout cela. Lorsque vous définissez md5 que l'auth méthode, vous dites que vous souhaitez que tous les utilisateurs de 192.168.123.45 pour toutes les bases de données à fournir un mot de passe. Le remplacer par trust pour éviter le mot de passe si c'est ce qui est le blocage de vous.
InformationsquelleAutor Tobias | 2013-12-17