Вы можете использовать plpy.execute("INSERT INTO ....")
вместо plpy.prepare("INSERT INTO ....")
.
plpy.prepare()
используется для подготовленного оператора . Если вы хотите его использовать, обратитесь к следующему примеру.
postgres=# create table your_table (yourstr char(2), yournum int);
CREATE TABLE
postgres=# do $$
postgres$# plan = plpy.prepare("insert into your_table values($1,$2)", ["text", "int"]);
postgres$# plpy.execute(plan, ["Gx", 7]);
postgres$# $$ language plpython3u;
DO
postgres=# select * from your_table;
yourstr | yournum
---------+---------
Gx | 7
(1 row)
postgres=#
Здесь доступны pypl
функции ( Документ Greenplum 5.10 здесь )