Tôi đã gặp chính sự cố tương tự tại đây :
func GetPageAfterUpdate(dp model.DbProvider, id int, update int, page *Page) (err error) {
tx := dp.DB().Begin()
err = tx.Exec(`set transaction isolation level repeatable read`).Error
if err != nil {
tx.Rollback()
return
}
Và nó chính xác là gorm với pg.