Мне нужно получить доступ к базе данных postgresql с удаленной машины на VPS в DigitalOcean под управлением 12.10 и postgresql 9.1.
Как мне это сделать? Я заметил, что порт 5432 закрыт, как мне открыть это?
Для открытия порта 5432 отредактируйте ваш /etc/postgresql/9.1/main/postgresql. conf
и измените
listen_addresses='localhost'
на
listen_addresses='*'
и перезапустите СУБД
invoke-rc.d postgresql restart
, если вы не можете аутентифицироваться, то вам необходимо предоставить права доступа пользователей к вашей базе данных
Редактируйте ваш
/etc/postgresql/9.1/main/pg_hba.conf
и добавьте
host all all all md5
(Это для широкого открытого доступа. Для более строгого контроля обратитесь к документации pg_hba.conf и настройте в соответствии с вашими потребностями).
После этого вам также потребуется перезагрузка
invoke-rc.d postgresql reload
Не стоит упоминать, что это базовая настройка, теперь вы должны подумать об изменении брандмауэра и повышении безопасности вашей СУБД.
ഇത് എപ്പോഴെങ്കിലും ചെയ്തിട്ടുണ്ടെങ്കിൽ ഇത് ഇനി പ്രവർത്തിക്കില്ല:
എല്ലാം ഹോസ്റ്റുചെയ്യുക * md5
ഇതിനുള്ള സാധ്യമായ ശരിയായ വരികൾ ഇവയാണ്:
എല്ലാം ഹോസ്റ്റുചെയ്യുക 0.0 .0.0 / 0 md5 # ipv4 ശ്രേണി
എല്ലാം ഹോസ്റ്റുചെയ്യുക :: 0/0 md5 # ipv6 ശ്രേണി
എല്ലാം ഹോസ്റ്റുചെയ്യുക md5 #all ip
Что касается сообщения "сервер не слушает", со мной случилось то, что я не стираю # в архиве postgresql.conf я имею в виду:
# listen_addresses = 'localhost'
to:
listen_addresses = '*'
(извините за мой английский).
Ответ, получивший наибольшее количество голосов и принятый, имеет серьезные нарушения безопасности. Этот метод отключен по умолчанию по уважительным причинам.
Лучше использовать переадресацию локального порта с помощью ssh
:
ssh -L local_port:localhost:foreign_port user@server
Запустить переадресацию порта:
ssh -L 5432:localhost:5432 user@your-server.com
#or
ssh -L 5432:127.0.0.1:5432 user@your-server.com
(Измените локальный и внешний порты в соответствии с вашей конфигурацией).
Затем вы можете напрямую подключиться к базе данных со своего локального компьютера:
psql -U db_user -p local_port -l
Следуя конфигурации, вам необходимо установить:
В /etc/postgresql/10/main/postgresql.conf
# Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
В / etc / postgresql / 10 /main/pg_hba.conf
# IPv4 local connections:
host all all 0.0.0.0/0 md5
Чтобы открыть порт 5432, вам нужно выполнить эту команду
sudo ufw allow 5432/tcp