database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 10278 게시물 읽기
No. 10278
postgreSQL 테이블 트리거 관련한 질문입니다.
작성자
원종태
작성일
2021-09-01 12:03
조회수
1,671

postgreSQL 11.12 에서 11.13으로 이전하게 되었습니다.

최대한 동일한 조건에서 11.12에서 백업받아 11.13으로 복원하는 작업을 하였는데

다른 데이터들이나 스크립트의 적용은 아무 이상이나 변경없이 적용이 되었는데

일부 테이블에 적용한 트리거의 쿼리가 전혀 의도치 않은 것으로 변경되어 아시는 분이 있을까 질문드립니다.


기존 쿼리 상에는

CREATE TRIGGER ~ ON ~ FOR EACH ROW EXCUTE PROCEDURE ~;

로 되어 있었는데


11.13버전에 복원되고 나서부터는 직접 타이핑을 해도

CREATE TRIGGER ~ ON ~ FOR EACH ROW EXCUTE FUNCTION ~;

으로 변경됩니다.


이 부분이 설정때문에 그런지 11.13에서는 PROCEDURE의 사용에 제한이 생긴건지

아시는 분들이 있으시다면 답변 부탁드립니다.

이 글에 대한 댓글이 총 4건 있습니다.

버전이 올라가면서 바뀌었나봅니다.

PROCEDURE 키워드는 deprecated 라고 나오네요.


 

A user-supplied function that is declared as taking no arguments and returning type trigger, which is executed when the trigger fires.

 

In the syntax of CREATE TRIGGER, the keywords FUNCTION and PROCEDURE are equivalent, but the referenced function must in any case be a function, not a procedure. The use of the keyword PROCEDURE here is historical and deprecated.


https://www.postgresql.org/docs/11/sql-createtrigger.html

정상규(pajama)님이 2021-09-01 14:25에 작성한 댓글입니다.
이 댓글은 2021-09-01 14:26에 마지막으로 수정되었습니다.

감사합니다.

메이저 업그레이드도 아니고 11.12 에서 11.13으로 업그레이드가 됐다고

그게 막힐줄은 상상도 못했네요!

Document 페이지를 열기는 했어도 여디를 봐야할지 몰랐는데,

TRIGGER 항목에 필요한 내용이 있었네요!

원종태님이 2021-09-01 14:46에 작성한 댓글입니다. Edit

그냥 데이터 디렉터리 전체를 가져가서 띄우기만 하면 되는 거였는데,

덤프하고, 복원한다고 고생하셨네요.


패치 버전을 적용할 때는 사용하던 데이터 디렉터리를 그대로 사용해도 대부분 패치버전에서는 크게 문제되지 않습니다.

김상기(ioseph)님이 2021-09-02 01:57에 작성한 댓글입니다.

원본 디비가 다른곳에 있는 서버였고 여러가지 복잡한 설정이 있는 상태여서

그걸 통으로 옮길생각은 못했네요.

백업, 복원했다고 해도 그 후에 설정 조정하는 것 때문에도 여러가지 조정하느라고

하루 꼬박 새웠네요..

원종태님이 2021-09-02 10:07에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
10283Postgre SQL shared_buffers에 대하여 [1]
맥스
2021-10-08
1416
10281postgresql 인덱스명을 변경할 수 있는지? [2]
탁공
2021-09-30
1586
10280control-m current transaction is aborted, command ignored until end of transaction block 해결 방안은 [1]
탁공
2021-09-21
2141
10278postgreSQL 테이블 트리거 관련한 질문입니다. [4]
원종태
2021-09-01
1671
10277This functionality requires the server to be built with libxml support. [3]
주호민대머리
2021-08-24
1775
10276오라클 프로시져 plpgsql로 변환 (트랜젝션 관련) [2]
나그네
2021-08-23
2767
10275xml 형식의 데이터 인서트 시 에러 [2]
질문왕
2021-08-19
1670
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다