У меня есть PostgreSQL 9.2, установленный в Windows 7, и у меня установлен Windows XP на виртуальной машине, как мне подключить эти две базы данных и разрешить удаленный доступ для добавления/изменения базы данных из обеих систем?
Как разрешить удаленный доступ к базе данных PostgreSQL
Ответ 1
Чтобы удаленно получить доступ к базе данных PostgreSQL, вы должны установить два основных файла конфигурации PostgreSQL:
postgresql.conf
pg_hba.conf
Ниже приведено краткое описание того, как вы можете их установить (обратите внимание, что следующее описание является чисто ориентировочным: чтобы безопасно настроить машину, вы должны быть знакомы со всеми параметрами и их значениями)
Прежде всего настройте службу PostgreSQL для прослушивания на порту 5432 на всех сетевых интерфейсах в Windows 7:
откройте файл postgresql.conf
(обычно расположенный в C:\Program Files\PostgreSQL\9.2\data) и задайте параметр <
listen_addresses = '*'
Проверьте сетевой адрес виртуальной машины WindowsXP и задайте параметры в файле pg_hba.conf(находящийся в том же каталоге postgresql.conf), чтобы postgresql мог принимать соединения с хостов виртуальных машин.
Например, если компьютер с Windows XP имеет 192.168.56.2 IP-адрес, добавьте в файл pg_hba.conf
:
host all all 192.168.56.1/24 md5
таким образом, PostgreSQL будет принимать соединения со всех хостов в сети 192.168.1.XXX.
Перезапустите службу PostgreSQL в Windows 7 (Services- > PosgreSQL 9.2: щелкните правой кнопкой мыши и перезапустите сеанс). Установите pgAdmin на машину Windows XP и попробуйте подключиться к PostgreSQL.
Ответ 2
Я использую PostgreSql 9.5.1, пожалуйста, следуйте конфигурации удара:
Ответ 3
Вы должны добавить это в свой pg_hba.conf и перезапустить PostgreSQL.
host all all 192.168.56.1/24 md5
Это работает с включенным адаптером VirtualBox и хост-адаптером. Если вы не используете Virtualbox, вам нужно заменить IP-адрес.
Ответ 4
В дополнение к приведенным выше ответам, предлагающим изменение конфигурационных файлов pg_hba.conf и postgresql.conf и перезапуск службы PostGreSQL, на некоторых компьютерах с Windows 7 также может потребоваться включить порт (например, 5432) для входящего трафика TCP который может получить сервер PostGreSQL.
Если это требуется на вашем компьютере, откройте брандмауэр Windows и добавьте правило для этого порта (например, 5432). Теперь попробуйте снова подключиться к pgAdmin на клиентском компьютере.
Ответ 5
После установки listen_addresses = '*'
в postgresql.conf
Отредактируйте файл hba_file.conf и добавьте следующую запись в самом конце файла:
host all all 0.0.0.0/0 md5
host all all ::/0 md5
Для нахождения конфигурационных файлов эта ссылка может вам помочь.