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 回答