I found a post about something similar in an older release:
http://archives.postgresql.org/pgsql-bugs/2002-08/msg00151.php
Here's the issue. Inside a function I'm calling
CREATE LOCAL TEMPORARY TABLE ds_copy_item_meta ( LIKE
merchandise.item_meta EXCLUDING DEFAULTS ) on COMMIT DROP;
Of course it might be that the ON COMMIT DROP is redundant, I don't know
enough about temp tables. Here's the problem, however, the first call of
the table works fine. The second call it complains about a bad OID. Could
it be that the bug that was fixed for regular temporary tables (without an
on commit modifier) somehow didn't get fixed for this construct?
The work-around has been to just not use the modifier, but I was surprised
by the OID error and think it might be incorrect behavior.
== Ezra Epstein.