Hannu Krosing hannu
Tue Aug 9 21:09:20 PDT 2005
On T, 2005-08-09 at 14:35 -0400, Christopher Browne wrote:
> Hannu Krosing wrote:

> >Any good advice for moving forward or am I stuck with this one ?
> >  
> >
> Oh, yeah, that was on my "to do" list, and got lost :-(
> 
> I ran into the same problem when too much time passed between (I think)
> submitting SUBSCRIBE SET and then starting the slon for the subscriber.
> 
> The big part of the query is the "and log_actionseq not in (... ENORMOUS
> LIST ...)" part, right?

I guess so.

> Time to look into finding a way to compress that...  (What I'm thinking
> of doing is to have that clause combine adjacent values together...)

Either this, or just create a temp table and then 'COPY FROM STDIN +
create index' and use join instead of IN () if there are more members in
list than some predefined number.

I attached python pseudocode for doing the conversions from NOT IN to
AND-list of != and NOT BETWEEN
When I tried the attached code on my failing query and it converted
alist of 160035 ints to just one BETWEEN. 

> I think you're a bit out of luck on this particular subscription.

Fortunately doing what was suggested in the error message (HINT:
Increase the configuration parameter "max_expr_depth".) helped me out
this time. i upped it to 50k from default 10k. 

But I think cant't raise this indefinitely :(expr_d)

> What you might try when you restart it is to, during the subscription
> period, bump up the amount of time per SYNC (e.g. - increase -s and -t
> intervals) so that there aren't so many outstanding SYNCs when the
> subscription gets going.

what does "log_actionseq not in (..." exactly check for ?

-- 
Hannu Krosing <hannu at skype.net>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: convert_ranges.py
Type: application/x-python
Size: 638 bytes
Desc: not available
Url : http://gborg.postgresql.org/pipermail/slony1-general/attachments/20050809/e6cd0c5a/convert_ranges-0001.bin


More information about the Slony1-general mailing list