The skipper's previous deal had been due to expire at the end of the season.
However, Mackay has now committed himself to McDiarmid Park until the summer of 2017.
"I'm delighted that Dave has signed for next season. He has consistently been one of the best players at the club and given his length of service I would argue that he is one the club's best ever players," manager Tommy Wright told the club's official website.
"He's been a captain on and off the pitch. His form since coming back from his summer surgery has been excellent and we were pleased to sit down and get an extension agreed."
The 35-year-old joined the Saints from Livingston in 2009. body check tags ::