Re: [DBmirror Issue] recordchange() dies in packageData unless
От | Steven Singer |
---|---|
Тема | Re: [DBmirror Issue] recordchange() dies in packageData unless |
Дата | |
Msg-id | Pine.LNX.4.33.0209232040340.14610-100000@pcNavYkfAdm1.ykf.navtechinc.com обсуждение исходный текст |
Ответ на | [DBmirror Issue] recordchange() dies in packageData unless there is aPRIMARY KEY on DELETE and UPDATEs. ("Rajesh Kumar Mallah." <mallah@trade-india.com>) |
Ответы |
Re: [DBmirror Issue] recordchange() dies in packageData unless
Re: [DBmirror Issue] recordchange() dies in packageData unless |
Список | pgsql-admin |
On Mon, 23 Sep 2002, Rajesh Kumar Mallah. wrote: > Hi > > Is anyone using dbmirror in production? We've been using it in production for sometime now and haven't been having any problems with it. > > I Intend to replicate a set of tables between local and remote servers. > and plan to use dbmirror. > The speed of replicating edits over a WAN isn't that great. If you perform a lot of edits in a short period of time there could be a backlog. > I observe that unless a table has a primary key the trigger recordchange() > which is supposed to be attached to a replicated table does not works properly > and causes postmaster to crash. > dbmirror requires that all tables that you replicate have primary keys(This should be said more explictly in the README) However it still should not crash(In defence it will only crash the postmaster when you compile dbmirror in debug mode). The attatched patch to pending.c should prevent it from crashing the postmaster. Let me know if it fixes the problem and I'll submit it to pgpatches. *** pending.c Mon Sep 23 20:24:04 2002 --- /tmp/pending.c Mon Sep 23 20:23:43 2002 *************** *** 226,232 **** /* pplan = SPI_saveplan(pplan); */ cpKeyData = packageData(tTupleData, tTupleDesc, tpTrigData, PRIMARY); #if defined DEBUG_OUTPUT ! elog(NOTICE, cpKeyData); #endif saPlanData[0] = PointerGetDatum(cpKeyData); --- 226,235 ---- /* pplan = SPI_saveplan(pplan); */ cpKeyData = packageData(tTupleData, tTupleDesc, tpTrigData, PRIMARY); #if defined DEBUG_OUTPUT ! if(cpKeyData != NULL ) ! { ! elog(NOTICE, cpKeyData); ! } #endif saPlanData[0] = PointerGetDatum(cpKeyData); -- Steven Singer ssinger@navtechinc.com Aircraft Performance Systems Phone: 519-747-1170 ext 282 Navtech Systems Support Inc. AFTN: CYYZXNSX SITA: YYZNSCR Waterloo, Ontario ARINC: YKFNSCR
В списке pgsql-admin по дате отправления: