Re: [DBmirror Issue] recordchange() dies in packageData unless there is a PRIMARY KEY on DELETE and UPDATEs.

Поиск
Список
Период
Сортировка
От Rajesh Kumar Mallah.
Тема Re: [DBmirror Issue] recordchange() dies in packageData unless there is a PRIMARY KEY on DELETE and UPDATEs.
Дата
Msg-id 200209261348.28221.mallah@trade-india.com
обсуждение исходный текст
Ответ на [DBmirror Issue] recordchange() dies in packageData unless there is aPRIMARY KEY on DELETE and UPDATEs.  ("Rajesh Kumar Mallah." <mallah@trade-india.com>)
Список pgsql-admin
Hi Steven,


Your most recent version pending.c does not crashes
postmaster anymore when PRIMARY KEYS are missing.

Instead it raises notices and errors:
tradein_clients=> BEGIN work; UPDATE iid_listing set city='DELHI testing' where list_id=23312;
BEGIN
NOTICE: Could not select primary index key
NOTICE: Error obtaining primary key values
 ERROR: Operation could not be mirrored


Regds
Mallah.





On Tuesday 24 September 2002 02:18, Steven Singer wrote:
> 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);

--
Rajesh Kumar Mallah,
Project Manager (Development)
Infocom Network Limited, New Delhi
phone: +91(11)6152172 (221) (L) ,9811255597 (M)

Visit http://www.trade-india.com ,
India's Leading B2B eMarketplace.



В списке pgsql-admin по дате отправления:

Предыдущее
От: "Serguei A. Mokhov"
Дата:
Сообщение: Re: server error messages language
Следующее
От: Andreas Schmitz
Дата:
Сообщение: hardware question