From: | Michael Fuhr <mike(at)fuhr(dot)org> |
---|---|
To: | "Cox, Brian" <Brian(dot)Cox(at)ca(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: "stack depth limit exceeded" executing DELETE FROM |
Date: | 2006-09-05 18:44:50 |
Message-ID: | 20060905184450.GA41016@winnie.fuhr.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
On Tue, Sep 05, 2006 at 02:18:05PM -0400, Cox, Brian wrote:
> The following fails with a "stack depth limit exceeded":
>
> DELETE FROM some-table WHERE pk IN (pk1, pk2, ..., pkN)
>
> where pk = primary key and N is large, may be > 50000.
>
> Is there some limit as to the number of rows that can
> be deleted in a single DELETE?
The error isn't due to the number of rows being deleted but rather
from parsing the large number of items in the IN list. See the
following thread:
http://archives.postgresql.org/pgsql-general/2006-01/msg00959.php
How are you obtaining the N values? A subquery that returns the
equivalent list should work. You could also try increasing
max_stack_depth (or max_expr_depth in 7.4 and earlier), but be sure
to stay within your system's stack depth resource limit.
--
Michael Fuhr
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-09-05 18:59:05 | Re: "stack depth limit exceeded" executing DELETE FROM |
Previous Message | Cox, Brian | 2006-09-05 18:18:05 | "stack depth limit exceeded" executing DELETE FROM |