如何从本地机器连接Heroku PG及相关配置与CRUD操作问题
连接Heroku PostgreSQL及相关操作指南
嘿,我来帮你一步步搞定这几个问题~
一、从本地机器连接Heroku PG
步骤其实很清晰,照着走就行:
- 先确认你装了Heroku CLI,要是没装的话先补上(毕竟要和Heroku服务器交互嘛)
- 打开终端,输入
heroku login,跟着提示完成登录操作 - 如果你已经在本地的Heroku应用目录下,直接输入
heroku pg:psql就能直接连接;要是不在对应目录,就加上应用名:heroku pg:psql -a 你的应用名称,把“你的应用名称”换成你实际的Heroku app名字,执行后就能用psql操作远程数据库了 - 要是想用可视化工具(比如DBeaver、DataGrip)连接,就输入
heroku pg:credentials:url -a 你的应用名称,它会输出完整的连接信息:主机地址、端口、用户名、密码、数据库名,把这些信息填到工具的连接配置里就搞定了
二、替换whoami的内容
那个DATABASE_URL=postgres://$(whoami)是给本地没特意设置PG用户名的场景用的,你已经装了本地PostgreSQL,就得换成你本地PG的实际用户名:
- 默认情况下,PG安装后会创建一个和你系统用户名同名的角色,要是你没修改过,
whoami的输出其实就是它;但如果你自己创建了专门的PG用户,就得用这个自定义的用户名 - 怎么查本地PG用户名?打开终端输入
psql,要是能直接进入PG命令行,当前用户名就是你的系统用户名;要是进不去,试试psql -U 你的PG用户名,或者进入PG后输入SELECT current_user;就能看到当前登录的用户名 - 最终你的本地DATABASE_URL应该写成
postgres://你的本地PG用户名@localhost:5432/你的本地数据库名,别忘了把“你的本地数据库名”换成你自己创建的数据库名称,这样格式就和生产环境的DATABASE_URL完全一致了
三、执行CRUD操作
不管是连接Heroku的PG还是本地PG,CRUD都是用标准的PostgreSQL SQL命令,给你举几个常用的例子:
创建(Create)
先建表再插入数据:
-- 创建users表 CREATE TABLE users ( id SERIAL PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL ); -- 插入一条用户数据 INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
读取(Read)
查询数据的几种常用方式:
-- 查询所有用户信息 SELECT * FROM users; -- 只查询id为1的用户的姓名和邮箱 SELECT name, email FROM users WHERE id = 1;
更新(Update)
修改已有数据:
-- 将id为1的用户邮箱更新为新地址 UPDATE users SET email = 'alice.new@example.com' WHERE id = 1;
删除(Delete)
删除指定数据:
-- 删除id为1的用户记录 DELETE FROM users WHERE id = 1;
要是你是在应用代码里执行CRUD,那就看你用的编程语言和ORM框架了(比如Python用Flask-SQLAlchemy,Ruby用ActiveRecord),本质都是把这些SQL逻辑封装成框架方法调用,核心逻辑是一致的。
内容的提问来源于stack exchange,提问作者Nikesh Devaki
相关产品推荐
相关产品推荐

