postgresql service started but pid is not saved in /var/run/postgresql/postgresql.pid - Mailing list pgsql-admin

From Mariel Cherkassky
Subject postgresql service started but pid is not saved in /var/run/postgresql/postgresql.pid
Date
Msg-id CA+t6e1n2R7XR_Ykwjt=K1Cn+=tY7FF6j+zFZiAHFYSgJ9AaVRA@mail.gmail.com
Whole thread Raw
Responses Re: postgresql service started but pid is not saved in /var/run/postgresql/postgresql.pid
List pgsql-admin
Hey,
I'm using a machine in aws and when the machine starts all the services are starting including postgresql(v9.6 , centos).  However, when I check the service`s status I see that it is stopped but all the processes are up (ps -ef ) and the postmaster.pid file is exist with the pid of the postmaster. 

The next part of code responsible for starting postgresql in redhat(/etc/init.d/postgresql) :
$SU -l postgres -c "$PGENGINE/postmaster -D '$PGDATA' ${PGOPTS} >>\"$PGLOG\" 2>&1 &"
        sleep 2
        pid=`head -n 1 "$PGDATA/postmaster.pid" 2>/dev/null`
        if [ "x$pid" != x ]
        then
                success "$PSQL_START"
                touch "$lockfile"
                echo $pid > "$pidfile"
                echo
        else
                failure "$PSQL_START"
                echo
                script_result=1
        fi

It seems that the sleep 2 isnt enough time to start the processes and thats why the service shows that the instance is down while it is up. Does any one faced this type of issue ? I mean, I can increase the sleep , but I dont think that it is the perfect solution in this case.

pgsql-admin by date:

Previous
From: pavan95
Date:
Subject: Re: Installation of login_hook in PostgreSQL 10
Next
From: Juan José Santamaría Flecha
Date:
Subject: Re: postgresql service started but pid is not saved in /var/run/postgresql/postgresql.pid