मैंने हमेशा महसूस किया है कि मैं अपनी समीक्षा करने और परीक्षण करने से पहले एक सीक्वल स्क्रिप्ट बनाने के लिए और अधिक आरामदायक महसूस कर सकता हूं, क्योंकि मैं इसे केवल सही तरीके से चलाने के लिए निर्भर करता हूं ताकि यह मेरे डेटाबेस को उड़ा न दे। बैश में कुछ सरल है जो कैटलॉग से टैक्लेनेम का चयन करता है, फिर मेरे लिए ड्रॉप स्टेटमेंट बनाता है। तो 8.4.x के लिए आपको यह मूल क्वेरी मिलेगी:
SELECT 'drop table '||n.nspname ||'.'|| c.relname||';' as "Name"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','v','S','')
AND n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'
AND n.nspname !~ '^pg_toast'
AND pg_catalog.pg_table_is_visible(c.oid);
जहाँ आप एक खंड को जोड़ सकते हैं। ( where c.relname ilike 'bubba%')
आउटपुट इस तरह दिखता है:
Name
drop table public.a1;
drop table public.a2;
तो, इसे एक .sql फ़ाइल में सहेजें और इसे psql -f filename.sql के साथ चलाएं