Как реализовать хранимую процедуру для вставки значений в postgresql

У меня есть табличка

CREATE post
(
    id       SERIAL PRIMARY KEY              NOT NULL,
    parent   INTEGER,
    author   CITEXT                          NOT NULL,
    message  TEXT                            NOT NULL,
    forum    CITEXT                          NOT NULL,
    thread   INTEGER                         NOT NULL,
    created  TIMESTAMP WITH TIME ZONE        NOT NULL

);

Мне нужно немного оптимизироватся вставку в нее. Обычно, приложению приходит массив постов в json и внутри одной транзакции я делаю запрос на вставку каждого поста. Я хочу делать это одним запросом. По некоторым причинами, я не могу сформировать строку по типу INSERT INTO ... VALUE(..), VALUE(..)..В данной ситуации я хочу сделать хранимую процедуру, которая на вход будет принимать массив композитов

CREATE TYPE forum.post_data AS
(
    author  CITEXT,
    parent  INTEGER,
    message TEXT,
    forum   CITEXT,
    thread  INTEGER,
    created TEXT
);

и возвращать массив композитов, в котором будут лежать записи из таблички, куда мы только что инсертили в том же порядке, в котором проводилась вставка


Ответы (0 шт):