Search code examples
loadcouchdbbackupdumpdatabase-backups

CouchDB dump to file and load from file


I cannot replicate between two couchdb servers, so I would like to dump to file from one server and load from file into the other server.

I used this statement to dump and it worked fine:

curl -X GET http://localhost:5984/<DATABASE_NAME>/_all_docs?include_docs=true > FILE.txt

But when I used this statement to load:

curl -d @FILE.txt -H “Content-Type: application/json” -X POST http://localhost:5984/<DATABASE_NAME>/_bulk_docs

it failed like this:

curl: (6) Could not resolve host: application; Host not found {"error":"bad_content_type","reason":"Content-Type must be application/json"}

Any ideas?


Solution

  • As said, you should use the " and not the as argument of the -H option

    If you are a Linux or MacOSX user you can use the couchdb-dump tool, which basically works on bash shell.

    It dumps the database on a local file (ASCII text file), formatted as requested by http://wiki.apache.org/couchdb/HTTP_Bulk_Document_API

    Then you can restore it with the bulk document upload or with the couchdb-dump restore tool included in the package.

    This is the link to the tool: https://github.com/animamea/couchdb-dump

    But you can find other tools also:

    https://github.com/stockr-labs/couchdbdump

    https://github.com/zebooka/couchdb-dump