去年のアドベントカレンダーではPostgreSQL で JSON を組み立てるというのを書いたので、今年は JSON からテーブルへ値を入れるにはどうしたらいいかというのを書きます CREATE TABLE parents ( parent_id bigserial PRIMARY KEY, "name" varchar NOT NULL UNIQUE ); CREATE TABLE children ( child_id bigserial PRIMARY KEY, "name" varchar NOT NULL UNIQUE, parent_id bigint NOT NULL REFERENCES parents(parent_id) ); CREATE OR REPLACE FUNCTION upsert_parent(parent json) RETURNS TABLE(pare