pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bjorn Halvor Solberg <bhso@pacbell.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-interfaces@postgresql.org
Subject: Re: Backend dies for DBI
Date: 07 Mar 2001 17:14:05 -0800
Message-ID: <m33dcpqcyq.fsf@pacbell.net> (raw)
References: <m3k862d2nk.fsf@pacbell.net>
	<22575.984012545@sss.pgh.pa.us>

Tom Lane writes:

> Bjorn Solberg <bjorn@geocities.com> writes:
>> The log file from postmaster simply says:

---> 
>> StartTransactionCommand
>> [...]
>> ProcessQuery
>> CommitTransactionCommand
>> proc_exit(0)
>> shmem_exit(0)
>> exit(0)
>> /usr/local/pgsql/bin/postmaster: reaping dead processes...
>> /usr/local/pgsql/bin/postmaster: CleanupProc: pid 1297 exited with status 0
>> proc_exit(0)
>> shmem_exit(0)
>> exit(0)
>> /usr/local/pgsql/bin/postmaster: reaping dead processes...
>> /usr/local/pgsql/bin/postmaster: CleanupProc: pid 1298 exited with status 0
>> ---<

> This looks absolutely normal --- there's no evidence here for anything
> except normal backend exit.  At least the backend thinks it's normal.
> You should be looking for client or protocol-level problems.

OK.  I thought it was abnormal because it only happens when DBI loses
connection.

>> DBI (I think) sometimes output a message like "Backend message type 0x50
>> arrived while idle".  This can happen several times, and the crash does
>> not occur directly following any of the messages.

> This may indicate running out of memory for a query result on the client
> side; libpq is not very graceful about dealing with that :-(.  You
> should check on the sizes of query results you are fetching and the
> amount of memory available to your DBI applications.  Fetching a few
> rows at a time via a CURSOR is a good workaround if that seems to be
> the problem.

Thank you for your help, I'll look into this.  I do check the result of
each query, this is a very small database so I can't quite see how that
would affect the system like this.

What confuses me is that it ran fine for a couple of months.  Then, after
the power outage, it crashes every few hours, resulting in having to
restart the web server to regain the DB handle.  Currently the DB handle
is allocated once at (web-)server startup.  Maybe I'll change it to do a
connect and disconnect for each web page instead.  I figured doing it
only once and reusing the DB handle would save some time, but maybe it is
an unsafe thing to do?

Bjorn.



view thread (7+ messages)  latest in thread

Message-ID: <m33dcpqcyq.fsf@pacbell.net>
Permalink:  ../m33dcpqcyq.fsf@pacbell.net/
Also on:    postgresql.org/message-id/m33dcpqcyq.fsf@pacbell.net

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: bhso@pacbell.net, tgl@sss.pgh.pa.us
  Subject: Re: Backend dies for DBI
  In-Reply-To: <m33dcpqcyq.fsf@pacbell.net>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox