適合初學者!如何在 Ubuntu 上安裝 PostgreSQL 並進行基本設定

1. 導入

PostgreSQL 是一款穩定且高效能的關聯式資料庫,在 Ubuntu 環境中廣泛應用於各種應用程式與系統。本文將詳細解說如何在 Ubuntu 安裝 PostgreSQL 並進行基本設定。我們會以簡單易懂的方式逐步介紹,讓初學者也能順利完成安裝,並包含安裝後的確認步驟與連線錯誤的處理方法,確保您能夠順利建立環境。

2. 前提條件與準備

首先,請確認您的 Ubuntu 版本為 20.04 或 22.04。在安裝 PostgreSQL 之前,請先取得最新的套件資訊並更新套件列表。

sudo apt update

這將有助於確保後續的安裝流程順利進行。

3. PostgreSQL 安裝步驟

3.1 新增 PostgreSQL 軟體庫

Ubuntu 預設的軟體庫可能未包含最新版本的 PostgreSQL,因此建議新增官方軟體庫,以便安裝最新版本。

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc

3.2 安裝 PostgreSQL

新增軟體庫後,執行以下指令來安裝 PostgreSQL 及其附加工具。

sudo apt update
sudo apt install postgresql postgresql-contrib

3.3 確認安裝成功

安裝完成後,可以使用以下指令確認 PostgreSQL 版本,確保其已成功安裝。

postgres --version

4. 初始設定

4.1 設定 PostgreSQL 使用者

安裝 PostgreSQL 時,系統會自動建立「postgres」系統使用者。請執行以下指令切換至該使用者,並進行資料庫相關操作。

sudo -i -u postgres

4.2 修改本地端連線設定

需要編輯「pg_hba.conf」檔案來設定身份驗證方式。預設情況下,僅允許本地端連線,若需啟用遠端連線,請修改以下檔案的設定。

sudo nano /etc/postgresql/14/main/pg_hba.conf

例如,可以將身份驗證方式設為「md5」,以加強安全性。

local   all             postgres                                md5
host    all             all             127.0.0.1/32            md5

修改設定後,請重新啟動 PostgreSQL 服務,使設定生效。

sudo systemctl restart postgresql

5. 簡單的功能測試

5.1 啟動與停止 PostgreSQL

PostgreSQL 安裝後會自動啟動,但也可以透過以下指令手動啟動、停止或檢查服務狀態。

sudo systemctl status postgresql
sudo systemctl start postgresql
sudo systemctl stop postgresql

5.2 確認資料庫

使用「psql」指令連線到 PostgreSQL,並檢查目前的資料庫列表。

sudo -u postgres psql

在 PostgreSQL 交互模式中輸入 \l,即可列出現有的資料庫。

6. 安裝與設定 pgAdmin(選擇性)

pgAdmin 是一款方便的 GUI 管理工具,可用來管理 PostgreSQL。可透過以下指令安裝,並使用瀏覽器進行操作。

sudo apt install pgadmin4

安裝後,開啟瀏覽器並訪問 http://localhost/pgadmin,即可管理 PostgreSQL。

7. 常見問題與錯誤排除

7.1 安裝錯誤與軟體庫問題

若安裝時發生「依賴關係錯誤」或「軟體庫錯誤」,請確認軟體庫網址是否正確,然後更新套件列表。

sudo apt update

7.2 連線錯誤的處理方法

若 PostgreSQL 連線時出現「密碼驗證失敗」等錯誤,請確認 pg_hba.conf 設定是否正確,並重新啟動服務。

sudo systemctl restart postgresql

7.3 網路連線問題解決方法

若遠端連線 PostgreSQL 時出現問題,可能是 postgresql.conf 的「listen_addresses」設定為「localhost」。可修改該設定以允許遠端存取。

sudo nano /etc/postgresql/14/main/postgresql.conf

將以下設定值修改為 '*' 以允許所有 IP 連線。

listen_addresses = '*'

修改後,請重新啟動 PostgreSQL 服務使變更生效。

sudo systemctl restart postgresql

8. 總結

本文詳細說明了如何在 Ubuntu 環境中安裝 PostgreSQL,並進行初始設定與基本操作。此外,也介紹了 pgAdmin 的使用、遠端連線設定,以及常見錯誤的解決方法。透過這些步驟,即使是初學者也能順利建立 PostgreSQL 環境。

MySQL & MariaDBの世界

MySQLとPostgreSQLの違いを解説。性能、拡張性、ユースケースの観点から、プロジェクトに最適なデータベースを選…