Псевдоним столбца в Postgres уведомить - PullRequest
0 голосов
/ 12 сентября 2018

Я использую триггер в базе данных 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. Однако мне нужно изменить имя одного из столбцов, пока возвращается эта строка.

К сожалению, AS не работает в ряду с json с NEW.COLUMN_NAME AS NEW_COLUMN. Как мы можем достичь решения для этого?

1 Ответ

0 голосов
/ 12 сентября 2018
 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;
...