Want to import data from XML file to PostgreSQL ?
Try Withdata FileToDB, a desktop XML to PostgreSQL converter for Windows, MacOS, and Linux, Convert XML to PostgreSQL, Easy and Fast.
- Can run in GUI mode, Step by Step, just a few mouse clicks.
- Can run in Command line, for Scheduled Tasks and Streams.
- Import XML to PostgreSQL locally and privately, avoid uploading XML file(s) to online services.
- Support Windows, Linux, and macOS.
Download Withdata FileToDB
Windows 64 bit
Windows 32 bit
Linux .deb (For Debian, Ubuntu) 64 bit
Linux .rpm (For Red Hat, Fedora, SUSE) 64 bit
MacOS 64 bit
Import data from XML file to PostgreSQL
Login to PostgreSQL -> Choose XML file -> Set PostgreSQL table -> Import XML to PostgreSQL
Choose PostgreSQL and logon.
Click “Wizard – 1 File To 1 Table” at task dialog.
Select the “XML” file type.
then show the wizard.
1. Open a XML file.
Support large ( > 4GB ) XML file.
Here is the file’s content.
2. Select a PostgreSQL table and config fields.
3. Preview data will be in PostgreSQL table.
4. Import XML data to PostgreSQL.
View imported data in PostgreSQL table
More about XML to PostgreSQL converter
Download Withdata FileToDB
Windows 64 bit
Windows 32 bit
Linux .deb (For Debian, Ubuntu) 64 bit
Linux .rpm (For Red Hat, Fedora, SUSE) 64 bit
MacOS 64 bit
See Video: Load data from XML into PostgreSQL without coding
See also:
XML → PostgreSQL reference
Type mapping
| Value kind | in XML | in PostgreSQL |
|---|---|---|
| Int | <int>1234</int> | integer |
| Bigint | <bigint>9007199254740993</bigint> | bigint |
| Decimal | <decimal>1234.56</decimal> | numeric(p,s) |
| Float | <float>1.234e10</float> | double precision |
| Text | <char>text</char> | varchar(n) |
| Long text | <text>multi-line text</text> (entities for & <) | text |
| Date | <date>2026-09-18</date> (xs:date with an XSD) | date |
| Datetime | <datetime>2026-09-18T14:30:00Z</datetime> (xs:dateTime) | timestamp |
| Binary | <blob>base64...</blob> (xs:base64Binary) | bytea |
| Boolean | <bool>true</bool> | boolean |
| JSON | escaped inside an element, or its own sub-tree | jsonb |
Dialect differences
XML is a file format and PostgreSQL is a database server, so the target has to be told the types the file never carried - the rows below are where the two sides diverge.
| Property | in XML | in PostgreSQL |
|---|---|---|
| port | — | 5432 |
| identifiers | Attribute values in quotes; entities (& < >) for ... | "double quotes" |
| row limit | — | LIMIT n |
| dates | Text (xs:date / xs:dateTime when an XSD is in play) | timestamp, timestamptz, date, time |
| long text | — | TEXT |
| binary | base64Binary / hexBinary inside text | BYTEA |
| separator | Tags, not delimiters | — |
| encoding | Declared in the XML declaration | — |
| typing | None in the markup itself | — |
| shape | Arbitrary tree | Tables of rows and columns |
| ceiling | Whole document is usually parsed into memory | — |
Command line
| Side | Command |
|---|---|
| PostgreSQL | pg_dump or COPY ... TO |
| PostgreSQL (load) | COPY ... FROM |
Convert your data online, free
Free in-browser converters for CSV, Excel, JSON, XML and SQL: Withdata Online Data Conversion. Large files, batch conversion or scheduling? See the offline desktop apps, or browse all data conversion tools.