PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

psycopg2 ne trouve aucune table après la connexion

Vos noms de table Users et Companies les deux commencent par une lettre majuscule. PostgreSQL convertira tous les identifiants en minuscules (par défaut), comme vous pouvez le voir dans le message d'erreur :

psycopg2.ProgrammingError: relation "users" does not exist

users est écrit en minuscules. Ceci est nécessaire si vous souhaitez suivre strictement le standard SQL (pour lequel PostgreSQL est réputé). Vous pouvez résoudre ce problème de deux manières :

Résolvez-le dans votre base de données :

Respectez une convention commune et renommez vos tableaux être tout en minuscules.

Résolvez-le dans votre code :

Citez vos identifiants (votre nom de table dans ce cas) pour que PostgreSQL les laisse intacts :

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