func-rec-to-json.sql 527 Bytes
CREATE OR REPLACE FUNCTION rec_to_json(p_table_schema name, p_table_name name, p_rec hstore) RETURNS json LANGUAGE plpgsql AS $$
DECLARE
    v_val text;
    v_one json;
    v_all json;
    v_field record;
    v_column text;
BEGIN
    FOR v_column, v_val IN select key,value FROM each(p_rec)
    LOOP
        v_one = json_build_object(v_column, v_val);
        IF v_all IS NULL THEN
            v_all = v_one;
        ELSE
            v_all = v_all::jsonb || v_one::jsonb;
        END IF;
    END LOOP;
    RETURN v_all;
END
$$