Обсуждение: postmaster restart on a different dataDir

Поиск
Список
Период
Сортировка

postmaster restart on a different dataDir

От
"Medi Montaseri"
Дата:
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

От
Decibel!
Дата:
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)

Вложения

Re: postmaster restart on a different dataDir

От
"Medi Montaseri"
Дата:
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)