Want to bulk import TSV files into PostgreSQL tables at one time?
Try Withdata FileToDB, a desktop TSV to PostgreSQL converter for Windows, MacOS, and Linux, Convert TSV 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 TSV files 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
Bulk import TSV files into PostgreSQL tables
Login to PostgreSQL -> Choose TSV files -> Set PostgreSQL tables -> Import TSV files to PostgreSQL tables
Choose PostgreSQL and logon.
Click “Wizard – N Files To N Tables” at task dialog.
Select the “TSV” file type.
then show the wizard.
1. Select a folder that constains TSV files.
Support large ( > 4GB ) TSV files.
2. Config first TSV file importing options.
3. Set “Import Type”.
4. Map PostgreSQL tables to TSV files.
5. Summary. Set “Convert Rows” and “Skip Rows” if need.
6. Import TSV files to PostgreSQL tables, 1 file to 1 table, one by one.
View imported data in PostgreSQL table
Bulk import TSV files into PostgreSQL tables in command line
Save “bulk TSV files to PostgreSQL tables” session, then you can:
- Bulk import TSV files into PostgreSQL tables in Windows command line.
- Bulk import TSV files into PostgreSQL tables in Linux command line.
- Bulk import TSV files into PostgreSQL tables in macOS command line.
Set scheduled tasks for bulk importing TSV files into PostgreSQL tables
You can schedule and automate this converting task by:
- Save session and create .bat (Windows) or .sh (Linux/macOS) file for “TSV to PostgreSQL” conversion.
- Set scheduled task for “TSV to PostgreSQL” conversion.
FAQ
More about Withdata FileToDB – TSV 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: PostgreSQL bulk import TSV files into tables in one go
See also:
TSV → PostgreSQL reference
Type mapping
| Value kind | in TSV | in PostgreSQL |
|---|---|---|
| Int | 1234 | integer |
| Bigint | 9007199254740993 | bigint |
| Decimal | 1234.56 | numeric(p,s) |
| Float | 1.234e+10 | double precision |
| Text | unquoted; a tab in the value splits the column | varchar(n) |
| Long text | unquoted; newlines break the row | text |
| Date | 2026-09-18 | date |
| Datetime | 2026-09-18 14:30:00 | timestamp |
| Binary | not representable | bytea |
| Boolean | TRUE / FALSE | boolean |
| JSON | the whole JSON value as-is (its own quotes stay) | jsonb |
Dialect differences
TSV 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 TSV | in PostgreSQL |
|---|---|---|
| port | — | 5432 |
| identifiers | Rarely used, which is exactly why tabs in data break it | "double quotes" |
| row limit | — | LIMIT n |
| dates | Conventional text: 2026-09-18 or 2026-09-18 14:30:00 | timestamp, timestamptz, date, time |
| long text | — | TEXT |
| binary | Not supported - must be encoded | BYTEA |
| separator | Tab | — |
| encoding | No declaration - UTF-8 works only with a BOM | — |
| typing | None - every field is text | — |
| shape | Flat table, optional header row | Tables of rows and columns |
| ceiling | No formal limit | — |
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.
New to the format? Read what a TSV file is (and how it differs from CSV).