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

Django व्यू में पोस्टग्रेज़ करने के लिए उपयोगकर्ता/खाता तालिका जोड़ना

मेरा पैसा गलत वर्तनी वाले नाम पर है। मुझे आपके त्रुटि संदेश में पता चला है कि

OmniCloud_App_accounts
OmniCloud_App_user

दूसरी तालिका एकवचन का उपयोग करती है। संयोग से इस तरह की दूसरी तालिका नहीं है:

OmniCloud_App_users

साथ ही, PostgreSQL में मिश्रित केस आइडेंटिफ़ायर का उपयोग करना SO पर यहाँ प्रतिष्ठा का एक बड़ा स्रोत है। यह आपको जल्दी या बाद में काटेगा। उस मूर्खता के शिकार यहां नियमित हैं। इस नाम की कोई भी तालिका हो सकती है - और आप "OmniCloud_App_user" में दोहरे उद्धरण चिह्नों को भूल गए हैं कहीं?

omnicloud_app_user

यह या तो वह है या उपयोगकर्ता को बचाने वाला लेन-देन अभी तक प्रतिबद्ध नहीं है। क्या आप केवल उपयोगकर्ता (और अभी तक कोई खाता नहीं) बना सकते हैं और जांच सकते हैं कि क्या यह तालिका में सही डेटाबेस में और सही आईडी के साथ समाप्त होता है?

संपादित करें:समस्या के निदान के लिए उपकरण

अगर आप जानते हैं कि उपयोगकर्ता बनाए जा रहे हैं, तो प्रश्न यह है:क्या विदेशी कुंजी बाधा user_id_refs_id_468fbcec324e93d2 है सही जगह देखो? वही डेटाबेस? वही स्कीमा? वही टेबल?

यह पता लगाने के लिए कि आपके डेटाबेस में कौन सी तालिकाएँ मौजूद हैं, निम्न क्वेरी का प्रयास करें (यदि आपके पास आवश्यक विशेषाधिकार हैं):

SELECT n.nspname AS schema_name
      ,c.relname AS table_name
      ,c.relhastriggers
      ,c.reltuples
FROM   pg_catalog.pg_class c
LEFT   JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE  c.relname ~~* '%user%'
AND    c.relkind = 'r'
AND    nspname <> 'pg_catalog';

सभी स्कीमा में सभी टेबल दिखाता है जिनके नाम में "उपयोगकर्ता" है, केस असंवेदनशील है। साथ ही यदि तालिका में ट्रिगर हैं (कर सकते हैं आपकी समस्या का कारण है) और इसमें कितनी पंक्तियाँ हैं (अनुमान ANALYZE . द्वारा अद्यतन किया गया है) ) आपको लीड दे सकता है...

आप मेटा-कमांड \d . का भी उपयोग कर सकते हैं मानक कमांड लाइन क्लाइंट (इंटरैक्टिव टर्मिनल) का psql

मैं एक टेस्ट केस चलाऊंगा और पोस्टग्रेज सर्वर को वह सब कुछ मिलेगा जो उसे मिलता है। उस उद्देश्य के लिए यह पैरामीटर सेट करें:

set log_statement = 'all';

मैनुअल लॉगिंग-पैरामीटर के बारे में

पैरामीटर कैसे सेट करें पर मैनुअल ।



  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. PostgreSQL में पंक्ति अपडेट होने पर टाइमस्टैम्प अपडेट करें

  3. यदि कोई पंक्ति मौजूद है, तो उसके आधार पर अद्यतन/सम्मिलित करें

  4. हरोकू पीजी:पुल पासवर्ड प्रमाणीकरण विफल

  5. डंप फ़ाइल पर pg_restore का उपयोग करना