別のアプローチとして、なしでアップサートを行うことができます。 正しい場合にのみ成功するようにwhere句を指定してinsert+updateを使用する関数。例:
update mytable set col1='value1' where (col2 = 'myId');
insert into mytable select 'value1', 'myId' where not exists (select 1 from mytable where col2='myId');
これにより、カスタムのpostgres固有の関数がたくさんあることを回避できます。