Re: Clustering features for upcoming developer meeting -- please claim yours!
От | Marko Kreen |
---|---|
Тема | Re: Clustering features for upcoming developer meeting -- please claim yours! |
Дата | |
Msg-id | AANLkTikGUxq7mk9yvaekWPjSN8rAqYTXP0ZSOfSnxCC5@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Clustering features for upcoming developer meeting -- please claim yours! (Jan Wieck <JanWieck@Yahoo.com>) |
Ответы |
Re: Clustering features for upcoming
developer meeting -- please claim yours!
|
Список | pgsql-cluster-hackers |
On 5/11/10, Jan Wieck <JanWieck@yahoo.com> wrote: > On 5/10/2010 4:25 PM, Marko Kreen wrote: > > > AFAICS the "agreeable order" should take care of positioning: > > > > > http://wiki.postgresql.org/wiki/ModificationTriggerGDQ#Suggestions_for_Implementation > > > > This combined with DML triggers that react to invalidate events (like > > PgQ ones) should already work fine? > > > > Are there situations where such setup fails? > > > > > > That explanation of an agreeable order only solves the problems of placing > the DDL into the replication stream between transactions, possibly done by > multiple clients. > > It does in no way address the problem of one single client executing a > couple of updates, modifies the object, then continues with updates. In this > case, there isn't even a transaction boundary at which the DDL happened on > the master. And this one transaction could indeed alter the object several > times. But the event order would be strictly defined by the sequence id? And the local, invalidation-aware triggers would see always up-to-date state, no? And it would be applied as single TX on subscriber too. Where's the problem? > This means that a generalized data queue needs to have hooks, so that DDL > triggers can inject their payload into it. If you mean "hooks" as pgq.insert_event() function, then yes.. I hope you are designing a generally usable queue with the GDQ. Btw, speaking of DDL triggers, as long as we don't have it I'm assuming all replicated DDL would be applied as: 1) Execute DDL statement 2) Insert statement into queue in same tx. So I'm assuming the DDL trigger would simply make the step 2) automatically. Perhaps are you thinking of some other sort of DDL triggers? -- marko
В списке pgsql-cluster-hackers по дате отправления: