pgbouncer postgres多个django网站

时间:2014-02-13 16:23:41

标签: django postgresql pgbouncer

我正在尝试用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相同的端口?如何解决这个问题。任何指导我指向正确方向的指导都会很棒。

1 个答案:

答案 0 :(得分:0)

可能是你的django应用程序的连接字符串仍在使用postgresql用户名和密码。将连接字符串设置为pgbouncer的端口号,用户名和密码。检查pbBouncer配置文件中的auth_type,将其设置为trust并查看它是否有效。

希望这会给你一个提示