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

psycopg2 कनेक्शन के बाद कोई टेबल नहीं ढूँढ सकता

आपकी तालिका के नाम Users और Companies दोनों एक बड़े अक्षर से शुरू होते हैं। PostgreSQL सभी पहचानकर्ताओं को लोअर केस (डिफ़ॉल्ट रूप से) में बदल देगा, जैसा कि आप त्रुटि संदेश से देख सकते हैं:

psycopg2.ProgrammingError: relation "users" does not exist

जहां Users सभी लोअर केस में लिखा गया है। यह आवश्यक है यदि आप SQL मानक का सख्ती से पालन करना चाहते हैं (जैसा कि PostgreSQL के लिए प्रसिद्ध है)। आप इसे दो तरीकों से हल कर सकते हैं:

इसे अपने डेटाबेस में हल करें:

एक सामान्य परंपरा का पालन करें और अपनी तालिकाओं . का नाम बदलें सभी लोअरकेस होने के लिए।

इसे अपने कोड में हल करें:

अपने पहचानकर्ताओं को उद्धृत करें (इस मामले में आपकी तालिका का नाम) ताकि PostgreSQL उन्हें अछूता छोड़ दे:

cur.execute(""" SELECT * from "Users" """)


  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 कॉलम प्रकार को int से UUID में बदलें

  2. PostgreSQL त्रुटि:फ़ंक्शन to_tsvector(चरित्र भिन्न, अज्ञात) मौजूद नहीं है

  3. क्या उत्पादन आरडीएस पर आपकी परियोजना के लिए देव/टेस्ट आरडीएस का उपयोग करना बुरा विचार है?

  4. डेटाबेस प्रदर्शन:कॉलम बनाम अलग तालिका पर फ़िल्टरिंग

  5. एसक्यूएल स्ट्रिंग्स कॉलम के साथ क्लॉज के बीच