Re: Many postmasters...

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jean-Christophe Boggio <cat(at)thefreecat(dot)org>
Cc: PGSQL-GENERAL <pgsql-general(at)postgresql(dot)org>
Subject: Re: Many postmasters...
Date: 2000-12-06 05:04:09
Message-ID: 6006.976079049@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Jean-Christophe Boggio <cat(at)thefreecat(dot)org> writes:
> * Is it normal that
> ps aux |grep postgres
> shows (what we want : processes own by postgres) multiple postgres
> backends (which seems normal to me) *AND* multiple postmaster (same
> full cmd line).
> Sometimes we also have "defunct" postgresses.

Multiple postmasters sounds fishy. But you haven't looked closely
enough to tell for sure. I don't trust the ps-status stuff a whole lot,
so I don't trust ps' report of whether a process calls itself a
postmaster or a postgres. What I do trust is ps' report of process
parent/child relationships. A true postmaster is always a child of init
(process 1); a true backend is always a child of some true postmaster.

If you see more children of process 1 than you thought you should have,
then that needs looking into.

A <defunct> postmaster or postgres is an indication of trouble, also,
since either init or the parent postmaster (respectively) should have
reaped the dead process immediately. If a zombie process survives more
than a few milliseconds then something is wrong with its parent. Again,
the parent-process link shown by ps is critical information.

> * we start postgres with a /etc/rc.d/init.d script that launches
> pg_ctl -w <many options here> start
> When invoked from the shell, this command never returns to the shell
> by itself, we have to press <enter>. This behaviour prevents the
> script for terminating properly. Is there a way around this ?

That seems broken. I think there was an old version of pg_ctl that
didn't work properly unless -S was one of the switches passed to the
postmaster --- is that what's biting you?

> * every backend created by an Apache session opens many files (in our
> case, about 80 including the indexes) and many backends will finally
> generate an "Too many files open" message. We first increased the
> /proc/sys/fs/file-max to 8192 but that's a lot !

No it's not. Increase file-max or decrease your max number of backends.

regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Soma Interesting 2000-12-06 05:34:19 Re: Overhead of tables.
Previous Message Tom Lane 2000-12-06 04:48:37 Re: Overhead of tables.