Задача: Нужная нам база находится на другом компьютере. Необходимо достучаться до базы по сети через pgadmin3 и его настройку добавления новых серверов.
Необходимые инструменты: postgresql, pgadmin3, ip-адреса компьютера с базой (TARGET) и компьютера-клиента (CLIENT).
Система: win, linux.
1. Запускаем pgadmin3.
Ищем меню Файл->Добавить сервер. Добавляем нужный сервер, прописывая CLIENT ip, пароль postgres, доступ к базе или ко всем базам (all) и т.д. Пробуем соединиться. Далее два варианта развития действий:
2. Server doesn't listen
Скорее всего включен файерволл и не добавлено правило для порта 5432. В этом случае:
а) для Windows
Панель управления -> Брандмауер Windows ->Исключение добавить
Имя: Postgres, порт 5432, тип tcp
б) для linux
# vim /etc/sysconfig/iptables
//добавляем правило для порта 5432, например
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
//добавляем это правило, если нужен доступ не со всех компьютеров, а с доверенных:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 --source x.x.x.x -j ACCEPT
#service iptables restart
3. Database access failed (или как-то так)
Компьютеру CLIENT не разрешено соединяться с базой на компьютере TARGET.
на TARGET компьютере:
а) для windows
pgadmin3->Открыть postgresql.conf или Открыть pg_hba.conf, а дальше вносить такие же правки так же как в б)
перезапустить pgadmin3.
б) для linux
1) правим postgresql.conf
раскоменчиваем строчки (если закоменчены) и правим например так:
listen_addresses='*'
port=5432
max_connections=100
2) правим pg_hba.conf
host/all/all/CLIENT ip/маска подсети CLIENT/password
например host/all/all/127.0.0.1/32/password
запись 127.0.0.1/32 также означает, что доступ предоставляется для одного ip-адреса.
#service postgresql restart
Источник: По мотивам
Thanks) I didn't know about this tool. So, I 'll know) But I'd like to use standard tools from official package kit, because it's rather reliable (as far as I know) and popular. Many distrs have it in their repositories. If something broken in postgresql database on another pc, I always have a pgadmin)
ОтветитьУдалить