
Prerequisites:

  JDK 1.2.2+
  PostgreSQL 7.2+ Source code
  JDK 1.2.2+ (Built with 1.4.1)
  Apache Commons CLI library (included with distribution)
  LOG4J (included with distribution)

To Build from Source:

./configure \
	--with-pgincludes=<pgsql source dir>/src/include
make
make install

NEW FEATURES IN THIS VERSION:

Schema support for Postgresql 7.3+
	- This is on by default. To use without schema support you may call 
	ERSSetup with the --noschema option.

Corrects the transaction rollover problem by emulating the backend transaction
ID handling (thanks to Jan Wieck and Tom Lane)

New java-based setup scripts
	- org.postgresql.ers.ERSSetup
			replaces ers_setup
	- org.postgresql.ers.ERSAddTable
			replaces ers_addtable
			allows for multiple tables on the command line, or input 
			from a file
			allows for custom naming of the _ers_uniq column, BY TABLE
			creates indexes and PKs on slave target
	- org.postgresql.ers.ERSAddSlave
			replaces ers_addslave
	- org.postgresql.ers.ERSRemoveTable
			Removes a table from the replication setup
	- org.postgresql.ers.ERSRemove
			replaces ers_remove
			removes eRServer from ALL slaves
			optionally strips the control column from tables on master and slave
	- org.postgresql.ers.ERSCtl
			sends a signal to the running server
	- org.postgresql.ers.ERSExecSQL
			executes aribitrary sql on slaves and master

RMI-based signaling interface:
	- should allow non-Sun JDKs to be used, as it removes the signaling hack 
		used to shutdown erserver
	- can be extended to provide runtime status information

More flexible column naming. As mentioned above, you can specify any unique int4/int8 
based column in a table to be used as the 'unique' column that eRServer uses for 
replication. So if you already have an integer primary key on a table, it can be used instead
of adding the '_ers_uniq' column the older version did.	
			
A small front-end shell script (ers_conf) for the Java setup scripts.

eRServer can now be given a reset signal, which will cause it to reload its table and 
column lists before the next replication cycle. ERSAddTable and ERSExecSQL do this 
automatically, removing the need to restart eRServer after adding a table.
 			
NOTES:

This is not yet a drop in replacement for previous versions. Upgrading will involve an 
additional script (coming soon). Manual upgrades are possible, and involve adding a view 
and recreating the log tables.

Setup does not add the xxid datatype yet. After setup, run the sql/xxid.sql script on 
the database that is to be replicated, i.e. 'psql <db> < xxid.sql'.

This has been primarily tested with 7.3 and 7.4 versions of PostgreSQL. It is known to 
work on 7.2 (if set up with schema support disabled), but not heavily tested.

This incorporates scop's Log4J patches. The proper version of log4j.jar is now supplied

The supplied postgresql.jar is from the 7.4.1 version. It no longer requires the antique 
7.0 version previously supplied.

