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

मैं django - postgresql में डीबी अखंडता बाधाओं को अस्थायी रूप से अक्षम कैसे करूं?

समाधान मिल गया।

विदेशी कुंजी बाधा जांच को रोकने के लिए मुझे टेबल पर ट्रिगर्स को अक्षम करना पड़ा।

ट्रिगर अक्षम करें

def disable_triggers(self):
    with connection.cursor() as cursor:
        cursor.execute('ALTER TABLE "Table Name" DISABLE TRIGGER ALL;')

ट्रिगर सक्षम करें

def enable_triggers(self):
    with connection.cursor() as cursor:
        cursor.execute('ALTER TABLE "Table Name" ENABLE TRIGGER ALL;')

महत्वपूर्ण नोट :

  • इस दस्तावेज़ लिंक के अनुसार , आप execute() . के दूसरे तर्क के रूप में एक सूची पास कर सकते हैं विधि (उदाहरण:आप तालिका नाम को गतिशील रूप से पास करना चाहते हैं), लेकिन यह स्वचालित रूप से चर से बच जाएगा और आप एक वाक्य रचनात्मक रूप से गलत PostgreSQL क्वेरी बना सकते हैं (जिसे इसे ठीक करने में मेरा बहुत समय लगा)

  • सुनिश्चित करें कि आपने ट्रिगर्स को ठीक से चालू कर दिया है

  • अगर आपको अनुमति अस्वीकृत त्रुटि . मिल रही है तब आप DB उपयोगकर्ता अनुमतियों की जाँच करना चाह सकते हैं, मैंने अभी PgAdmin से सुपरयुसर अनुमतियाँ चालू की हैं, जो मेरे लिए ठीक थी। और सब कुछ काम पर वापस। इसे कैसे करें?



  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 में समय मान से मिनट घटाएं

  2. PostgreSQL:कैसे बच '?

  3. पीजी कॉलम को न्यूलेबल ट्रू में कैसे बदलें?

  4. NodeJS Sequelize में क्वेरी द्वारा समूह की गणना कैसे करें

  5. अभिकथन त्रुटि पर:Django-आराम-फ्रेमवर्क