Postgres XML数据类型

时间:2009-04-20 17:53:45

标签: sql xml postgresql

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

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

索引和查询性能怎么样?

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

2 个答案:

答案 0 :(得分:15)

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

CREATE TABLE pages (id int, html xml);

你可以通过

获得第4页的标题
SELECT xpath('/html/head/title/text()', html) FROM pages WHERE id = 4;

目前XML支持相当有限,但在8.3中变得更好,目前的文档位于link text

答案 1 :(得分:11)

一般来说,其优点与任何其他数据类型相同,以及除了文本之外还有数据类型的原因:

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

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

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