首页 > 解决方案 > 获取 psycopg.ProgrammingError:传递数据库参数时无效的连接选项“数据库”

问题描述

嘿,我是数据库新手,为了方便起见,我决定使用Postgresql 。我正在为名为Psycopg的数据库的 Python 编程语言使用适配器,我按照 Psycopg2 的安装教程进行操作,但出现错误,所以我决定安装 psycopg3 并成功安装!但是当我传递database参数时,我收到以下错误:

Traceback (most recent call last):
  File "C:\Users\Aditya\AppData\Local\Programs\Python\Python310\lib\site-packages\psycopg\conninfo.py", line 97, in _parse_conninfo
    return pq.Conninfo.parse(conninfo.encode())
  File "psycopg_binary\\pq/conninfo.pyx", line 30, in psycopg_binary.pq.Conninfo.parse
psycopg.OperationalError: invalid connection option "database"


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\Users\Aditya\Desktop\Aditya\TGbot\dbhelper.py", line 3, in <module>
    conn = psycopg.connect(
  File "C:\Users\Aditya\AppData\Local\Programs\Python\Python310\lib\site-packages\psycopg\connection.py", line 561, in connect
    conninfo = make_conninfo(**params)
  File "C:\Users\Aditya\AppData\Local\Programs\Python\Python310\lib\site-packages\psycopg\conninfo.py", line 56, in make_conninfo
    _parse_conninfo(conninfo)
  File "C:\Users\Aditya\AppData\Local\Programs\Python\Python310\lib\site-packages\psycopg\conninfo.py", line 99, in _parse_conninfo
    raise e.ProgrammingError(str(ex))
psycopg.ProgrammingError: invalid connection option "database"

但是当我没有传递数据库参数时,我没有收到任何错误......这是我的代码:

import psycopg 

conn = psycopg.connect(
    host="localhost",
    database="suppliers",
    user="postgres",
    password="pas")

我在这里做错了什么?我确信我已经创建了具有该名称的数据库并且密码也是正确的。

标签: python-3.xdatabasepostgresqlpsycopg3

解决方案


你看起来正在使用psycopg3. database是不推荐使用的参数,psycopg2并且不允许在psycopg3. 您将需要按照连接页面中的页面中dbname的列表使用此处的列表。psycopg3


推荐阅读