HOUSTON -- The National League's youngest team gave baseball's oldest player fits.
Moyer was in trouble from the start. Jordan Schafer led off the first with a homer and Martinez hit a two-run shot in the fourth.
With gray stubble covering his chin and hair of the same color peeking out the edge of his cap, Moyer (0-1) become the oldest player to appear in a game since 1980, when 54-year-old Minnie Minoso played in a game for the White Sox, according to statistics provided by the Rockies from the Elias Sports Bureau.
"Going out to the bullpen, I had a lot of things running through my head," Moyer said. "But once I started running and playing catch, it was all baseball. It was a very good feeling to be where I'd been before and a place I love being."
The Astros have seven players on their roster that weren't born when Moyer made his major league debut on June 16, 1986. Houston starter Lucas Harrell celebrated his first birthday just before Moyer's first major league game.
Harrell (1-0) yielded three hits in seven scoreless innings for his first win since his major league debut in July 2010 with the White Sox.
"Jamie gave us a competitive effort," Rockies manager Jim Tracy said. "I don't think Jamie did a bad job at all. We just couldn't figure out Lucas Harrell."
Moyer allowed five hits and three runs in five innings while wearing the stirrup socks that were popular when he started his career but have long since fallen out of favor and jersey No. 50, the age he will turn in November. It was his first start since July 20, 2010, for Philadelphia after missing all of last season following Tommy John surgery.
"It's always good to get a lead early and put the pitcher under pressure," Martinez said. "We did a good job of that today. A guy like that is tough and frustrating."
Moyer is the second-oldest pitcher to start a major league game behind Satchel Paige, who did it at 59 in 1965. He's the fifth man since 1965 to play a game after his 49th birthday, and the first since Julio Franco appeared in a game for Atlanta in September 2007.
"The way my body felt today I felt very good," Moyer said. "I felt very strong and pleased with that side of it."
He became the oldest starting pitcher to make an opening-day roster in major league history by earning a spot in the rotation after signing a minor league contract with Colorado. He'll have to wait until his next start to try to become the oldest pitcher to get a win. Jack Quinn, who was 49 years, 70 days old when he won a game for the Dodgers in 1932, currently holds that record.
"We'll move forward with Jamie and hopefully, his next time out there will be some run support behind him, and I think the dynamics of things will change dramatically," Tracy said.
Moyer's tough outing wasn't helped by Colorado's fielding: A night after the Astros committed four errors, the Rockies were the ones making mistakes.
Martinez then homered to the Crawford Boxes in left field, extending Houston's lead to 3-0. A second error by Scutaro, when he couldn't handle a grounder allowed Chris Johnson to reach first base.
Moyer wouldn't use the short porch as an excuse for the home run by Martinez.
"I don't play the ballpark game," he said. "A home run's a home run. It really doesn't matter to me. I've just got to make better pitches in key situations."
Johnson had two doubles and scored twice for the Astros.
Marwin Gonzalez got his first major league hit with a double in the fifth inning. Harell's bunt single that followed was also his first in the majors. Schafer's sacrifice sent Gonzalez home and left Houston ahead 4-0. Bixler singled after that, but Martinez grounded into a double play to limit the damage.
Moyer was replaced by Tyler Chatwood for the sixth inning. Chatwood allowed four hits and two runs in two innings.
Johnson doubled and scored on a single by Chris Snyder in the sixth inning.
Colorado's Carlos Gonzalez doubled with one out in the fourth before advancing to third on a wild pitch. He was thrown out at home when Troy Tulowitzki reached on a fielder's choice. Tulowitzki was caught trying to steal second to end the inning.
Schafer's home run was his first leadoff homer. ... The Astros improved to 28-12 against the Rockies at Minute Maid Park, their second-best record against any NL team. ... Houston's Rhiner Cruz struck out Cuddyer for the game's last out in his major league debut. ... These teams wrap up the three-game series on Sunday when Houston's Bud Norris faces Colorado's Juan Nicasio.