подключиться к серверу PostgreSQL: FATAL: нет записи pg_hba.conf для хоста

Здравствуйте, я пытаюсь запустить веб-сайт, отправленный мне, но после этого появилась ошибка

 подключиться к серверу PostgreSQL: FATAL: нет записи pg_hba.conf для хоста «4X.XXX.XX.XXX», пользователя «userXXX», базы данных «dbXXX», SSL выключен в C: \ xampp \ htdocs \ xmastool \ index.php в строке 37

после Googling в нем говорится, что мне просто нужно добавить запись в pg_hba. conf для этого конкретного пользователя. это мой файл pg_hba.conf.

 # МЕТОД АДРЕСА ПОЛЬЗОВАТЕЛЯ ТИПА DATABASE
# IPv4 локальные подключения:
локальный dbXXX userXXX md5
хост dbXXX userXXX XX.XXX.XXX.XXX md5
хост все все 127.0.0.1/32 md5
# IPv6 локальные подключения:
host all all :: 1/128 md5
# Разрешить соединения репликации с localhost, пользователем с
# репликация привилегия.
#host replication postgres 127.0.0.1/32 md5
#host replication postgres :: 1/128 md5

, но после этого ошибка все еще сохраняется. Я перезапустил свой сервер XAMPP несколько раз, но никаких изменений не появилось. Спасибо заранее

116 голосов | спросил Jin 1 MonEurope/Moscow2014-12-01T13:54:58+03:00Europe/Moscow12bEurope/MoscowMon, 01 Dec 2014 13:54:58 +0300 2014, 13:54:58

7 ответов


136

Добавьте или отредактируйте следующую строку в postgresql.conf:

listen_addresses = '*'

Добавьте следующую строку в первую строку pg_hba.conf. Он позволяет получить доступ ко всем базам данных для всех пользователей с зашифрованным паролем:

# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 0.0.0.0/0 md5
ответил Jérôme Radix 1 MonEurope/Moscow2014-12-01T16:49:55+03:00Europe/Moscow12bEurope/MoscowMon, 01 Dec 2014 16:49:55 +0300 2014, 16:49:55
15

Это решение работает для IPv4 /IPv6

nano /var/lib/pgsql/data/pg_hba.conf

добавить в final

host all all :: 1/128 md5
host all postgres 127.0.0.1/32 md5

, а затем перезапустите службу postgresql

/etc/init.d/postgresql перезапуск
ответил Jose Nobile 28 62015vEurope/Moscow11bEurope/MoscowSat, 28 Nov 2015 00:18:39 +0300 2015, 00:18:39
5

Как я решил это:

Добавлена ​​строка, указанная ниже в pg_hba.conf:

hostnossl all all 0.0.0.0/0 trust

, и это было изменено в postgresql.conf, как показано:

listen_addresses = '*'

У меня был этот экземпляр, работающий на Centos 7.3 и Postgres 9.5 в виртуальной машине в Azure , учитывая, что это был POC (доказательство концепция), вы не захотите подключаться без SSL в своей реальной среде prod.

Чтобы подключиться к экземпляру, я использовал pgAdmin 4 для macOS Sierra .

ответил Roberto Lopez 5 J0000006Europe/Moscow 2017, 09:23:10
1

У меня была такая же ошибка, когда я попытался подключиться к локальной базе данных с помощью туннеля SSH. Я решил это, изменив имя хоста от localhost до 127.0.0.1.

ответил Finesse 24 MaramSat, 24 Mar 2018 05:02:54 +03002018-03-24T05:02:54+03:0005 2018, 05:02:54
0

Новая версия Postgres 9.5, Ubuntu.

Ключом был тип подключения local , поскольку psql использует подключение к сокету домена.

pg_hba.conf

# TYPE DATABASE USER CIDR-ADDRESS METHOD
местный все все md5
host all all 0.0.0.0/0 md5
ответил willianpts 6 WedEurope/Moscow2017-12-06T02:02:58+03:00Europe/Moscow12bEurope/MoscowWed, 06 Dec 2017 02:02:58 +0300 2017, 02:02:58
0

Это ниже работало для меня: (pg_hba.conf)

# МЕТОД АДРЕСА ПОЛЬЗОВАТЕЛЯ ТИПА DATABASE
# «local» - только для соединений сокетов домена Unix
местный все все md5
# IPv4 локальные подключения:
хост все все 127.0.0.1/32 доверия
хозяин всего 0.0.0.0/0 trust
# IPv6 локальные подключения:
host all all :: 1/128 trust
хозяин всего 0.0.0.0/0 trust
  

'trust' означает, что postgres введут вас без пароля.

     

'md5' означает, что он запросит пароль.

обратитесь к здесь

ответил Ravistm 30 MarpmFri, 30 Mar 2018 16:06:14 +03002018-03-30T16:06:14+03:0004 2018, 16:06:14
-2

Просто напишите следующую последовательность в файле конфигурации:

Const
  pg = require ('pg'),
config = require ('./db-config'),
    dbOption = {
      host:,
      порт:,
      пользователь:,
      пароль  :,
      база данных  :
    },

  pool = new pg.Pool (dbOption)
  pg.defaults.ssl = true;

Это все. Файл db-config содержит данные спецификации хоста, пользователя, пароля и базы данных. С помощью этого небольшого изменения он отлично работает как на местном, так и на прохождении (Heroku). Полностью протестировано.

ответил Jose Arredondo 12 TueEurope/Moscow2017-12-12T18:32:14+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 18:32:14 +0300 2017, 18:32:14

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132