PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

मैं एक सामान्य शब्द से शुरू होने वाले psql (PostgreSQL इंटरैक्टिव टर्मिनल) में सभी तालिकाओं को कैसे छोड़ूं?

यह स्क्रिप्ट उन सभी को छोड़ने के लिए DDL कमांड जनरेट करेगी:

SELECT 'DROP TABLE ' || t.oid::regclass || ';'
FROM   pg_class t
-- JOIN   pg_namespace n ON n.oid = t.relnamespace -- to select by schema
WHERE  t.relkind = 'r'
AND    t.relname ~~ E'doors\_%' -- enter search term for table here
-- AND n.nspname ~~ '%myschema%' -- optionally select by schema(s), too
ORDER  BY 1;

कास्ट t.oid::regclass सिंटैक्स मिश्रित केस आइडेंटिफ़ायर, आरक्षित शब्दों या तालिका नामों में विशेष वर्णों के लिए भी काम करता है। यह SQL इंजेक्शन को भी रोकता है और जहां आवश्यक हो वहां स्कीमा नाम तैयार करता है। मैन्युअल में ऑब्जेक्ट पहचानकर्ता प्रकारों के बारे में अधिक जानकारी ।

स्कीमा खोज पथ के बारे में।

आप ड्रॉपिंग को भी स्वचालित कर सकते हैं, लेकिन यह मूर्खतापूर्ण है ऐसा करने से पहले यह जांचने के लिए नहीं कि आप वास्तव में क्या हटाते हैं।

आप CASCADE जोड़ सकते हैं वस्तुओं के आधार पर DROP के प्रत्येक कथन के लिए (विदेशी कुंजियों को देखना और संदर्भित करना)। लेकिन, फिर से, यह मूर्खतापूर्ण है जब तक आप अच्छी तरह से नहीं जानते कि आप क्या कर रहे हैं। विदेशी प्रमुख बाधाएं कोई बड़ी हानि नहीं हैं, लेकिन यह सभी आश्रित विचारों को भी पूरी तरह से छोड़ देगी। बिना CASCADE आपको त्रुटि संदेश मिलते हैं जो आपको सूचित करते हैं कि कौन सी वस्तुएं आपको तालिका छोड़ने से रोकती हैं। और फिर आप इससे निपट सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Map_partitions और pd.df.to_sql . का उपयोग करके dask डेटाफ़्रेम से sql तालिका बनाएं

  2. प्रकार निर्माण के लिए चर नामों के साथ Psycopg2 स्ट्रिंग स्वरूपण

  3. एक को छोड़कर पंडों के साथ सभी पंक्ति योग

  4. रेल पर रूबी:क्या डेटाबेस से आइटम खींचने और उन्हें एक निर्दिष्ट क्रम में वापस करने का कोई तरीका है?

  5. पोस्टग्रेज में बहुत सारे शो ट्रांजेक्शन आइसोलेशन लेवल क्वेरीज