gpt4 book ai didi

node.js - 将 json 对象存储到 postgresql 中的数据类型是什么?

转载 作者:搜寻专家 更新时间:2023-10-31 23:34:00 25 4
gpt4 key购买 nike

我是 postgresql 的新手。

我想将下面的 json 对象存储到 postgresql 数据库中。

{
"host": "xxx.xxx.xx.xx"
"type": "OS"
}

你能告诉我我应该在 postgresql 中使用什么数据类型吗?提前致谢。

最佳答案

如果您的数据始终包含同样的简单结构,我看不出有任何理由将它们存储为 JSON。您应该考虑将它简单地存储在一个包含列 hosttype 的表中。

INSERT INTO table(my_host_column, my_type_column) VALUES
(my_json ->> 'host', my_json ->> 'type');

这使很多事情变得更加简单(搜索、更新……)。在您的情况下,Postgres 为 IP 地址列提供 inet 类型。这样的列可以对您的 host 进行合理性检查,例如 ( https://www.postgresql.org/docs/current/static/datatype-net-types.html )

您可以随时使用 json_build_object('host', my_host_column, 'type', my_type_column) ( https://www.postgresql.org/docs/current/static/functions-json.html )

重新创建 JSON
但是,如果您仍想按原样存储 JSON:

如果您不想对其进行任何操作,请将其存储为 text 类型(我绝对不推荐这样做,因为您不知道 future 会发生什么)。如果您想使用 Postgres 的 JSON 函数,您应该将其存储为 jsonjsonb 类型(https://www.postgresql.org/docs/current/static/datatype-json.html)。

jsonb 主要是节省空间(更多元数据)的开销,但在操作上通常要快得多。

进一步阅读:

Explanation of JSONB introduced by PostgreSQL

Faster Operations with the JSONB Data Type in PostgreSQL

关于node.js - 将 json 对象存储到 postgresql 中的数据类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52577388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com