Anda menggunakan DROP dengan opsi CASCADE. Jadi setiap penurunan tabel yang memiliki integritas referensial juga akan menghapus tabel anak yang terkait dengan tabel induk.
Untuk memecahkan masalah apakah ini yang sebenarnya terjadi, sebelum menjalankan kode Anda, ambil snapshot tabel yang ada dengan OID-nya (saya pikir pg_tables atau pg_relations harus memiliki informasi ini). Jalankan kode dan periksa OID pesan kesalahan dengan snapshot untuk nama tabel.
Sunting:Mungkin karena bagaimana rencana di-cache di PostgreSQL (jadi di Redshift) untuk fungsi. Ini adalah bug yang didokumentasikan hingga 8.2 sehingga Anda mungkin ingin mencari perbaikannya. Paket akan di-cache sesuai dengan eksekusi fungsi yang pertama tetapi untuk eksekusi kedua beberapa objek akan mendapatkan OID baru karena dibuat ulang.http://merlinmoncure.blogspot.ie/2007/09/as-previously-stated-postgresql-8.html
http://www.postgresql.org/message-id/example @sqldat.com