2012-07-05 70 views
3

我寫了一個簡單的SQLAlchemy,Django的模型,根據這個手冊:http://lethain.com/replacing-django-s-orm-with-sqlalchemy/,這爲我工作得很好。
我的Django連接到遠程PostgreSQL數據庫,與此設置:Django的 - (OperationalError)FATAL:身份認證失敗,用戶「用戶名」

DATABASES = { 
'default': { 
    'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 
    'NAME': 'wetlab_dev',        # Or path to database file if using sqlite3. 
    'USER': 'limlim',         # Not used with sqlite3. 
    'PASSWORD': '',          # Not used with sqlite3. 
    'HOST': 'cab-27',         # Set to empty string for localhost. Not used with sqlite3. 
    'PORT': '',           # Set to empty string for default. Not used with sqlite3. 
    } 
} 

它前幾天爲我工作,但現在當我嘗試加載「主頁」再次,它讓我看到以下錯誤信息:

(OperationalError) FATAL: Ident authentication failed for user "limlim"  

的SQLAlchemy的發動機配置是:

CONNECTION_STR = 'postgresql://limlim:@cab-27/wetlab_dev' 

engine = sqlalchemy.create_engine(CONNECTION_STR) 

好像我沒有改變任何東西是相對ated到數據庫配置,但仍然收到此錯誤消息。
此外,當我試圖用我的用戶名連接到數據庫的遠程服務器上,我成功做它,所以我想這不是我的用戶名去這個數據庫權限的問題。

可以做些什麼來克服這個錯誤?

+0

你應該很可能看看一些日誌...... Django應用程序無法連接到postgreslq服務器的原因有很多.. – Tisho

+0

@Tisho你認爲這是一個數據庫問題還是代碼問題?我已經添加了引擎配置行。 – limlim

+0

看起來像一個數據庫配置問題 - 你實際上可以連接到數據庫,但它拒絕你的憑據。正如你所說的那樣以前工作過,並且如果你沒有對代碼進行修改 - 所以看起來有人可能在DB服務器上搞砸了一些東西...... – Tisho

回答

19

pg_hba.conf你被配置爲使用用於從本地主機(127.0.0.1)連接「IDENT」的認證。您需要將其更改爲針對您的數據庫和用戶組合的md5

+0

+1爲我工作 – Brian

+0

我與OP有同樣的問題我使用您的答案解決了它,謝謝! – Gary

相關問題