Configurações do Django ao usar o pgbouncer

Eu tenho um site Django com back-end do Postgresql, para o qual estou utilizandopgbouncer para pool de conexão db (modo de transação).

O aplicativo e o banco de dados residem em servidores separados (1 servidor cada). Eu instaleipgbouncer no servidor de aplicativos. Minha pergunta é: qual deve ser a configuraçãosettings.py? Note que eu estou usandoSoquetes Unix para conectar ao pgbouncer.

Meu atualsettings.py contém:

DATABASE_URL = 'postgres://user1:[email protected]:5432/db1'
DATABASES = {
'default': dj_database_url.config(default=DATABASE_URL)
}

Seções relevantes depgbouncer.ini estão:

[databases]
db1 = host=xx.xxx.xxx.xxx port=5432 dbname=db1

listen_addr = *
listen_port = 6432
auth_type = md5
unix_socket_dir = /var/run/postgresql
pool_mode = transaction
max_client_conn = 200
default_pool_size = 300

userlist.txt contém:

"user1" "pass1"

Nota: Uma respostaé aqui, mas não funciona para mim, pois o banco de dados não está disponível localmente no meu caso. Preciso definir a variável de ambiente DATABASE_URL, em vez de usardefault = '...'.

Uma sugestão parece ser tratarpgbouncer como um banco de dados emsettings.py. Nesse caso, algo como o seguinte funcionaria?

if PRODUCTION == '1':
    #PRODUCTION is set to '1' if in production environment
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': 'pgbouncer',
            'USER': 'user1',
            'PASSWORD': 'pass1',
            'HOST': '/var/run/postgresql',
            'PORT': '6432',
        }

questionAnswers(2)

yourAnswerToTheQuestion