Heroku установит переменную окружения DATABASE_URL
:
В процессе подготовки к конфигурации вашего приложения добавляется DATABASE_URL
config var. Он содержит URL-адрес, используемый вашим приложением для доступа к базе данных.
Вы должны использовать это для подключения, так как ваши учетные данные могут быть изменены без предварительного уведомления. psycopg2
может использовать это значение напрямую, например,
import os
import psycopg2
database_url = os.getenv(
'DATABASE_URL',
default='postgres://localhost/postgres', # E.g., for local dev
)
connection = psycopg2.connect(database_url)
Редактировать: Ваше приложение Raspberry Pi не будет иметь прямого доступа к этому, но вы можете использовать Heroku CLI , чтобы запросить ваши конфигурации:
heroku config:get DATABASE_URL --app your-heroku-app-name
Примерно так должно работать в последних версиях Python:
import subprocess
database_url = subprocess.run(
['heroku', 'config:get', 'DATABASE_URL', '--app', 'your-heroku-app-name'],
stdout=subprocess.PIPE,
).stdout