Bruce Momjian b24a0293cc Attached is a patch that provides *VERY* limited support for multiple
slave
servers.  I haven't tested it very well, so use at your own risk (and I
recommend against using it in production).

Basically, I have a central database server that has 4 summary tables
inside
it replicated to a remote slave (these database tables are for my mail
server
authentication, so these are replicated to another server tuned for many
connections, and so I don't have postgres connections opened straight to
my
back-end database server).

Unfortunately, I also wanted to implement a replication database server
for
hot-backups.  I realized, too late, that the replication process is
pretty
greedy and will try to replicate all tables marked as a
"MasterAddTable".

To make a long story, I made a patch to RServ.pm and Replicate that
allows you
to specify, on the command line, a list of tables that you want to
replicate...it'll ignore all others.

I haven't finished, since this has to be integrated with CleanLog for
instance, but this should (and does) suffice for the moment.

I have yet to test it with two slaves, but at least my mail server
replication
database now works (it was failing every time it tried to replicate, for
a
variety of reasons).

Anyone have any suggestions on how to improve on this?  (or, if someone
more
familiar with this code wants to take the ball and run with it, you're
welcome to).

--
Michael A Nachbaur <mike@nachbaur.com>
2003-06-25 01:17:44 +00:00
..
2003-06-24 22:59:46 +00:00
2003-06-11 18:44:15 +00:00
2003-06-10 09:07:15 +00:00

The PostgreSQL contrib tree
---------------------------

This subtree contains porting tools, analysis utilities, and plug-in
features that are not part of the core PostgreSQL system, mainly because
they address a limited audience or are too experimental to be part of
the main source tree.  This does not preclude their usefulness.

Each subdirectory contains a README file with information about the
module.  Most items can be built with `gmake all' and installed with
`gmake install' in the usual fashion, after you have run the `configure'
script in the top-level directory.  Some directories supply new
user-defined functions, operators, or types.  After you have installed
the files you need to register the new entities in the database system
by running the commands in the supplied .sql file.  For example,

	$ psql -d dbname -f module.sql

See the PostgreSQL documentation for more information about this
procedure.


Index:
------

adddepend -
	Add object dependency information to pre-7.3 objects.
	by Rod Taylor <rbt@rbt.ca>

array -
	Array iterator functions
	by Massimo Dal Zotto <dz@cs.unitn.it>

btree_gist -
	Support for emulating BTREE indexing in GiST
	by Oleg Bartunov <oleg@sai.msu.su> and Teodor Sigaev <teodor@stack.net>

chkpass -
	An auto-encrypted password datatype
	by D'Arcy J.M. Cain <darcy@druid.net>

cube -
	Multidimensional-cube datatype (GiST indexing example)
	by Gene Selkov, Jr. <selkovjr@mcs.anl.gov>

dbase -
	Converts from dbase/xbase to PostgreSQL
	by Maarten.Boekhold <Maarten.Boekhold@reuters.com>,
	   Frank Koormann <fkoorman@usf.uni-osnabrueck.de>,
	   Ivan Baldo <lubaldo@adinet.com.uy>

dblink -
	Allows remote query execution
	by Joe Conway <mail@joeconway.com>

dbmirror -
	Replication server
	by Steven Singer <ssinger@navtechinc.com>

dbsize -
	Reports database and table disk space
	by Peter Eisentraut <peter_e@gmx.net>

earthdistance -
	Operator for computing earth distance for two points
	by Hal Snyder <hal@vailsys.com>

findoidjoins -
	Finds the joins used by oid columns by examining the actual
	values in the oid columns and row oids.
	by Bruce Momjian <pgman@candle.pha.pa.us>

fulltextindex -
	Full text indexing using triggers
	by Maarten Boekhold <maartenb@dutepp0.et.tudelft.nl>

fuzzystrmatch -
	Levenshtein, metaphone, and soundex fuzzy string matching
	by Joe Conway <mail@joeconway.com>, Joel Burton <jburton@scw.org>

intagg -
	Integer aggregator
	by mlw <markw@mohawksoft.com>

intarray -
	Index support for arrays of int4, using GiST
	by Teodor Sigaev <teodor@stack.net> and Oleg Bartunov <oleg@sai.msu.su>

ipc_check -
	Simple test script to help in configuring IPC.
	FreeBSD only, for now.

isbn_issn -
	PostgreSQL type extensions for ISBN (books) and ISSN (serials)
	by Garrett A. Wollman <wollman@khavrinen.lcs.mit.edu>

lo -
	Large Object maintenance
	by Peter Mount <peter@retep.org.uk> 

ltree -
	Tree-like data structures
	by Teodor Sigaev <teodor@stack.net> and Oleg Bartunov <oleg@sai.msu.su>

mSQL-interface -
	mSQL API translation library
	by Aldrin Leal <aldrin@americasnet.com>

mac -
	Support functions for MAC address types
	by Lawrence E. Rosenman <ler@lerctr.org>

miscutil -
	PostgreSQL assert checking and various utility functions
	by Massimo Dal Zotto <dz@cs.unitn.it>

mysql -
	Utility to convert MySQL schema dumps to SQL92 and PostgreSQL
	by Thomas Lockhart <lockhart@alumni.caltech.edu>
	   Max Rudensky <fonin@ziet.zhitomir.ua>
	   Valentine Danilchuk <valdan@ziet.zhitomir.ua>

noupdate -
	Trigger to prevent updates on single columns

oid2name - 
	Maps numeric files to table names
	by B Palmer <bpalmer@crimelabs.net>

oracle -
	Converts Oracle database schema to PostgreSQL
	by Gilles Darold <gilles@darold.net>

pg_autovacuum -
	Automatically performs vacuum
	by Matthew T. O'Connor <matthew@zeut.net>

pg_dumplo -
	Dump large objects
	by Karel Zak <zakkr@zf.jcu.cz>

pg_logger -
	Stdin-to-syslog gateway for PostgreSQL
	by Nathan Myers <ncm@nospam.cantrip.org>

pg_upgrade -
	Upgrade from previous PostgreSQL version without pg_dump/reload
	by Bruce Momjian <pgman@candle.pha.pa.us>

pgbench -
	TPC-B like benchmarking tool
	by Tatsuo Ishii <t-ishii@sra.co.jp>

pgcrypto -
	Cryptographic functions
	by Marko Kreen <marko@l-t.ee>

reindexdb - 
	Reindexes a database
	by Shaun Thomas <sthomas@townnews.com>

pgstattuple -
	A function returns the percentage of "dead" tuples in a table
	by Tatsuo Ishii <t-ishii@sra.co.jp>

rserv -
	Replication server
	by Vadim B. Mikheev <vadim4o@email.com>

rtree_gist -
	Support for emulating RTREE indexing in GiST
	by Oleg Bartunov <oleg@sai.msu.su> and Teodor Sigaev <teodor@stack.net>

seg -
	Confidence-interval datatype (GiST indexing example)
	by Gene Selkov, Jr. <selkovjr@mcs.anl.gov>

spi -
	Various trigger functions, examples for using SPI.

start-scripts - 
	Scripts for starting the server at boot time.
	
string -
	C-like input/output conversion routines for strings
	by Massimo Dal Zotto <dz@cs.unitn.it>

tablefunc -
	Examples of functions returning tables
	by Joe Conway <mail@joeconway.com>

tips/apache_logging -
	Getting Apache to log to PostgreSQL
	by Terry Mackintosh <terry@terrym.com>

tools -
	Assorted developer tools
	by Massimo Dal Zotto <dz@cs.unitn.it>

tsearch -
	Full-text-index support using GiST
	by Teodor Sigaev <teodor@stack.net> and Oleg Bartunov
	<oleg@sai.msu.su>.

userlock -
	User locks
	by Massimo Dal Zotto <dz@cs.unitn.it>

vacuumlo -
	Remove orphaned large objects
	by Peter T Mount <peter@retep.org.uk>

xml -
	Storing XML in PostgreSQL
	by John Gray <jgray@azuli.co.uk>