Hi, all.
this is an obligation from the past:
the same test, that did ~230 results, is now doing ~700 results. that is, BTW even better than mssql.
the ultimate solution for that problem was to NOT to do "ON COMMIT DELETE ROWS" for the temporary tables. instead, we just do "DELETE FROM temp_table1".
doing "TRUNCATE temp_table1" is defiantly the worst case (~100 results in the same test). this is something we knew for a long time, which is why we did "ON COMMIT DELETE ROWS", but eventually it turned out as far from being the best.
another minor issue is that when configuring temp_tablespace='other_tablespace', the sequences of the temporary tables remain on the 'main_tablespace'.
i hope that will help making postgres even better :)