Today I Learned/SQL
postgreSQL rule 사용하기
하나719
2023. 7. 13. 11:48
반응형
https://www.postgresql.org/docs/current/sql-createrule.html
CREATE RULE
CREATE RULE CREATE RULE — define a new rewrite rule Synopsis CREATE [ OR REPLACE ] RULE name AS ON …
www.postgresql.org
규칙을 적용할 테이블: tags
tags 테이블에 tag = '과학' 으로 입력될 경우, 새로운 테이블에 이 데이터를 추가해주는 룰을 만들어보자.
1. 룰에 맞는 데이터를 쌓아줄 테이블을 새로 만들어줍니다.
CREATE TABLE a_tags (
id INT not null primary key,
book_id int,
tag text);
2. 규칙을 만들어줍니다.
create or replace rule {rule_name}
as on insert to {rule_table} where {rule_colums = '조건'}
do also insert into {new_table}(column) values (rule_table_value)
CREATE OR REPLACE RULE r_tag1
AS ON INSERT TO tags WHERE NEW.tag ='과학'
DO ALSO INSERT INTO a_tags(id, book_id, tag) VALUES (NEW.id, NEW.book_id, NEW.tag);
3. 값 확인
tags 테이블에 '과학' 이라는 태그를 넣었는데, a_tags 테이블에 값이 추가된것을 확인할 수 있다.
(+) rule 검색
select * from pg_rules where rulename = 'r_tag1';
어디에 활용 ?
서비스에서 특정 키워드를 모니터링해야할 때 사용할 수 있다. (비방글, 욕문자 등등)
반응형