Re: libpq error codes

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Denis Perchine <dyp(at)perchine(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: libpq error codes
Date: 2000-06-21 16:42:44
Message-ID: 5062.961605764@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-patches

Denis Perchine <dyp(at)perchine(dot)com> writes:
> If I shutdown postgres between queries I get:

> query: 1024: 'select count(*) from pg_class'
> ResStatus: PGRES_FATAL_ERROR
> Status: 0
> except: pqReadData() -- read() failed: errno=32
>

What version are you running, and are you sure you are using libpq
correctly? Using psql I see

regression=# select count(*) from pg_class;
count
-------
260
(1 row)

< in another window, kill postgres backend >

regression=# select count(*) from pg_class;
FATAL 1: The system is shutting down
NOTICE: AbortTransaction and not in in-progress state
pqReadData() -- backend closed the channel unexpectedly.
This probably means the backend terminated abnormally
before or while processing the request.
regression=#

which looks pretty reasonable.

I should also point out that in the current system, normal shutdown
(via pg_ctl stop or 'kill' on the postmaster) produces no such result
because extant backends are allowed to finish their sessions normally.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message K Parker 2000-06-21 16:56:09 PHP3 support
Previous Message Marc Britten 2000-06-21 15:40:15 boolean isn't boolean?

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2000-06-21 16:46:34 Re: Big 7.1 open items
Previous Message Bruce Momjian 2000-06-21 16:40:35 Re: Big 7.1 open items