
Today I got familiar problem with vacuum analyze

discovery=> select version();
version
------------------------------------------------------------------------
PostgreSQL 6.5.1 on i686-pc-linux-gnulibc1, compiled by gcc egcs-2.91.66
(1 row)

discovery=> vacuum analyze;
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.
We have lost the connection to the backend, so further processing is impossible.  Terminating.

This is the last cvs (REL6_5_PATCHES).
It's interesting, that I can do vacuum analyze for all tables in this
database without any problem !
I dump my database and reload it. After that vacuum analyze worked fine.
But after intensive testing of my Web-server I got the same problem.
I accumulate documents hits in my database using persistent connection
and this is the only update/insert operation.

I use function to workaround update/insert dilemma  - 
I can't just use update. This is modified function suggested by 
Philip Warner. I'm sure problem somehow connects with this,
because I had no problem when I didn't accumulate statistics but just
insert every hits using simple sql.


	Regards,

		Oleg

create table hits (
  msg_id int4 not null primary key,
  count  int4 not null
);

CREATE FUNCTION "acc_hits" (int4) RETURNS int4 AS '
Declare
    keyval      Alias For $1;
    cnt         int4;
Begin
    Select count into cnt from hits where msg_id = keyval;
    if Not Found then
        cnt := 1;
        Insert Into hits (msg_id,count) values (keyval, cnt);
    else
        cnt := cnt + 1;
        Update hits set count = cnt where msg_id = keyval;
    End If;
    return cnt;
End;
' LANGUAGE 'plpgsql';


_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83


Fri, 23 Jul 1999 23:44:52 +0400 (MSD)
Oleg Bartunov <oleg@sai.msu.su>
vacuum analyze problem 
Oleg Bartunov wrote:
> 
> Today I got familiar problem with vacuum analyze
> 
> discovery=> select version();
> version
> ------------------------------------------------------------------------
> PostgreSQL 6.5.1 on i686-pc-linux-gnulibc1, compiled by gcc egcs-2.91.66
> (1 row)
> 
> discovery=> vacuum analyze;
> 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.
> We have lost the connection to the backend, so further processing is impossible.  Terminating.

We need in gdb output for this...

Vadim

Mon, 26 Jul 1999 10:31:44 +0800
Vadim Mikheev <vadim@krs.ru>
Re: [HACKERS] vacuum analyze problem