【问题标题】:What datatype for storing erlang pids in postgresql database?在 postgresql 数据库中存储 erlang pid 的数据类型是什么?
【发布时间】:2015-07-10 05:13:52
【问题描述】:

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

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

是否值得创建一个复合类型,如下所示:

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

这是否会在尝试跨节点识别 pid 时产生问题(例如,如果节点写入和节点读取 db 不一样)?还是其他问题?

这是不是太大惊小怪了,我只是使用 varchar(N)?什么情况下有最大字符串长度?

感谢和祝福

伊万

ps 我已经阅读了这两个问题:

【问题讨论】:

  • 我不明白您为什么要将 Pid 存储在数据库中。您能解释一下为什么需要将内部进程 ID 存储到后备存储中吗?
  • 在持久存储中存储 pid 很愚蠢,因为 pid 在 VM 终止时会失效。
  • 您是否尝试过使用 ets 或 mnesia 代替?
  • 谢谢大家。我现在可以看到存储 pid 是一个坏主意。正如 Marc Worrell 在其他地方所建议的那样,我将尝试使用 gen_tracker(基于 ets):github.com/erlyvideo/gen_tracker

标签: postgresql erlang


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    • 2019-03-05
    • 2013-09-23
    • 2013-10-13
    相关资源
    最近更新 更多