logo
icon

PostgreSQL

功能強大且可靠的開源物件關聯式資料庫,具備 ACID 合規與嚴格資料完整性,適合複雜查詢。

template cover
部署次數8653
發布者zeaburZeabur
建立於2024-06-18
模板內的服務
service icon
標籤
Database

部署 PostgreSQL

PostgreSQL(常稱 Postgres)是一套功能強大的開源物件關聯式資料庫系統,以高可靠性、豐富功能與對 SQL 標準的遵循而聞名。它非常適合需要複雜查詢、ACID 合規與嚴格資料完整性的應用。

Zeabur 讓關聯式資料庫的管理變得更輕鬆。透過 Zeabur,你可以在幾秒內啟動可用於生產環境的 PostgreSQL 實例,無需處理複雜設定檔、儲存卷或伺服器維運。

你將學到什麼

在本教學中,我們將帶你完成:

  1. 從 Zeabur Marketplace 部署 PostgreSQL 服務
  2. 使用 TablePluspgAdminpsql 等外部工具連線資料庫
  3. 將已部署的後端應用連接到 PostgreSQL

階段 1:部署資料庫

步驟 1:建立 PostgreSQL 服務

Zeabur 提供「一鍵部署」,因此你很少需要手動調整複雜設定。

選項 1:從專案頁建立 PostgreSQL 實例

  1. 登入 Zeabur Dashboard
  2. 點擊 "New Project"
  3. 選擇 "Template"(Marketplace)。
  4. 搜尋 PostgreSQL
  5. 選擇官方 PostgreSQL 映像,服務會立即開始部署。

選項 2:從模板頁建立 PostgreSQL 實例

  1. 登入 Zeabur Dashboard
  2. 選擇 FeaturesTemplate
  3. 選擇或搜尋 PostgreSQL
  4. 選擇 PostgreSQL(通常是官方映像),點擊 deploy 開始部署。

步驟 2:取得連線憑證

  1. 進入服務的 Instruction 分頁。
  2. 找到 "Connection" 區塊,你會看到兩種資訊:
    • Public (External): 給 VS Code / 本機應用使用
    • Private (Internal): 給已部署的應用使用
  3. Public 區塊記下以下內容:
    • Host:(例如 postgres.zeabur.app
    • Port:(通常是 5432 或隨機連線埠)
    • Username:(預設通常是 rootpostgres
    • Password:(點擊「眼睛」圖示顯示)
    • Database:(預設是 postgres

階段 2:連線資料庫

前置條件:準備 Public 連線資訊

在開啟任何工具前,請先在 Zeabur Dashboard 準備好連線資訊。

  1. 開啟 Zeabur 中的 PostgreSQL 服務。
  2. 點擊 Instruction 分頁。
  3. "Public"(External)區塊可取得:
    • Connection String
    • PostgreSQL Connect Command
    • PostgreSQL username
    • PostgresSQL password
    • PostgresSQL database
    • PostgreSQL host
    • PostgreSQL port

選項 1:使用 VS Code(SQLTools)連線

適合:想在同一個視窗寫程式並查看資料庫的開發者。

步驟 1:安裝擴充套件

  1. 開啟 VS Code 或任何相容的編輯器。
  2. 點擊左側欄的 ExtensionsCtrl+Shift+XCmd+Shift+X)。
  3. 搜尋並安裝:SQLTools
  4. 搜尋並安裝驅動:SQLTools PostgreSQL/Cockroach Driver

步驟 2:建立連線

  1. 點擊左側欄出現的 SQLTools 圖示(資料庫圓柱)。
  2. 將滑鼠移到 “Connections”,點擊 "Add New Connection"(帶 + 的圓柱圖示)。
  3. 選擇 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:測試並連線

  1. 點擊 "Test Connection",看到 “Successfully Connected” 即成功。
  2. 點擊 "Save Connection"
  3. 在側邊欄右鍵連線並選擇 "Connect"
  4. 你可以展開樹狀結構查看 TablesViewsFunctions

選項 2:使用 pgAdmin 4(官方 GUI)連線

適合:使用標準開源介面進行更完整的資料庫管理。

步驟 1:安裝 pgAdmin

  1. 下載並安裝 pgAdmin 4
  2. 開啟 pgAdmin 4。(註:在瀏覽器中開啟屬正常)

步驟 2:註冊伺服器

  1. 在左側樹狀欄右鍵 Servers
  2. 選擇 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” 設為 RequirePrefer

步驟 4:連線

  1. 點擊藍色 Save
  2. 資料庫將出現在左側清單。
  3. 點擊伺服器旁的 > > Databases > postgres > Schemas > public > Tables 查看資料。

階段 3:連接你的應用(服務間互連)

當你將應用部署到 Zeabur(例如透過 AI Studio / GitHub)後,應用需要與此資料庫通訊。建議使用 Private Networking 以提升安全性與速度。

方法 A:簡單方式(環境變數)

Zeabur 會自動向同一專案中的其他服務暴露連線字串。在你的應用服務設定中:

  1. 前往 Variables 分頁。

  2. 新增變數 DATABASE_URL(或你的程式使用的名稱)。

  3. 值使用 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:維護與備份

設定(進階)

若你需要調整特定資料庫設定(例如記憶體限制或日誌):

  1. 在 Zeabur 開啟 Config Editor
  2. 編輯 /etc/postgresql/postgresql.conf
  3. 提示:Zeabur 已預先配置必要設定,多數情況不需要更動。

還原備份

Zeabur 會自動備份。要還原:

  1. 下載: 從 Zeabur 的備份儲存下載並解壓備份檔案,你會得到 data.sql

  2. 準備: 確保本機已安裝 PostgreSQL 用戶端工具。

  3. 執行: 在 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 語句。