Create A Temp Table (if Not Exists) For Use Into A Custom Procedure
Answer : DROP Table each time before creating TEMP table as below: BEGIN DROP TABLE IF EXISTS temp_table1; create temp table temp_table1 -- Your rest Code comes here The problem of temp tables is that dropping and recreating temp table bloats pg_attribute heavily and therefore one sunny morning you will find db performance dead, and pg_attribute 200+ gb while your db would be like 10gb. So we're very heavy on temp tables having >500 rps and async i\o via nodejs and thus experienced a very heavy bloating of pg_attribute because of that. All you are left with is a very aggressive vacuuming which halts performance. All answers given here do not solve this, because they all bloat pg_attribute heavily. So the solution is elegantly this create temp table if not exists my_temp_table (description) on commit delete rows; So you go on playing with temp tables and save your pg_attribute. You want to DROP term table after commit (not DELETE ROWS), so: begin create temp table temp...