DB/PostgreSQL 24

[Postgresql][Trigger] volatile, cost 100에 대해

트리거 예제들에 자주 등장하는데 설명은 안 나와 있어서.. 찾다가 누군가 답변한 것을 찾았다. LANGUAGE : 무슨 언어 쓰는지. VOLATILE : 모든 함수가 가지고 있는 속성. default로 적용된다. COST 100 : 각 row를 처리하는 데 드는 기본 비용. default로 적용된다. query planner가 가장 싼 plan을 찾을 때 사용된다.. 둘 다 생략해도 되는데, query optimizer에 function 정보를 주는데 어떤 함수가 volatile 속성인지, language는 뭔지, row당 결과의 비용에 대한 정보를 준다.. 해석이 맞나 ㅎㅎ; 대충 무슨 말 하려는지는 알겠음.. 참고할 수 있도록 주는 정보들이라는 것이겠지!

DB/PostgreSQL 2016.09.29

[Postgresql][linux] 파일로 Trigger 코드 관리하기

참조 URL: https://www.postgresql.org/docs/9.5/static/auth-pg-hba-conf.html psql에서 트리거 코드를 한 줄 한 줄 작성하는 건 불편하다. 코드를 파일에 작성하고, 간단하게 파일을 다시 로딩하는 방식으로 사용하고 싶다면 터미널에서 psql -U username -f codefile.sql -d database 명령을 실행하면 된다. 이 때, peer authentication failed 라는 오류가 날 수 있다. DB서버 접속 방식에 제한을 거는 부분에서 오류가 나는 것이므로 pg_hba.conf 파일을 수정해야 한다. 위의 peer를 trust로 바꾸고 저장하고 나간 후에 db서버를 재시작해 주고, 다시 시도하면 잘 된다. peer와 trust ..

DB/PostgreSQL 2016.09.29

[Postgresql] table의 index정보 확인/생성하기

show index type 이건 ' ' 를 써 줘야 인식을 한다. SELECT * FROM pg_indexes WHERE tablename = 'your_table'; create single or multi index - CREATE INDEX index_name ON table_name USING btree(column_name); CREATE INDEX index_name ON table_name (column_name); CREATE INDEX index_name ON table_name (column1_name, column2_name); create unique indexCREATE UNIQUE INDEX index_name ON table_name (column_name); create c..

DB/PostgreSQL 2016.09.26

[Postgresql] DB Server 'windows to linux(ubuntu)' migration - pgsql backup/restore

Windows에서 pgadmin으로 Postgresql을 쓰다가, 리눅스로 갈아타려고 멀티부팅으로 설치했는데, 윈도우에 있는 걸 그대로 복원할 수 있더라. 방법은 pg_dumpall 이나 pg_dump 기능을 이용하는 것이다. pg_dump는 데이터베이스 하나하나 백업이 가능하고, pg_dumpall은 서버 전체를 백업한다. Windows에서 백업 cmd로 작업한다.옵션은 간단하게-h : hostname-p : port-U : username-f : file이렇다. 자세한 옵션은 문서를 참조 : https://www.postgresql.org/docs/current/static/app-pgdump.html pg_dump pg_dumpall암호라고 뜨는 건 Database 수만큼 권한 때문에 비밀번호를 입..

DB/PostgreSQL 2016.09.24

[PGSQL][Sequence] column을 serial 키워드 지정했을 때 permission denied 뜰 때

sequence 접근 권한을 주어야 한다..네. sequence에 대해서도 공부해 봐야겠다. 우선 문서에는 이렇게 써 있네.. currval과 nextval.. 찾아보니 currval : 시퀀스의 현재 값을 알아내는 함수nextval : 시퀀스 값 1 증가 이렇네.. 정리해 보면, serial로 지정했을 시 자동으로 시퀀스르 사용하게 되는데, 시퀀스의 값을 다룰 때 currval과 nextval을 쓴다. 이 때, USAGE 권한을 주어야 저걸 쓸 수 있다는 것이구만..

DB/PostgreSQL 2016.09.15
반응형