आप कैस्केड विकल्प के साथ ड्रॉप का उपयोग कर रहे हैं। तो संदर्भात्मक अखंडता वाली तालिकाओं की कोई भी बूंद मूल तालिका से जुड़ी बाल तालिका को भी छोड़ देगी।
समस्या निवारण के लिए यदि यह वास्तव में हो रहा है, तो अपना कोड चलाने से पहले मौजूदा तालिकाओं का उनके OID के साथ एक स्नैपशॉट लें (मुझे लगता है कि pg_tables या pg_relations में यह जानकारी होनी चाहिए)। कोड चलाएँ और तालिका नाम के लिए स्नैपशॉट के साथ त्रुटि संदेश के OID की जाँच करें।
संपादित करें:ऐसा इसलिए हो सकता है क्योंकि कार्यों के लिए PostgreSQL (इसलिए Redshift में) में योजनाओं को कैसे कैश किया जा रहा है। यह 8.2 तक एक प्रलेखित बग है, इसलिए आप इसके लिए एक फिक्स खोजना चाह सकते हैं। फ़ंक्शन के पहले निष्पादन के अनुसार योजना को कैश किया जाएगा, लेकिन दूसरे निष्पादन के लिए कुछ वस्तुओं को नए OIDs मिल गए होंगे क्योंकि उन्हें फिर से बनाया गया था।http://merlinmoncure.blogspot.ie/2007/09/as-previous-stated-postgresql-8.html
http://www.postgresql.org/message-id/example @sqldat.com