Обсуждение: pg_ctlcluster not logging error (memory problem likely)

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

pg_ctlcluster not logging error (memory problem likely)

От
Tony Webb
Дата:
Hi,

I'm trying to find out why my cluster won't start. It looks like I'm
pushing up max_connections too high although I think my memory and
semaphore settings are OK. Thing is, when the cluster fails to start I
can't see any errors in pg_log or in /var/log/messages.

When the cluster is up and running it seems to write normally to these
locations.

Could pg_ctlcluster be writing somewhere else? can I do something to see
more verbose messages (more than the empty string) other than setting
log parameters in postgres.conf?

I'm running 8.3 on Debian btw.

Cheers

Pif



--
 The Wellcome Trust Sanger Institute is operated by Genome Research
 Limited, a charity registered in England with number 1021457 and a
 company registered in England with number 2742969, whose registered
 office is 215 Euston Road, London, NW1 2BE.

Re: pg_ctlcluster not logging error (memory problem likely)

От
Tom Lane
Дата:
Tony Webb <amw@sanger.ac.uk> writes:
> I'm trying to find out why my cluster won't start. It looks like I'm
> pushing up max_connections too high although I think my memory and
> semaphore settings are OK. Thing is, when the cluster fails to start I
> can't see any errors in pg_log or in /var/log/messages.

> When the cluster is up and running it seems to write normally to these
> locations.

> Could pg_ctlcluster be writing somewhere else?

I'm not familar with pg_ctlcluster, but it seems possible that the
Debian setup is such that messages issued early in startup go somewhere
else than where messages go once the postmaster is fully up and running.
In particular, until the postmaster has absorbed the logging settings
in postgresql.conf, it's *always* going to write to its stderr.  I've
seen startup scripts that send postmaster stderr to /dev/null :-(
because they suppose that pointing log_destination to syslog or some
such means that everything of interest will go there.

Advice is to look into the startup script, see where it sends
postmaster's stderr, and fix that if it's not someplace you can read.

            regards, tom lane

Re: pg_ctlcluster not logging error (memory problem likely)

От
Tony Webb
Дата:
Tom Lane wrote:
> Tony Webb <amw@sanger.ac.uk> writes:
>
>> I'm trying to find out why my cluster won't start. It looks like I'm
>> pushing up max_connections too high although I think my memory and
>> semaphore settings are OK. Thing is, when the cluster fails to start I
>> can't see any errors in pg_log or in /var/log/messages.
>>
>
>
>> When the cluster is up and running it seems to write normally to these
>> locations.
>>
>
>
>> Could pg_ctlcluster be writing somewhere else?
>>
>
> I'm not familar with pg_ctlcluster, but it seems possible that the
> Debian setup is such that messages issued early in startup go somewhere
> else than where messages go once the postmaster is fully up and running.
> In particular, until the postmaster has absorbed the logging settings
> in postgresql.conf, it's *always* going to write to its stderr.  I've
> seen startup scripts that send postmaster stderr to /dev/null :-(
> because they suppose that pointing log_destination to syslog or some
> such means that everything of interest will go there.
>
> Advice is to look into the startup script, see where it sends
> postmaster's stderr, and fix that if it's not someplace you can read.
>
>             regards, tom lane
>
Thanks Tom.

Good advice - I'll check out the pg_ctlcluster script.

I've not looked yet. I'm hoping it's a shell script, not perl :-).

Cheers

Pif



--
 The Wellcome Trust Sanger Institute is operated by Genome Research
 Limited, a charity registered in England with number 1021457 and a
 company registered in England with number 2742969, whose registered
 office is 215 Euston Road, London, NW1 2BE.

Re: pg_ctlcluster not logging error (memory problem likely)

От
Tony Webb
Дата:

Thanks Val. Yes, I checked the /var/log/postgresql directory but no joy.

Good idea re the init.d script although I may resort to pg_ctl as I dont
want to restart all of the clusters on this box.

Cheers

Pif



--
 The Wellcome Trust Sanger Institute is operated by Genome Research
 Limited, a charity registered in England with number 1021457 and a
 company registered in England with number 2742969, whose registered
 office is 215 Euston Road, London, NW1 2BE.

Re: pg_ctlcluster not logging error (memory problem likely)

От
val
Дата:

Tony Webb <amw@sanger.ac.uk> wrote:  
> Thanks Val. Yes, I checked the /var/log/postgresql
> directory but no joy.
>

Ok, I just had a quick look at the script and it seems that it will first check if you have got 'log_filename' or
'log_directory'configured in your postgresql.conf file. If not it will then check for a symbolic link named 'log' under
your/etc/postgresql/$version/$cluster/ folder. And if this link doesn't exist it will fall back to using
/var/log/postgresql.

Hope that helps.

Cheers

Val




Re: pg_ctlcluster not logging error (memory problem likely)

От
val
Дата:

> Tom Lane wrote:
> > Tony Webb <amw@sanger.ac.uk>
> writes:
> >   
> >> I'm trying to find out why my cluster won't start.
> It looks like I'm pushing up max_connections too high
> although I think my memory and semaphore settings are OK.
> Thing is, when the cluster fails to start I can't see any
> errors in pg_log or in /var/log/messages.
> >>     
> >
> >   
> >> When the cluster is up and running it seems to
> write normally to these locations.
> >>     
> >
> >   
> >> Could pg_ctlcluster be writing somewhere else?
> >>     
> >
> > I'm not familar with pg_ctlcluster, but it seems
> possible that the
> > Debian setup is such that messages issued early in
> startup go somewhere
> > else than where messages go once the postmaster is
> fully up and running.
> > In particular, until the postmaster has absorbed the
> logging settings
> > in postgresql.conf, it's *always* going to write to
> its stderr.  I've
> > seen startup scripts that send postmaster stderr to
> /dev/null :-(
> > because they suppose that pointing log_destination to
> syslog or some
> > such means that everything of interest will go there.
> >
> > Advice is to look into the startup script, see where
> it sends
> > postmaster's stderr, and fix that if it's not
> someplace you can read.
> >
> >        
>     regards, tom lane
> >   
> Thanks Tom.
>
> Good advice - I'll check out the pg_ctlcluster script.
>
> I've not looked yet. I'm hoping it's a shell script, not
> perl :-).
>
> Cheers
>
> Pif
>

It is a perl script :-). The purpose of which is to make it easier to start and stop several postgres clusters which
mightnot even be the same version. 

It usually writes to /var/log/postgresql/postgresql-X.X-main.log. But you can just try starting the postmaster from the
commandline with /etc/init.d/postgresql-X.X star, that way if there were any errors you will see them printed on the
terminal.

Regards

Val