Want to import multiple JSON files into a single PostgreSQL table?
Try Withdata FileToDB, a desktop JSON to PostgreSQL converter for Windows, MacOS, and Linux, Import JSON 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.
- Convert locally and privately, avoid uploading large or private JSON 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 multiple JSON files into a single PostgreSQL table
Login to PostgreSQL -> Choose JSON files -> Set PostgreSQL table -> Import JSON files to PostgreSQL table
Choose PostgreSQL and logon.
Click “Wizard – N Files To 1 Table” at task dialog.
Select the “JSON” file type.
then show the wizard.
1. Select a folder that constains JSON files.
Support large ( > 4GB ) JSON file.
2. Config first JSON file importing options.
3. Select a PostgreSQL table and config fields.
4. Preview data will be in PostgreSQL table.
5. Import multiple JSON files to the PostgreSQL table.
View imported data in PostgreSQL table
Convert JSON files to PostgreSQL in command line
Save “JSON to PostgreSQL” session, then you can:
- Import multiple JSON to a single PostgreSQL table in Windows command line.
- Import multiple JSON to a single PostgreSQL table in Linux command line.
- Import multiple JSON to a single PostgreSQL table in macOS command line.
Set scheduled tasks for converting JSON files to PostgreSQL
You can schedule and automate this “JSON to PostgreSQL” conversion task by:
- Save session and create .bat (Windows) or .sh (Linux/macOS) file for “JSON to PostgreSQL” conversion.
- Set scheduled task for “JSON to PostgreSQL” conversion.
FAQ
More about Withdata FileToDB – JSON 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 also:
JSON → PostgreSQL reference
Type mapping
| Value kind | in JSON | in PostgreSQL |
|---|---|---|
| Int | 1234 (number) | integer |
| Bigint | 9007199254740993 | bigint |
| Decimal | 1234.56 (number) | numeric(p,s) |
| Float | 1.234e10 (number) | double precision |
| Text | "text" (string) | varchar(n) |
| Long text | "multi-line\ntext" (escaped newline inside a string) | text |
| Date | "2026-09-18" (string) | date |
| Datetime | "2026-09-18T14:30:00Z" (string) | timestamp |
| Binary | "base64:..." (string) | bytea |
| Boolean | true / false (boolean) | boolean |
| JSON | nested object or array, kept as structure | jsonb |
Dialect differences
JSON 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 JSON | in PostgreSQL |
|---|---|---|
| port | — | 5432 |
| identifiers | Double quotes; backslash escapes | "double quotes" |
| row limit | — | LIMIT n |
| dates | No date type: dates arrive as strings and the reader must p... | timestamp, timestamptz, date, time |
| long text | — | TEXT |
| binary | Not supported natively - base64 inside a string | BYTEA |
| separator | Braces and commas | — |
| encoding | UTF-8 by definition | — |
| typing | string, number, boolean, null, object, array - no date type | — |
| shape | Nested objects and arrays | 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 |
JSON to PostgreSQL without the manual work
For batch jobs, large files and scheduling use the JSON to PostgreSQL converter — an offline desktop app for Windows, Linux and macOS. Free trial.