Документация в PyGreSQL гласит, что если вы вызовете dbconn.query () с оператором и оператором вставки / обновления, он вернет OID. Далее говорится что-то о списках OID, когда задействовано несколько строк.
Прежде всего; Я обнаружил, что функции OID не работают. Я полагаю, что знание номеров версий библиотек и инструментов помогло бы, однако я не пытался вернуть OID.
Наконец; добавив «возвращающий идентификатор», как предлагает @hacker, pygresql просто сделал правильную вещь и возвратил набор записей с идентификатором в полученный словарь (см. код ниже).
sql = "insert into job_runners (hostname) values ('localhost') returning id"
rv = dbconn.query(sql)
id = rv.dictresult()[0]['id']