我正在尝试用postgres和django学习一些pgbouncer - 但是我在制作时似乎遇到了问题。
所以,我有一个django网站说site1
,它使用以下django数据库settings.py
:
SECRET_KEY = "dbpassword"
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'site1db1',
'USER': 'postgres',
'PASSWORD': SECRET_KEY,
'HOST': 'localhost',
'PORT': '12517', # custom pgbouncer post
}
}
以上的工作对site1
都很好 - 而且这在生产中正常运行。现在,我介绍另一个名为site2
的django站点(单独的django安装)和一个新的数据库site2db2
。所以,目前,我在django中为site2
设置了我的settings.py,如下所示:
SECRET_KEY = "dbpassword"
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'site2db2',
'USER': 'postgres',
'PASSWORD': SECRET_KEY,
'HOST': 'localhost',
'PORT': '12517', # custom pgbouncer post
}
}
不幸的是,当我尝试syncdb
第二个django网站时,我得到了;
django.db.utils.OperationalError: ERROR: Auth failed
我假设这是因为site1
使用与site2
相同的端口?如何解决这个问题。任何指导我指向正确方向的指导都会很棒。
答案 0 :(得分:0)
可能是你的django应用程序的连接字符串仍在使用postgresql用户名和密码。将连接字符串设置为pgbouncer的端口号,用户名和密码。检查pbBouncer配置文件中的auth_type,将其设置为trust并查看它是否有效。
希望这会给你一个提示