Postgres XML数据类型

use*_*120 12 xml sql postgresql

使用"xml"数据类型与将"xml"内容存储在"text"数据类型中有什么好处?

我可以通过某些特定的xml属性或元素进行查询吗?

索引和查询性能如何?

除了postgresql手册,你可以指点我的其他在线资源吗?

Jef*_* Mc 15

现在,从原始文本的XML字段获得的最大的东西是XPath.所以,如果你有类似的东西

CREATE TABLE pages (id int, html xml);
Run Code Online (Sandbox Code Playgroud)

你可以得到第4页的标题

SELECT xpath('/html/head/title/text()', html) FROM pages WHERE id = 4;
Run Code Online (Sandbox Code Playgroud)

目前,XML支持相当有限,但在8.3中得到了更好的效果,当前的文档在链接文本中


Pet*_*aut 11

一般来说,其优点与任何其他数据类型相同,以及为什么您拥有除文本之外的数据类型:

  • 数据完整性
    您只能在xml类型的列中存储有效(格式良好的)XML值.
  • 类型安全
    您只能对对XML有意义的XML值执行操作.

一个例子是xpath()函数(XML Path Language),它只对xml类型的值进行操作,而不是text.

索引和查询性能特征并不比目前的文本类型更好或更差.