database_to_xml()
是一个系统函数,用于将PostgreSQL数据库的内容输出为XML
。
database_to_xml()
函数于PostgreSQL 8.3中添加。
用法
database_to_xml (nulls
boolean
,tableforest
boolean
,targetns
text
)
→xml
nulls
,当设置为 true
时,将在输出中以以下方式表示 NULL
值:
<columnname xsi:nil="true"/>
如果 nulls
设置为 false
,则 NULL
值将从输出中省略。
tableforest
参数,当设置为 true
时,将为每个关系(relation)的列集(column set)包装在一个 <tablename>
元素中;但对于空表,则不输出任何行。当设置为 false
时,每个列集将包装在一个 <row>
元素中,该元素又包含在一个外层的 <tablename>
元素中。
targetns
指定结果的 XML 命名空间。如果提供空字符串,则不使用命名空间。请注意,如果提供 NULL
,则函数将返回 NULL
。
当前用户没有读取权限的关系将被从输出中省略。
函数 database_to_xmlschema()
提供了描述 database_to_xml()
所执行映射的XML Schema文档。database_to_xml_and_xmlschema()
则结合了这两个函数。
变更历史
- PostgreSQL 8.3
- 添加于 (提交 0b75afda)
示例
database_to_xml()
的基本用法示例
postgres=# CREATE TABLE foo (id INT, val TEXT); CREATE TABLE postgres=# INSERT INTO foo VALUES(generate_series(1,2), clock_timestamp()); INSERT 0 2 postgres=# CREATE TABLE bar (id INT, val TEXT); CREATE TABLE postgres=# SELECT database_to_xml(true, true, ''); database_to_xml ------------------------------------------------------------------ <postgres xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+ + <public> + + + <foo> + <id>2</id> + <val xsi:nil="true"/> + </foo> + + <foo> + <id>1</id> + <val xsi:nil="true"/> + </foo> + + + </public> + + </postgres> + (1 row)
参考资料
- PostgreSQL 文档: 将表映射到 XML