Thuta Learning
ရှာဖွေရန်
BasicData & Databasesbeginner

Docker ဖြင့် PostgreSQL Setup

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • Docker ဖြင့် PostgreSQL Setup concept ကို နားလည်ရှင်းပြနိုင်ရန်
  • နမူနာ SQL/command ကို ကိုယ်တိုင် run ပြီး output စစ်နိုင်ရန်
  • Tutorial Platform project နှင့် production scenario တွင် အသုံးချနိုင်ရန်

နားလည်ထားရမယ့် အချက်

Docker image သုံးခြင်းက Windows၊ macOS နှင့် Linux ပေါ်မှာ လေ့ကျင့်ခန်း environment တူညီစေပါတယ်။ Container ဖျက်သွားလည်း data မပျောက်စေရန် named volume သုံးရပြီး password ကို project source file ထဲ hardcode မထားသင့်ပါဘူး။ Production deployment ကတော့ backup၊ encryption၊ high availability နှင့် patching ပါလိုအပ်လို့ ဒီ local setup ထက်ပိုများပါတယ်။

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

`postgres:18` image ကို run ပြီး `tutorial_platform` database ကို အစကတည်းကဖန်တီးမယ်။ `pgdata` volume က database files ကို container lifecycle ပြင်ပမှာသိမ်းထားပါတယ်။ Container ready ဖြစ်မဖြစ် `pg_isready` ဖြင့်စစ်နိုင်ပါတယ်။

အတူတူ စမ်းရေးကြည့်မယ်

bash
docker volume create pgdata

docker run --name pg-tutorial \
  -e POSTGRES_PASSWORD=learnpg \
  -e POSTGRES_DB=tutorial_platform \
  -p 127.0.0.1:5432:5432 \
  -v pgdata:/var/lib/postgresql/data \
  -d postgres:18

docker exec pg-tutorial pg_isready -U postgres
You should see
`accepting connections` ဟု ပြပြီး PostgreSQL server အဆင်သင့်ဖြစ်မည်။

၅ မိနစ် စမ်းကြည့်

Container ကို stop/start ပြန်လုပ်ပြီး database data ဆက်ရှိမရှိ volume persistence ကိုစစ်ပါ။

သတိလေးတစ်ချက်

နမူနာ password ကို production မှာမသုံးပါနှင့်။ Shell history၊ `.env` commit နှင့် public port exposure ကိုပါ သတိထားပါ။

PostgreSQL — Getting StartedPostgreSQL Global Development Group

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • နမူနာ password ကို production မှာမသုံးပါနှင့်။ Shell history၊ `.env` commit နှင့် public port exposure ကိုပါ သတိထားပါ။
  • နမူနာ code ကို production data ပေါ် တိုက်ရိုက်မစမ်းဘဲ local/test database နှင့် recoverable backup ပေါ်တွင် အရင်အတည်ပြုပါ။

လေ့ကျင့်ခန်း

Container ကို stop/start ပြန်လုပ်ပြီး database data ဆက်ရှိမရှိ volume persistence ကိုစစ်ပါ။

You'll know it worked when: `accepting connections` ဟု ပြပြီး PostgreSQL server အဆင်သင့်ဖြစ်မည်။

Docker ဖြင့် PostgreSQL Setup | Thuta Learning