2011-03-25 2 views
1

우리는 리눅스 박스에 postgres 8을 설치했고, 우리의 windows 버전에서이 새로운 버전으로 데이터와 트리거를 복사하고 있습니다. 그러나 plpgsql은 기본적으로 설치되지 않으므로 트리거 소스 복사가 실패합니다. 선택할 수있는 C 또는 내부 언어 만 있습니다. plpgsql를 설치하는 DBA를 요청 금지, 누구도 날이를 변환 할 수 있습니다 : 나는 plpgsql가 발생한 대부분의 리눅스 시스템에서C로 쓰여진 pgAdmin에 대한 Datestamp 트리거

CREATE OR REPLACE FUNCTION "datestampTrigger"() 

RETURNS "trigger" AS 
'BEGIN 
-- check for datecreated 
IF NEW.datecreated IS NULL THEN 
    NEW.datecreated := ''now''; 
END IF; 
NEW.datelastmodified := ''now''; 
RETURN NEW; 
END;' 
    LANGUAGE plpgsql VOLATILE; 
+0

DBA에게 설치 파일을 요청하고 내용을 확인해야합니다. 주변에서 작업해야하는 벽을 올려 놓으면 걱정할 필요가 없습니다. – Kuberchaun

답변

1

실제로 시스템에 설치되어 있지만 데이터베이스 템플릿에 포함되지 않습니다. 다음을 실행하면 데이터베이스에서 plpgsql이 "활성화"됩니다.

CREATE LANGUAGE plpgsql; 
+0

해당 명령을 성공 적으로 실행하려면 수퍼 유저 여야합니다. – Kuberchaun

+0

네, 어쨌든 dba가 해줘야합니다. 감사. –

+0

plpgsql이 일반적으로 신뢰할 수있는 언어 인 경우 데이터베이스 소유자가이를 수행 할 수 있습니다. – Eelke

관련 문제