我无法使用psycopg2连接到linux中的数据库。我在linux中安装了postgresql,我的代码是:
import psycopg2
def testEgg():
conn = psycopg2.connect("dbname = myDatabase user = postgres port = 5432")
cur = conn.cursor()
cur.execute("CREATE TABLE egg ( num integer, data varchar);")
cur.execute("INSERT INTO egg values ( 1, 'A');")
conn.commit()
cur.execute("SELECT num from egg;")
row = cur.fetchone()
print row
cur.close()
conn.close()
testEgg()
我得到了错误:
psycopg2.OperationalError: FATAL: Ident authentication failed for user "postgres"
此代码在windows7
中运行良好但在linux
中出现上述错误。
在linux中有什么我需要做的吗?任何建议将不胜感激。
谢谢。
答案 0 :(得分:0)
由于你的代码,这不是问题,但是由于postgres用户的许可。
您应该创建一个新用户来访问您的数据库并替换它:
conn = psycopg2.connect("dbname = myDatabase user = postgres port = 5432")
by(用真实用户名替换<your_user>
...)
conn = psycopg2.connect("dbname = myDatabase user = <your_user> port = 5432")
要在postgres上创建新用户,可以使用“createuser”二进制文件。该文档可用here。