Как использовать Cayley с бэкэндом Postgres?

В соответствии с этой проблемой Github реализована бэкэнд-функция Postgres для графовой базы данных Cayley. Однако в настоящее время в документах нет примеров, и я не смог понять это, прочитав код. Может ли кто-нибудь помочь?

редактировать

Чтобы начать играть с Кейли, мы можем загрузить данные, которые идут с источником, с помощью следующей команды:

./cayley load --config=cayley.cfg.overview --quads=data/30kmoviedata.nq.gz

Я попробовал два варианта cayley.cfg.overview файл:

{
    "database": "sql",
    "db_path": "localhost:5432",
    "read_only": false
}

а также

{
    "database": "sql",
    "db_path": "/var/lib/postgresql/9.4/main/cayley",
    "read_only": false
}

Первый аналогичен тому, который используется с mongo (5432 - это порт, на котором прослушивает сервер postgres). Что касается второго, я понятия не имею, что я там делаю:D.

В любом случае, когда я использую ./cayley load --config=cayley.cfg.overview --quads=data/30kmoviedata.nq.gz Команда я получаю следующую ошибку (изменяя только значение db_path):

Couldn't open database at localhost:5432: 
&errors.errorString{s:"missing \"=\" after \"127.0.0.1:5432\" in connection 
info string\""}
E1117 21:09:18.300033 16689 cayley.go:277] missing "=" after "localhost:5432" 
in connection info string"

1 ответ

Решение

Похоже, Кейли использует lib/pq под прикрытием. Строки подключения lib/pq выглядят примерно так: "user=pqgotest dbname=pqgotest sslmode=verify-full" или же "postgres://pqgotest:password@localhost/pqgotest?sslmode=verify-full" Для получения полной информации см. Документацию lib/pq на godoc.org.

(Вы можете увидеть, где выполняется вызов sql.Open в cayley / graph / sql / quadstore.go connectSQLTables.)

Другие вопросы по тегам