繁体   English   中英

进行必要的.conf 文件更改后,postgres 不会重新启动

[英]postgres doesnt restart after making the necessary .conf file changes

先道歉。 在陡峭的学习曲线上,更像一堵墙,会很冗长,缺乏行话,但现在太老了,无法改变。 我正在尝试从托管它的机器以外的机器访问 Postgresql-13(带有 postgis-3 扩展)数据库。 除了安装、创建和使用空间数据文件之外,在执行任何操作之前,这是来自的部分屏幕转储

sudo netstat -ltpn

原型 接收-Q 发送-Q 本地地址 国外地址 State PID/程序名称
tcp 0 0 127.0.0.1:5432 0.0.0.0:* 993/postgres

...并且可以从托管它的 Ubuntu 20.04 机器上的 pgadmin4 访问该数据库。 我还可以通过 127.0.0.1 和端口 5432 在同一台 Ubuntu 机器上连接到 QGIS 中的数据库。除了知道它可以工作之外,没什么特别的。 我想要做的是从任何运行 QGIS 的机器(或另一个可以使用 postgis 的 GIS 平台)连接到该数据库。

路由器上的端口转发规则设置为 80、8080 和 5900 以指向 10.0.0.55,这是托管的 Ubuntu 20.04 的 IP。 我有一个动态的 DNS 指向路由器 IP 给它起名为http://blah.blah.net (实际上不是那个,而是接近)。

pgadmin4 已安装并配置为在服务器中运行,我可以通过 pgadmin4 从主机或使用http://blah.blah.net/pgadmin4的任何其他计算机访问数据库。 不确定我的配置是否正确,但它可以工作。 Geoserver 也在 Tomcat9 上顺利运行,可通过http://blah.blah.net:8080/Geoserver/web/从任何地方访问。 http://blah.blah.net上正在制作一个精美的前端。

然后对etc/postgresql/13/main中的 two.conf 文件进行了以下修改,这些文件已经很好地记录和记录...

host all all 0.0.0.0/0 md5

pg_hba.conf

并且...

listen_addresses='*' (并删除了前导 #)

port = 5432 (已经)

postgresql.conf

然后用...重新启动postgres

sudo service postgresql restart

...然后端口 5432 完全消失,无法从任何地方访问数据库。 甚至没有主机。 检查 postgresql 是否正在运行...

sudo systemctl status postgresql

......它似乎是。 但是我从 QGIS 或 pgadmin4 中一无所获。 甚至来自主机。

有很多问题,但最明显的是我错过了什么吗? 不确定我是否需要在路由器上为端口 5432 设置规则 - 确实以与上述规则类似的方式尝试过,但它没有改变任何东西。 感谢任何帮助。 干杯... R

netstat output中的本地地址:

127.0.0.1:5432

表示 PostgreSQL 只监听环回接口。 由于您更改了postgresql.conf中的listen_addresses ,我得出结论,您忘记重新启动 PostgreSQL。

要确认,请运行以下查询:

SELECT setting, pending_restart
FROM pg_settings
WHERE name = 'listen_addresses';

它应该显示错误的值(如果您没有重新加载或完全更改错误的文件)或将pending_restart显示为TRUE (如果您重新加载但没有重新启动)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM