PostgreSQL 与 Slony-I 的安装配置

Thursday, April 22nd, 2010 @ 11:31 am

SlonyI 的同步测试
~~~~~~~~~~~~~~~
假设前面的操作都已经完成,两个数据库已经开始同步,下面开始测试同步是否正确。
在master库上插入数据

$ psql --username contactuser --dbname contactdb
contactdb=> insert into contact (cid, name, address,phone)
 values ((select nextval('contact_seq')),'sync', '3 Street', '(10) 7777777');
contactdb=> \q

在slave库上查看数据是否已经同步过来

$ psql --username contactuser --dbname contactdb_slave
contactdb=> select * from contact where name = 'sync';
contactdb=> \q

也可以通过一个脚本来比较两个库

$ vi compare.sh
#!/bin/sh

CLUSTER=contact_cluster
DB1=contactdb
DB2=contactdb_slave
H1=192.168.0.194
H2=192.168.0.199
U=postgres

echo -n "Comparing the databases..."
pg_dump -U $U -h $H1 $DB1 >dump.tmp.1.$$
pg_dump -U $U -h $H2 $DB2 >dump.tmp.2.$$

if diff dump.tmp.1.$$ dump.tmp.2.$$ >dump.diff ; then
        echo -e "\nSuccess! Databases are identical."
        rm dump.diff
else
        echo -e "\nFAILED - see dump.diff."
fi
rm dump.tmp.?.$$
$ ./compare.sh

注意:slave库这时候是只读的,不能做任何修改。

Pages: 1 2 3 4 5 6 7

Tags: ,
Posted in Technology | No Comments »

Leave a Reply