用 Nest.js 開發 API 吧 (五) — Postgresql
本文最初發表於 Medium,已搬運至個人 blog。
前兩篇介紹了 Controller 及 Service 的用法,接下來預計分享 Nest.js 及 TypeOrm。再介紹 TypeOrm 之前,我們需要先來架設資料庫(db),要使用的是 Postgresql。

前兩篇介紹了 Controller 及 Service 的用法,接下來預計分享 Nest.js 及 TypeOrm。再介紹 TypeOrm 之前,我們需要先來架設資料庫(db),要使用的是 Postgresql。
用 Docker 啟用 Postgresql
首先,先 pull Postgresql 的 docker image
docker pull postgres |
再來,建立一個資料夾,用來儲存 Postgresql 的紀錄。
mkdir ${HOME}/postgres-data/ |
接著,執行下面的指令,build 出 Postgresql 的 container
docker run -d \ |
用 Docker 啟用 pgAdmin
接下來我們要來建立 pgAdmin,透過 pgAdmin 就能有 GUI 來管理 Postgresql。
第一步也是先 pull docker image:
docker pull dpage/pgadmin4 |
再來執行以下指令,build 出 pgAdmin 的 container:
docker run -d \ |
啟用 pgAdmin 連接本地端 Postgresql
我們先在 terminal 輸入:
docker ps |

根據上圖,可以看到已經建立兩個 container 了,接著輸入:
docker inspect dev-postgres -f "{{json .NetworkSettings.Networks }}" |
可以看到以下資訊:
{ |
我們把其中的 "IPAddress":"172.17.0.2" 記下來,然後再瀏覽器輸入:http://localhost:80,會到 pgAdmin 的登入畫面。輸入在 用 Docker 啟用 pgAdmin 創建的 PGADMIN_DEFAULT_EMAIL 及 PGADMIN_DEFAULT_PASSWORD 即可登入。

成功登入後,我們在主畫面點選 Add New Server

接著在 general 輸入 db 的名稱,如下圖範例,我輸入的是 itseed

再來,我們要來連接到用 docker build 出來的 Postgresql,我們在 Host name/address 輸入剛剛記下的 IPAddress。Username 填入 postgres,Password 則是上面執行指令時輸入的 POSTGRES_PASSWORD,如下圖所示,都沒問題後就按 Save

成功畫面:

小結
今天分享了使用 docker 建立 Postgresql 以及 pgAdmin,然後可以在 pgAdmin 成功連接資料庫。下一篇預計進入 TypeOrm 操作 Postgresql 的分享,如果文章有任何錯誤或建議,歡迎告知!