Hello Alvaro,
yeah, thanks, that's it. postgresql.conf had:
max_stack_depth = 8192 # min 100, size in KB
I don't know who put it at 8192. According to the fine manual at [1], it
should be set to something below 'ulimit -s', which gives 8192 on the
machine in question. I've now set it to 7000 and I also get a warning
instead of a SEGFAULT.
Thank you!
Markus
[1]:
http://www.postgresql.org/docs/8.1/interactive/runtime-config-resource.html
Alvaro Herrera wrote:
Markus Schiltknecht wrote:
Hi,
One of our PostgreSQL 8.1.5 databases constantly crashed on a certain
query (backend SEGFAULTs). I've figured the crashes were caused by a
very long IN() clause.
You can easily reproduce the crash by feeding the output of the python
script below to your database.
I'd argue that you have max_stack_depth set to an invalid value (higher
than your true stack limit). I tried your example here on 8.1.5 and got
this:
alvherre=# \i foo
CREATE TABLE
psql:foo:2: ERROR: stack depth limit exceeded
HINT: Increase the configuration parameter "max_stack_depth".
DROP TABLE