In this example, a master server is setup with two direct slaves. This example was written and tested using Slony-I v1.2.11 and PostgreSQL 8.2.5, running on a single Windows XP machine. The PostgresSQL pgbench utility is used to generate the test schema and workload.
> pgbench -i -U postgres master
> pg_dump -s -U postgres master > schema.sql
> psql -U postgres slave1 < schema.sql
> psql -U postgres slave2 < schema.sql
cluster_name='pgbench'
conn_info='host=127.0.0.1 port=5432 user=postgres dbname=master'
> slon -regservice Slony-I
> slon -addengine Slony-I C:\slony\master.conf
> slon -addengine Slony-I C:\slony\slave1.conf
> slon -addengine Slony-I C:\slony\slave2.conf
Join existing cluster: Unchecked Cluster name: pgbench Local node: 1 Master node Admin node: 99 Admin node
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
ID: 1 Comment: pgbench set
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
Origin: 1 Provider: 1 - Master node Receiver: 10 - Slave node 1 Origin: 1 Provider: 1 - Master node Receiver: 20 - Slave node 2
> net start Slony-I
Initial replication should begin and can be monitored on the statistics tab in pgAdmin for each node. The pgbench utility may be run against the master database to generate a test workload.