Bence László
Bence László

Reputation: 582

Trigger to create record from JSON object in PostgreSQL

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.

Upvotes: 4

Views: 840

Answers (1)

klin
klin

Reputation: 121604

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.

Upvotes: 4

Related Questions