Настройка PostgreSQL для работы с pgAdmin (когда админка на виндовом хосте)

Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
Читать в полной версии →

Доброго времени суток, читающий. Решил накидать для себя заметку. Надеюсь, пригодится не только мне.

После одной из тем про PostgreSQL было сказано, что надо бы самостоятельно pgAdmin установить. Как оказалось, настройка имеет пару мелких подводных камушков. В моем случае хост у меня крутится на win10 (по зависящим от крутящемся ПО на оном (аналогов под лин нет)), а в вагранте крутится Убунту 16 версии. Я запускал и linux subsystem (или как там это чудо зовется, когда из коробки линукс под окнами), но мне не понравилось. Какая-то пошлость:)

Поднастроим Vagrant:

Смотрим какой айпи хоста используется в связке хост-вагрант и из той же подсетки выбирем другой адрес (в моем случае - у хоста был 192.168.56.50, поэтому я выбрал 192.168.56.10). Если, уважаемый читающий, ты не в курсе про подсетки или про то, как узнать свой ip, то лучше просто закрой вкладку и не обижайся:).

Прописываем проброс в Vagrantfile опциями (в файле присутствует закомментированный образец - можно вставить строки следующими за закомментированными):

config.vm.network "forwarded_port", guest: 5432, host: 5432 config.vm.network "private_network", ip: "192.168.56.10"

Собсно, все понятно. Из вагранта пробрасываем порт 5432, по которому pgAdmin собирается работать, в сетку хосту и настраиваем гостю адрес.

Далее, чуток шаманаства под гостем. Запускаем вагрант, логинемся в гостя. Подразумевается, что PostgreSQL установлен и работоспособен.

$ sudo -u postgres psql

и меняем пароль

\password супермегаПароль

Правим любимым редактором

/etc/postgresql/9.5/main/postgresql.conf

И изменяем строку

listen_addresses = 'localhost'
на
listen_addresses = '*'

Думаю, тут все понятно.

А в файлике /etc/postgresql/9.5/main/pg_hba.conf

допишем в конец разрешение подключаться с нашего адреса к серверу.

host all all 192.168.56.10/24 md5

Далее можно ребутнуть сервер и возрадоваться.

$sudo /etc/init.d/postgresql restart

Ах, да, нужно скачать pgAdmin, установить на хост и войти в базу под posggres:супермегаПароль. Думаю, затруднений это не вызовет.