sql >> Database >  >> RDS >> PostgreSQL

psycopg2 kan geen tabellen vinden na verbinding

Uw tabelnamen Users en Companies beide beginnen met een hoofdletter. PostgreSQL converteert alle identifiers naar kleine letters (standaard), zoals je kunt zien in de foutmelding:

psycopg2.ProgrammingError: relation "users" does not exist

Waar users wordt volledig in kleine letters geschreven. Dit is nodig als u zich strikt aan de SQL-standaard wilt houden (waar PostgreSQL bekend om staat). Je kunt dit op twee manieren oplossen:

Los het op in uw database:

Houd u aan een gemeenschappelijke conventie en hernoem uw tabellen allemaal kleine letters zijn.

Los het op in je code:

Citeer uw identifiers (in dit geval uw tabelnaam) zodat PostgreSQL ze ongewijzigd laat:

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


  1. GROUP BY en ORDER BY

  2. Hoe een primaire sleutel in SQL te verwijderen

  3. ORA-04084:kan de NIEUWE waarden voor dit triggertype niet wijzigen

  4. Teradata vullen met realistische testgegevens De Novo