A surge in voting has pushed the Giants' Buster Posey past the Cardinals' Yadier Molina in fan balloting for the National League's starting catcher's spot in next month's All-Star Game at San Diego.