Удалённый доступ к PostgreSQL
В первую очередь нужно разрешить подключаться к postgresql с внешних ip. Для этого находим файл postgresql.conf (у меня находится в папке /etc/postgresql/9.1/main) и правим следующую строчку:
# /etc/postgresql/9.1/main/postgresql.conf
listen_addresses = '*'
Обратите внимание, что нужно убрать перед директивой listen_addresses знак комментария #.
А в файле pg_hba.conf (лежит в там же, что и postgresql.conf) добавляем следующую строчку:
Обратите внимание, что нужно убрать перед директивой listen_addresses знак комментария #.
А в файле pg_hba.conf (лежит в там же, что и postgresql.conf) добавляем следующую строчку:
# /etc/postgresql/9.1/main/pg_hba.conf
hostssl all postgreadmin 0.0.0.0/0 md5
где:
hostssl - подключаемся через SSL
all - разрешаем подключение ко всем базам
postgreadmin - имя пользователя, которому разрешаем подключение
0.0.0.0/0 - маска сети с которой можно подключаться
md5 - способ шифрования пароля
Теперь нам нужно создать пользователя postgreadmin в postgresql, через которого будем подключаться:
hostssl all postgreadmin 0.0.0.0/0 md5
где:
hostssl - подключаемся через SSL
all - разрешаем подключение ко всем базам
postgreadmin - имя пользователя, которому разрешаем подключение
0.0.0.0/0 - маска сети с которой можно подключаться
md5 - способ шифрования пароля
Теперь нам нужно создать пользователя postgreadmin в postgresql, через которого будем подключаться:
su postgres
createuser -s -r -d -P postgreadmin
# и введите пароль
exit
Используемые опции команды createuser:
-s - добавить пользователю права суперпользователя
-r - разрешить пользователю создавать других пользователей
-d - разрешает пользователю создавать базы данных
-P - добавить к пользователю пароль
Настройка закончилась, самое время перезапустить postqresql, например командой:
Используемые опции команды createuser:
-s - добавить пользователю права суперпользователя
-r - разрешить пользователю создавать других пользователей
-d - разрешает пользователю создавать базы данных
-P - добавить к пользователю пароль
Настройка закончилась, самое время перезапустить postqresql, например командой:
service postgresql restart
и уже подключиться с другого ПК, используя какой-нибудь клиент, например, pgadmin.
В pgadmin нужно щёлнуть "Новое подключение" и в окне ввести следующие поля:
Имя - желаемое имя, например: my_server
Хост - ip-адрес сервера, например: 188.123.456.768
Порт - 5432 (по умолчанию)
Имя пользователя - postgreadmin
Пароль - созданный выше пароль
Остальные поля стоят по умолчанию. Нажимаете OK. Если всё заработало, то поздравляю - удалённое подключение к postgresql настроено.
Доступ к postgresql без пароля
Необходимо изменить файл
/etc/postgresql/9.0/main/pg_hba.conf
добавив туда строки
host all user 0.0.0.0/0 trust (для подключения из сети с любого ip)
local all user trust (для локального подключения)
где user имя роли.
Перезапустить postgresql:
и уже подключиться с другого ПК, используя какой-нибудь клиент, например, pgadmin.
В pgadmin нужно щёлнуть "Новое подключение" и в окне ввести следующие поля:
Имя - желаемое имя, например: my_server
Хост - ip-адрес сервера, например: 188.123.456.768
Порт - 5432 (по умолчанию)
Имя пользователя - postgreadmin
Пароль - созданный выше пароль
Остальные поля стоят по умолчанию. Нажимаете OK. Если всё заработало, то поздравляю - удалённое подключение к postgresql настроено.
Доступ к postgresql без пароля
Необходимо изменить файл
/etc/postgresql/9.0/main/pg_hba.conf
добавив туда строки
host all user 0.0.0.0/0 trust (для подключения из сети с любого ip)
local all user trust (для локального подключения)
где user имя роли.
Перезапустить postgresql:
/etc/init.d/postgresql restart
Комментарии
Отправить комментарий