1 |
dpavlin |
1.1 |
+ add ports to all commands |
2 |
|
|
+ make all flags consistent (add --master* or --slave* prefix) |
3 |
|
|
+ short options for debug, verbose, quiet, help (Getopt::Long automatic) |
4 |
|
|
+ add original HOWTO author to doc/eRserver.HOWTO |
5 |
|
|
+ use scrict in all perl code |
6 |
|
|
- add regression testing using http://pgdiff.sf.net/ (I gave up on this, and |
7 |
|
|
decided to write my own pgdiff) |
8 |
|
|
- support original 0.1 rsync.so (modify trigger in MasterInit) |
9 |
|
|
- fix Snapshots in all commands to use new dot-leading snapshots |
10 |
|
|
- fix and check InitRservTest |
11 |
|
|
+ integrate changes from current PostgreSQL which where left out |
12 |
|
|
- add multiple slaves support from |
13 |
|
|
http://archives.postgresql.org/pgsql-hackers/2003-06/msg00608.php |
14 |
|
|
- support schemas |
15 |
|
|
- rserv fails on big 10,000 row replications (reported by Thomas A. Lowery on |
16 |
|
|
pgreplivation list) |
17 |
|
|
- support create/drop tabels (using own version of perl pgdiff which outputs SQL) |
18 |
|
|
- check triggers (pgreplication Nov 2002 from Mabrouk CHOUK) |
19 |
|
|
|
20 |
|
|
- implement insert if column doesn't exists on update again as |
21 |
|
|
configuration option per-table (Nelio's code -- is it useful?) |
22 |
|
|
|
23 |
|
|
- write terminal GUI for replication |
24 |
|
|
|
25 |
|
|
+-----------------------------------------+ |
26 |
|
|
| master | slave | |
27 |
|
|
| host: socket | host: luna | |
28 |
|
|
| port: | port: 15432 | |
29 |
|
|
| user: | user: rserv | |
30 |
|
|
| pass: | pass: xxxxxx | |
31 |
|
|
|-----------------------------------------| |
32 |
|
|
| table | col | * | dir | table | col | * | |
33 |
|
|
|-----------------------------------------| |
34 |
|
|
| a | id | | --> | a | id | f | |
35 |
|
|
| b | id | t | <-> | b | id | f | |
36 |
|
|
| ... | ... | t | <-- | ... | ... | | |
37 |
|
|
|-----------------------------------------| |
38 |
|
|
| * just update don't insert if not exist | |
39 |
|
|
| help: | |
40 |
|
|
+-----------------------------------------+ |
41 |
|
|
|
42 |
|
|
Afer examining perl-based curses soltions (don't get me started) I opted for |
43 |
|
|
more line-by-line tool which will look somewhat like Linux's kernel make |
44 |
|
|
oldconfig. |
45 |
|
|
|
46 |
|
|
- prefix all output to terminal with "ERROR", "DEBUG" etc. |
47 |
|
|
|
48 |
|
|
- write RServ features list |
49 |
|
|
* master-slave replication with configurable parametars and easily tweakable |
50 |
|
|
perl code |
51 |
|
|
* transaction-aware (bug in transaction isolation levels siggested at |
52 |
|
|
pgreplication list for open source rserv?) |
53 |
|
|
* Supports snapshots (bundles changes) |
54 |
|
|
* Uses SPI, Perl and PG_Perl interface |
55 |
|
|
* SyncIDs are used to keep track of the slave data updates |
56 |
|
|
* Uses a replication table on master to |
57 |
|
|
capture updates via trigger then |
58 |
|
|
synchronization can be manual via |
59 |
|
|
command line or by number of snapshots |
60 |
|
|
* Only one slave and no fail over support |
61 |
|
|
|
62 |
|
|
- fix debug, verbose and quiet transfer to RServ.pm |
63 |
|
|
|