postgresql - psql에서 테이블 정보 및 trigger 정보 열람하기, trigger 삭제

DB설계 툴로 DBeaver와 psql이라는 SqlShell을 사용하고 있다.


테이블이 잘 만들어졌는지, 테이블에 올바른 Trigger와 함수가 걸려있는지 

확인하기위해 Dbeaver의 SQL편집기에서 pg_catalog 테이블을 참조하지만


간혹 psql의 간단한 명령어로도 원하는 정보를 볼 수 있어서 

psql도 같이 켜놓고 이용하고 있다.


psql command shell을 활용하는 방법

자주 쓰는 커맨드 정리

\dft

함수목록을 보여준다.


\dS 테이블이름

테이블의 column 정보, 인덱싱이 어떻게 되었는지, 걸린 Trigger 등을 보여준다.



postgres 에서는 trigger를 삭제할 때

반드시 trigger가 걸려있는 테이블을 지정하도록 한다.

하지만 이는 표준 SQL문법이 아니다.


표준 SQL에서는 테이블 이름을 지정하지 않고 

DROP TRIGGER를 통해 Trigger를 삭제한다고 한다. 


postgresql sql query로 열람하는 방법

전체 테이블 당 전체 trigger 열람

SELECT  event_object_table AS table_name ,trigger_name         

FROM information_schema.triggers  

GROUP BY table_name , trigger_name 

ORDER BY table_name ,trigger_name 


특정 테이블의 전체 trigger 열람

SELECT  event_object_table AS table_name ,trigger_name         

FROM information_schema.triggers

WHERE event_object_table ='테이블 명' 

GROUP BY table_name , trigger_name 

ORDER BY table_name ,trigger_name 




댓글

이 블로그의 인기 게시물

실무진 면접 경험으로 정리하는 백엔드 (1) : 에듀 테크 기업 면접

노마드코더 개발자북클럽 Clean code TIL 6 : 6장. 객체와 자료구조

백엔드 개발자가 Djnago fullstack 사이드 프로젝트를하며 ( html, css, vanillaJS 그리고 JS프레임워크 )