2017-04-27 111 views
3

我是python的新手。我必须用PostgreSQL作为数据库开发一个简单的Flask应用程序(在我的本地Ubuntu 16.4中)。Flask&Alchemy - (psycopg2.OperationalError)致命错误:密码验证失败

我安装的pgAdmin,烧瓶,SQLAlchemy的和Postgres,也这是我的应用程序代码:

from flask import Flask 
from flask_sqlalchemy import SQLAlchemy 

app = Flask(__name__) 
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://dbUserName:[email protected]/dbName' 

db = SQLAlchemy(app) 
class User(db.Model): 
    id = db.Column(db.Integer, primary_key=True) 
    username = db.Column(db.String(80), unique=True) 
    email = db.Column(db.String(120), unique=True) 

    def __init__(self, username, email): 
     self.username = username 
     self.email = email 

    def __repr__(self): 
     return '<User %r>' % self.username 

@app.route('/') 

def index(): 
    return "Hello Flask" 


if __name__ == "__main__": 
    app.run() 

我也创建pgAdmin的数据库和新用户(以及在我的代码相关的变量替换它们)但是当我尝试在python shell中测试这段代码时,我发现错误。

我的Python代码:

from app import db 

结果:

/home/user/point2map2/venv/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py:839: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True or False to suppress this warning. 
    'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and ' 

然后:

db.create_all() 

结果:

(psycopg2.OperationalError) FATAL: password authentication failed for user "dbUserName" 
FATAL: password authentication failed for user "dbUserName" 

很多论坛搜索后,我发现这个指南:

在你的pg_hba.conf

# IPv4 local connections: 
# TYPE DATABASE USER  CIDR-ADDRESS   METHOD 
host all   all   127.0.0.1/32   trust 

但它不是为我工作。

+0

这听起来像你需要为你的新的Postgres http://stackoverflow.com/questions/2172569/创建用户解决怎么办,我登录和验证身份到PostgreSQL的-后-A-全新安装 – brennan

回答