You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从树莓派连接Heroku Postgres数据库,如何获取psycopg2参数?

获取Heroku Postgres数据库连接参数的方法

嘿,这个问题我刚好处理过,给你一步步拆解怎么拿到dbname、user、password、host这些参数:

核心前提:Heroku的Postgres连接信息存在DATABASE_URL环境变量里

Heroku会把Postgres数据库的所有连接信息打包成一个URL格式的环境变量DATABASE_URL,我们只需要解析它就能拿到所有需要的参数。

方法1:用Heroku CLI直接查看并拆解

这是最直接的方式:

  • 首先确保你本地装了Heroku CLI,并且已经登录了你的Heroku账号(登录用heroku login命令即可)。
  • 运行命令:heroku config:get DATABASE_URL -a 你的应用名称,把你的应用名称换成你部署在Heroku上的Django应用的名字。
  • 你会得到一个类似这样的字符串:
    postgres://abc123def:xyz789uvw@ec2-12-34-56-78.compute-1.amazonaws.com:5432/d987654321gh
    
  • 现在拆解这个URL:
    • user:postgres://之后、第一个冒号:之前的部分,上面例子里就是abc123def
    • password:第一个冒号:之后、@符号之前的部分,例子里是xyz789uvw
    • host:@符号之后、冒号:之前的部分,例子里是ec2-12-34-56-78.compute-1.amazonaws.com
    • dbname:最后一个斜杠/之后的部分,例子里是d987654321gh

方法2:从Django生产环境配置里提取

如果你的Django应用已经在Heroku上正常运行,它已经自动解析了DATABASE_URL并配置了数据库,你可以直接查看这些参数:

  • 登录Heroku控制台,找到你的应用,进入「Settings」标签页,在「Config Vars」里找到DATABASE_URL,和方法1一样拆解就行。
  • 或者用Heroku CLI进入应用的shell:heroku run python manage.py shell -a 你的应用名称,然后在shell里执行:
    from django.conf import settings
    print(settings.DATABASES['default']['NAME'])  # 对应dbname
    print(settings.DATABASES['default']['USER'])
    print(settings.DATABASES['default']['PASSWORD'])
    print(settings.DATABASES['default']['HOST'])
    
    直接就能看到所有参数。

方法3:在Python程序里自动解析DATABASE_URL

如果你的树莓派程序需要自动处理这个URL,可以用Python的urllib.parse模块来解析,不用手动拆解:

from urllib.parse import urlparse
import psycopg2

# 替换成你从Heroku拿到的DATABASE_URL
database_url = "postgres://abc123def:xyz789uvw@ec2-12-34-56-78.compute-1.amazonaws.com:5432/d987654321gh"
url = urlparse(database_url)

dbname = url.path[1:]  # 去掉路径开头的斜杠
user = url.username
password = url.password
host = url.hostname

# 注意:Heroku Postgres要求SSL连接,所以要加上sslmode='require'
conn = psycopg2.connect(
    dbname=dbname,
    user=user,
    password=password,
    host=host,
    sslmode='require'
)

重要提醒

一定要记得在psycopg2.connect里加上sslmode='require'参数,Heroku的Postgres数据库默认要求SSL连接,不加的话会连接失败哦。

内容的提问来源于stack exchange,提问作者The Pike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:04:50