diff options
author | ivan <ivan> | 2005-04-02 20:34:23 +0000 |
---|---|---|
committer | ivan <ivan> | 2005-04-02 20:34:23 +0000 |
commit | 5d2eb9bf6bc24562ed6cff037379e78a2da7a654 (patch) | |
tree | b198d9df7d37995c58577b642d639222bbd15437 /bin | |
parent | 29c80b06fd677d43ff94d4503bb577107c71882e (diff) |
adding quick slony setup script
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/slony-setup | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/bin/slony-setup b/bin/slony-setup new file mode 100755 index 000000000..0c6c1cf20 --- /dev/null +++ b/bin/slony-setup @@ -0,0 +1,53 @@ +#!/usr/bin/perl +# +# hack to update/add read-only permissions for a user on the db +# +# usage: pg-readonly freesideuser readonlyuser + +use strict; +use DBI; +use FS::UID qw(adminsuidsetup); +use FS::Record qw(dbdef); + +my $user = shift or die &usage; +adminsuidsetup($user); + +#--- + +#su postgres -c 'createlang plpgsql freeside' + +#--- + +my $MASTERHOST = '172.21.0.204'; +my $SLAVEHOST = '172.21.0.205'; +#my $REPLICATIONUSER='pgsql'; +my $REPLICATIONUSER='postgres'; + +#drop set ( id = 1, origin = 1); + +print <<END; +cluster name = freeside; +node 1 admin conninfo = 'dbname=freeside host=$MASTERHOST user=$REPLICATIONUSER'; +node 2 admin conninfo = 'dbname=freeside host=$SLAVEHOST user=$REPLICATIONUSER'; +init cluster ( id=1, comment = 'Master Node'); +create set (id=1, origin=1, comment='All freeside tables'); + +END + +my $id = 1; + +foreach my $table ( dbdef->tables ) { + #next if $table =~ /^sql_/i; + print "set add table (set id=1, origin=1, id=". $id++. ", fully qualified name = 'public.$table' );\n"; + +} + +print <<END; +store node (id=2, comment = 'Slave node'); +store path (server = 1, client = 2, conninfo='dbname=freeside host=$MASTERHOST user=freeside'); +store path (server = 2, client = 1, conninfo='dbname=freeside host=$SLAVEHOST user=freeside'); +store listen (origin=1, provider = 1, receiver =2); +store listen (origin=2, provider = 2, receiver =1); +END + + |