尝试在 python 中连接时出现 PostgreSQL 错误:无效的 dsn:无效的连接选项“用户名”

问题描述 投票:0回答:4

所以我有这个任务: 您可以在 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"

由于用户名是正确的,有人可以帮忙吗?

python mysql database postgresql psycopg2
4个回答
5
投票

您使用了错误的参数。在 Postgres 中你必须使用这样的东西:

conn = pg.DB(host="localhost", user="USERNAME", passwd="PASSWORD", dbname="DBNAME")

这应该可以解决问题。


1
投票

请尝试以下解决方案

import psycopg2 as db
conn = db.connect(host='localhost', dbname='randomname', user='candidate', password='abc')

0
投票

如果您使用

psycopg2
库连接Postgres DB,那么连接字符串应该如下所述。

conn = psycopg2.connect(host="localhost",**user = "postgres"**,password = "postgres",database = "postgres") ;

应该是用户而不是用户名。


0
投票

我见过人们在参数中使用数据库名称变量,但就我而言,如果有人为我们澄清差异,它也不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.