Cardinals catcher Yadier Molina will replace Giants catcher Buster Posey on the NL All-Star roster.