Thread: postmaster restart on a different dataDir

postmaster restart on a different dataDir

From
"Medi Montaseri"
Date:
Hi,

I am trying to measure startup time of postmaster. Say I have postmaster running on -D /tmp/d1 and would like to restart it on -D /tmp/d2.

If I just say
time pg_ctl restart -D /tmp/d2
it will not produce an accurate result because pg_ctl will start postmaster in the background and return immediately but if you query the engine right away, you'll see that it is not ready yet as in
time ( pg_ctl restart -D /tmp/d2 ; psql -l )

If I call postmaster, then the command is blocking waiting for postmaster to exit.
I am sure there is a way...but I figured I ask my good friends first...

Thanks
Medi

Re: postmaster restart on a different dataDir

From
Decibel!
Date:
On Mon, Aug 13, 2007 at 04:05:37PM -0700, Medi Montaseri wrote:
> Hi,
>
> I am trying to measure startup time of postmaster. Say I have postmaster

Why?

> running on -D /tmp/d1 and would like to restart it on -D /tmp/d2.
>
> If I just say
> time pg_ctl restart -D /tmp/d2
> it will not produce an accurate result because pg_ctl will start postmaster
> in the background and return immediately but if you query the engine right
> away, you'll see that it is not ready yet as in
> time ( pg_ctl restart -D /tmp/d2 ; psql -l )
>
> If I call postmaster, then the command is blocking waiting for postmaster to
> exit.

So let it stop, start the timer, then start it again.
--
Decibel!, aka Jim Nasby                        decibel@decibel.org
EnterpriseDB      http://enterprisedb.com      512.569.9461 (cell)

Attachment

Re: postmaster restart on a different dataDir

From
"Medi Montaseri"
Date:
Actually I found the answer....pg_ctl supports a -w switch which waits for the start operation to complete.

Decibel...without -w, pg_ctl will return immediately before postmaster is fully operational. If you don't believe me start the engine and try to connect to it right away with pgsql(1)...

Cheers for now
Medi

On 8/14/07, Decibel! <decibel@decibel.org> wrote:
On Mon, Aug 13, 2007 at 04:05:37PM -0700, Medi Montaseri wrote:
> Hi,
>
> I am trying to measure startup time of postmaster. Say I have postmaster

Why?

> running on -D /tmp/d1 and would like to restart it on -D /tmp/d2.
>
> If I just say
> time pg_ctl restart -D /tmp/d2
> it will not produce an accurate result because pg_ctl will start postmaster
> in the background and return immediately but if you query the engine right
> away, you'll see that it is not ready yet as in
> time ( pg_ctl restart -D /tmp/d2 ; psql -l )
>
> If I call postmaster, then the command is blocking waiting for postmaster to
> exit.

So let it stop, start the timer, then start it again.
--
Decibel!, aka Jim Nasby                        decibel@decibel.org
EnterpriseDB       http://enterprisedb.com      512.569.9461 (cell)