【发布时间】:2014-09-24 21:45:03
【问题描述】:
我的 Play 2.0 数据库设置为使用 PostgreSQL 连接,它在我的有线互联网连接上运行良好。但是,当我尝试从无线互联网连接进行连接时,我收到无法连接到数据库 [默认] 错误。谁能帮我弄清楚这是为什么?
设置:
db.default.driver=org.postgresql.Driver
db.default.url=${DATABASE_URL}
db.default.partitionCount=1
.bashrc 文件中设置的数据库 URL 变量:
postgres://myusername:test123@localhost:5432/projectname
已编辑:
pg_hba.conf 文件:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication tvonehwegen md5
#host replication tvonehwegen 127.0.0.1/32 md5
#host replication tvonehwegen ::1/128 md5
postgresql.conf 文件:
# - Connection Settings -
#listen_addresses = 'localhost' # 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)
原来唯一的问题是当我连接到无线网络时,我无法连接到本地 postgreSQL 数据库。有谁知道为什么会这样?谢谢!
【问题讨论】:
-
"并且看起来我在表 pg_settings 中的端口在有线和无线网络 (5432) 上是相同的。"等等,什么?为什么会有所不同?数据库是否也直接连接到无线网络?如果是这样,它是否在同一台机器上,也许是笔记本电脑?
-
你是如何通过终端连接到它的?你是在 sshing 到某个地方然后运行
psql? -
我提到端口的唯一原因是因为那是我对可能会改变的唯一猜测,但我错了。它在同一台机器上有线和无线。我通过终端使用以下命令连接到数据库:pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
-
当您说无线时,您是指 WiFi 还是 3G/4G?在有线和无线上检查您的 IP 地址。服务器是否配置为阻止与特定范围的连接?这似乎是一个网络/服务器配置问题,而不是 Postgres/Scala/Play 问题。
-
这没有任何意义。您的数据库位于
localhost。有线 / WiFi / 任何东西都应该完全没有区别。我唯一的猜测是你有一个写得很糟糕的防火墙,当你通过 WiFi 连接时它会打开,它会过滤环回接口上的数据包(到/来自本地主机)。当您没有连接到任何一个时它是否有效?请编辑您的问题并解释所有内容是如何联系在一起的。
标签: postgresql networking