Настройки Django при использовании pgbouncer

У меня есть сайт Django с бэкэндом Postgresql, для которого я используюpgbouncer для пула соединений дб (режим транзакции).

Приложение и БД находятся на отдельных серверах (по 1 серверу каждый). Я установилpgbouncer на сервере приложений. Мой вопрос: что должно быть в конфигурацииsettings.py? Обратите внимание, что я используюUnix сокеты для подключения к pgbouncer.

Мой текущийsettings.py содержит:

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

Соответствующие разделыpgbouncer.ini являются:

[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 содержит:

"user1" "pass1"

Замечания: Один ответэто здесь, но не работает для меня, так как БД не доступна локально в моем случае. Мне нужно установить переменную окружения DATABASE_URL вместо использованияdefault = '...'.

Один из предложений, кажется, лечитьpgbouncer в качестве базы данных вsettings.py, В таком случае, будет ли что-то вроде следующей работы?

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',
        }

Ответы на вопрос(2)

Ваш ответ на вопрос