Also if you're using an actual TEMP table, PostgreSQL can automatically drop the table or just empty it once the transaction is committed: CREATE TEMP TABLE foo (columns...) ON COMMIT DROP; CREATE TEMP TABLE foo (columns...) ON COMMIT DELETE ROWS;
As for filling the table, you have two options, INSERT ... SELECT ... Which is just the same syntax as you've used previously for MS SQL or create the table with data already in it it: CREATE TEMP TABLE foo ON COMMIT DROP AS SELECT ...
100% of the information in this email is available in the postgresql documentation in locations where it would be trivially easy to find if any attempt at all was made to look in the documentation prior to coming to the mailing list for assistance.
It is fruitless to attempt to work as a database administrator or developer if you do not first familiarize yourself with its documentation. The mailing lists are here to assist users with difficult-to-solve problems, not as substitute for reading the manual. Answering easily solved questions takes limited resources away from users who may have more intractable issues that they need assistance with.
I can't help but notice that this isn't even the first question you've posed to which responses have included suggestions that you read the documentation. Please consider taking our advice.