Pompey drew 0-0 for the second League One fixture in succession, but will be wondering how they left Rochdale with only a point.
The first half was a lifeless affair, but the visitors were on top throughout the second period and had several opportunities to score.
They were unable to take any of them, however, and Matty Done missed a glorious chance to make them pay for that profligacy at the death.
Kenny Jackett made three changes from the side that exited the Carabao Cup at Brighton earlier in the week.
Andy Cannon replaced Ryan Williams, with the midfielder making his first start of the campaign against his former club.
The other switches both came in the full-back roles, as Cam Pring and James Bolton made way for Lee Brown and Callum Johnson.
But summer signing Michael Jacobs had to be content with a place among the substitutes as he waited to make a Blues bow.
It was a fairly uneventful opening 45 minutes in the Greater Manchester sunshine, with neither keeper forced into meaningful action.
Marcus Harness was looking the most dangerous player for the visitors and sent in a number of dangerous crosses that could not be capitalised on.
Ollie Rathbone tried a rocket of a 25-yard shot at the other end that flew not too wide of Craig MacGillivray’s post.
And when Stephen Humphrys did get into a decent position inside the Blues box, he fired wastefully over the bar.
Pompey’s best opportunity came on 27 minutes when Tom Naylor could not spot a free player and instead delivered a rasping strike that Gavin Bazunu had to turn around the post.
A run from Ronan Curtis then led to the ball ricocheting back into the winger’s path, although his eventual drive lacked another power to seriously trouble the keeper.
Humphrys – making his second Dale debut – limped off injured late in the half and his replacement might have made an instant impact.
Matty Done received a square pass from Alex Newby, but could only stab the ball straight at MacGillivray.
A deep cross from Brown created an opening soon after restart, but Harness’ angled header was claimed by Bazunu.
And they squandered a great chance to open the scoring moments later after the keeper played the ball straight to Harness.
He squared the ball for John Marquis, who slotted the ball wide of the post from inside the Rochdale box.
Pompey had looked a lot more positive since the break and a Curtis cross caused plenty of problems for the Dale defence.
Sean Raggett was then unable to guide Harness’ centre on target, with appeals for a push on the defender waved away by referee Michael Salisbury.
And the visitors went close again on the hour mark, as Harness flung himself at a Cannon pass, but could not quite make contact.
That was the last piece of meaningful action for Cannon, who was replaced by debutant Jacobs on 66 minutes.
Pompey then had the ball in the back of the net when Bazunu claimed Brown’s corner and was sent tumbling into the net, but Salisbury decided the keeper had been fouled.
Good work from Harness soon led to a cross that was partially cleared, with Tom Naylor snatching at his shot and seeing it fly wide.
The chances kept coming and two corners from Curtis saw a Raggett header deflected behind and Harness nod wide.
Ellis Harrison came on for Curtis, as the Blues continued to try to turn their second half dominance into a goal.
It was Marquis who had the next opportunity, though, and could not make a connection when he tried to deftly guide home Brown’s cross.
Bazunu then made two fine saves in quick succession, first keeping out another Marquis header from Johnson’s fine cross, then diving to his right to save from Raggett.
But the Blues were almost caught out by a sucker-punch when Harrison’s intended pass back to MacGillivray was intercepted by Done.
He was left with an empty net to slot into, but sliced his attempt horribly and when a second chance arrived, Jack Whatmough averted the danger.
And Whatmough almost starred at the other end in stoppage-time when he met Brown’s corner and saw his header cleared from the line.
Rochdale (4-3-1-2): Bazunu; McLaughlin, O’Connell (c) (McNulty 80), McShane, Keohane; Lund, Ryan, Morley; Rathbone; Humphrys (Done 38), Newby (Dooley 70)
Subs not used: Lynch, Brierley, Tavarez, Baah
Pompey (4-2-3-1): MacGillivray; Johnson, Whatmough, Raggett, Brown; Naylor (c), Morris; Harness, Cannon (Jacobs 66), Curtis (Harrison 79); Marquis
Booked: Brown, Naylor
Subs not used: Turnbull, Downing, Pring, Close, Williams
Referee: Michael Salisbury