Я пытаюсь изменить каталог базы данных дивана. Я использую скрипт python для импорта csv-файла в CouchDB. Скрипт работает нормально. Вот на всякий случай:CouchDB change Каталог баз данных
from couchdbkit import Server, Database
from couchdbkit.loaders import FileSystemDocsLoader
from csv import DictReader
import sys, subprocess, math, os
def parseDoc(doc):
for k,v in doc.items():
if (isinstance(v,str)):
#print k, v, v.isdigit()
# #see if this string is really an int or a float
if v.isdigit()==True: #int
doc[k] = int(v)
else: #try a float
try:
if math.isnan(float(v))==False:
doc[k] = float(v)
except:
pass
return doc
def upload(db, docs):
db.bulk_save(docs)
del docs
return list()
def uploadFile(fname, dbname):
#connect to the db
theServer = Server()
db = theServer.get_or_create_db(dbname)
#loop on file for upload
reader = DictReader(open(fname, 'rU'), dialect = 'excel')
docs = list()
checkpoint = 100
i = 0
for doc in reader:
newdoc = parseDoc(doc)
docs.append(newdoc)
if len(docs)%checkpoint==0:
docs = upload(db,docs)
i += 1
print 'Number : %d' %i
#don't forget the last batch
docs = upload(db,docs)
if __name__=='__main__':
x = '/media/volume1/Crimes_-_2001_to_present.csv'
filename = x
dbname = 'test'
uploadFile(filename, dbname)
Я видел много сообщений о том, как изменить каталог для добавления базы данных. Если я оставлю /etc/couchdb/local.ini, как он есть (оригинал после установки), скрипт добавляет данные в каталог по умолчанию /var/lib/couchdb/1.0.1/. Когда я изменить local.ini для хранения базы данных на другой диск:
database_dir = /media/volume1 view_index_dir = /media/volume1
и после перезагрузки службы CouchDB я получаю эту ошибку:
restkit.errors.RequestError: socket.error: [Errno 111] Connection refused
Я проверил открытые гнезда (CouchDB по умолчанию используется 5984), и он не открывается. Но при запуске службы CouchDB я не получаю ошибок. Любые идеи, как это исправить?
Я бы проверил вас в новом каталоге и убедился, что у couchdb есть право собственности на него: 'ls -al [new dir]' 'sudo chown -R couchdb: couchdb [new_dir]' – twilson63