Imagine your replicator database (default name is _replicator) has the two following documents that represent pull replications from servers A and B:
{
"_id": "rep_from_A",
"source": "http://aserver.com:5984/foo",
"target": "foo_a",
"continuous": true,
"_replication_id": "c0ebe9256695ff083347cbf95f93e280",
"_replication_state": "triggered",
"_replication_state_time": 1297971311
}
{
"_id": "rep_from_B",
"source": "http://bserver.com:5984/foo",
"target": "foo_b",
"continuous": true,
"_replication_id": "231bb3cf9d48314eaa8d48a9170570d1",
"_replication_state": "triggered",
"_replication_state_time": 1297974122
}
Now without stopping and restarting CouchDB, you change the name
of the replicator database to
another_replicator_db:
$ curl -X PUT http://localhost:5984/_config/replicator/db -d '"another_replicator_db"' "_replicator"
As soon as this is done, both pull replications defined before, are stopped. This is explicitly mentioned in CouchDB's log:
[Fri, 11 Mar 2011 07:44:20 GMT] [info] [<0.104.0>] Stopping all ongoing replications because the replicator database was deleted or changed [Fri, 11 Mar 2011 07:44:20 GMT] [info] [<0.127.0>] 127.0.0.1 - - PUT /_config/replicator/db 200
Imagine now you add a replication document to the new replicator
database named another_replicator_db:
{
"_id": "rep_from_X",
"source": "http://xserver.com:5984/foo",
"target": "foo_x",
"continuous": true
}
From now own you have a single replication going on in your
system: a pull replication pulling from server X. Now you change
back the replicator database to the original one
_replicator:
$ curl -X PUT http://localhost:5984/_config/replicator/db -d '"_replicator"' "another_replicator_db"
Immediately after this operation, the replication pulling from server X will be stopped and the replications defined in the _replicator database (pulling from servers A and B) will be resumed.
Changing again the replicator database to
another_replicator_db will stop the pull
replications pulling from servers A and B, and resume the pull
replication pulling from server X.