130 votes

pas d'entrée pg_hba.conf pour l'hôte

J'obtiens l'erreur suivante lorsque j'essaie de me connecter en utilisant DBI

DBI connect('database=chaosLRdb;host=192.168.0.1;port=5433','postgres',...) 
failed: FATAL:  no pg\_hba.conf entry for host "192.168.0.1", user "postgres", database "chaosLRdb", SSL off

Voici mon fichier pg_hba.conf :

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

host    all         postgres    127.0.0.1/32          trust

host    all        postgres     192.168.0.1/32        trust

host    all        all         192.168.0.1/32        trust

host    all        all         192.168.0.1/128        trust

host    all        all         192.168.0.1/32        md5

host    chaosLRdb    postgres         192.168.0.1/32      md5
local    all        all         192.168.0.1/32        trust

Mon code perl est

#!/usr/bin/perl-w
use DBI;
use FileHandle;

print "Start connecting to the DB...\n";

@ary = DBI->available_drivers(true);
%drivers = DBI->installed_drivers();
my $dbh = DBI->connect("DBI:PgPP:database=chaosLRdb;host=192.168.0.1;port=5433", "postgres", "chaos123");

Puis-je savoir ce que j'ai manqué ici ?

7voto

Amit baderia Points 164

J'ai rencontré le même problème. Ma base de données était sur le cloud

Erreur :

ERROR : pas d'entrée pg_hba.conf pour l'hôte ".......", l'utilisateur ".........", la base de données "....", SSL désactivé

J'ajoute cette configuration pour résoudre ce problème,

    "dialect": "postgres",
    "dialectOptions": {
        "ssl": {
            "require": true,
            "rejectUnauthorized": false
        }
    }

Le paramètre SSL est la clé qui indique à DB de toujours utiliser SSL pour établir des connexions.

6voto

Chirag Agrawal Points 173

Pour résoudre ce problème, vous pouvez essayer ceci.

D'abord, vous avez trouvé votre pg_hba.conf par :

cd /etc/postgresql/9.5/main depuis votre répertoire racine

et ouvrir le fichier en utilisant

sudo nano pg_hba.conf

puis ajoutez cette ligne :

local   all         all                               md5

à votre pg_hba.conf et ensuite redémarrez en utilisant la commande :

sudo service postgresql restart

3voto

uma Points 2011

Pour résoudre ce problème, vous pouvez essayer ceci.

Vous devez d'abord trouver votre pg_hba.conf et écrire :

local all all md5

après cela, redémarrez le serveur pg :

postgresql restart

o

sudo /etc/init.d/postgresql restart

2voto

shiddu mageppa Points 21

Si vous obtenez une erreur comme celle ci-dessous :

OperationalError: FATAL:  no pg_hba.conf entry for host "your ipv6",
                  user "username", database "postgres", SSL off

puis ajoutez une entrée comme la suivante, avec votre adresse mac.

host   all    all       [your ipv6]/128         md5

1voto

Yauhen Points 351

Pour ceux qui ont le même problème, essayez de vous connecter à la base de données locale et essayez comme suit
con = psycopg2.connect(database="my_db", user="my_name", password="admin") J'ai essayé de passer le paramètre supplémentaire, et ce qui suit m'a sauvé une journée :
con = psycopg2.connect(database="my_db", user="my_name", password="admin", host="localhost")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X