Denis Perchine <[EMAIL PROTECTED]> 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

Reply via email to