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

PostgreSQL डेटाबेस से कुछ तालिकाओं को कैसे खोजें और हटाएं

यह उक्त तालिकाओं को छोड़ने के लिए कथन बनाएगा और नहीं पैटर्न से मेल खाने वाली अन्य वस्तुएं। इसके अलावा कोई सिस्टम टेबल नहीं है।

SELECT 'DROP TABLE ' || c.oid::regclass || ';'
FROM   pg_class c
JOIN   pg_namespace n ON n.oid = c.relnamespace  -- to restrict to a schema
WHERE  c.relkind = 'r'                           -- only tables
AND    c.relname ILIKE '%gtab%'                  -- pattern for table names
AND    n.nspname = 'public'                      -- restrict to a schema
ORDER  BY 1;

regclass . के लिए कास्ट करें स्वचालित रूप से बच निकलता है और आवश्यकतानुसार तालिका नामों को स्कीमा-योग्य बनाता है और SQL इंजेक्शन के विरुद्ध सुरक्षित है। विवरण:

बहुत सी तालिकाओं के लिए एक एकीकृत विवरण तेज़ होगा:

SELECT 'DROP TABLE ' || string_agg(c.oid::regclass::text, ', ') || ';'
FROM   pg_class c
JOIN   pg_namespace n ON n.oid = c.relnamespace
WHERE  c.relkind = 'r'
AND    c.relname ILIKE '%gtab%'
AND    n.nspname = 'public'
ORDER  BY 1;

परिणाम:

DROP TABLE tbl1, tbl2, schema1.tbl3;

संबंधित उत्तर:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस विभाजन के लिए इष्टतम आकार

  2. पीएल/पीजीएसक्यूएल फ़ंक्शन से अज्ञात कॉलम के साथ गतिशील तालिका लौटाएं

  3. PostgreSQL में स्थानिक डेटा

  4. कैसे LocalTime () PostgreSQL में काम करता है

  5. तदर्थ SQL बनाम फ़ंक्शंस का PostgreSQL प्रदर्शन