आपकी तालिका के नाम Users
और Companies
दोनों एक बड़े अक्षर से शुरू होते हैं। PostgreSQL सभी पहचानकर्ताओं को लोअर केस (डिफ़ॉल्ट रूप से) में बदल देगा, जैसा कि आप त्रुटि संदेश से देख सकते हैं:
psycopg2.ProgrammingError: relation "users" does not exist
जहां Users
सभी लोअर केस में लिखा गया है। यह आवश्यक है यदि आप SQL मानक का सख्ती से पालन करना चाहते हैं (जैसा कि PostgreSQL के लिए प्रसिद्ध है)। आप इसे दो तरीकों से हल कर सकते हैं:
इसे अपने डेटाबेस में हल करें:
एक सामान्य परंपरा का पालन करें और अपनी तालिकाओं . का नाम बदलें सभी लोअरकेस होने के लिए।
इसे अपने कोड में हल करें:
अपने पहचानकर्ताओं को उद्धृत करें (इस मामले में आपकी तालिका का नाम) ताकि PostgreSQL उन्हें अछूता छोड़ दे:
cur.execute(""" SELECT * from "Users" """)