我们在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;
答案 0 :(得分:1)
在我遇到的大多数linux系统上,plpgsql实际安装在系统上,但未包含在数据库模板中。在您的数据库中执行以下“激活”plpgsql。
CREATE LANGUAGE plpgsql;