2015-04-30 138 views
0

我有一個需要在er sql數據庫(postgresql)中存儲erlang的pid。用於在postgresql數據庫中存儲erlang pids的數據類型是什麼?

我可以使用varchar(N),但是pid似乎在結構上是三個整數的序列,所以我認爲可能會有更好的東西。 erlang應用程序可能是分佈式的,所以pid的節點部分不會總是爲零。

是否值得創建複合型,如:

CREATE TYPE pid AS (
    a integer, 
    b integer, 
    c integer 
); 

意志創造試圖找出跨節點的PID的問題(例如,如果節點寫入和讀取節點的數據庫是不一樣的)?還是其他問題?

這是太多了,我只是使用varchar(N)?在這種情況下是否有最大的字符串長度?

與感謝和良好祝願

伊萬

PS我看過這兩個問題:

+5

我不明白爲什麼要將PID存儲在數據庫中。你能解釋爲什麼你需要將內部進程ID存儲到後臺存儲中嗎? –

+2

將pid存儲在耐用存儲中是很愚蠢的,因爲當VM終止時,pids無效。 – rightfold

+1

您是否嘗試過使用ets或mnesia? – dethtron5000

回答

0

感謝所有。我現在可以看到存儲pid是一個糟糕的主意。正如Marc Worrell在其他地方所建議的,我將嘗試使用gen_tracker(基於ets):github.com/erlyvideo/gen_tracker

相關問題