PostgreSQL

PostgreSQL 是一個廣受歡迎的資料庫管理系統,他快速、穩固,且有許多功能。雖然 PostgreSQL 原先是以 SQL 為基礎,但也可以使用 JSON 格式來儲存與索引。他能提供更高的彈性讓開發人員提升開發速度,尤其是搭配 Node.js 使用時。

目前在 Simple Hosting 主機上可以選擇 PostgreSQL 9.6 搭配任何一種程式語言使用。

您可以在 Simple Hosting 上建立無限多資料庫與使用者,唯一的限制只有硬碟大小,您可以隨時增加硬碟,最大為 1TB。

您可以從網頁介面或是終端機上管理 PostgreSQL 資料庫。本教學將會介紹如何存取、建立與管理 Simple Hosting 上的 PostgreSQL 資料庫。

連接資料庫

PostgreSQL 資料庫在 localhost5432 預設埠介面。預設使用者帳號 (hosting-db) 與資料庫 (「postgress」 )可以用來測試連線是否正常。

預設的連線資訊:

Host: localhost
Port: 5432
User: hosting-db
Password: <none>
Database: postgres

網頁連結格式看起來像:

tcp://hosting-db@localhost/postgres

備註

建議您為應用程式設定獨立的帳號與密碼。我們會在下方說明如何設定。

使用 phpPgAdmin 來管理您的資料庫

您可以用 phpPgAdmin 管理您的 Simple Hosting 資料庫。從主機的管理介面選擇上方選單 資料庫

當您第一次點擊登入連結時,您需要輸入主機的 ID 與密碼來登入。您可以在主機的管理介面中的控制台內找到連結位置。登入後您就可以看到 phpPgAdmin 的登入畫面。

接者,按下 伺服器 中的 PostgreSQL 就會前往登入頁。

預設的 phpPgAdmin 使用者名稱是 hosting-db,沒有密碼。所以請在使用者名稱中輸入 hosting-db,保留密碼欄位空白,按下 執行

然後,您就會登入 phpPgAdmin 的首頁,您可以使用此介面來管理您的資料庫、建立資料庫等等的操作。

建立資料庫

按下 建立資料庫 的連結來開啟資料庫建立視窗。

輸入您的資料庫名稱並依照您的需求選擇其他設定。

您可以建立或刪除無限數量的資料庫。

建立使用者

按下 角色 分頁按鈕,在 資料庫 的旁邊,就會開啟使用者清單。

您將會看到已存在的預設使用者帳號 hosting-db 。按下 建立角色 來開啟使用者建立視窗。

輸入使用者名稱與密碼,接者選擇該使用者的權限。按下 建立 按鈕完成使用者建立。

匯出資料庫

按下資料庫清單中你要匯出的資料庫,並按下右邊上方的 匯出 按鈕。

您可以選擇匯出資料、結構,或是資料與結構都匯出。您也可以選擇匯出的格式。

若要備份完整的資料庫,您可以選擇:

  • 「資料與結構」

  • 兩欄都勾選 「SQL」 格式,而非」COPY」

  • 下載

然後按下 匯出 按鈕開始下載資料庫。

匯入資料庫

首先要先建立空的資料庫,然後從資料庫清單中按下新建立的資料庫。

假設您的備份檔是 SQL 格式的匯出檔,您就可以按下上方選單的 SQL 按鈕並選擇您的匯出檔。

完成後,系統就會上傳檔案並且建立資料庫。

備註

如果您的資料庫檔案很大,您需要透過 sFTP 將 .sql 檔上傳到 Simple Hosting 內的,並且使用 SSH 終端機匯入資料庫。請參考下方說明。

使用命令列管理你的資料庫

首先,使用緊急終端機連接您的主機,並且執行 psql

連接主機後,如果你沒有刪除預設的使用者 hosting-db 的話,您不需要帳號密碼就可以連接 PostgreSQL 資料庫服務。

hosting-user@my_instance:/srv/data$ psql
psql (9.4.7)
Type "help" for help.

postgres=#

匯出資料庫

使用命令 pg_dump 來執行資料庫匯出,並且搭配 > 符號將資料寫入至檔案內。

例如,要將 postgres 資料庫匯出到檔案 dump-postgres-YYYY-MM-DD.sql

hosting-user@my_instance:/srv/data$ pg_dump postgres > ~/dump-postgres-YYYY-MM-DD.sql

如果您定義的路徑不存在檔案,系統會自動建立新檔。

在完成匯出後,您就可以用 sFTP 下載備份檔到您的本機電腦。

匯入資料庫

若要從您的本機電腦匯入資料庫,您需要先使用 sFTP 將 .sql 檔上傳到主機。您可以存放在家目錄或是 /srv/data/tmp 內。

假設您的檔案是 dump-database-YYYY-MM-DD.sql,您可以執行下列指令來將其匯入資料庫:

hosting-user@my_instance:/srv/data$ psql < /srv/data/tmp/dump-database-YYYY-MM-DD.sql

參考資料