ページの先頭行へ戻る
Enterprise Postgres 17 リリース情報

2.2.17 XMLSERIALIZE関数の出力結果の変更

非互換

XMLSERIALIZE関数にINDENTを指定した場合の出力結果を変更します。

空白で囲まれたノードがあった場合に、適切に整形処理が行われない場合がありました。

また、入力データがDOCUMENT形式の場合に、結果の末尾に不要な改行が追加されていました。

Fujitsu Enterprise Postgres 16 SP1の場合
postgres=# SELECT xmlserialize(CONTENT  'text node<foo>    <bar></bar>   </foo>' AS text INDENT);
       xmlserialize
--------------------------
 text node               +
 <foo>    <bar/>   </foo>
(1 row)

postgres=# SELECT xmlserialize(DOCUMENT '<foo>   <bar></bar>    </foo>' AS text INDENT);
       xmlserialize
--------------------------
 <foo>   <bar/>    </foo>+

(1 row)
Fujitsu Enterprise Postgres 17の場合
postgres=# SELECT xmlserialize(CONTENT  'text node<foo>    <bar></bar>   </foo>' AS text INDENT);
 xmlserialize
--------------
 text node   +
 <foo>       +
   <bar/>    +
 </foo>
(1 row)

postgres=# SELECT xmlserialize(DOCUMENT '<foo>   <bar></bar>    </foo>' AS text INDENT);
 xmlserialize
--------------
 <foo>       +
   <bar/>    +
 </foo>
(1 row)

対処方法

ありません。