Как подключиться к указанной пользователем базе данных Postgres на Django и Heroku? - PullRequest
0 голосов
/ 01 декабря 2018

У меня есть веб-приложение в Django, которое использует базу данных Postgres для всего в приложении.С этим соединением все работает отлично, как и ожидалось, и приложение работает совершенно нормально.

Особенностью приложения является возможность пользователям подключаться и запрашивать данные из их собственной базы данных Postgres.Требуется, чтобы пользователь предоставил свои учетные данные, а приложение подключилось и запросило определенные данные.

Эта функция работает, как и ожидалось, локально с использованием psycopg2 в качестве драйвера Postgres и была протестирована.с несколькими внешними базами данных Postgres (т.е. базами данных, отличными от той, которая используется приложением).Результирующий запрос возвращается в течение 1-5 секунд.

Однако при развертывании в Heroku и тестировании с теми же базами данных соединение никогда не устанавливается и время ожидания запроса истекает.

Я пытался использоватьСельдерей и фоновые процессы, но связь до сих пор не устанавливается.

Что необходимо для создания этого соединения и запроса баз данных?Существуют ли другие библиотеки, которые мне нужно установить на Heroku, кроме psycopg2 .

Код, который создает соединение, выглядит следующим образом и снова локально работает совершенно нормально:

cnx = psycopg2.connect(host=request_body['hostname'],
                               database=request_body['dbname'],
                               user=request_body['username'],
                               password=request_body['password'],
                               port=request_body['port'])

Пожалуйста, сообщите.Спасибо!

...