如何在Postgres后端使用Cayley?

时间:2015-11-17 23:33:34

标签: postgresql go cayley

根据this Github issue,实现了Cayley图数据库的Postgres后端功能。但是,目前docs中没有示例,我无法通过阅读代码来解决这个问题。有人可以帮忙吗?

修改

要开始使用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 个答案:

答案 0 :(得分:3)

看起来Cayley正在使用lib / pq。 lib / pq连接字符串如下所示:"user=pqgotest dbname=pqgotest sslmode=verify-full""postgres://pqgotest:password@localhost/pqgotest?sslmode=verify-full" 有关完整详细信息,请参阅godoc.org上的lib / pq文档。

(您可以在cayley / graph / sql / quadstore.go connectSQLTables中查看sql.Open调用的位置。)