4

Concept: a trigger what creates a new record in a table after a new JSON object has been created in another table. I don't want to make any modifications yet, just to "convert" JSON objects to records with a trigger.

klin
  • 112,967
  • 15
  • 204
  • 232
Bence László
  • 494
  • 2
  • 5
  • 14

1 Answers1

4

Use the function jsonb_populate_record() in the trigger function, e.g.

create or replace function json_input_trigger()
returns trigger language plpgsql as $$
begin
    insert into main_table
    select *
    from jsonb_populate_record(null::main_table, new.data);
    return new;
end $$;

Fully working example.

klin
  • 112,967
  • 15
  • 204
  • 232