Fri Nov 6 07:07:57 PST 2009
- Previous message: [Slony1-general] How to confirm if a certain insert has completed on the slave db?
- Next message: [Slony1-general] very slow create set
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
HI All, Just thought it might be useful. SLONY-I on Windows XP using Slony 1.2.16 and postgres 8.3 1. Create 3 databases, master, slave1 and slave2 and ensure pl/pgsql is setup in each. 2. Create a schema with tables in the master database: 3. Add a primary key to each table. 4. Create a schema-only dump of the master database, and load it into slave1 and slave2: [This step needs to be followed only if the slave does not exists already.] > pg_dump -s -U postgres master > schema.sql [creates an sql file with commands necessary to create tables and insert data in it with which we can build the slave databases] > psql -U postgres slave1 < schema.sql [slave database gets contructed] > psql -U postgres slave2 < schema.sql [slave database gets contructed] 5. Create Slony config files for each slon engine (daemon on *nix). The files should contain just the following two lines: Contents of Master.conf cluster_name='pgbench' conn_info='host=ip of master port=5432 user=postgres dbname=master' Contents of Slave.conf cluster_name='pgbench' conn_info='host=ip slave port=5432 user=postgres dbname=master' [Create a file for each database, adjusting the dbname parameter as required and adding any other connection options that may be needed. For the IP, it's better to use domain names to ensure that all servers are addressed uniformly in pgadmin and slonyi] 6. (Windows only) Install the Slony-I service: > slon -regservice Slony-I [Slony-II, Slony-II, Slony-A, etc could also be used] 7. Register each of the engines (this is only necessary on Windows - on *nix the slon daemons may be started individually and given the path to the config file on the command line using the -f option): > slon -addengine Slony-I C:\slony\master.conf > slon -addengine Slony-I C:\slony\slave1.conf > slon -addengine Slony-I C:\slony\slave2.conf 8. In pgAdmin under the Replication node in the master database, create a new Slony-I cluster using the following options. Create a cluster in the master database Join existing cluster: Unchecked Cluster name: pgbench (any name) Local node: 1 Master node Admin node: 99 Admin node 9. Under the Replication node, create a Slony-I cluster in each of the slave databases using the following options: Join existing cluster: Checked Server: <Select the server containing the master database> Database: master Cluster name: pgbench Local node: 10 Slave node 1 Admin node: 99 - Admin node Join existing cluster: Checked Server: <Select the server containing the master database> Database: master Cluster name: pgbench Local node: 20 Slave node 2 Admin node: 99 - Admin node 10. Create Paths on the master to both slaves, and on each slave back to the master. Create the paths under each node on the master, using the connection strings specified in the slon config files. Note that future restructuring of the cluster may require additional paths to be defined. Example Slave path in Master node =>host=ip/ dns port=5432 user=postgres dbname=nlpg Master path in slave node => host=ip/ dns port=5432 user=postgres dbname=nlpg 11. Create a Replication Set on the master using the following settings: ID: 1 Comment: rep set1 (any name) 12. Add the tables to the replication set using the following [existing table names are available from the drop down]: Table: public.accounts ID: 1 Index: accounts_pkey Table: public.branches ID: 2 Index: branches_pkey Table: public.history ID: 3 Index: history_pkey Table: public.tellers ID: 4 Index: tellers_pkey [In this approach all the tables are being added to one replication set in the master. Alternatively, we can add n replication set for each table.] 13. On the master node, create a new subscription for each slave using the following options: Origin: 1 Provider: 1 - Master node Receiver: 10 - Slave node 1 Origin: 1 Provider: 1 - Master node Receiver: 20 - Slave node 2 With 'Call forward' checked. [Need not repeat this step for slave, since once the replication is up and running, the replication sets are automatically created on the slave clusters.] 14. Start the slon service (or daemons on *nix): > net start Slony-I [Check if the slon service is up and running using the windows taskbar] 15. Open 2 command prompt windows on the path postgres/8.3/bin where slon is installed. In the first window, type the command to bring the master database up. slon cluster_name "host=ip/dns dbname=nlpg user=postgres password=abcdef" In the second window, type the command to bring the slave database up and listening to the master slon. slon cluster_name "host= ip/dns port=5432 dbname=nlpg user=postgres password=abcd" [Now, we have to wait until all the tables from the replication set(s) in the master database are synchronised with those in the slave database.Once the synchronisation is done, the replication is ready to be tested.] Regards, Don donsasikumar at gmail.com Intelligent Addressing Ltd. Registered Office: 1 Adam Street, London WC2N 6DD Reg. in England No.3863861 VAT No.GB 802258946 This message has been scanned for viruses by BlackSpider MailControl - www.blackspider.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.slony.info/pipermail/slony1-general/attachments/20091106/e41dc7ef/attachment.htm
- Previous message: [Slony1-general] How to confirm if a certain insert has completed on the slave db?
- Next message: [Slony1-general] very slow create set
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-general mailing list