PITTSBURGH -- After four hours in the rain and with his team down to its fourth first baseman, Josh Harrison wasn't going to be patient.
With the winning run at second and two outs in the bottom of the 12th at soggy PNC Park, Harrison didn't pass up a first-pitch fastball from Fernando Rodriguez.
"Pitchers really aren't going to fool around in that situation," Harrison said. "They're going to try to attack the zone. Anytime you've got the winning run in scoring position, if you've got a pitch to hit, you don't want to let it go."
Harrison's first hit in four at-bats Sunday capped a Pirates comeback that included a ninth-inning rally against Houston closer Brett Myers and gave them their fourth win in six games.
With two outs and no one on in the 12th, Houston manager Brad Mills went to Rodriguez (1-4) to face Barmes. Barmes doubled to left and scored on the next pitch, sliding under the tag of Jason Castro, who received a high throw from Justin Maxwell.
|More on Astros-Pirates|
|More MLB coverage|
"It's a lot of fun to score that kind of run," said Barmes, Pittsburgh's regular shortstop who in the top of the inning manned first base for the first time in his career.
The inning before that, Pirates starting catcher Rod Barajas made his first appearance at the position since July 9, 2008.
"My mentality has always been to win the game in nine innings - after that, all bets were off," Pirates manager Clint Hurdle said. "We were trying out first baseman. One of them actually played there before, too.
"It was a good team win. Everybody threw something in; everybody needed to do something."
Tony Watson (3-0) pitched a perfect 12th to earn the win, following a hitless inning each from Jason Grilli, Joel Hanrahan and Juan Cruz.
Starter A.J. Burnett allowed two runs on six hits in eight innings for the Pirates, who got two hits from Neil Walker.
Due largely to eight dominant innings from starter Wandy Rodriguez, the Astros were on the verge of winning a road series for the first time since June 17-19, 2011.
But Pittsburgh tied it in the ninth when Jose Tabata scored on a Pedro Alvarez sacrifice fly after Pittsburgh loaded the bases with no outs against Myers, who blew his first save in 10 opportunities.
"I made a good pitch on Alvarez," Myers said. "I thought it was a strike, (umpire Jim Reynolds) called it a ball, then the sacrifice fly the next pitch. That's the way it goes sometimes. Some calls go our way; sometimes they don't. I mean, I shouldn't have ever been in that situation."
The start of the game was delayed 29 minutes, and a light rain persisted throughout the majority of the afternoon.
Walker and Andrew McCutchen each hit one-out doubles to right in the first, giving the Pirates a 1-0 lead. Two batters later, Casey McGehee walked. The only other baserunner Wandy Rodriguez would allow was a leadoff single by Alvarez in the fourth, but he was erased when Yamaico Navarro grounded into a double play.
Wandy Rodriguez had seven strikeouts to give him 31 in his past three outings against Pittsburgh. He retired the final 14 batters he faced. Despite conceding that "he still had plenty of pitches to go," Mills lifted Rodriguez after throwing 94 pitches, citing the hot bats of Tabata and McCutchen that were due up.
"It was the right thing to do to get (Myers)," Mills said. "Weather-wise and mound-wise, it was tough."
Carlos Lee had two hits and scored both Astros runs, and Castro had two hits and an RBI for Houston, which has lost five of seven.
Burnett almost matched Rodriguez. He did not walk a batter and had four strikeouts.
Torched for 12 runs in 2 2-3 innings May 2, Burnett has allowed a total of five runs in his other four starts combined.
Pittsburgh completed a 5-4 homestand in which it scored 23 runs, an average of 2.6 per game. ... Hanrahan pitched the 10th hours after being reinstated to the active roster before the game. He had missed the previous three games on the bereavement list due to the death of his grandmother. ... The Astros traveled to Philadelphia after the game to begin a two-game series in which RHP Lucas Harrell was scheduled to start Monday's opener. ... Pittsburgh will play its first game in the Miami Marlins' new ballpark Monday.