我没有看到用于重命名CouchDB数据库的API,或者在Futon中看到用于执行相同操作的选项.
如果没有复制到另一个数据库然后删除原始数据库,是否有一个重命名数据库的方法?
sma*_*thy 28
添加Dominic和PPPaul所说的......
重命名文件绝对是可行的方法(确保将其重命名为同一用户,而不是意外地将所有权更改为root或其他内容).
在完全运行的生产环境中这是绝对安全的,是的.HTTP/REST API的许多优点之一是没有适配器与DB的状态连接.每个请求都是一个新请求.所以基本上重命名完成后第一次向CouchDB发出的请求将能够使用新名称.
但等等,还有更多!
一个非常酷的事情是,即使在重命名之后,CouchDB服务器仍然具有文件本身的打开文件句柄(不受重命名inode的影响),所以在CouchDB服务器实际重启之前,你仍然会能够使用旧名称访问数据库.
ATfPT在评论中很好地观察,显然DB名称需要以小写字母开头,否则它不会出现在Futon中.
我记得的另一件事:找出DB文件的位置,运行: couch-config --db-dir
如果您可以访问数据库文件本身(/var/lib/couchdb根据您的安装而定),您只需重命名即可.
据我所知,这将有效地"重命名"数据库.我会确保在执行此操作时服务器未运行,以防万一.
小智 5
我正在使用couchdb 2,我假设之前的答案是旧版本,因为数据库文件没有列在使用'couch-config --db-dir'命令找到的/ var/lib/couchdb文件夹中.
我所遵循的最简单的方法是使用蒲团并将要重命名的数据库复制到新的所需名称,然后删除旧数据库.