Attached is a patch to contrib/dbmirror that fixes a bug that was

causing  the postmaster to crash when the trigger was running on a table
without a  primary key.

I've also updated the docs to explicitly say that tables need primary
keys.

Steven Singer
REL7_3_STABLE
Bruce Momjian 24 years ago
parent b2c34e2bd1
commit 603f601269
  1. 3
      contrib/dbmirror/README.dbmirror
  2. 7
      contrib/dbmirror/pending.c

@ -120,6 +120,9 @@ Execute the SQL code in AddTrigger.sql once for each table that should
be mirrored. Replace MyTableName with the name of the table that should
be mirrored.
NOTE: DBMirror requires that every table being mirrored have a primary key
defined.
5) Create the slave database.
The DBMirror system keeps the contents of mirrored tables identical on the

@ -1,6 +1,6 @@
/****************************************************************************
* pending.c
* $Id: pending.c,v 1.4 2002/09/05 00:43:06 tgl Exp $
* $Id: pending.c,v 1.5 2002/09/26 05:24:30 momjian Exp $
*
* This file contains a trigger for Postgresql-7.x to record changes to tables
* to a pending table for mirroring.
@ -225,6 +225,11 @@ storeKeyInfo(char *cpTableName, HeapTuple tTupleData,
/* pplan = SPI_saveplan(pplan); */
cpKeyData = packageData(tTupleData, tTupleDesc, tpTrigData, PRIMARY);
if (cpKeyData == NULL)
{
elog(ERROR,"Could not determine primary key data");
return -1;
}
#if defined DEBUG_OUTPUT
elog(NOTICE, cpKeyData);
#endif

Loading…
Cancel
Save