登录到Heroku的PostgreSQL并直接执行SQL
我想在Heroku上连接到PostgreSQL并直接执行SQL语句。
由于无法使用heroku pg:psql命令登录,我将其作为备忘录留下。
操作系统为CentOS7.5。
$ heroku pg:psql
--> Connecting to postgresql-nipple-114514
▸ The local psql command could not be located. For help installing psql, see
▸ https://devcenter.heroku.com/articles/heroku-postgresql#local-setup
看起来本地环境需要安装 psql 命令。
确认 PostgreSQL 的版本
$ heroku pg:info
=== DATABASE_URL
Plan: Hobby-dev
Status: Available
Connections: 0/20
PG Version: 10.4
Created: 2018-07-12 10:55 UTC
Data Size: 8.2 MB
Tables: 6
Rows: 5/10000 (In compliance)
Fork/Follow: Unsupported
Rollback: Unsupported
Continuous Protection: Off
Add-on: postgresql-nipple-114514
我們需要將版本統一,因此要檢查 Heroku 上 PostgreSQL 的版本。看起來是安裝了 10.4 版本。
安装PostgreSQL10.4
请参考官方网站https://www.postgresql.jp 上的指南进行安装。
$ sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
$ sudo yum -y install postgresql10
$ psql -V
psql (PostgreSQL) 10.4
PostgreSQL10.4已经成功安装完成。
由于可以使用psql命令,所以没问题了。
$ heroku pg:psql
--> Connecting to postgresql-nipple-114514
psql (10.4)
SSL 接続 (プロトコル: TLSv1.2、暗号化方式: ECDHE-RSA-AES256-GCM-SHA384、ビット長: 256、圧縮: オフ)
"help" でヘルプを表示します。
app-name::DATABASE=>
连接成功了!
表格列表
> \d
原生的中文翻译:哇, PostgreSQL 用两个字母就能显示表格清单,真厉害啊!
> SELECT * FROM hogehoge;
我成功执行了SQL。