![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Postgis developper said it could be a postgresql bug. |
#3
| |||
| |||
|
|
"Emilia Venturato" <venturato (AT) faunalia (DOT) it> writes: Postgis developper said it could be a postgresql bug. Or it could be a postgis bug. Without a test case we can use to reproduce the problem, it's all speculation. Please send a complete, self-contained test case... |
#4
| ||||
| ||||
|
|
Did the segmentation fault leave a core dump in your $PGDATA directory or somewhere beneath it? If not then you might need to adjust your coredumpsize resource limit. I understand it was psql to crash, not postgresql. Postgres doesn't stop. Maybe this could explain why create table go well and only select doesn't go. |
|
Making test I found also that query plan changes if I select geometric field or not. Particulary It seems have problem with merge condition: |
|
Merge Join (cost=1184.56..1415.71 rows=9222 width=78224) (actual time=259.035..355.384 rows=18444 loops=1) |
|
Hash Join (cost=52.67..483.28 rows=9222 width=113) (actual time=3.113..28.000 rows=18444 loops=1) I prepared a file.zip with problem summary and data. It's 16 Mb. It's downloadable from http://www.faunalia.it/download/bug2481.tar.gz |
#5
| |||
| |||
|
|
The query plan shouldn't affect psql's behavior but selecting different columns might. Notice that the estimated column width is much higher when you select the geometry column than when you don't: [with] Merge Join (cost=1184.56..1415.71 rows=9222 width=78224) (actual time=259.035..355.384 rows=18444 loops=1) |
#6
| |||
| |||
|
|
That's a lot of data -- are you aware that psql (via libpq) fetches the entire result set before displaying it? In most cases 18444 rows wouldn't be a problem, but with rows that wide it becomes a big problem because the client has to store it all in memory. I wonder if that's causing psql to segfault, although I'd expect a graceful error like "out of memory for query result" unless maybe psql consumes so much memory that the OS has problems. |
#7
| |||
| |||
|
|
Alle 16:18, venerdì 16 giugno 2006, Tom Lane ha probabilmente scritto: Emilia might have found some corner case where it doesn't, though; perhaps a malloc call that's not error-checked. A stack trace from the psql core dump would be useful. Core dump is not generated. How can I generate a back-trace? |
#8
| |||
| |||
|
|
Emilia might have found some corner case where it doesn't, though; perhaps a malloc call that's not error-checked. A stack trace from the psql core dump would be useful. regards, tom lane |
#9
| |||||
| |||||
|
|
On Thu, Jun 15, 2006 at 11:48:37PM -0400, Tom Lane wrote: "Emilia Venturato" <venturato (AT) faunalia (DOT) it> writes: Postgis developper said it could be a postgresql bug. Or it could be a postgis bug. Without a test case we can use to reproduce the problem, it's all speculation. Please send a complete, self-contained test case... This report resembles a message Emilia posted in postgis-users a couple of weeks ago. The only public discussion is a request for the PostGIS version and copy of the data: http://postgis.refractions.net/piper...June/012281.h= tm l http://postgis.refractions.net/piper...June/012282.h= tm l Emilia, did you and Sandro (strk) have off-list discussion about this problem?=20 |
|
What do version() and postgis_full_version() return?=20 |
|
What happens if you select the geometry column without a join, i.e., "SELECT the_geom FROM wwf_terr_ecos_multigeom WHERE ..."?=20=20 |
|
Do you=20 get the segmentation fault with the original query if you select AsText(the_geom) or AsEWKT(the_geom) instead of just the_geom? |
|
Did the segmentation fault leave a core dump in your $PGDATA directory or somewhere beneath it? If not then you might need to adjust your coredumpsize resource limit. |
![]() |
| Thread Tools | |
| Display Modes | |
| |