2016-07-20 3 views
0

Vectronic에서 GPS PLUS X의 기본 저장소에 저장된 GPS 데이터가 있습니다. GPS PLUS X에서는 PostgreSQL 데이터베이스 (public.gps_plus_positions 테이블에 저장 됨)를 복사 할 수 있습니다. 이 테이블에서 함수로 특정 열을 추출하고 public.gps_plus_positions가 업데이트 될 때마다 자동으로 다른 테이블에 삽입하려고합니다.PostgreSQL의 한 테이블에서 다른 테이블로 열을 삽입하는 함수를 만듭니다.

그러므로 나는 (추출하는 하나의 컬럼의 간단한 경우에) 다음 코드를 실행합니다 :

CREATE TABLE main.gps_test(
utc_date date) 

CREATE OR REPLACE FUNCTION tools.gps_plus_positions2gps_test() 
RETURNS trigger AS 
$BODY$ begin 
INSERT INTO main.gps_test(utc_date) 
SELECT 
    NEW.utc_date 
; 
RETURN NULL; 
END 
$BODY$ 
LANGUAGE plpgsql VOLATILE; 
COMMENT ON FUNCTION tools.gps_plus_positions2gps_test() 
IS 'Automatic upload data from gps_data to gps_test.'; 

CREATE TRIGGER trigger_gps_data_upload2test 
    AFTER INSERT 
    ON public.gps_plus_positions 
    FOR EACH ROW 
    EXECUTE PROCEDURE tools.gps_plus_positions2gps_test(); 
COMMENT ON TRIGGER trigger_gps_data_upload2test ON public.gps_plus_positions 
IS 'Automatic upload data from gps_plus positions to gps_test.'; 

하지만 곧 내가 그 코드를 실행으로, GPS PLUS X의 기본 스토리지에서 데이터를 복사 PostgreSQL 모듈은 더 이상 실행되지 않습니다. 따라서 내 코드에 오류가 있다고 가정합니다.

이 문제를 해결하기위한 제안에 대해 매우 감사드립니다.

건배!

+0

안녕하세요! PostgreSQL에 대한 새로운 소식입니다. 아마도 코드에 단순한 오류가있을 것입니다. 아니면 추출 기능이있는 트리거를 허용하지 않는 외부 Vectronic 데이터베이스에 대한 연결입니까? 나는 후자를 의심 ...하지만 정말이 문제를 극복하기위한 제안을 주셔서 감사합니다. 감사! – maison

답변

0

해결. log_files에서 무엇이 잘못되었는지 설명했습니다. Vectronic GPS PLUS X 소프트웨어에 아무런 문제가 없습니다.

관련 문제