iT邦幫忙

2026 iThome 鐵人賽

DAY 20
0
IT Operation

Docker 新手村:從容器到 PostgreSQL 的實戰之路系列 第 21 篇

Day 20 - pgAdmin:用圖形化介面管理 PostgreSQL

  • 分享至 

  • xImage
  •  

學習目標

  • 認識 pgAdmin 是什麼
  • 學會使用 pgAdmin 連線 PostgreSQL
  • 了解 Host、Port、Username、Password 的用途
  • 使用圖形化介面查看 Database 與 Table
  • 使用 Query Tool 執行 SQL

pgAdmin 是什麼?

Day 17 開始使用 psql 操作 PostgreSQL,並陸續建立 Database、Table,以及使用 SQL 新增、查詢、修改和刪除資料。

雖然使用終端機操作很方便,但資料一多之後,只靠指令查看資料可能會比較不直覺。

今天要使用 pgAdmin。

pgAdmin 是 PostgreSQL 常見的圖形化管理工具,可以透過介面查看:

Server
  ↓
Database
  ↓
Schema
  ↓
Table
  ↓
資料

除了查看資料之外,也可以直接使用 Query Tool 執行 SQL。


連線前先確認 PostgreSQL

首先確認 Docker 中的 PostgreSQL Container 是否正在執行:

docker ps

如果 my-postgres 沒有啟動,可以使用:

docker start my-postgres

之前建立 Container 時有設定:

-p 5432:5432

因此 pgAdmin 可以透過電腦的 5432 Port 連線到 PostgreSQL。


在 pgAdmin 新增 Server

開啟 pgAdmin 後,在左側的 Servers 上按右鍵:

Register
   ↓
Server

接著輸入連線資訊。

General

Name 可以自己設定,例如:

Docker PostgreSQL

Connection

接著填入:

Host name/address:localhost
Port:5432
Maintenance database:postgres
Username:postgres
Password:123456

如果前面有自訂 POSTGRES_USER,Username 就要改成自己設定的帳號。

完成後按下 Save。


為什麼 Host 是 localhost?

目前架構是:

pgAdmin
   │
   ↓
localhost:5432
   │
   ↓
Docker Port Mapping
   │
   ↓
PostgreSQL Container

因為 pgAdmin 是從自己的電腦連線,而 PostgreSQL Container 已經將 5432 Port 對應到主機,所以可以使用:

localhost

找到 PostgreSQL。

這也把 Day 7 學過的 Port Mapping 實際應用到了資料庫連線。


查看 Database 與 Table

連線成功後,可以從左側慢慢展開:

Servers
└── Docker PostgreSQL
    └── Databases
        └── schedule_db
            └── Schemas
                └── public
                    └── Tables
                        └── employees

這裡就可以找到 Day 18 建立的 employees Table。

使用圖形化介面後,Database、Schema 和 Table 之間的關係也變得更加清楚。


使用 Query Tool

pgAdmin 也可以直接執行 SQL。

選擇 schedule_db 後開啟 Query Tool,輸入:

SELECT * FROM employees;

按下執行後,就可以直接在下方看到查詢結果。

也可以執行之前學過的:

INSERT INTO employees (name, position, hire_date)
VALUES ('小雨', '兼職', '2026-09-19');

接著再次查詢:

SELECT * FROM employees;

就可以看到剛新增的資料。


psql 和 pgAdmin 有什麼差別?

兩者都可以操作 PostgreSQL,只是操作方式不同。

工具 操作方式 特點
psql 命令列 快速、直接
pgAdmin 圖形化介面 資料結構比較直覺

所以並不是用了 pgAdmin 就不需要學 SQL。

pgAdmin 只是提供比較方便的操作介面,真正對資料庫進行查詢時,SQL 依然非常重要。


常見錯誤與修正

  • ❌ pgAdmin 連線失敗 → ✅ 先使用 docker ps 確認 PostgreSQL 是否執行
  • ❌ Port 填錯 → ✅ 確認 Docker 的 Port Mapping
  • ❌ Username 或 Password 錯誤 → ✅ 確認建立 PostgreSQL 時設定的環境變數
  • ❌ 找不到 employees → ✅ 確認目前查看的是 schedule_db
  • ❌ 使用 localhost 仍無法連線 → ✅ 確認 PostgreSQL Container 有設定 -p 5432:5432

今日小挑戰(可交付)

  • [ ] 開啟 pgAdmin
  • [ ] 連線 Docker 中的 PostgreSQL
  • [ ] 找到 schedule_db
  • [ ] 找到 employees Table
  • [ ] 使用 Query Tool 執行 SELECT
  • [ ] 嘗試新增一筆員工資料

DAY20 心得

今天第一次使用 pgAdmin 連線到 Docker 裡面的 PostgreSQL。之前都是透過 psql 在終端機操作,雖然可以完成所有基本功能,但使用 pgAdmin 後,Database 和 Table 的結構看起來更加直覺。

連線的過程也讓我再次複習了之前學過的 Port Mapping。因為 PostgreSQL Container 有設定 5432:5432,所以 pgAdmin 才能透過 localhost:5432 連進資料庫。

目前已經可以透過 psql 和 pgAdmin 兩種方式操作 PostgreSQL。接下來要開始學習 Docker Compose,把原本很長的 docker run 設定整理到一個檔案中,讓 Docker 環境建立起來更方便。


上一篇
Day 20 - pgAdmin:用圖形化介面管理 PostgreSQL
系列文
Docker 新手村:從容器到 PostgreSQL 的實戰之路 共 21 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言