我无法使用python和psycopg2远程连接到PostgreSQL:以postgres用户身份连接到PostgreSQL时出现连接错误?
这是我的代码。
>>> import psycopg2
>>> conn_string = "host='localhost' dbname='mydb' user='postgres'"
>>> print "Connecting to database\n ->%s" % (conn_string)
Connecting to database
->host='localhost' dbname='mydb' user='postgres'
>>> conn = psycopg2.connect(conn_string)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/tools/lib/python2.7/site-packages/psycopg2/__init__.py", line 164, in connect
conn = _connect(dsn, connection_factory=connection_factory, async=async)
psycopg2.OperationalError: could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
无法连接到服务器:连接被拒绝 是运行在主机上的服务器的“本地主机”(127.0.0.1)和接收端口5432 TCP/IP连接?
密码未设置为postgres用户。
通常,我可以通过在主机上运行以下方法连接到数据库。
1. SSH to box
2. su - postgres
3. psql
4. \c mydb
服务器运行PostgreSQL 9.1。
_I无法远程连接到psql:除非您设置了一个您没有告诉的SSH隧道,否则您甚至不用'host = localhost'尝试。 – 2014-09-25 08:59:14
嗯,“*服务器是否在主机”localhost“(:: 1)上运行,并且在端口5432上接受 TCP/IP连接?*”? – 2014-09-25 13:34:25
@DanielVérité我发现新用户在谈论将ssh变成一个盒子时,似乎会说“远程服务器”,然后将运行在远程机器上的代码与同一远程主机上的数据库建立连接。它是一个“远程服务器”,即使远程数据库连接的目的是无关紧要的。这可能是这样的情况,最后是通过笔记。 – 2014-09-25 13:35:47