2016-07-20 15 views
0

GPSデータはVectronicのGPS PLUS Xのデフォルトストレージに格納されています。 GPS PLUS Xでは、PostgreSQLデータベース(テーブルpublic.gps_plus_positionsに保存されています)をコピーできます。この表から、ある特定の列を関数で抽出し、public.gps_plus_positionsが更新されるたびに別の表に自動的に挿入したいと考えています。PostgreSQLのあるテーブルから別のテーブルにカラムを挿入する関数を作成します

は、したがって、私は(抽出するだけで1列の単純なケースのために)次のコードを実行します。

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ソフトウェアへの接続に問題はありません。

関連する問題