Používáte DROP s možností CASCADE. Takže jakákoliv ztráta tabulek s referenční integritou také zruší podřízenou tabulku spojenou s nadřazenou tabulkou.
Chcete-li vyřešit problém, zda se to skutečně děje, před spuštěním kódu udělejte snímek existujících tabulek s jejich OID (myslím, že tyto informace by měly mít pg_tables nebo pg_relations). Spusťte kód a zkontrolujte OID chybové zprávy se snímkem názvu tabulky.
Edit:Může to být způsobeno tím, jak jsou plány ukládány do mezipaměti v PostgreSQL (takže v Redshift) pro funkce. Toto je zdokumentovaná chyba do 8.2, takže možná budete chtít hledat opravu. Plán bude uložen do mezipaměti podle prvního provedení funkce, ale při druhém provedení by některé objekty dostaly nová OID, protože byly znovu vytvořeny.http://merlinmoncure.blogspot.ie/2007/09/as-previously-stated-postgresql-8.html
http://www.postgresageql.idexample/mess @sqldat.com