Произошла ошибка при подключении к базе данных - PullRequest
0 голосов
/ 11 мая 2011

Я не могу подключиться к базе данных в Linux с помощью psycopg2.Я установил postgresql в Linux, и мой код:

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 голосов
/ 11 мая 2011

Это не проблема из-за вашего кода, но из-за разрешения пользователя postgres.

Вы должны создать нового пользователя для доступа к вашей базе данных и заменить это:

conn = psycopg2.connect("dbname = myDatabase user = postgres port = 5432")

от (замените <your_user> вашим реальным именем пользователя ...)

conn = psycopg2.connect("dbname = myDatabase user = <your_user> port = 5432")

Чтобы создать нового пользователя на postgres, вы можете использовать двоичный файл 'createuser'. Документация доступна здесь .

...