Want to import data from XML file to PostgreSQL ?
Try Withdata FileToDB, a desktop to PostgreSQL converter for Windows, MacOS, and Linux, Convert 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 in 4 steps
Choose XML file -> Set PostgreSQL table -> Preview -> Import
Choose PostgreSQL and logon.
Click “Wizard – 1 File To 1 Table” at task dialog.
Select the “XML” file type.
then show the wizard.
Step #1. Open an XML file.
Step #2. Select a table and config fields.
Step #3. Preview data.
Step #4. Import.
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
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.