📌  相关文章
📜  (psycopg2.OperationalError) 无法连接到服务器:连接被拒绝 (1)

📅  最后修改于: 2023-12-03 14:38:45.476000             🧑  作者: Mango

psycopg2.OperationalError - 无法连接到服务器

在使用 psycopg2 库时,可能会出现“无法连接到服务器:连接被拒绝”的错误,这意味着客户端无法连接到 Postgres 数据库服务器。以下是可能导致此错误的几种原因:

  • Postgres 服务器尚未启动:确保 Postgres 服务器已启动并正在运行。
  • Postgres 服务器的 IP 地址已更改:如果你的 Postgres 服务器的 IP 地址已更改,请确保您的应用程序正在连接到正确的 IP 地址。
  • Postgres 服务器未正确配置端口:默认情况下,Postgres 使用端口号 5432。如果您更改了此端口,您需要确保在连接时指定了正确的端口号。
  • Postgres 服务器未正确配置客户端身份验证:Postgres 服务器可以配置为仅允许特定的客户端连接。确保您的身份验证凭据正确,并且您已被授权连接到 Postgres 服务器。

如果以上解决方案均不适用于您的情况,则可能需要查看 Postgres 服务器的日志文件以获取更多详细信息。

以下是示例代码片段,可帮助您解决此错误:

import psycopg2

try:
    conn = psycopg2.connect(
        host="your_host",
        database="your_database",
        user="your_user",
        password="your_password"
    )
    # 连接成功
    cursor = conn.cursor()
    cursor.execute("SELECT * FROM your_table")
    rows = cursor.fetchall()
    print(rows)
    
except psycopg2.OperationalError as e:
    # 连接失败
    print(e)

在上述代码片段中,我们尝试连接到 Postgres 数据库服务器。如果连接成功,则执行一些数据库操作。否则,将打印出错误消息。

参考链接:psycopg2 官方文档