code: func (d PostgresDialect) InsertAutoIncr(e SqlExecutor, insertSql string, params ...interface{}) (int64, error) {
  	rows, err := e.handle().Queryx(insertSql, params...)
  	if err != nil {
  		return 0, err
  	}
  	defer rows.Close()
  
  	if rows.Next() {
  		var id int64
  		err := rows.Scan(&id)
  		return id, err
  	}
  
  	return 0, errors.New("No serial value returned for insert: " + insertSql + ", error: " + rows.Err().Error())
  }
docs: // InsertAutoIncr inserts via a query and reads the resultant rows for the new
  // auto increment ID, as it's not returned with the result in PostgreSQL.