PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

psycopg2 nie może znaleźć żadnych tabel po połączeniu

Twoje nazwy tabel Users i Companies oba zaczynają się od dużej litery. PostgreSQL skonwertuje wszystkie identyfikatory na małe litery (domyślnie), jak widać w komunikacie o błędzie:

psycopg2.ProgrammingError: relation "users" does not exist

Gdzie users jest pisany małymi literami. Jest to potrzebne, jeśli chcesz ściśle przestrzegać standardu SQL (z czego znany jest PostgreSQL). Możesz rozwiązać ten problem na dwa sposoby:

Rozwiąż to w swojej bazie danych:

Przestrzegaj wspólnej konwencji i zmień nazwy swoich tabeli być małymi literami.

Rozwiąż to w swoim kodzie:

Zacytuj swoje identyfikatory (w tym przypadku nazwę tabeli), aby PostgreSQL pozostawił je bez zmian:

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 - ogranicz całkowity rozmiar logu

  2. Jak uzyskać nazwy kolumn listy i typy danych tabeli w PostgreSQL?

  3. Zapytanie między bazami danych w PostgreSQL

  4. Izolacja transakcji w PostgreSQL

  5. jak wykorzystać wartość kolumny jako dane wejściowe do operacji przestrzennej