在 postgresql 数据库中存储 erlang pids 的数据类型是什么?

What datatype for storing erlang pids in postgresql database?

我需要将 erlang pids 存储在 sql 数据库 (postgresql) 中。

我可以使用 varchar(N),但 pid 在结构上似乎是三个整数的序列,所以我认为可能有更好的东西。 erlang应用程序很可能是分布式的,所以pid的节点部分不会一直为零。

是否值得创建复合类型,如:

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

尝试识别跨节点的 pids 是否会产生问题(例如,如果节点写入和节点读取数据库不相同)?还是其他问题?

是不是太折腾了,我就直接用varchar(N)?在什么情况下有最大字符串长度?

感谢并祝福

伊万

ps 我看过这两个问题:

谢谢大家。我现在可以看出存储 pids 是个坏主意。正如 Marc Worrell 在其他地方建议的那样,我将尝试使用 gen_tracker(基于 ets):github.com/erlyvideo/gen_tracker