В модуле psycopg2.errors нет элемента UndefinedColumn - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь перехватить исключения при добавлении записей в базу данных PostgreSQL через SQLalchemy. Всякий раз, когда я добавляю запись с новым столбцом (не в таблице Postgres), я получаю следующую ошибку: psycopg2.errors.UndefinedColumn, затем немного ниже, другая ошибка из другого исключения: sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedColumn).

Теперь я пытаюсь обработать это исключение следующим образом:

def to_psql(source, table, engine, if_exists): 

   try:
      source.to_sql(table, con=engine, index=False,
                   if_exists=if_exists)
   except psycopg2.errors.UndefinedColumn as e:
             print(f"Column exception: {e}")
             data = pd.read_sql(f'SELECT * FROM {table}', con=engine)
             new_source = pd.concat([data, source])
             new_source.to_sql(table, con=engine, index=False,
                               if_exists="replace")    

           

Но я получаю сообщение об ошибке: Module 'psycopg2.errors' has no 'UndefinedColumn' member?

...