Server Crash wit insert ... select ... group by - Mailing list pgsql-bugs

From Ramin Motakef
Subject Server Crash wit insert ... select ... group by
Date
Msg-id 87d7bftfci.fsf@nase.motakef.de
Whole thread Raw
Responses Re: Server Crash wit insert ... select ... group by  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
============================================================================
                        POSTGRESQL BUG REPORT TEMPLATE
============================================================================


Your name        :    Ramin Motakef
Your email address    :       ramin@motakef.de


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

  Operating System (example: Linux 2.0.26 ELF)     : Linux 2.4.2, Debian unstable

  PostgreSQL version (example: PostgreSQL-7.0):   PostgreSQL-7.0.3

  Compiler used (example:  gcc 2.8.0)        :


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

The Following query causes the backend to crash:

INSERT INTO bmonth (year,month,hours)
SELECT date_part('year',day),
       date_part('month',day),
       to_hour(sum(stop-start))
FROM stunden
GROUP BY date_part('year',day), date_part('month',day);

Error Message:

pqReadData() -- backend closed the channel unexpectedly.
        This probably means the backend terminated abnormally
        before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.

/var/log/postgresql:

Server process (pid 10975) exited with status 11 at Sun Mar 18 13:00:20 2001
Terminating any active server processes...
Server processes were terminated at Sun Mar 18 13:00:20 2001
Reinitializing shared memory and semaphores
The Data Base System is starting up

Description of tables below...


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

CREATE TABLE "stunden" (
        "id" serial,
        "day" date,
        "start" time,
        "stop" time,
        "bem" text,
        PRIMARY KEY ("id")
);

CREATE TABLE "bmonth" (
        "year" int4,
        "month" int4,
        "hours" float8
);

CREATE FUNCTION "to_hour" (interval )
RETURNS float8
AS 'select date_part(''day'',$1)*24 + date_part(''hour'',$1) +
        date_part(''min'',$1) / 60;'
LANGUAGE 'SQL';


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

No solution, but creating a table in the select statement works:

SELECT date_part('year',day) AS year,
        date_part('month',day) AS month,
        to_hour(sum(stop-start)) AS hours
INTO mytest
FROM stunden
GROUP BY date_part('year',day), date_part('month',day)

Thanks,
        Ramin

pgsql-bugs by date:

Previous
From: pgsql-bugs@postgresql.org
Date:
Subject: Doucumentation bug in libpq > Asynchronous Query Processing
Next
From: Tom Lane
Date:
Subject: Re: Server Crash wit insert ... select ... group by