PostgreSQL

Mac OS ์„ค์น˜ํ•˜๊ธฐ

์„ค์น˜์ „์— homebrew๋ฅผ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ updateํ•ด์ค€๋‹ค.

$ brew update

update๋ฅผ ์™„๋ฃŒํ•˜๋ฉด, ์„ค์น˜ํ•˜๊ณ ์ž ํ•˜๋Š” ํŒจํ‚ค์ง€๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ๊ฒ€์ƒ‰ํ•ด๋ณธ๋‹ค.

$ brew search postgresql
==> Formulae
postgresql โœ”    postgresql@11   postgresql@13   postgresql@9.5  qt-postgresql
postgresql@10   postgresql@12   postgresql@9.4  postgresql@9.6  postgrest

์›ํ•˜๋Š” ๋ฒ„์ „์˜ postgresql์„ ์„ค์น˜ํ•ด์ค€๋‹ค.

$ brew install postgresql
...
==> Installing postgresql
==> Pouring postgresql--14.1_1.arm64_monterey.bottle.tar.gz
==> /opt/homebrew/Cellar/postgresql/14.1_1/bin/initdb --locale=C -E UTF-8 /opt/h
==> Caveats
To migrate existing data from a previous major version of PostgreSQL run:
  brew postgresql-upgrade-database

This formula has created a default database cluster with:
  initdb --locale=C -E UTF-8 /opt/homebrew/var/postgres
For more details, read:
  https://www.postgresql.org/docs/14/app-initdb.html

To restart postgresql after an upgrade:
  brew services restart postgresql
Or, if you don't want/need a background service you can just run:
  /opt/homebrew/opt/postgresql/bin/postgres -D /opt/homebrew/var/postgres
==> Summary
๐Ÿบ  /opt/homebrew/Cellar/postgresql/14.1_1: 3,304 files, 44.5MB
==> Running `brew cleanup postgresql`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
==> Caveats
==> postgresql
To migrate existing data from a previous major version of PostgreSQL run:
  brew postgresql-upgrade-database

This formula has created a default database cluster with:
  initdb --locale=C -E UTF-8 /opt/homebrew/var/postgres
For more details, read:
  https://www.postgresql.org/docs/14/app-initdb.html

To restart postgresql after an upgrade:
  brew services restart postgresql
Or, if you don't want/need a background service you can just run:
  /opt/homebrew/opt/postgresql/bin/postgres -D /opt/homebrew/var/postgres

์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ๋ ค์ฃผ๋ฉฐ, ์„ค์น˜ ๋ฒ„์ „ ํ™•์ธ์„ ํ†ตํ•ด ์„ค์น˜๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

ํ˜„์žฌ ๊ธฐ์ค€ default ๋ฒ„์ „ 14.1์ด ์ •์ƒ์ ์œผ๋กœ ์„ค์น˜ ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

start๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด postgresql์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ

์ ‘์†ํ•˜๊ธฐ

superuser๋กœ ์ ‘์†ํ•˜๋Š” ๊ฒฝ์šฐ database๋ช…#๋กœ ๋œฌ๋‹ค.

ํŠน์ • ์‚ฌ์šฉ์ž๋กœ ํŠน์ • database ์ ‘์†ํ•˜๊ธฐ

๋‹ค์Œ๊ณผ ๊ฐ™์ด spring์œผ๋กœ ๋œจ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. superuser๊ฐ€ ์•„๋‹Œ๊ฒฝ์šฐ์—๋Š” database๋ช…=>๋กœ ๋œฌ๋‹ค.

๊ณ„์ • ์กฐํšŒ ํ•˜๊ธฐ

https://www.postgresql.org/docs/current/postgres-user.html์— ๋ณด๋ฉด ์„ค์น˜์‹œ ์ž๋™์œผ๋กœ ์ ํ•ฉํ•œ ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ์ƒ์„ฑํ•ด์ค€๋‹ค๊ณ  ๋˜์–ด์žˆ๋‹ค.

์กฐํšŒ ๋ช…๋ น์–ด๋ฅผ ์น˜๋ฉด, ๋ณ„๋„๋กœ ์ƒ์„ฑํ•œ์  ์—†๋Š” dahyelele(mac ๊ณ„์ •๋ช…) superuser๊ฐ€ ์ƒ์„ฑ๋˜์–ด์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๊ณ„์ • ์ƒ์„ฑํ•˜๊ธฐ

๊ถŒํ•œ ๋ถ€์—ฌํ•˜๊ธฐ

์‚ฌ์šฉ์ž์—๊ฒŒ ์–ด๋–ค ๊ถŒํ•œ์„ ์ค„์ง€ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ๊ถŒํ•œ ๋ถ€์—ฌ ํ›„ \du๋กœ ๋ถ€์—ฌ๋œ ๊ถŒํ•œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

DB ๊ถŒํ•œ ๋ถ€์—ฌํ•˜๊ธฐ

Database ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

Database ์—ฐ๊ฒฐํ•˜๊ธฐ

Table ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

Schema ์ƒ์„ฑ

PostgreSQL์—์„œ๋Š” Database -> Schema -> Table ๊ฐœ๋…์ด๋‹ค. ๊ทธ๋ž˜์„œ Schema๋ฅผ ์ƒ์„ฑํ•ด์ค€ ํ›„ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. ์ด๋•Œ ๊ถŒํ•œ์ด ์žˆ๋Š” database๋กœ ์—ฐ๊ฒฐํ•œ ํ›„ ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•ด์•ผํ•œ๋‹ค.

Schema ์กฐํšŒ

์Šคํ‚ค๋งˆ ๋ชฉ๋ก์„ ๋ณด๋ฉด test์— ์œ„์—์„œ ์ƒ์„ฑํ•œ spring์ด ์ƒ์„ฑ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

client

DBeaver๋Š” mysql, postgresql ๋“ฑ๋“ฑ ๋‹ค์–‘ํ•œ database์ ‘๊ทผ์„ ์ œ๊ณตํ•ด์ค€๋‹ค.

image-20211211164829276

host, username, password๋“ฑ ์‚ฌ์šฉํ•  ๊ณ„์ • ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋•Œ image-20211211175238028

๋‹ค์Œ๊ณผ ๊ฐ™์ด show all databases๋ฅผ ์„ค์ •ํ•ด์ฃผ์–ด์•ผ์ง€ ๊ธฐ์กด์— ์ƒ์„ฑํ•œ ๋ชจ๋“  database๊ฐ€ ๋ชฉ๋ก์— ๋ณด์ธ๋‹ค.

์ฐธ๊ณ 

Last updated

Was this helpful?