Fw: PostgreSQL + INTERSECT = problem

Vladimír Beneš Vladimir.Benes na pvt.cz
Pondělí Květen 22 15:56:22 CEST 2000


Dobrý den,

-----Původní zpráva-----
Od: Martin 'Goran' Moravec <goran na ipp.cas.cz>
Komu: linux na linux.cz <linux na linux.cz>
Datum: 16. května 2000 11:21
Předmět: OT: PostgreSQL + INTERSECT = problem


>Mam zajivavy problem, u $subj, pokud zadam slozitejsi dotaz, (i na
postgresove kozoli) backend spadne, je-li v nem INTERSECT, neco jako
SELECT+"300 znaku podminek"+INTERSECT + libovolne maly select. a dostavam
hlasku:
>
>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.


    Zkuste daný dotaz pustit ještě jednou a současně si na druhém sessionu
pusťte top - je možné, že vyhodnocování Vašeho dotazu Vám zabere celou
dostupnou paměť a pak to spadne. Alespoň já má takovou zkušenost.

    Řešení: zjednodušit dotaz, v tabulkách nepoužívat zbytečně paměťově
náročné typy (např. int8 je implementován složitěji než int4), používat
jednodušší funkce (např. date(neco) místo date_trunc('day',neco)), nebo
dokonce hlouběji upravit návrh tabulek.

    Neposlal jste vlastní SELECT a struktury tabulek a view, nad kterými
pracuje, takže v předchozím odstavci střílím od boku.


        S pozdravem V. Beneš




Další informace o konferenci Linux