[SQL Fundamentals] 00. ์ค์ต ํ๊ฒฝ ๊ตฌ์ถ - PostgreSQL, DBeaver ์ค์น (Mac)
by Hi.Claire๐ฅ๏ธ ๋ฐ์ดํฐ ๋ถ์ SQL Fundamentals (๊ถ์ฒ ๋ฏผ, ์ธํ๋ฐ)
๊ฐ์ ์๊ฐ ๋ฐ ์ค์ต ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ
1. PostgreSQL ๋ค์ด๋ก๋ ๋ฐ ์ค์น (Mac)
PostgreSQL ์ญ์ ํ๊ธฐ
์ฒ์์ PostgreSQL ํํ์ด์ง์์ EDB installer๋ฅผ ํตํด PostgreSQL์ ์ค์นํ์ผ๋ ๊ณ์ ์ฐ๊ฒฐ์์ ๋งํ๋ฒ๋ ธ๋ค.
์ค์นํ ๋ ๋ถ๋ช ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋๋ฐ ์๊พธ ๋น๋ฐ๋ฒํธ ์ค๋ฅ๊ฐ ๋ฐ์ํด์ ๊ตฌ๊ธ๋งํด๋ณด๋ ๊ฐ์ ์ค๋ฅ๋ฅผ ๊ฒช์ ๋ถ๋ค์ด ๋ง์๋ค.
brew๋ฅผ ํตํด ์ฌ์ค์นํ๊ธฐ ์ํด PostgreSQL์ ์ค์นํ๋ ๊ฒฝ๋ก์์ uninstaller๋ฅผ ์คํํ์ฌ ๊ธฐ์กด ์ค์น๋ PostgreSQL์ ์ญ์ ํ๋ค.
1. ํฐ๋ฏธ๋์์ ๊ธฐ์กด ์ค์น ๊ฒฝ๋ก๋ก ์ด๋ํ๊ธฐ
cd /Library/PostgreSQL/16
2. uninstaller ์คํํ๊ธฐ
open uninstall-postgresql.app
Homebrew๋ก PostgreSQL ์ค์นํ๊ธฐ
1. ํฐ๋ฏธ๋์์ brew๋ฅผ ์ด์ฉํ์ฌ ์ค์นํ๊ธฐ
brew install postgresql
2. ์ค์น ํ ๋ฒ์ ํ์ธํ๊ธฐ
postgres -V
ํ์ฌ 14 ๋ฒ์ ์ด ์ค์น๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
postgres (PostgreSQL) 14.10 (Homebrew)
3. postgresql ์๋น์ค ์์ํ๊ธฐ
brew services start postgresql@14
4. postgreSQL ์ฝ์๋ก ์ ์ํ๊ธฐ
psql postgres
์ ์์ด ์ ๋์ง๋ง ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฌป์ง ์๋๋ค.
5. ์ฌ์ฉ์ ๋ฆฌ์คํธ ๋ฐ ๊ถํ ํ์ธํ๊ธฐ
\du
ํ์ฌ Mac ์ฌ์ฉ์ ๊ณ์ ์ด ์กฐํ๋๋๋ฐ Superuser ๊ถํ์ ๊ฐ์ง ๋ฃจํธ ๊ณ์ ์ด๋ค.
6. ์ฌ์ฉ์ ์์ฑํ๊ธฐ
CREATE ROLE postgres WITH LOGIN PASSWORD 'postgres';
๋น๋ฐ๋ฒํธ๋ ์ฌ์ฉ์๋ช ๊ณผ ๋์ผํ๊ฒ postgres๋ก ์ค์ ํ๋ค.
์ฌ์ฉ์ ์์ฑ ์ฌ๋ถ ํ์ธ
postgres ์ฌ์ฉ์๊ฐ ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
7. ์ฌ์ฉ์ ๊ถํ ๋ถ์ฌํ๊ธฐ
ALTER ROLE postgres CREATEDB;
ALTER ROLE postgres CREATEROLE;
์ฌ์ฉ์ ๊ถํ ํ์ธ
์ฌ์ฉ์ postgres์๊ฒ ์ฌ์ฉ์ ๊ถํ(CREATEDB, CREATEROLE)์ด ๋ถ์ฌ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
(์ฐธ๊ณ ) CREATEDB ๊ถํ
https://postgresql.kr/docs/11/app-createdb.html
createdb
createdb createdb — ์ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ ๋ค ์์ฝ createdb [์ ์์ต์ ...] [์ต์ ...] [๋๋น์ด๋ฆ [๋๋น์ค๋ช ]] ์ค๋ช createdb ๋ช ๋ น์ ์ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋๋ ๋ช ๋ น์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก ์๋ก
postgresql.kr
(์ฐธ๊ณ ) CREATEROLE ๊ถํ
https://postgresql.kr/docs/10/sql-createrole.html
CREATE ROLE
CREATE ROLE CREATE ROLE — ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋กค ์ ์ ์์ฝ CREATE ROLE ์ด๋ฆ [ [ WITH ] ์ต์ [ ... ] ] ์ต์ ์๋ฆฌ์๋: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | R
postgresql.kr
8. DB ์์ฑํ๊ธฐ(์ฐ์ต์ฉ)
CREATE DATABASE test;
9. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชฉ๋ก ํ์ธ
\l
๋๋
\list
10. ์ฌ์ฉ์์๊ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ถํ ๋ถ์ฌ
GRANT ALL PRIVILEGES ON DATABASE test TO postgres;
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชฉ๋ก ํ์ธ
postgres์๊ฒ test ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ถํ์ด ๋ถ์ฌ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
(๋๋ postgres ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํด ์ค์ตํ ๊ฒ์ด๋ฏ๋ก ๋ค์ ์ฌ์ฉ์ postgres์๊ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค postgres์ ๊ถํ์ ๋ถ์ฌํ๋ค.)
GRANT ALL PRIVILEGES ON DATABASE postgres TO postgres;
11. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ
\connect test
12. ์์ฑํ ์ฌ์ฉ์๋ก ์ ์
psql test -U postgres
13. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ญ์
DROP DATABASE test;
์ฐ์ต์ฉ์ผ๋ก ๋ง๋ค์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ธ test๋ฅผ ์ญ์ ํ๋ค.
2. DBeaver ์ค์น ๋ฐ DB ์ ์ (Mac)
1. DBeaver ๋ค์ด๋ก๋ ๊ฒฝ๋ก ์ ์ํ๊ธฐ
Download | DBeaver Community
Download DBeaver Community 23.3.1 Released on December 25th 2023 (Milestones). It is free and open source (license). Also you can get it from the GitHub mirror. DBeaver PRO 23.3 Released on December 11th, 2023 PRO version website: dbeaver.com Trial version
dbeaver.io
2. Mac OS์ฉ ์ค์น ํ์ผ ๋ค์ด๋ก๋
3. ๋ค์ด๋ก๋๋ dmg ํ์ผ ์คํํ์ฌ ์ค์น ์งํํ๊ธฐ
DBeaver.app ์์ด์ฝ์ ๋๋๊ทธํด์ Applications ํด๋๋ก ์ด๋์ํจ๋ค.
4. ์ค์น๋ DBeaver๋ฅผ ์คํํ์ฌ DB ์ ์ํ๊ธฐ
4-1. ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ๋จ์ถํค : Control + Shift + N
PostgreSQL์ ์ ํํ๊ณ ๋ค์์ผ๋ก ์ด๋ํ๋ค.
4-2. ์๊น ๋ง๋ค์ด๋ postgres/postgres ๊ณ์ ์ผ๋ก ์ฐ๊ฒฐํ๋ค.
Test Connection ์ ๋๋ฅด๋ฉด ์๋์ ๊ฐ์ด ์ฐ๊ฒฐ์ ํ์ธํ ์ ์๋ค.
๋ง์ฝ Driver Download๊ฐ ํ์ํ๋ฉด ๋ค์ด๋ก๋ํ๋ค.
์๋ฃ๋ฅผ ๋๋ฅด๋ฉด ์ฐ๊ฒฐ์ด ์๋ฃ๋๋ค.
3. ์ค์ต์ฉ ์คํค๋ง ๋ฐ ๋ฐ์ดํฐ ์์ฑ
postgres ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฒ์ ์ฐ๊ฒฐํ๋ฉด ์ค์ต์ฉ ์คํค๋ง์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํด์ฃผ์ด์ผ ํ๋ค.
1. ์ค์ต์ฉ ์คํค๋ง ์์ฑ
์ฒ์์ ๊ธฐ๋ณธ์ผ๋ก ๋ง๋ค์ด์ ธ ์๋ public ์คํค๋ง์์ ์ SQL ํธ์ง๊ธฐ(๋จ์ถํค : Control + ])๋ฅผ ์ด์ด ์คํค๋ง๋ฅผ ์์ฑํ๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ค.
create schema nw;
create schema hr;
์ ๋ช ๋ น์ด๋ฅผ ์คํ(๋จ์ถํค : Control + Enter)ํ ํ Schemas์์ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ > ์๋ก๊ณ ์นจ์ ํด๋ฆญํ๋ฉด ์๋ก ์์ฑ๋ nw, hr ์คํค๋ง๊ฐ ๋ณด์ธ๋ค.
2-1. ๋ฐ์ดํฐ ์์ฑ์ฉ zip ํ์ผ ๋ค์ด๋ก๋ ๊ฒฝ๋ก ์ ์ํ๊ธฐ
https://github.com/chulminkw/SQL_Funda
GitHub - chulminkw/SQL_Funda
Contribute to chulminkw/SQL_Funda development by creating an account on GitHub.
github.com
2-2. ๋ฐ์ดํฐ ์์ฑ์ฉ zip ํ์ผ ๋ค์ด๋ก๋
Code > Download ZIP์ ํตํด ๋ฐ์ดํฐ ์์ฑ์ ์ํ zip ํ์ผ์ ๋ค์ด๋ก๋ ํ๊ณ ์์ถ์ ํผ๋ค.
2-3. ๋ฐ์ดํฐ ์์ฑ ์ฟผ๋ฆฌ ์คํ
export_hr.sql ํ์ผ์ ํ ์คํธ ์๋ํฐ๋ก ์ด์ด ์ ์ฒด ์คํฌ๋ฆฝํธ๋ฅผ ๋ณต์ฌํ๋ค.
DBeaver๋ก ๋์์ hr ์คํค๋ง์์ ์ SQL ํธ์ง๊ธฐ๋ฅผ ์ด์ด ์ ์ฒด ์คํฌ๋ฆฝํธ๋ฅผ ๋ถ์ฌ๋ฃ๊ธฐ ํ๋ค.
SQL ํธ์ง๊ธฐ > SQL ์คํฌ๋ฆฝํธ ์คํ(๋จ์ถํค : Alt + X)์ ํด๋ฆญํ๋ค.
์ ์ฒด ์คํฌ๋ฆฝํธ๊ฐ ์คํ๋๋ฉฐ hr ์คํค๋ง์ ํ ์ด๋ธ๊ณผ ๋ฐ์ดํฐ๊ฐ ์์ฑ๋๋ค.
export_nw.sql ํ์ผ์ ๋ํด์๋ ๋์ผํ๊ฒ ์ํํ๋ค.
์ด์ ๊ฐ์ ์ค์ต์ ์ํ ํ๊ฒฝ ์ธํ ์ด ์๋ฃ๋์๋ค.
'๐พ ๋ฐ์ดํฐ๋ฒ ์ด์ค > ๋ฐ์ดํฐ ๋ถ์ SQL Fundamentals' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ธ๋ก๊ทธ์ ์ ๋ณด
Claire's Study Note
Hi.Claire