我的 Linux 计算机上安装了本地 postgreSQL 数据库。我想在 NAS Synology DiskStation (DS216j) 上运行此数据库。
我一直遵循此准则直到第 2 步: http://iamsensoria.com/post/130235198606/postgres-on-synology (我能够创建数据库和用户)但是我无法执行步骤3。
我正在尝试使用 pgAdminIII 连接到数据库,但收到一条错误消息:
“服务器不接受连接:连接库报告无法连接到服务器:Oppkobling nektes 服务器是否在主机“192.168.0.16”上运行并接受端口 5432 上的 TCP/IP 连接?如果遇到此消息,请检查如果您尝试联系的服务器实际上正在给定端口上运行 PostgreSQL,请使用 ping 或等效工具测试您的客户端与服务器主机之间的网络连接是否正确。出于安全原因,PostgreSQL 最初不会侦听服务器计算机上的所有可用 IP 地址,为了通过网络访问服务器,您需要首先启用对地址的侦听,对于从版本 8.0 开始的 PostgreSQL 服务器,这是受控制的。使用 postgresql.conf 文件中的“listen_addresses”参数,您可以输入服务器应侦听的 IP 地址列表,或者仅使用“*”来侦听所有可用的 IP 地址(对于早期服务器)。 7.4),您需要将“tcpip_socket”参数设置为“true”。您可以使用 pgAdmin III 中内置的 postgresql.conf 编辑器来编辑 postgresql.conf 配置文件。更改此文件后,需要重新启动服务器进程才能使设置生效。如果您仔细检查了配置但仍然收到此错误消息,则仍然不太可能遇到致命的 PostgreSQL 错误行为。您可能有一些低级网络连接问题(例如防火墙配置)。在向 PostgreSQL 社区报告错误之前请彻底检查这一点”
ps:我在汉学DS-216J上打开了5432端口。
有人经历过这个吗?提前致谢。
我也使用这个资源:
https://askubuntu.com/questions/423165/remotely-access-postgresql-database
------更新1----
ssh [email protected]
testuser@test:~$ sudo -s
sh-4.3# su - postgres
postgres@test:~$ psql
psql (9.3.14)
Type "help" for help.
postgres=# \l
---------------------------------
download | DownloadStation
mediaserver | MediaIndex
mydb | postgres
photo | PhotoStation
postgres | postgres
template0 | postgres | SQL_ASCII | C | C | =c/postgres
postgres=CTc/postgres
template1 | postgres | SQL_ASCII | C | C | =c/postgres
postgres=CTc/postgres
usermydb | postgres | SQL_ASCII | C | C |
video_metadata | VideoStation | SQL_ASCII | C | C |
------------------------------------------------------------
postgres=# \c mydb
You are now connected to database "mydb" as user "postgres".
mydb=# SHOW hba_file;
hba_file
-----------------------------
/etc/postgresql/pg_hba.conf
(1 row)
mydb=# sudo vim /etc/postgresql/pg_hba.conf // NOT WORKING
mydb=# sudo vim /etc/postgresql/9.1/main/pg_hba.conf // NOT WORKING
答案1
问题是 Postgres 绑定到您的环回地址 (127.0.0.1)。这通常意味着您的数据库不会接受环回之外的连接。根据你的运行结果很明显netstat
。
解决方案:
您需要修改 pg_hba.conf 文件以允许外部连接(最好是您 PC 的 IP 地址)。看看下列的。我不是 100% 知道您使用的 Postgres 版本,但我无法想象每个版本在配置 pg_hba.conf 之间存在巨大差异。