所以我有这个任务: 您可以在 PostgreSQL 服务器上使用两个摘要报告,该服务器位于:postgres://candidate.company.org/company
用户名 = 候选人密码 = abc
所以我使用这段代码尝试连接数据库:
import psycopg2 as db
conn = db.connect(host='postgres://candidate.suade.org/company', database='randomname', user='candidate', password='abc', port='5432')
但是后来我收到错误消息:
ProgrammingError: invalid dsn: invalid connection option "username"
由于用户名是正确的,有人可以帮忙吗?
您使用了错误的参数。在 Postgres 中你必须使用这样的东西:
conn = pg.DB(host="localhost", user="USERNAME", passwd="PASSWORD", dbname="DBNAME")
这应该可以解决问题。
请尝试以下解决方案
import psycopg2 as db
conn = db.connect(host='localhost', dbname='randomname', user='candidate', password='abc')
如果您使用
psycopg2
库连接Postgres DB,那么连接字符串应该如下所述。
conn = psycopg2.connect(host="localhost",**user = "postgres"**,password = "postgres",database = "postgres") ;
应该是用户而不是用户名。
我见过人们在参数中使用数据库名称变量,但就我而言,如果有人为我们澄清差异,它也不起作用。