理想的には、次のようなことができるようにしたいと思います。
id_of_new_row = cursor.lastrowid()
ここで、新しく作成または変更された行のIDを取得します。ただし、これはpsycopg2では利用できません。または、これを試しました。
id_of_new_row = cursor.execute('INSERT INTO this_table (value1, value2, value3) VALUES (%s, %s, %s) RETURNING id', (some_value1, some_value2, some_value3))
これは機能しません。おそらく、コミットが行われるまでIDがわからないためです...
ヘルプ!