Want to import multiple TSV files into a single PostgreSQL table?
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 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 TSV files into a single PostgreSQL table
Login to PostgreSQL -> Choose TSV files -> Set PostgreSQL table -> Import TSV files to PostgreSQL table
Choose PostgreSQL and logon.
Click “Wizard – N Files To 1 Table” 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. Select a PostgreSQL table and config fields.
4. Preview data will be in PostgreSQL table.
5. Import multiple TSV files to the PostgreSQL table.
View imported data in PostgreSQL table
Import multiple TSV files to PostgreSQL in command line
Save “multiple TSV files to PostgreSQL” session, then you can:
- Import multiple TSV files to PostgreSQL in Windows command line.
- Import multiple TSV files to PostgreSQL in Linux command line.
- Import multiple TSV files to PostgreSQL in macOS command line.
Set scheduled tasks for importing multiple TSV files to PostgreSQL
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 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).