1. ROLE 1-1. ROLE ์์ฑ -- ๊ธฐ๋ณธ CREATE ROLE jonathan LOGIN; -- ๋น๋ฐ๋ฒํธ ํฌํจ CREATE USER davide WITH PASSWORD 'jw8s0F4'; -- ๊ถํ ํฌํจ CREATE ROLE admin WITH CREATEDB CREATEROLE; -- ์ฌ์ฉ ๊ธฐํ ํฌํจ CREATE ROLE miriam WITH LOGIN PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01'; -- ์ญ์ DELETE ROLE miriam; -- Synopsis CREATE ROLE name [ [ WITH ] option [ ... ] ] where option can be: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL | VALID UNTIL 'timestamp' | IN ROLE role_name [, ...] | IN GROUP role_name [, ...] | ROLE role_name [, ...] | ADMIN role_name [, ...] | USER role_name [, ...] | SYSID uid 1-2. ROLE ์ด๋? CREATE ROLE์ PostgreSQL database cluster์ ์๋ก์ด ROLE์ ์ถ๊ฐํ๋ค.ย ROLE์ ๋ฐ์ดํฐ๋ฒ ์ด์ค object, ๊ถํ์ ๊ฐ์ง ์ ์๋ ์ํฐํฐ์ด๋ค. ROLE์ ์ฌ์ฉ๋ฐฉ๋ฒ์ ๋ฐ๋ผ USER, GROUP ํน์ ๋๋ค๋ก ๊ฐ์ฃผ๋ ์ ์๋ค. CREATEROLE ๊ถํ์ด ์์ด์ผ์ง๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. ALTER ROLE, DELETE ROLE์ ํตํด ๊ถํ์ ์์ , ์ญ์ ๊ฐ๋ฅํ๋ค. 1-3. ROLE ๊ถํ๋ณ ํน์ง SUPERUSER - ๋ก๊ทธ์ธ์ ์ ์ธํ ๋ชจ๋ ๊ถํ ํฌํจ (ex. Role ์์ฑ ๋ฐ ๊ถํ ๋ถ์ฌ) LOGIN - ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ก๊ทธ์ธํ๊ธฐ ์ํ ๊ถํ PASSWORD - ๋ก๊ทธ์ธ ๋น๋ฐ๋ฒํธ ์ค์ CREATEDB - ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ CREATEROLE - ROLE ์์ฑ/์ญ์ /์์ REPLICATION - REPLICATION ๊ถํ CONNECTIONLIMIT - ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ ์นด์ดํธ INHERIT - ROLE ๊ถํ๋ค ์์ 2. USER 2-1. USER ์์ฑ -- ๊ธฐ๋ณธ CREATE USER jonathan; -- ๋น๋ฐ๋ฒํธ ์ถ๊ฐ CREATE USER davide WITH PASSWORD 'jw8s0F4'; -- ๋ง๋ฃ๊ธฐํ ์ถ๊ฐ CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01'; -- ๊ถํ ์ถ๊ฐ CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB; --Synopsis CREATE USER name [ [ WITH ] option [ ... ] ] where option can be: SYSID uid | CREATEDB | NOCREATEDB | CREATEUSER | NOCREATEUSER | IN GROUP groupname [, ...] | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'abstime' 2-2. USER๋? CREATE ROLE์ PostgreSQL database cluster์ ์๋ก์ด User์ ์ถ๊ฐํ๋ค. CREATEUSER ๊ถํ์ด ์์ด์ผ์ง๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. 3. GROUP 3-1. GROUP ์์ฑ --๊ธฐ๋ณธ CREATE GROUP staff; --์ ์ ์ถ๊ฐ CREATE GROUP marketing WITH USER jonathan, david; --๊ทธ๋ฃน ์ญ์ DROP GROUP staff; -- Synopsis CREATE GROUP name [ [ WITH ] option [ ... ] ] where option can be: SYSID gid | USER username [, ...] 3-2. GROUP์ด๋? CREATE GROUP์ USER ๊ทธ๋ฃน์ ์์ฑํ๋ค.ย SUPERUSER ๊ถํ์ด ์์ด์ผ์ง๋ง ์์ฑ๊ฐ๋ฅํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ cluster ๋ ๋ฒจ์ ์ ๊ทผ ๊ฐ๋ฅํ๊ธฐ ์ํด GROUP, USER, ROLE์ ๋ชจ๋ cluster๋จ์์ ์ ์๋์ด ์๋ค. 4. ROLE, USER, GROUP ์ฐจ์ด ROLE์ Postgresql Database ๊ด๋ จ ๊ถํ๋ค์ ๋ชจ์ ๋์ ๊ฒ์ผ๋ก, 8.1๋ฒ์ ๋ถํฐ USER์ GROUP์ ๊ฐ๋
์ด ROLE๋ก ํตํฉ๋์๋ค. ํ์ฌ ๋ฒ์ ์์๋ USER์ ROLE์ ๊ธฐ๋ฅ์ ๋์ผํ๋ฉฐ, USER๋ login ๊ถํ์ด default, ROLE์ login ๊ถํ์ ๋ณ๋๋ก ๋ถ์ฌํด์ผ ํ๋ ์ฐจ์ด์ ๋ง ์๋ค.ย CREATE GROUP์ ๊ฒฝ์ฐ PostgreSQL์ SQL ํ์ค์๋ ์กด์ฌํ์ง ์์ผ๋ฉฐ, ROLE๊ณผ ๋น์ทํ ๊ฐ๋
์ ๊ฐ์ง๊ณ ์๋ค. ์ฐธ๊ณ
...