2015-11-17 45 views
1

根據this Github issue,實現了Cayley圖形數據庫的Postgres後端功能。但是,目前在docs中沒有示例,我無法通過閱讀代碼來了解它。有人可以幫忙嗎?如何在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 
} 

and

{ 
    "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只值):像凱萊在幕後用的lib/PQ

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

你可以發佈你現在有什麼,提供什麼錯誤你是更具體的信息面對?將每個特定的錯誤作爲一個問題提出可能會更具建設性,因爲配置一個系統可能會非常開放式的(即,你被困在錯誤A上並解決它以找到錯誤B,然後得到錯誤C等等)。 – evanmcdonnal

+0

@evanmcdonnal我提供了更多的細節。 –

+0

你可以嘗試使用你的'localhost:5432'配置,但使用''數據庫「:」mongo「'?在大多數示例中,文檔中的值爲'leveldb',其中一個值爲'mongo',但根據我的說法,沒有'sql'值。在我的其他工作之間,我會追蹤該文件('caylay.go'),看看發生了什麼,因爲錯誤會指示應該有一個尾隨的等號,但我沒有看到任何有任何遠程相似的示例(不喜歡它是一個SQL連接字符串,並在此之後具有憑據等)。 – evanmcdonnal

回答

2

它看起來。 lib/pq連接字符串如下所示:"user=pqgotest dbname=pqgotest sslmode=verify-full""postgres://pqgotest:[email protected]/pqgotest?sslmode=verify-full" 有關詳細信息,請參閱godoc.org上的lib/pq文檔。

(你可以看到那裏的sql.Open呼叫在凱利/圖/ SQL/quadstore.go connectSQLTables制)

+0

檢查了godocs後,我知道了,謝謝!之後,我遇到了一個錯誤,指出db:無法加載數據:pq:relation「quads」不存在,這是通過根據在https:/中找到的查詢創建表「quads」 /github.com/google/cayley/blob/master/graph/sql/quadstore.go。之後,我設法加載數據。 –