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...