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

संग्रहीत फ़ंक्शन का उपयोग करके डेटाबेस बनाएं

यह सवाल पुराना है, लेकिन पूर्णता के लिए...

जैसा कि अन्य उत्तरों में बताया गया है, यह केवल इसलिए संभव नहीं है क्योंकि (प्रति दस्तावेज़) :

यह भी बताया गया है कि प्रतिबंध को dblink . से बायपास किया जा सकता है .
कैसे करें PostgreSQL में dblink का उपयोग (इंस्टॉल) करें?

अब तक जो चीज गायब थी वह वास्तव में इसे करने वाला एक उचित कार्य है:

CREATE OR REPLACE FUNCTION f_create_db(dbname text)
  RETURNS integer AS
$func$
BEGIN

IF EXISTS (SELECT 1 FROM pg_database WHERE datname = dbname) THEN
   RAISE NOTICE 'Database already exists'; 
ELSE
   PERFORM dblink_exec('dbname=' || current_database()   -- current db
                     , 'CREATE DATABASE ' || quote_ident(dbname));
END IF;

END
$func$ LANGUAGE plpgsql;

जाँचता है कि क्या db पहले से ही स्थानीय क्लस्टर में मौजूद है। यदि नहीं, तो इसे बनाने के लिए आगे बढ़ें - एक स्वच्छ पहचानकर्ता के साथ। हम SQL इंजेक्शन को आमंत्रित नहीं करना चाहेंगे।



  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. डॉकर पर अपने पोस्टग्रेएसक्यूएल बैकअप को मान्य करना

  4. postgresql:md5 संदेश डाइजेस्ट के लिए डेटा प्रकार?

  5. pg_dump . के साथ तालिका को दूसरे डेटाबेस में कॉपी नहीं कर सकता