You must use the URL specification of the CouchDB database if you want to perform replication in either of the following two situations:
Replication with a remote database (i.e. another instance of CouchDB on the same host, or a different host)
Replication with a database that requires authentication
For example, to request replication between a database local to the CouchDB instance to which you send the request, and a remote database you might use the following request:
POST http://couchdb:5984/_replicate Content-Type: application/json Accept: application/json { "source" : "recipes", "target" : "http://coucdb-remote:5984/recipes", }
In all cases, the requested databases in the
source
and target
specification must exist. If they do not, an error will be
returned within the JSON object:
{ "error" : "db_not_found" "reason" : "could not open http://couchdb-remote:5984/ol1ka/", }
You can create the target database (providing your user
credentials allow it) by adding the
create_target
field to the request object:
POST http://couchdb:5984/_replicate Content-Type: application/json Accept: application/json { "create_target" : true "source" : "recipes", "target" : "http://couchdb-remote:5984/recipes", }
The create_target
field is not destructive.
If the database already exists, the replication proceeds as
normal.