跳到內容

PostgreSQL

PostgreSQL 是功能強大的開源關聯式資料庫,適用於從小型應用到大型企業系統的各種場景。Piora 讓你可以快速建立並管理 PostgreSQL 實例。

  1. 在控制面板進入「資料庫」頁面
  2. 選擇「PostgreSQL」
  3. 選擇版本(建議使用 PostgreSQL 16)
  4. 設定以下參數:
參數說明範例
資料庫名稱服務識別名稱my-postgres
資料庫帳號管理員帳號piora_admin
資料庫密碼管理員密碼(自動產生或自訂)
預設資料庫初始建立的資料庫myapp

建立完成後,你可以在控制面板取得連線字串:

Terminal window
# 標準連線字串
postgresql://piora_admin:your-password@postgres-container:5432/myapp
# 或使用個別參數
Host: postgres-container
Port: 5432
Database: myapp
Username: piora_admin
Password: your-password

將連線字串設為應用的環境變數:

Terminal window
DATABASE_URL=postgresql://piora_admin:your-password@postgres-container:5432/myapp

常見框架的連線設定:

// Node.js (pg)
const { Pool } = require('pg');
const pool = new Pool({
connectionString: process.env.DATABASE_URL,
});
# Python (psycopg2)
import psycopg2
conn = psycopg2.connect(os.environ['DATABASE_URL'])

根據你的 VPS 記憶體大小,調整 PostgreSQL 的記憶體分配:

VPS 記憶體shared_bufferseffective_cache_sizework_mem
1 GB256 MB512 MB4 MB
2 GB512 MB1.5 GB8 MB
4 GB1 GB3 GB16 MB

你可以在 Piora 控制面板中修改這些參數,或透過自訂設定檔覆蓋。

Piora 支援自動排程備份 PostgreSQL 資料庫。詳見 資料庫備份 章節。

你也可以透過控制面板的終端機執行手動備份:

Terminal window
# 匯出資料庫
pg_dump -U piora_admin -d myapp > backup.sql
# 還原資料庫
psql -U piora_admin -d myapp < backup.sql

確認應用與資料庫在同一個 Docker 網路中,且使用的是容器名稱而非 localhost

  1. 檢查 shared_buffers 設定是否合理
  2. 使用 EXPLAIN ANALYZE 分析慢查詢
  3. 確認資料表有適當的索引
  4. 監控連線數是否超過上限