连接到数据库时出错

时间:2011-05-11 11:49:46

标签: python linux psycopg2

我无法使用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中有什么我需要做的吗?任何建议将不胜感激。 谢谢。

1 个答案:

答案 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