Używasz DROP z opcją CASCADE. Tak więc każde usunięcie tabel mających integralność referencyjną spowoduje również usunięcie tabeli podrzędnej powiązanej z tabelą nadrzędną.
Aby rozwiązać problem, jeśli rzeczywiście tak się dzieje, przed uruchomieniem kodu zrób migawkę istniejących tabel z ich OID (myślę, że pg_tables lub pg_relations powinny mieć te informacje). Uruchom kod i sprawdź OID komunikatu o błędzie ze zrzutem dla nazwy tabeli.
Edycja:Może to być spowodowane sposobem, w jaki plany są buforowane w PostgreSQL (czyli w Redshift) dla funkcji. Jest to udokumentowany błąd do wersji 8.2, więc możesz poszukać rozwiązania tego problemu. Plan zostanie zapisany w pamięci podręcznej zgodnie z pierwszym wykonaniem funkcji, ale przy drugim wykonaniu niektóre obiekty otrzymałyby nowe OID z powodu ich ponownego utworzenia.http://merlinmoncure.blogspot.ie/2007/09/as-previously-stated-postgresql-8.html
http://www.postgresql.org/identyfikator-wiadomości/przykład @sqldat.com