mirror of
https://github.com/postgres/postgres.git
synced 2025-07-31 22:04:40 +03:00
Add dbmirror to /contrib. Minor C cleanups and Makefile.
Steven Singer
This commit is contained in:
42
contrib/dbmirror/MirrorSetup.sql
Normal file
42
contrib/dbmirror/MirrorSetup.sql
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
CREATE FUNCTION "recordchange" () RETURNS opaque AS
|
||||
'/usr/local/pgsql/lib/pending.so', 'recordchange' LANGUAGE 'C';
|
||||
|
||||
CREATE TABLE "MirrorHost" (
|
||||
"MirrorHostId" serial,
|
||||
"HostName" varchar NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CREATE TABLE "Pending" (
|
||||
"SeqId" serial,
|
||||
"TableName" varchar NOT NULL,
|
||||
"Op" character,
|
||||
"XID" int4 NOT NULL,
|
||||
PRIMARY KEY ("SeqId")
|
||||
|
||||
);
|
||||
|
||||
CREATE INDEX "Pending_XID_Index" ON "Pending" ("XID");
|
||||
|
||||
CREATE TABLE "PendingData" (
|
||||
"SeqId" int4 NOT NULL,
|
||||
"IsKey" bool NOT NULL,
|
||||
"Data" varchar,
|
||||
PRIMARY KEY ("SeqId", "IsKey") ,
|
||||
FOREIGN KEY ("SeqId") REFERENCES "Pending" ("SeqId") ON UPDATE CASCADE ON DELETE CASCADE
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE "MirroredTransaction" (
|
||||
"XID" int4 NOT NULL,
|
||||
"LastSeqId" int4 NOT NULL,
|
||||
"MirrorHostId" int4 NOT NULL,
|
||||
PRIMARY KEY ("XID","MirrorHostId"),
|
||||
FOREIGN KEY ("MirrorHostId") REFERENCES "MirrorHost" ("MirrorHostId") ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
FOREIGN KEY ("LastSeqId") REFERENCES "Pending" ("SeqId") ON UPDATE
|
||||
CASCADE ON DELETE CASCADE
|
||||
);
|
Reference in New Issue
Block a user