The 26-year-old defender spent last season on loan at Rotherham.
He scored only one goal in 10 match appearances.
Speaking about the new signing, Portsmouth manager Kenny Jackett said:
We’re delighted to bring him to Pompey and very much look forward to working with him next season,
He’s a very determined person and is just coming into his prime.