簡體   English   中英

postgres 不使用 postgres.conf 文件?

[英]postgres not using postgres.conf file?

我的 ubuntu 18.04 服務器上有一個 postgres 設置。 我已將listen_addresses屬性更改為'*'但似乎 postgres 服務器並未遵循此操作。

當前文件的第一部分:

# - Connection Settings -

listen_addresses = '*'      # what IP address(es) to listen on;
                # comma-separated list of addresses;
                # defaults to 'localhost'; use '*' for all
                # (change requires restart)
port = 5432             # (change requires restart)
max_connections = 100           # (change requires restart)
#superuser_reserved_connections = 3 # (change requires restart)
unix_socket_directories = '/var/run/postgresql' # comma-separated list of directories
                # (change requires restart)
#unix_socket_group = ''         # (change requires restart)
#unix_socket_permissions = 0777     # begin with 0 to use octal notation
                # (change requires restart)
#bonjour = off              # advertise server via Bonjour
                # (change requires restart)
#bonjour_name = ''          # defaults to the computer name
                # (change requires restart)

作為測試,我將port設置更改為不同的端口並重新啟動 postgres 服務器,並且 psql 無法連接到正在運行的服務器,因此psql命令似乎遵循配置文件,但服務器本身不是?

我該如何調試這個問題?

我曾嘗試使用psql -U postgres -c 'SHOW config_file'但它只顯示我編輯過的配置文件?

文件末尾是:

include_dir = 'conf.d'          # include files ending in '.conf' from
                # a directory, e.g., 'conf.d'

但是這個 conf.d 文件夾是空的

您需要進行兩項更改才能使 PostgreSQL 接受遠程連接:

  • 首先就是您所做的,修改/etc/postgresql/<VERSION>/main/postgresql.conf listen_addresses以偵聽所有接口:

     listen_addresses = '*'
  • 其次,您需要修改/etc/postgresql/<VERSION>/main/pg_hba.conf以允許遠程連接。 如果您查看默認的pg_hba.conf您將看到如下所示的一行:

     host all all 127.0.0.1/32 md5

    127.0.0.1/32阻止 PostgreSQL 接受遠程連接,所以讓我們改變它:

     host all all 0.0.0.0/0 md5

進行這兩項更改后重新啟動 PostgreSQL 數據庫,您應該能夠從遠程計算機連接到它。

如果您仍然無法遠程連接到數據庫,我會檢查防火牆,如 iptables 等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM