Heroku 上的 PostgreSQL 要操作的話,可以透過 PGAdmin 這套圖形化介面軟體來操作遠端上的資料庫。不過在設定和操作上有一些常見的誤區,在這邊筆記一下。
前置作業
當然是成功佈署你的資料庫啦,以下提供概略指令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
// STEP 1. 本機端設定(以 node.js, express 為例) // config.json "production": { "use_env_variable": "DATABASE_URL", "dialect": "postgres", "protocol": "postgres", "dialectOptions": { "ssl": true } $ npm i pg const port = process.env.PORT || 3000 // 根據環境變數監聽 PORT // STEP 2. 創造 heroku 專案 heroku create // STEP 3. 推上 heroku 並執行相關指令 git push heroku master heroku ps:scale web=1 // Scaling dynos heroku addons:create heroku-postgresql:hobby-dev // create database heroku run npx sequelize db:migrate //產生 model heroku run npx sequelize db:seed:all //產生種子資料 // STEP 4. 打開專案確認狀態 heroku open heroku logs --tail //若有錯誤可以監控狀態 |
PGAdmin 設定步驟
1. 開啟 Heroku 的專案取得設定
若你的專案(APP)名稱為 abcde,那麼你就點選該專案的 Resources 頁籤下的 Add-ons 區域裡的 Heroku Postgres。
取得 Setting 內的 View Credentials
接著下方出現的 Host、Database、User、Port、Password,是之後設定要用的資料。
2. PGAdmin 端設定
開啟 PGAdmin,會以瀏覽器開啟
在左上角的 Server 點選右鍵,然後 Create → Server
A. 在 General 頁籤內,Name 輸入自定名稱
B. Connection 頁籤內,這邊要使用先前取得的 Host、Database、User、Port、Password:
Host name/address → 輸入 Host 的值
Port → 輸入 Port 的值
Maintenance database → 輸入 Database 的值
Username → 輸入 User 的值
Password → 輸入 Password 的值,並記得 Save Password 才不用每次連線都要輸入
C.SSL 頁籤內,SSL Mode 選擇 Allow
Advanced 頁籤內的 DB restriction,輸入 Database 的值
D.接著點選下方的 Save,就會開始連線了
3. 表格查詢
在 Databases 內依序展開得到 Schemas,裡頭的 Tables 點選
在 Database 名稱點右鍵,會出現 Query Tool
接著輸入 SQL 語法,這邊以查詢資料庫 Regions 為例,語法為 SELECT * FROM public.”Regions”
點選上方的 Play 圖示(以前為閃電圖案),接著下方就會跑出結果了
若要刪除表格內的某筆內容,可以點選該記錄後,上方有個垃圾桶圖示,然後存入表格。