You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.9使用pgsql访问PostgreSQL报错及轻量客户端咨询

问题一:relation "declare_report" 不存在的解决方法

1. 指定正确的连接数据库

你当前的pgsql.Connection调用未指定目标数据库名称,默认可能连接到PostgreSQL自带的postgres库,但你的declare_report表大概率在其他数据库中。修改代码添加dbname参数:

import pgsql

# 替换为你实际使用的数据库名称
with pgsql.Connection(("localhost", 5432), "postgres", "password", dbname="your_target_db") as db:
    report_items = db.prepare('SELECT * FROM "declare_report"')
    print(len(report_items))
    report_items.close()

2. 修正模式引用语法

如果表在public模式下,错误的"public.declare_report"会被识别为完整表名,而非public模式下的declare_report表。正确写法二选一:

  • 无引号(适用于小写模式/表名):SELECT * FROM public.declare_report
  • 带引号(适配大小写/特殊字符):SELECT * FROM "public"."declare_report"

3. 验证连接参数与权限

确认postgres用户有权限访问目标数据库和declare_report表,同时核对主机、端口、密码与pgadmin中使用的完全一致。


问题二:Windows11 Python3.9 下的轻量PostgreSQL客户端推荐

以下客户端无需安装PostgreSQL本体,直接通过pip即可安装使用:

  • psycopg2-binary:psycopg2官方预编译版本,无编译依赖,执行pip install psycopg2-binary即可安装,是PostgreSQL最常用的Python客户端,完全支持CRUD,性能优异。
  • pg8000:纯Python实现的客户端,遵循DBAPI 2.0标准,无需编译步骤,执行pip install pg8000安装,体积小巧,适配轻量场景。
  • asyncpg:高性能异步客户端,支持异步CRUD操作,执行pip install asyncpg安装,适合异步编程场景,无额外依赖。

内容的提问来源于stack exchange,提问作者user2155362

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 23:37:37