Código PHP:
$caro="SELECT max(archivo) as maxim FROM documento where tipo='$regis[nombre]' and estado='1' and depto='$iddepto' and cliente='$idcliente' and caja='$caja'";
$rescaro=pg_query($IdConexion,$caro);
$NFilasr = pg_num_rows($rescaro);
While ($regist= pg_fetch_array($rescaro)){$primo=$regist[maxim];}
Luego en el insert, asignas $primo...y listo
Ojo que no se si funciona con una insercion recursiva, me funciona super bien con uno a la vez... suerte