Server, Deploy๐ŸŒ/Server๐Ÿ›œ

๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด4 ์„œ๋ฒ„ ๊ตฌ์ถ•๊ธฐ - (3) PostgreSQL ์„ค์น˜ํ•˜๊ธฐ(+DB ์šฉ์–ด ๊ธฐ๋ณธ์ •๋ฆฌ)

JanuDev 2025. 10. 6. 23:50

๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด๋ฅผ ์‚ฐ์ง€ ๋ช‡๋‹ฌ๋งŒ์— ์ด์ œ ๊ฒจ์šฐ DB๊ตฌ์ถ•์„ ์‹œ์ž‘ํ–ˆ๋‹ค ใ…‡ใ……ใ…‡ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹

๊ทผ๋ฐ ๊ณต์‹ ์›น์‚ฌ์ดํŠธ๋ฅผ ์ ‘์†ํ•˜๋ฉด ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด OS๋ฅผ ์œ„ํ•œ ๋‹ค์šด๋กœ๋“œ ํŒจํ‚ค์ง€๊ฐ€ ์—†๋‹ค.

๊ทธ๋ž˜์„œ ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด์— ์ง์ ‘ sudo ~ ๋ช…๋ น์–ด๋ฅผ ์ณ์…” ์„ค์น˜๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค.. ์ฆ‰์Šจ ๋ฆฌ๋ˆ…์Šค ๋ฐฉ์‹์œผ๋กœ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค(์˜ˆ์ƒ์€ ํ–ˆ์Œ..)

 

1. ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด ์—…๋ฐ์ดํŠธ

์†”์งํžˆ ๊ตณ์ด ํ•ด์•ผํ•˜๋‚˜ ์‹ถ์€๋ฐ, ์ตœ์‹  ๋ชฉ๋ก์œผ๋กœ ์—…๋ฐ์ดํ„ฐ ํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์œ„ํ—˜์ด ์žˆ๋‹ค ํ•œ๋‹ค.

๋ฌด์„œ์šฐ๋‹ˆ๊นŒ ์—…๋ฐ์ดํŠธ ํ•ด์•ผ์ง€...

sudo apt update

2. PostgreSQL ์„ค์น˜

sudo apt install postgresql

์ด๋ ‡๊ฒŒ๋งŒ ์ž…๋ ฅํ•ด๋„ ์ž๊ธฐ๊ฐ€ ์•Œ์•„์„œ ์„ค์น˜๊ฐ€ ๋œ๋‹ค๋Š”๊ฒŒ ์ข€ ์‹ ๊ธฐํ•˜๋‹ค. ๋ฌด์กฐ๊ฑด ๊ณต์‹ ์›น์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐ€์„œ ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š” ์ค„ ์•Œ์•˜๋Š”๋ฐ...

3. ์„ค์น˜๊ฐ€ ์ œ๋Œ€๋กœ ๋ฌ๋Š”์ง€ ํ™•์ธ

sudo systemctl status postgresql

ํ™”๋ฉด์œผ๋กœ ๋ฌด์–ด๋ผ active๋ผ๊ณ  ๋œจ๋Š”๊ฑธ ๋ณด์•„ํ•˜๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ๋˜๋Š”๊ฑฐ ๊ฐ™๊ธด ํ•˜๋‹ค.

4. ๊ธฐ๋ณธ ์„ค์ •

postgreSQL์€ ๊ธฐ๋ณธ์ ์œผ๋กœ postgres๋ผ๋Š” ๊ณ„์ •์„ ๊ด€๋ฆฌ์šฉ ์Šˆํผ ์œ ์ €๋กœ ์ค€.

๊ทธ๋ž˜์„œ ์ดˆ๊ธฐ์„ค์ •์—์„œ ๊ณ„์ •์„ ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๊ณ , DB์šฉ ๊ณ„์ •์„ ํ•˜๋‚˜ ๋” ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. ๊ดœํžˆ postgres์— ํ•˜์ง€ ๋ง๊ณ  ๋”ฐ๋กœ ๊ณ„์ • ํ•˜๋‚˜ ๋” ํŒŒ์„œ DB๋ฅผ ๋‹ค๋ฃจ๋Š”๊ฒŒ ์•ˆ์ „ํ•˜๋‹ค(๋ผ๊ณ  ํ•™์›์—์„œ ๋ฐฐ์›€)

์–ด์จŒ๋“  postgres๊ณ„์ •์„ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š”๊ฑด ๋งค์šฐ ์œ„ํ—˜ํ•œ ์ผ์ด๋‹ค.

  • postgres ๊ณ„์ •์— ์ ‘์†ํ•œ๋‹ค
sudo -i -u postgres

๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž‘์„ฑํ•ด์„œ ์ง์ ‘ PostgreSQL ์ „์šฉ ์ฝ˜์†”(psql) ์— ์ ‘๊ทผํ•˜๋„๋ก ํ•œ๋‹ค.

psql

์ €๊ฒŒ ์ •์„์ด๊ณ ...๊ฐ„๋‹จํ•˜๊ฒŒ ํ•œ๋‹ค๋ฉด

sudo -u postgres psql

๋ผ๊ณ  ํ•œ๋‹ค.

  • ์ƒˆ๋กœ์šด ๊ด€๋ฆฌ์ž?๋ฅผ ์ƒ์„ฑ

postgres๊ฐ€ ๋ฆฌ๋ˆ…์Šค ๊ด€๋ฆฌ์ž๋ฉด ์ง€๊ธˆ ์ƒ์„ฑํ•  ๊ด€๋ฆฌ์ž๋Š” DB๋‚ด๋ถ€์—์„œ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์ด๋‹ค. 

๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋ง‰๊ฐ•ํ•œ ๊ถŒ๋ ฅ์˜ ์‚ฌ์šฉ์ž๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค ๊ฒƒ์ด๋‹ค.

์ฐธ๊ณ ๋กœ ์ด์ œ ๋งŒ๋“ค ์‚ฌ์šฉ์ž์˜ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ๋ฐ˜๋“œ์‹œ ๊ธฐ์–ตํ•ด์•ผ ํ•œ๋‹ค!!!!! ์•ˆ๊ทธ๋Ÿผ ํฐ์ผ๋‚จ!!!!! ๋ฐ˜๋“œ์‹œ ๋”ฐ๋กœ ์ €์žฅํ• ๊ฒƒ!!!!!

CREATE USER janet WITH PASSWORD 'janet';
CREATE ROLE janet WITH LOGIN PASSWORD 'janet';

์œ„ ๋‘˜ ์ค‘ ํ•˜๋‚˜๋กœ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค. ์‚ฌ์‹ค ์•„๋žซ๊ฒƒ์€ ๊ณ„์ • ์ƒ์„ฑ + ๋กœ๊ทธ์ธ ์ ‘์† ๊ถŒํ•œ๊นŒ์ง€ ์ค€๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜ ๊ตฌ๋ฌธ์ด ๋” ํŽธ๋ฆฌํ•˜๋‹ค. 

์†Œ๋ฌธ์ž ๋ถ€๋ถ„์ด ์ž„์˜๋กœ ์ƒ์„ฑํ•œ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ถ€๋ถ„์ด๋‹ค.

 

๊ธ€๊ณ  ์ง„์งœ ์ค‘์š”ํ•œ๊ฑฐ! password์— ๋ฌธ์ž์—ด๋กœ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋„๋ก ''๊ฐ€ ๋ฌด์กฐ๊ฑด ํ•„์ˆ˜๋‹ค! ์•ˆ๊ทธ๋Ÿผ ๋‚˜์ฒ˜๋Ÿผ 3๋ฒˆ ๋„์ „ํ•˜๋Š” ์‚ฌ๋žŒ ๋œ๋‹ค!

๋˜ํ•œ ์„ธ๋ฏธ์ฝœ๋ก  ; ๋„ ์žŠ์ง€ ๋ง๊ฒƒ! ์•ˆ๊ทธ๋Ÿผ ๋‚˜์ฒ˜๋Ÿผ 4๋ฒˆ ๋„์ „ํ•œ ์‚ฌ๋žŒ ๋œ๋‹ค....

์ง„์งœ ์ค‘์š”ํ•˜๋‹ค! ์žŠ์ง€๋ง์–ด!!!!!!!

 

์ž˜ ์ƒ๊ฒผ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ์ƒ์„ฑ ๋’ค

CREATE USER / CREATE ROLE๊ณผ ๊ฐ™์ด ๋– ์•ผ ํ•œ๋‹ค. 

  • ์ƒˆ๋กœ์šด ๊ด€๋ฆฌ์ž ์†Œ์œ ์˜ DB๋ฅผ ์ƒ์„ฑ
CREATE DATABASE yourdb OWNER user;

๊ทธ๋Ÿผ ์œ„์—์„œ ์ž‘์„ฑํ•œ 'user'๊ฐ€ ์†Œ์œ ํ•˜๋Š” DB๋ฅผ ํ•˜๋‚˜ ์ƒˆ๋กœ ์ƒ์„ฑํ•œ ๊ฒƒ์ด๋‹ค!

์—ฌ๊ธฐ์„œ๋„ ์„ธ๋ฏธ์ฝœ๋ก  ๋ฌด์กฐ๊ฑด ์จ์•ผ ํ•œ๋‹ค! ๊ดœํžˆ ์•ˆ์จ์„œ ๋‚˜์ฒ˜๋Ÿผ ๋ฉ์ฒญ๋น„์šฉ ์น˜๋ฃจ์ง€ ๋ง์ง€์–ด๋‹ค..

์ž˜ ์ƒ์„ฑ๋ฌ๋‹ค๋ฉด ์ €๋Ÿฐ์‹์œผ๋กœ CREATE DATABASE๊ฐ€ ๋– ์•ผ ํ•œ๋‹ค!

  • ์ž˜ ์ƒ์„ฑ๋ฌ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด?

postgres์— ์ ‘์†ํ•œ ์ƒํƒœ์—์„œ

\du

๋ฅผ ํ†ตํ•ด ํ™•์ธํ•˜๋„๋ก ํ•œ๋‹ค. ์ €๊ฑธ ์น˜๋ฉด

์ €๋Ÿฐ์‹์œผ๋กœ ๋‚ด์—ญ์ด ๋‚˜์™€์•ผ ํ•œ๋‹ค.

์ € ํ™”๋ฉด์„ ๋ฒ—์–ด๋‚˜๋ ค๋ฉด q(quit)๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋œ๋‹ค.

 

+ ์ถ”๊ฐ€ : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ

๊ธฐ์กด ์ด๋ฆ„์—์„œ ์‹ ๊ทœ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ€๋ ค๊ณ  ํ•œ๋‹ค. ์กฐ๊ฑด์€ 1. ๊ทธ DB์— ์ ‘์†ํ•˜์ง€ ๋ง๊ฒƒ! 2. ํ•ด๋‹น DB๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„ธ์…˜์ด ์—†์„ ๊ฒƒ 3. ๊ทธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์†Œ์œ ์ž๋‚˜ ์Šˆํผ์œ ์ €(postgres)๊ถŒํ•œ์ด ์žˆ์„ ๊ฒƒ

โžก๏ธ์ด๋Ÿฐ ์ผ ๋•Œ๋ฌธ์— DB๋‚ด๋ถ€ ๊ณ„์ • / ์Šˆํผ์œ ์ €๋ฅผ ๋ถ„๋ฆฌํ•œ ๊ฒƒ์ด๋‹ค....

์–ด์จŒ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•ด์„  ๋ชจ๋“  ์—ฐ๊ฒฐ์„ ๋Š๊ณ  ์Šˆํผ์œ ์ €(postgres)๋กœ ์˜ฎ๊ฒจ๊ฐ€๋Š” ๊ฒƒ์ด ์ œ์ผ ์ข‹๋‹ค.

ALTER DATABASE old_name RENAME TO new_name;

๊ฐ„๋‹จํ•œ DB ๋ช…๋ น์–ด, DB ์šฉ์–ด

DB๋ช…๋ น์–ด๋ฅผ ์•Œ๊ณ  ์žˆ์œผ๋ฉด ๋ฆฌ๋ˆ…์Šค๋กœ PostgreSQL์„ ๋‹ค๋ฃจ๊ธฐ๊ฐ€ ํ›จ์”ฌ ์‰ฌ์›Œ์ง„๋‹ค!

์‚ฌ์‹ค ๋ฆฌ๋ˆ…์Šค๋Š” ํ•˜๋ฉด ํ• ์ˆ˜๋ก ์‰ฝ๊ณ  ์žฌ๋ฐŒ๋‹ค. ํ‚ค์›Œ๋“œ๋ฅผ ์™ธ์šฐ๋Š”๊ฒŒ ๊ท€์ฐฎ์•„์„œ ๊ทธ๋ ‡์ง€...

DB๋ช…๋ น์–ด

๋ช…๋ น์–ด ์„ค๋ช…
\q psql ์ฝ˜์†” ์ข…๋ฃŒ(quit)
\c ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ช… ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ ‘์†(connect)
\du ๋ชจ๋“  ์‚ฌ์šฉ์ž(role)์˜ ๋ชฉ๋ก ๋ณด๊ธฐ
\l ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชฉ๋ก ๋ณด๊ธฐ(list)
\dt ํ˜„์žฌ ์ ‘์† ์ค‘์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ” ๋ชฉ๋ก ๋ณด๊ธฐ
\d ํ…Œ์ด๋ธ”๋ช… ํŠน์ • ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ ๋ณด๊ธฐ
\dn ์Šคํ‚ค๋งˆ ๋ชฉ๋ก ๋ณด๊ธฐ
\df ํ•จ์ˆ˜ ๋ชฉ๋ก ๋ณด๊ธฐ
\conninfo ํ˜„์žฌ ์ ‘์† ์ค‘์ธ DB, ์œ ์ €, ํฌํŠธ ๋“ฑ ์—ฐ๊ฒฐ์ •๋ณด ๋ณด๊ธฐ

์ด๊ฒƒ์ €๊ฒƒ ์ •๋ฆฌํ•˜๋‹ค๋ณด๋‹ˆ DB์šฉ์–ด ์ •๋ฆฌ๋„ ํ•œ๋ฒˆ์€ ํ•„์š”ํ•˜๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

๊ณต๋ถ€ํ•œ์ง€ ์˜ค๋ž˜๋˜์„œ ์•ฝ๊ฐ„ ๊ฐ€๋ฌผ๊ฐ€๋ฌผ...

DB ์šฉ์–ด

RDBS ๊ด€ ์šฉ์–ด ์ •๋ฆฌ

๐Ÿงฑ 1๏ธโƒฃ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Database) : ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ๋‚˜ ์‹œ์Šคํ…œ ๋‹จ์œ„์˜ ์ „์ฒด ์ €์žฅ ๊ณต๊ฐ„

 

  • PostgreSQL ์„œ๋ฒ„ ์•ˆ์—๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ
  • ๊ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์„œ๋กœ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋œ ์„ธ๊ณ„
    → ๋‹ค๋ฅธ DB์˜ ํ…Œ์ด๋ธ”์ด๋‚˜ ๋ฐ์ดํ„ฐ์— ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Œ!!!

 

๐Ÿงฉ 2๏ธโƒฃ ์Šคํ‚ค๋งˆ(Schema) : ํ…Œ์ด๋ธ”์„ “๋ถ„๋ฅ˜ํ•˜๊ณ  ๊ตฌ๋ถ„”ํ•˜๊ธฐ ์œ„ํ•œ ๋…ผ๋ฆฌ์  ํด๋”

  •  PostgreSQL์€ DB ์ƒ์„ฑ ์‹œ ๊ธฐ๋ณธ ์Šคํ‚ค๋งˆ๋กœ public์„ ์ž๋™ ์ƒ์„ฑ
  • ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ˆ์—๋Š” ์—ฌ๋Ÿฌ ์Šคํ‚ค๋งˆ๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์Œ
  • ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ง์ ์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜๊ธฐ ์œ„ํ•œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค(namespace) ์—ญํ• ์„ ํ•จ

๐Ÿงฎ 3๏ธโƒฃ ํ…Œ์ด๋ธ”(Table) : ํ…Œ์ด๋ธ”์€ ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ตฌ์กฐ์  ๋‹จ์œ„. ์—‘์…€ ์‹œํŠธ์ฒ˜๋Ÿผ ํ–‰(Row)๊ณผ ์—ด(Column)๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

์˜ˆ์‹œ๋กœ ๋ณด๋ฉด ์ด๋Ÿฐ ๋А๋‚Œ์ผ ๊ฒƒ์ด๋‹ค...


[์ฐธ๊ณ  ์ž๋ฃŒ]

https://justhodl.tistory.com/53

 

๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด(Raspberry pi)์— PostgreSQL ์„ค์น˜, DB๋งŒ๋“ค๊ธฐ

ํฌ์ŠคํŠธ๊ทธ๋ ˆ์Šคํ์—˜ ์„ค์น˜ํ•  ์ผ์ด ์žˆ์–ด ๋ผ์ฆˆ๋ฒ ๋ฆฌ ํŒŒ์ด์— ์„ค์น˜, ์œ ์ € ๋งŒ๋“ค๊ธฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งŒ๋“ค๊ธฐ, ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ๊นŒ์ง€ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. 1. ์ผ๋‹จ ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด apt ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด์ค๋‹ˆ๋‹ค. sudo apt

justhodl.tistory.com