| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Matthew Gerber <gerber(dot)matthew(at)gmail(dot)com> |
| Cc: | Noah Misch <noah(at)leadboat(dot)com>, Craig Ringer <ringerc(at)ringerc(dot)id(dot)au>, Merlin Moncure <mmoncure(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: Unresolved error 0xC0000409 on Windows Server |
| Date: | 2012-11-11 17:22:24 |
| Message-ID: | 24361.1352654544@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Matthew Gerber <gerber(dot)matthew(at)gmail(dot)com> writes:
> On Sun, Nov 11, 2012 at 11:19 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> How long is "long"?
> I was seeing queries with around 5000-7000 "UNION ALL" statements.
Hm. I experimented with test queries created like so:
perl -e 'print "SELECT 1 a, 2 b, 3 c\n"; print "UNION ALL SELECT 1 a, 2 b, 3 c\n" foreach (1..8200);' | psql
On the machine I tried this on, it works up to about 8200 and then fails
in the way I'd expect:
ERROR: stack depth limit exceeded
HINT: Increase the configuration parameter "max_stack_depth" (currently 2048kB), after ensuring the platform's stack depth limit is adequate.
But then when I cranked it up to 80000, kaboom:
connection to server was lost
Inspection of the core dump shows transformSetOperationTree is the
problem --- it's recursing but lacks a check_stack_depth test.
So that's easy to fix, but I wonder why the critical depth limit seems
to be so much less on your machine. I get the expected error up to
about 65000 UNION ALLs --- why is yours crashing at a tenth of that?
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tomas Vondra | 2012-11-11 17:32:01 | Re: too much pgbench init output |
| Previous Message | Matthew Gerber | 2012-11-11 16:30:32 | Re: Unresolved error 0xC0000409 on Windows Server |