登录到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。

bannerAds