資料庫
KamuiDash 讓你能輕鬆建立與管理 PostgreSQL 資料庫。
支援的資料庫
目前僅支援 PostgreSQL。
建立資料庫
- 在專案詳細畫面點選「New Database」
- 輸入以下資訊:
| 欄位 | 說明 | 範例 |
|---|---|---|
| 資料庫名稱 | 識別用的名稱 | main-db |
| 規格 | 資源大小 | Nano / Small / Medium / Large |
- 點選「Create」
建立資料庫可能需要幾分鐘。狀態顯示為「running」後即可使用。
從應用程式連接
自動注入環境變數
建立應用程式時若選擇了資料庫,以下環境變數會自動設定:
| 環境變數 | 說明 |
|---|---|
DB_HOST |
主機名稱 |
DB_PORT |
連接埠(通常為 5432) |
DB_NAME |
資料庫名稱 |
DB_USER |
使用者名稱 |
DB_PASSWORD |
密碼 |
DATABASE_URL |
完整的連線字串:postgresql://user:password@host:port/dbname |
若要使用單一連線字串,請用 DATABASE_URL。若你的函式庫需要分開指定,也可以使用個別的變數(DB_HOST、DB_PORT、DB_NAME、DB_USER、DB_PASSWORD)。
連線範例
Node.js(pg 函式庫)
const { Pool } = require('pg');
const pool = new Pool({
connectionString: process.env.DATABASE_URL,
});
const result = await pool.query('SELECT NOW()');
console.log(result.rows[0]);
Go
import (
"database/sql"
"os"
_ "github.com/lib/pq"
)
db, err := sql.Open("postgres", os.Getenv("DATABASE_URL"))
if err != nil {
log.Fatal(err)
}
Python
import os
import psycopg2
conn = psycopg2.connect(os.environ['DATABASE_URL'])
cursor = conn.cursor()
cursor.execute('SELECT NOW()')
print(cursor.fetchone())
檢視連線資訊
- 開啟資料庫詳細畫面
- 在「Connection Info」區塊確認:
- 連線 URL
- 主機
- 連接埠
- 使用者名稱
- 密碼(點選顯示按鈕)
安全提醒:請妥善保管你的密碼。
資料庫狀態
| 狀態 | 說明 |
|---|---|
| success | 正常運作中 |
| stop | 已停止 |
| error | 發生錯誤 |
編輯資料庫
- 在資料庫詳細畫面點選「Settings」分頁
- 可編輯的欄位:
- 規格(資源大小)
- 點選「Save」
注意:變更規格會讓資料庫重新啟動。
刪除資料庫
- 在資料庫詳細畫面點選「Settings」分頁
- 點選「Delete Database」
- 在確認對話框中輸入資料庫名稱
- 點選「Delete」
警告:刪除資料庫會永久刪除所有資料。此操作無法復原。建議在刪除前先備份。
最佳實務
使用連線池
不要讓資料庫連線一直開著,請改用連線池。
// 不好的做法:每個請求都建立一條連線
const client = new Client({
host: process.env.DB_HOST,
port: parseInt(process.env.DB_PORT),
database: process.env.DB_NAME,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
});
await client.connect();
// 好的做法:使用連線池
const pool = new Pool({
host: process.env.DB_HOST,
port: parseInt(process.env.DB_PORT),
database: process.env.DB_NAME,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
});
const result = await pool.query('SELECT * FROM users');