BEGIN; ALTER TABLE slack_messages_raw ADD COLUMN slack_channel text, ADD COLUMN slack_user text; UPDATE slack_messages_raw SET slack_channel = message->>'channel'; UPDATE slack_messages_raw SET slack_user = message->>'user'; CREATE OR REPLACE FUNCTION insert_messages_slack_ts() RETURNS TRIGGER AS $$ BEGIN NEW.slack_ts := NEW.message->>'ts'; NEW.slack_channel := NEW.message->>'channel'; NEW.slack_user := NEW.message->>'user'; IF not NEW.message ? 'hidden' OR NEW.message->'hidden' <> to_jsonb(true) THEN NEW.message_text := NEW.message #>> '{text}'; END IF; RETURN NEW; END; $$ LANGUAGE PLPGSQL; COMMIT;