Problem: database connection termination while processing select command

From: Vladimír Beneš <Vladimir(dot)Benes(at)pvt(dot)cz>
To: <pgsql-bugs(at)postgresql(dot)org>
Cc: Mühlpachr Michal <michalm(at)pvt(dot)net>
Subject: Problem: database connection termination while processing select command
Date: 2000-02-22 08:55:05
Message-ID: 016601bf7d12$833cdab0$451c11ac@p53apk.chv.pvt.cz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Your name : Vladimir Benes
Your email address : vladimir(dot)benes(at)pvt(dot)cz

System Configuration
---------------------
Architecture (example: Intel Pentium) : Intel Pentium

Operating System (example: Linux 2.0.26 ELF) : Debian Linux 2.2.13

PostgreSQL version (example: PostgreSQL-6.5.3): Debian package:
Package: postgresql
Status: install ok installed
Priority: optional
Section: misc
Installed-Size: 1936
Maintainer: Oliver Elphick <Oliver(dot)Elphick(at)lfix(dot)co(dot)uk>
Version: 6.5.3-11

Compiler used (example: gcc 2.8.0) :
prepared Debian package - not recompiled here

Please enter a FULL description of your problem:
------------------------------------------------

Postgres reports error:
"pg.error pqReadData() -- backend closed the channel unexpectedly. This
probably means the backend terminated abnormally before or while processing
the request."

This error is produced by processing of this correct instruction:
select comm_type,name,tot_bytes,tot_packets
from flow_sums_days_send_200002_view
where day='2000-02-21' and name not like '@%'
union all
select comm_type,name,tot_bytes,tot_packets
from flow_sums_days_receive_200002_view
where day='2000-02-21' and name not like '@%'

Both flow_sums_days_send_200002_view and
flow_sums_days_receive_200002_view are views upon table with very many rows
(today about 3 000 000). I guess limit of this data count about 10 000 000
rows.

This operation can run arbitrary long - never mind. The program
providing this select (one times per day) inserts every 5 minut new data
into this table.

I tried stop this program (daemon) and then I ran this select from psql
(with clause "limit 10"). It was success (no database session termination).

I'am sure that any TIMEOUT expired.

Perhaps cause of this problem is "commuting" of insert commands at time
when this select is executed. I can remove clause "union all" and the
program can perform sleep instruction before select processing BUT then this
problem will occures later again.

My environment at /etc/postgresql/postmaster.init:
PGBACKENDCOUNT=64
PGBUFFERS=2048
PGSORTMEM=262144
KERNEL_FILE_MAX=1032

Please describe a way to repeat the problem. Please try to provide a
concise reproducible example, if at all possible:
----------------------------------------------------------------------

Run select instruction at table with really very many rows.

If you know how this problem might be fixed, list the solution below:
---------------------------------------------------------------------

Sorry, I don't know. Perhaps chance of seting any timeout - for example
disabling this one...

Thank You very much, V. Benes

___________________________________________________
Ing. Vladimir Benes, pvt.net
PVT, a.s., OZ Chomutov
e-mail: vladimir(dot)benes(at)pvt(dot)cz, vladimir(dot)benes(at)sms(dot)paegas(dot)cz

Browse pgsql-bugs by date

  From Date Subject
Next Message info 2000-02-22 10:06:30 Paper catalogues in HTML on the Internet
Previous Message Peter Stamfest 2000-02-15 19:03:16 bug report