func-trigger-after-delete.sql 350 Bytes
CREATE OR REPLACE FUNCTION log_table_after_delete() RETURNS trigger LANGUAGE plpgsql AS $$
DECLARE
    v_old json;
BEGIN
    v_old = rec_to_json(TG_TABLE_SCHEMA, TG_TABLE_NAME, OLD);

    INSERT INTO log_table (table_schema, table_name, operation, old_values)
        VALUES (TG_TABLE_SCHEMA, TG_TABLE_NAME, 'delete', v_old);

    RETURN NEW;
END
$$