gpt4 book ai didi

python - 你如何找到 conn = psycopg2.connect(dbname=, user=, password=, host = ) 的参数

转载 作者:行者123 更新时间:2023-11-29 12:50:01 28 4
gpt4 key购买 nike

我将 Python/Django 应用程序推送到 Heroku。该应用程序使用 Postgres 数据库。我现在想从运行简单 Python 程序的 Raspberry Pi 访问这个数据库,使用

conn = psycopg2.connect(dbname=, user=, password=, host = )

该应用程序最初使用 SQLite,直到被推送到 Heroku。您如何找到用于 dbname=, user=, password=, host = 的参数?

最佳答案

Heroku 将 set an environment variable DATABASE_URL :

As part of the provisioning process, a DATABASE_URL config var is added to your app’s configuration. This contains the URL your app uses to access the database.

您应该使用它来连接,因为您的凭据可能会更改,恕不另行通知。 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

关于python - 你如何找到 conn = psycopg2.connect(dbname=, user=, password=, host = ) 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56515517/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com