Postgres中的别名列名称通知

时间:2018-09-12 06:04:17

标签: postgresql pg pg-notify

我正在使用Postgres数据库中的触发器来调用函数并将新插入的行发送到NodeJs应用程序

CREATE OR REPLACE FUNCTION triggerFunction() RETURNS trigger AS $$ 
DECLARE
BEGIN
PERFORM pg_notify('tableName', row_to_json(NEW)::text );
RETURN NEW;
END;
$$ LANGUAGE plpgsql;

这将以json格式返回整行。但是,在返回此行时,我需要更改列名之一。

不幸的是,在使用NEW.COLUMN_NAME作为NEW_COLUMN的json行中,AS键盘无效。我们该如何实现解决方案?

1 个答案:

答案 0 :(得分:0)

 CREATE OR REPLACE FUNCTION triggerFunction() RETURNS trigger AS $$ 
 DECLARE
   ret json;
    BEGIN
      select row_to_json(x) into ret from
        (select NEW.abc as def, NEW.jkl, NEW.col3) x;
      PERFORM pg_notify('tableName', ret::text );
      RETURN NEW;
    END;
 $$ LANGUAGE plpgsql;