Want to import data from JSON 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.
- Convert locally and privately, avoid uploading large or private file(s) to online services.
Import data from JSON file to PostgreSQL in 4 steps
Login to PostgreSQL -> Choose JSON file -> Set PostgreSQL table -> Import JSON to PostgreSQL
Choose PostgreSQL and logon.

Click “Wizard – 1 File To 1 Table” at task dialog.

Select the “JSON” file type.

then show the wizard.
Step #1. Open a JSON file.

Step #2. Choose a PostgreSQL table and config fields.

Step #3. Preview data.

Step #4. Import JSON to PostgreSQL.

Import JSON to PostgreSQL in command line
Save session, and then create .bat file for Windows command line, or .sh file for Linux / macOS.
Set scheduled tasks for importing JSON 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 ” to PostgreSQL” conversion.
- Set scheduled task for ” to PostgreSQL” conversion.
More about Withdata FileToDB – JSON to PostgreSQL converter
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.
