【发布时间】:2012-07-05 14:19:45
【问题描述】:
根据本手册:http://lethain.com/replacing-django-s-orm-with-sqlalchemy/,我编写了一个简单的 sqlalchemy-django 模型,对我来说效果很好。
我的 Django 使用以下设置连接到远程 postgresql 数据库:
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)
似乎我没有更改与数据库配置相关的任何内容,但我仍然收到此错误消息。
另外,当我尝试使用我的用户名连接到远程服务器上的数据库时,我成功了,所以我想我的用户名访问这个数据库不是权限问题。
可以做些什么来克服这个错误?
【问题讨论】:
-
你应该看看一些日志...... Django 应用程序无法连接到 postgreslq 服务器的原因有很多......
-
@Tisho 您认为这是数据库问题还是代码问题?我已经添加了引擎配置行。
-
看起来像一个数据库配置问题 - 您实际上可以连接到数据库,但它拒绝您的凭据。正如你所说的那样,这在以前是有效的,如果你没有对代码进行更改 - 所以看起来有人可能在数据库服务器中弄乱了一些东西......
-
@Tisho 是的,谢谢。这确实是系统人员为我修复的。
标签: python django postgresql sqlalchemy