PostgreSQL is a robust relational database system with over 25 years of active development that runs on all major operating systems. It is fully ACID compliant, and has full support for foreign keys, joins, views, triggers, and stored procedures (in multiple languages). It includes most SQL92 and SQL99 data types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP. It also supports storage of binary large objects, including pictures, sounds, or video. It has native programming interfaces for C/C++, Java, .Net, Perl, Python, Ruby, Tcl, and ODBC, among others, and exceptional documentation.
pg_xnode is an extension (module) which adds several data types to the PostgreSQL database server, allowing it to store XML documents, XML (tree) nodes, and XPath expressions. Unlike the in-core implementation of XML, pg_xnode does not require repeated parsing of XML data, and thus should be more efficient. In addition, the extension has functions to add/remove nodes to/from existing XML documents, and templates to create XML documents from tables.