用 C 编写的 pgAdmin 的日期戳触发器
我们在一台 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;
We have postgres 8 installed on a linux box, and I'm copying over data and triggers from our windows version to this new one. However, plpgsql isn't installed by default, so copying my trigger source is failing. I only have C or Internal languages to choose from; barring asking the DBA to install plpgsql, can anyone help me convert this:
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;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在我遇到的大多数 Linux 系统上,plpgsql 实际上安装在系统上,但不包含在数据库模板中。执行以下命令“激活”数据库中的 plpgsql。
On most linux systems I have encountered plpgsql is actually installed on the system but is not included in the database template. Executing the following "activates" plpgsql in your database.