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

क्या मैं रन/सैंडबॉक्स एसक्यूएल कमांड को सुखा सकता हूं?

Postgres में, आप लेन-देन . के साथ बहुत कुछ कर सकते हैं जो रोल बैक . हैं अंत में:

BEGIN;

UPDATE foo ...:
INSERT bar ...;
SELECT baz FROM ...;
CREATE TABLE abc...;   -- even works for DDL statements
DROP   TABLE def...;
ALTER  TABLE ghi ...:

ROLLBACK;   -- !

मैनुअल में अधिक:BEGIN ROLLBACK

ध्यान रखें कि कुछ चीजें वापस नहीं ली जा सकतीं, हालांकि। उदाहरणों के लिए अनुक्रम वापस रोल नहीं करते हैं। या कुछ विशेष कमांड जैसे dblink कॉल।

और कुछ कमांड दूसरों के साथ लेन-देन में नहीं चलाए जा सकते। जैसे CREATE DATABASE या VACUUM .

साथ ही, समवर्ती भार के साथ गतिरोध जैसे दुष्प्रभाव भी हो सकते हैं। हालांकि, संभावना नहीं है। आप लेन-देन अलगाव स्तर सेट कर सकते हैं किसी भी दुष्प्रभाव से बचने के लिए आपकी आवश्यकताओं के अनुसार (प्रदर्शन के लिए कुछ कीमत पर)।

मैं समझदार डेटा के साथ ऐसा नहीं करूंगा। दुर्घटना से होने का जोखिम बहुत अधिक है। और उपयोगकर्ताओं को मनमाना कोड निष्पादित करने देना एक जोखिम है जो शायद ही संभव हो। लेकिन प्रशिक्षण के माहौल के लिए, यह काफी अच्छा होना चाहिए।

टेम्पलेट डेटाबेस के साथ इसका बैकअप लें . अगर कुछ गलत हो जाता है, तो मूल स्थिति को बहाल करने का यह सबसे तेज़ तरीका है। उदाहरण (अंतिम अध्याय देखें):
पोस्टग्रेज डेटाबेस में सभी तालिकाओं को छोटा करना

इसका उपयोग पाशविक बल के रूप में भी किया जा सकता है वैकल्पिक :प्रत्येक प्रशिक्षु के लिए एक नया डेटाबेस प्रदान करने के लिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL फ़ंक्शन से SETOF पंक्तियाँ लौटाएँ

  2. एकल होस्ट पर एकाधिक PostgreSQL इंस्टेंस चलाना

  3. PostgreSQL:डेटाबेस छोड़ें लेकिन DB अभी भी है

  4. एक कॉलम में 2 कॉलम संयुक्त SQL

  5. रूबी ऑन रेल्स 5.2 में ActiveRecord माइग्रेशन में तालिका बनाते समय उपयोग करने के लिए अनुक्रम को कैसे परिभाषित करें?