对于来自网络的大型 XML 消息,我应该使用哪种 postgres 数据类型?

Gob*_*0st 3 xml database postgresql

我有传入的 xml,它可能与 5M 一样大,我需要将它与 postgres 9.1 一起存储。我应该使用哪种数据类型?

bytea 
character varying
text
Run Code Online (Sandbox Code Playgroud)

或者是其他东西 ?

顺便说一句,xml 本身包含一些 base64 格式的二进制数据,这在 postgres 中选择数据类型时有什么区别吗?

谢谢

Igo*_*nko 5

您有两个选择:

  1. VARCHARTEXT。它将允许您从数据库存储和检索您的 XML 文件。但仅此而已。
  2. XML. 将允许您存储、检索、验证、编辑、搜索... XML 文件,但可能(或可能不)涉及将文件存储到 DB 的一些开销。

根本没有理由存储 XML 文件BYTEA。5 MB 大小对于 Postgres 来说没什么特别的。在我的上一个项目中,我在 Postgres 中处理了长达 0.5 GB 的字符串。