#16 Data Control Language

#16.0 Introduction

Data Control Language

์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์กฐํšŒํ•˜๊ณ  ์ˆ˜์ •ํ•  ๊ถŒํ•œ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์–ธ์–ด

#16.1 Users

CREATE ROLE marketer WITH login password 'marketer4ever';

-- ๊ถŒํ•œ ๋ถ€์—ฌ
GRANT SELECT, UPDATE, INSERT ON movies TO marketer;

GRANT SELECT, INSERT ON statuses, directors TO marketer;

GRANT SELECT ON ALL TABLES IN SCHEMA PUBLIC TO marketer;

-- ๊ถŒํ•œ ์ทจ์†Œ
REVOKE INSERT ON statuses, directors FROM marketer;

-- ALL
GRANT INSERT ON ALL TABLES IN SCHEMA PUBLIC TO marketer;
REVOKE INSERT ON ALL TABLES IN SCHEMA PUBLIC FROM marketer;

#16.2 Roles

CREATE ROLE editor;
GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA PUBLIC TO editor;

-- USER ์ƒ์„ฑ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ
CREATE USER editor_one WITH PASSWORD 'word4ever';
GRANT editor TO editor_one;

----------------

REVOKE ALL ON movies FROM editor;

-- ํŠน์ • ๋ถ€๋ถ„๋งŒ ๊ถŒํ•œ ๋ถ€์—ฌ
GRANT SELECT (title) ON movies TO editor;
GRANT UPDATE (budget) ON movies TO editor;

-- ๋™์‹œ ์ ‘์† ์ œํ•œ
ALTER ROLE editor_one WITH CONNECTION LIMIT 1;

https://www.postgresql.org/docs/current/sql-createrole.html

Last updated

Was this helpful?