Jakub K slonymaillist at gmail.com
Sun May 11 08:40:11 PDT 2008
Hello,

if i understand well, publisher have two basic parameters for
generating SYNC events:

1) SYNC check interval
each SYNC check interval default 2 seconds slon looks to replication
log if there is new work (new means changes after las SYNC)  generate
SYNC
2) SYNC interval timeout
genereate SYNC each interval no matter if there is new work for
replication or not

Subsciber LISTEN and wake up + ask for changes when SYNC from
publisher comes. If SYNC was created by interval timeout it is
possible that subscriber get no new data. SYNC event is saying to
subscribers do pull replication and ask publisher for data.

In slon documentation is note that subscribers generate SYNC too - it
means that only sub that generate SYNC ask for new data or this SYNC
is send to all subs and all subs received this SYNC and ask for new
data?


Thanks a lot, Jakub.

2008/5/5 Christopher Browne <cbbrowne at ca.afilias.info>:
>
> "Jakub K" <slonymaillist at gmail.com> writes:
> > Hello,
> > i am new in slony and i have question, about how it's works.
> > Q: slony is pull or push replication? or both?
>
> When it combines "publish" and "subscribe," that implies a bit of
> both, though it mostly looks like "pull," as that's where the bulk of
> the work takes place.
>
>
> > I set replication using slonik, than start slon daemon on subsrciber
> > (sub) and publisher (pub).  And now, subsrciber is asking for data
> > or publisher is sending data? How often?  -S SYNC check interval
> > means how often are data asking (sub) or sending (pub)
>
> "How often" is essentially controlled by the origin; it is there that
> the "check interval" is used to determine if a SYNC event should be
> published.
>
>  -> If, within the sync_interval period, replication work has arrived,
>     the origin will generate a SYNC event.
>
>  -> If the origin is quiet (e.g. - not receiving any replicable work),
>     there will still be a SYNC event each sync_interval_timeout
>     milliseconds.
>
> The SYNC event is published via the LISTEN/NOTIFY system in
> PostgreSQL, which will cause a quiescent subscriber to wake up and
> know it has new work to do.  That's when the "pulling" takes place.
> --
> output = reverse("moc.enworbbc" "@" "enworbbc")
> http://www3.sympatico.ca/cbbrowne/emacs.html
> Horribly wedging my very own personal machine gives me a comfortable,
> familiar, Lisp-machine feeling (like an old shoe), laced with that racy
> hint of raw, cold-boot power.
>


More information about the Slony1-general mailing list