Это старый вопрос, но один из способов проверить успешность операции с psycopg2
- просто посмотреть на атрибут rowcount
для курсора после вашего оператора.Этот атрибут возвращает количество строк, затронутых последним оператором execute
.
например,
connection = psycopg2.connect(dbname="foo",user="postgres")
cur = connection.cursor()
cur.execute("INSERT INTO foo VALUES (%s, %s)", (1,2))
cur.rowcount # returns 1
cur.execute("SELECT * FROM foo")
cur.rowcount # returns 0
Аналогичный атрибут равен statusmessage
, который возвращает строку, включающую тип последнегооперация выполняется вместе с количеством затронутых строк.