Как настроить (новую) базу данных monetdb с нуля в python?

Я пытаюсь создать базу данных monetdb с помощью python. База данных не существует в начале: код должен создать ее, указав порт, папку, в которой она будет находиться, и имя базы данных. Во всех примерах я мог четко предположить, что БД уже существует. В некотором смысле это должно быть похоже на операции, обычно управляемые демоном moneddbd. Как настроить (новую) базу данных monetdb в python с нуля?


person Enzo    schedule 14.02.2014    source источник
comment
я не знаю, чтобы кто-нибудь автоматизировал создание файла bat внутри python. однако это было автоматизировано в R - чтобы просмотреть код R, запустите library(MonetDB.R);monetdb.server.setup для создания базы данных, а затем ?monetdb.server.start для запуска сервера.   -  person Anthony Damico    schedule 15.02.2014
comment
Я полностью осведомлен о библиотеке R MonetDB.R, на самом деле у меня есть открытый вопрос по поводу stackoverflow (см. stackoverflow.com/questions/21779280/). Я думал об использовании python в качестве альтернативы...   -  person Enzo    schedule 15.02.2014
comment
я видел ;) на винде надо просто написать текст бат файла. в не-окнах, я считаю, команды еще проще. monetdb.server.setup должен дать вам все, что вам нужно   -  person Anthony Damico    schedule 16.02.2014


Ответы (1)


Один из способов сделать это:

import monetdb.control

control=control.Control(port=port,passphrase=None)
control.create(database)
control.release(database)

Другой способ (мой способ):

import subprocess

farm_path="/home/me/..."
database_name="test"
subprocess.call("monetdbd create "+farm_path,shell=True,executable="/bin/bash")
subprocess.call("monetdbd start "+farm_path,shell=True,executable="/bin/bash")
subprocess.call("monetdb create "+database_name,shell=True,executable="/bin/bash")
subprocess.call("monetdb release "+database_name,shell=True,executable="/bin/bash")

Если вам нужен более подробный код, дайте мне знать.

person ady    schedule 27.01.2015