部署 PostgreSQL
PostgreSQL(常稱 Postgres)是一套功能強大的開源物件關聯式資料庫系統,以高可靠性、豐富功能與對 SQL 標準的遵循而聞名。它非常適合需要複雜查詢、ACID 合規與嚴格資料完整性的應用。
Zeabur 讓關聯式資料庫的管理變得更輕鬆。透過 Zeabur,你可以在幾秒內啟動可用於生產環境的 PostgreSQL 實例,無需處理複雜設定檔、儲存卷或伺服器維運。
你將學到什麼
在本教學中,我們將帶你完成:
- 從 Zeabur Marketplace 部署 PostgreSQL 服務
- 使用 TablePlus、pgAdmin 或 psql 等外部工具連線資料庫
- 將已部署的後端應用連接到 PostgreSQL
階段 1:部署資料庫
步驟 1:建立 PostgreSQL 服務
Zeabur 提供「一鍵部署」,因此你很少需要手動調整複雜設定。
選項 1:從專案頁建立 PostgreSQL 實例
- 登入 Zeabur Dashboard。
- 點擊 "New Project"。
- 選擇 "Template"(Marketplace)。
- 搜尋
PostgreSQL。
- 選擇官方 PostgreSQL 映像,服務會立即開始部署。
選項 2:從模板頁建立 PostgreSQL 實例
- 登入 Zeabur Dashboard。
- 選擇
Features 與 Template。
- 選擇或搜尋
PostgreSQL。
- 選擇
PostgreSQL(通常是官方映像),點擊 deploy 開始部署。
步驟 2:取得連線憑證
- 進入服務的 Instruction 分頁。
- 找到 "Connection" 區塊,你會看到兩種資訊:
- Public (External): 給 VS Code / 本機應用使用
- Private (Internal): 給已部署的應用使用
- 從 Public 區塊記下以下內容:
- Host:(例如
postgres.zeabur.app)
- Port:(通常是
5432 或隨機連線埠)
- Username:(預設通常是
root 或 postgres)
- Password:(點擊「眼睛」圖示顯示)
- Database:(預設是
postgres)
階段 2:連線資料庫
前置條件:準備 Public 連線資訊
在開啟任何工具前,請先在 Zeabur Dashboard 準備好連線資訊。
- 開啟 Zeabur 中的 PostgreSQL 服務。
- 點擊 Instruction 分頁。
- 在 "Public"(External)區塊可取得:
- Connection String
- PostgreSQL Connect Command
- PostgreSQL username
- PostgresSQL password
- PostgresSQL database
- PostgreSQL host
- PostgreSQL port
選項 1:使用 VS Code(SQLTools)連線
適合:想在同一個視窗寫程式並查看資料庫的開發者。
步驟 1:安裝擴充套件
- 開啟 VS Code 或任何相容的編輯器。
- 點擊左側欄的 Extensions(
Ctrl+Shift+X 或 Cmd+Shift+X)。
- 搜尋並安裝:SQLTools。
- 搜尋並安裝驅動:SQLTools PostgreSQL/Cockroach Driver。
步驟 2:建立連線
- 點擊左側欄出現的 SQLTools 圖示(資料庫圓柱)。
- 將滑鼠移到 “Connections”,點擊 "Add New Connection"(帶
+ 的圓柱圖示)。
- 選擇 PostgreSQL。
步驟 3:設定參數
使用 Zeabur 的資訊填寫:
- Connection Name:
Zeabur DB(或任意)
- Connect using:
Server and Port
- Server Address (Host): 貼上 Postgresql Host
- Port: 貼上 Postgresql Port
- Database: 貼上 Postgresql Database(通常
postgres)
- Username: 貼上 Postgresql User
- Password: 貼上 Postgresql Password
- SSL: 保持預設(若連線失敗可改為 "Require")
步驟 4:測試並連線
- 點擊 "Test Connection",看到 “Successfully Connected” 即成功。
- 點擊 "Save Connection"。
- 在側邊欄右鍵連線並選擇 "Connect"。
- 你可以展開樹狀結構查看 Tables、Views、Functions。
選項 2:使用 pgAdmin 4(官方 GUI)連線
適合:使用標準開源介面進行更完整的資料庫管理。
步驟 1:安裝 pgAdmin
- 下載並安裝 pgAdmin 4。
- 開啟 pgAdmin 4。(註:在瀏覽器中開啟屬正常)
步驟 2:註冊伺服器
- 在左側樹狀欄右鍵 Servers。
- 選擇 Register > Server...
步驟 3:輸入憑證
會出現視窗,請填寫以下分頁:
- Tab 1: General
- Name: 自訂名稱(例如
Zeabur App DB)
- Tab 2: Connection
- Host name/address: 貼上 Postgresql Host
- Port: 貼上 Postgresql Port
- Maintenance database: 貼上 Postgresql Database(通常
postgres)
- Username: 貼上 Postgresql User(通常
root)
- Password: 貼上 Postgresql Password
- 可選: 勾選 “Save Password”
- Tab 3: Parameters(可選)
- 若遇到 SSL 問題,請到 SSL 分頁將 “SSL mode” 設為
Require 或 Prefer。
步驟 4:連線
- 點擊藍色 Save。
- 資料庫將出現在左側清單。
- 點擊伺服器旁的
> > Databases > postgres > Schemas > public > Tables 查看資料。
階段 3:連接你的應用(服務間互連)
當你將應用部署到 Zeabur(例如透過 AI Studio / GitHub)後,應用需要與此資料庫通訊。建議使用 Private Networking 以提升安全性與速度。
方法 A:簡單方式(環境變數)
Zeabur 會自動向同一專案中的其他服務暴露連線字串。在你的應用服務設定中:
-
前往 Variables 分頁。
-
新增變數 DATABASE_URL(或你的程式使用的名稱)。
-
值使用 Zeabur 參考變數:會自動帶入安全的內部連線字串。
${POSTGRES_CONNECTION_STRING}
方法 B:手動方式(指定變數)
若你需要連線資訊的某些欄位(或有多個 DB),可使用:
- Host:
${POSTGRES_HOST}(內網主機名,通常以 .zeabur.internal 結尾)
- Port:
${POSTGRES_PORT}
- User:
${POSTGRES_USERNAME}
- Password:
${POSTGRES_PASSWORD}
注意:若你的專案含多個 PostgreSQL 實例,參考變數可能不可靠。此時建議從 Networking 分頁手動複製 “Internal” 的 Hostname 與 Port。
階段 4:維護與備份
設定(進階)
若你需要調整特定資料庫設定(例如記憶體限制或日誌):
- 在 Zeabur 開啟 Config Editor。
- 編輯
/etc/postgresql/postgresql.conf。
- 提示:Zeabur 已預先配置必要設定,多數情況不需要更動。
還原備份
Zeabur 會自動備份。要還原:
-
下載: 從 Zeabur 的備份儲存下載並解壓備份檔案,你會得到 data.sql。
-
準備: 確保本機已安裝 PostgreSQL 用戶端工具。
-
執行: 在 Instructions 找到 "PostgreSQL Connect Command" 並在終端機執行。範例: psql -h postgres.zeabur.app -p 5432 -U root postgres < data.sql
<Your PostgreSQL Connect Command> < data.sql
警告:還原備份會覆蓋現有資料並替換使用者密碼。若想保留目前密碼,請在執行前先從 data.sql 中移除 CREATE ROLE 與 ALTER ROLE 語句。