[英]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.