Six-time All-Star Lance Berkman is retiring after 15 seasons in the major leagues.
Berkman almost left the game last off-season before signing with the Texas Rangers. He then had another injury-plagued season and was limited to 73 games.
The 37-year-old Berkman was Houston's first-round draft pick in 1997 out of Rice, and played 12 seasons for the Astros. He played 1,879 career games, all but 287 for Houston, finishing a .293 career hitter with 366 home runs and 1,234 RBIs.
"Lance was one of the greatest players in Astros history," his original team said in a release Wednesday night.
The Astros said they hope to honour Berkman during the upcoming season and "give the fans the chance to recognize his outstanding career."
He finished the 2010 season with the New York Yankees before two years in St. Louis, where he was part of the 2011 World Series champions.
"Just physically I've gotten to the point where I don't feel like I can compete at a level that I'm used to competing at," Berkman told KRIV-TV of Houston. "I could probably still drag my carcass out there, but I'm not interested in doing that. ... I don't want to hang on just to hang on."
Berkman said he was excited about retiring.
The Rangers declined their $12 million contract option for 2014 last October, which got Berkman a $1 million buyout. He hit .242 with six homers and 34 RBIs for the Rangers.
He went on the disabled list July 7 with a left inflammation and a sore right knee, and played only five games after coming back the final month of the season.
The six-time All-Star played only 32 games for St. Louis in 2012, when he dealt with a strained left calf and had two operations on his right knee. He hit .301 in 2011 for the Cardinals, who won the World Series that season over Texas.
Berkman had said last winter that he had gone into that off-season feeling like he was going to retire then. But he responded to the Rangers, and made $10 million last season.