Denis Perchine <dyp@perchine.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