[Docker] postgres ์‚ฌ์šฉ

๋„ค๋ฏผยท2023๋…„ 10์›” 5์ผ
0

๐Ÿ’ฌ Window ํ™˜๊ฒฝ์—์„œ Git Bash๋ฅผ ์ด์šฉํ•œ postgres ์‚ฌ์šฉ

๐Ÿ’ก ๋ฏธ๋ฆฌ ํ•ด์•ผ ํ•  ์ผ

  1. Docker ์„ค์น˜
  2. Git Bash ์„ค์น˜

Git Bash์—์„œ ์ž…๋ ฅ

1. ๋„์ปค ๋กœ๊ทธ์ธ

docker login

2. ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ

docker run -d --name ์ด๋ฆ„ -e POSTGRES_PASSWORD=๋น„๋ฐ€๋ฒˆํ˜ธ -p 5432:5432 postgres:latest

  • docker run: Docker ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰

  • -d: ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰

  • --name ์ปจํ…Œ์ด๋„ˆ์ด๋ฆ„: ์‹คํ–‰ํ•  ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„

  • -e POSTGRES_PASSWORD=๋น„๋ฐ€๋ฒˆํ˜ธ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ

  • -p 5432:5432: ํ˜ธ์ŠคํŠธ ๋จธ์‹ ๊ณผ ์ปจํ…Œ์ด๋„ˆ ๊ฐ„์˜ ํฌํŠธ ๋งคํ•‘์„ ์„ค์ • (๊ธฐ๋ณธ ์„ค์ • 5432:5432)

  • postgres:latest: Docker์—์„œ postgres ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์™€์„œ ์‹คํ–‰, latest๋Š” PostgreSQL ์ด๋ฏธ์ง€์˜ ์ตœ์‹  ๋ฒ„์ „์„ ์‚ฌ์šฉ

์ด๋ ‡๊ฒŒ ๋œจ๋ฉด ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ์„ฑ๊ณต

๋„์ปค์—์„œ ์ƒ์„ฑ๋œ ์ปจํ…Œ์ด๋„ˆ ํ™•์ธ ๊ฐ€๋Šฅ

3. ์ปจํ…Œ์ด๋„ˆ ์ ‘์†

docker exec -it ์ด๋ฆ„ psql -U postgres

๋งŒ์•ฝ the input device is not a TTY. If you are using mintty, try prefixing the command with 'winptyโ€™ ์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋œฌ๋‹ค๋ฉด

winpty docker exec -it ์ด๋ฆ„ psql -U postgres
๋ช…๋ น์–ด ์•ž์— winpty๋ฅผ ๋ถ™์—ฌ์ฃผ๋ฉด ๋จ

postgres=# ์ด๋ ‡๊ฒŒ ๋œจ๋ฉด ์ปจํ…Œ์ด๋„ˆ ์ ‘์† ์„ฑ๊ณต

4. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ

CREATE DATABASE ์ด๋ฆ„;

5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์กฐํšŒ

\l

a ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ƒ์„ฑ๋œ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

6. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘์†

docker exec -it ์ปจํ…Œ์ด๋„ˆ์ด๋ฆ„ psql -U postgres -d ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฆ„

a=# ์ด๋ ‡๊ฒŒ ๋œจ๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘์† ์„ฑ๊ณต

7. ํ…Œ์ด๋ธ” ์ƒ์„ฑ

CREATE TABLE b (
    id serial PRIMARY KEY,
    column1 varchar(255),
    column2 integer,
    column3 text
);

8. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด ๋ชจ๋“  ํ…Œ์ด๋ธ” ์กฐํšŒ

SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public';

9. ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ ์กฐํšŒ

SELECT * FROM b;

10. ํ…Œ์ด๋ธ” ์‚ญ์ œ

DROP TABLE b;

profile
๊ธฐ๋กํ•˜์ž

0๊ฐœ์˜ ๋Œ“๊ธ€