Sejanus
Sejanus

Reputation: 3323

PostgreSQL 8.3 data types: xml vs varchar

There's xml data type in Postgres, I never used it before so I'd like to hear opinions. Downsides and upsides vs using regular varchar (or Text) column to store xml.

The text I'm going to store is xml, well-formed, UTF-8. No need to search by it (I've read searching by xml is slow).

This XML actually is data prepared for PDF generation with Apache FOP. XML can be generated dynamically from data found elsewhere (other Postgres tables), it's stored as is only so that I won't need to generate it twice. Kinda backup#2 for already generated PDF documents.

Anything else to know? Good practices, performance, maintenance, etc?

Upvotes: 1

Views: 2049

Answers (2)

Quassnoi
Quassnoi

Reputation: 425683

XML differs from TEXT only logically: first, the input is checked for validity, second, the XML type lack comparison operators so you cannot index it, compare, use in UNION or DISTINCT etc.

If you are not going to search against it using indexes and want to make an extra check for validity, then use XML safely.

Upvotes: 2

Alex Brasetvik
Alex Brasetvik

Reputation: 11744

I haven't compared performance, but a good thing with using the XML-type is that you'll get the server to ensure the XML is well-formed. Perhaps later on you'll have use for any of the many XML-functions available.

Upvotes: 0

Related Questions