根据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"
答案 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调用的位置。)