“I love this club, it’s been my whole life and I enjoy my football here,” he said.
“It was a very easy decision, I want to be here for as long as they’ll have me. I had good discussions with the board in terms of where we see the club going.
“It’s important at the moment that the club have a bit of stability as well. I’ve never looked to leave Celtic.
“They’ve put a huge amount of faith in me since I was a young kid and to complete the story, coming through to play in the first team and now being captain, there’s no more special feeling than that.”
McGregor made his Celtic debut aged 21, scoring in a 2014 Champions League qualifier at KR Reykjavik, and spent a season on loan in England’s third tier with Notts County.
He was appointed captain this summer by new manager Postecoglou, succeeding long-serving skipper Scott Brown who joined Aberdeen as Celtic ended the season without a trophy for the first time since 2010.
“I’m in a good place now mentally and maturity wise to take the next step and bring success back to the club after a difficult last season,” added McGregor.
“In terms building what we’re trying to do, the style we’re trying to play, it takes a bit of time to gel everybody together.
“But there’s real positivity within the camp that we can do something special.”
Celtic manager Postecoglou said McGregor has “shown outstanding qualities” since he took charge in the summer.
“He espouses the values I’m after,” the Australian said. “He understands what we’re trying to build and, on and off the field, he’s not just talking about it, he’s living it and he’s showing the behaviour that I want leaders to show.”