Sorry, I should have checked the source first.
Just found this in miscinit.c :
* By convention, the owning process' PID is negated if it is a standalone
* backend rather than a postmaster. This is just for informational
purposes.
====================
> -----Original Message-----
> I see this code in pg_ctl:
>
> PID=`sed -n 1p $PIDFILE`
> if [ "$PID" -lt 0 ];then
> PID=`expr 0 - $PID`
>
>
> Wnen it is possible (and why) to have a negative number in postmaster.pid?