Удаленный доступ к базе данных postgresql

Мне нужно получить доступ к базе данных postgresql с удаленной машины на VPS в DigitalOcean под управлением 12.10 и postgresql 9.1.

Как мне это сделать? Я заметил, что порт 5432 закрыт, как мне открыть это?

53
задан 19 February 2014 в 20:06

6 ответов

Для открытия порта 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

Не стоит упоминать, что это базовая настройка, теперь вы должны подумать об изменении брандмауэра и повышении безопасности вашей СУБД.

91
ответ дан 19 February 2014 в 20:06

ഇത് എപ്പോഴെങ്കിലും ചെയ്തിട്ടുണ്ടെങ്കിൽ ഇത് ഇനി പ്രവർത്തിക്കില്ല:

എല്ലാം ഹോസ്റ്റുചെയ്യുക * md5

ഇതിനുള്ള സാധ്യമായ ശരിയായ വരികൾ ഇവയാണ്:

എല്ലാം ഹോസ്റ്റുചെയ്യുക 0.0 .0.0 / 0 md5 # ipv4 ശ്രേണി

എല്ലാം ഹോസ്റ്റുചെയ്യുക :: 0/0 md5 # ipv6 ശ്രേണി

എല്ലാം ഹോസ്റ്റുചെയ്യുക md5 #all ip

ഉറവിടം

27
ответ дан 19 February 2014 в 20:06

Что касается сообщения "сервер не слушает", со мной случилось то, что я не стираю # в архиве postgresql.conf я имею в виду:

# listen_addresses = 'localhost'

to:

listen_addresses = '*'

(извините за мой английский).

4
ответ дан 19 February 2014 в 20:06

Ответ, получивший наибольшее количество голосов и принятый, имеет серьезные нарушения безопасности. Этот метод отключен по умолчанию по уважительным причинам.

Лучше использовать переадресацию локального порта с помощью 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
2
ответ дан 19 February 2014 в 20:06

Следуя конфигурации, вам необходимо установить:

В /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
1
ответ дан 5 January 2021 в 23:12

Чтобы открыть порт 5432, вам нужно выполнить эту команду

sudo ufw allow 5432/tcp
0
ответ дан 7 May 2021 в 20:54

Другие вопросы по тегам:

Похожие вопросы: