CREATE OR REPLACE FUNCTION test_temp_table() RETURNS void AS $$
BEGIN
CREATE TABLE temp_table AS SELECT * FROM objects;
PERFORM * FROM temp_table; -- without this line no problems
DROP TABLE temp_table;
RETURN;
END
$$ LANGUAGE plpgsql;
SELECT test_temp_table();
SELECT test_temp_table();
Why can't I execute this function twice in the same database connection?
I get the following error:
ERROR: relation with OID 169873 does not exist
CONTEXT: SQL statement "SELECT * FROM temp_table"
PL/pgSQL function "test_temp_table" line 4 at perform