1

Linuxボックスにpostgres 8がインストールされており、Windowsバージョンからこの新しいバージョンにデータとトリガーをコピーしています。ただし、plpgsql はデフォルトではインストールされていないため、トリガー ソースのコピーに失敗しています。選択できる言語は C または内部言語のみです。DBA に plpgsql のインストールを依頼しない限り、誰でもこれを変換するのを手伝ってくれます:

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;
4

1 に答える 1

1

私が遭遇したほとんどの Linux システムでは、plpgsql は実際にはシステムにインストールされていますが、データベース テンプレートには含まれていません。次のコマンドを実行すると、データベースで plpgsql が「アクティブ化」されます。

CREATE LANGUAGE plpgsql;
于 2011-03-25T18:07:54.920 に答える