Withdata Software

Import data from TSV to PostgreSQL via command line on Windows

Want to import data from TSV file to PostgreSQL via Command Line Interface (CLI) on Windows?

Using pg-cmd, a Command Line Interface (CLI) client for PostgreSQL, you can import data from TSV file to PostgreSQL easily and fast. Direct Interaction or Scripting and Automation.

Download pg-cmd Windows version
pg-cmd.windows-386.zip
pg-cmd.windows-amd64.zip

Import data from TSV file to PostgreSQL via command line on Windows

1. In interactive mode:

pg-cmd> load loadtype=replace
      > table=media_messages 
      > datafile=/data/media_messages.tsv 
      > delimiter=, 
      > quote=" 
      > header=y;

2. In batch mode:

pg-cmd dsn="pan:withdata@192.168.0.102/test" task=load loadtype=replace table=media_messages datafile=/data/media_messages.tsv delimiter=, quote=" header=y quit=y

“loadtype=replace” will delete all data in table before inserting.

See parameters detail.


More about pg-cmd – Command Line Interface (CLI) tool for PostgreSQL

Download pg-cmd Windows version
pg-cmd.windows-386.zip
pg-cmd.windows-amd64.zip

TSV → PostgreSQL reference

Type mapping

Value kindin TSVin PostgreSQL
Int1234integer
Bigint9007199254740993bigint
Decimal1234.56numeric(p,s)
Float1.234e+10double precision
Textunquoted; a tab in the value splits the columnvarchar(n)
Long textunquoted; newlines break the rowtext
Date2026-09-18date
Datetime2026-09-18 14:30:00timestamp
Binarynot representablebytea
BooleanTRUE / FALSEboolean
JSONthe 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.

Propertyin TSVin PostgreSQL
port—5432
identifiersRarely used, which is exactly why tabs in data break it"double quotes"
row limit—LIMIT n
datesConventional text: 2026-09-18 or 2026-09-18 14:30:00timestamp, timestamptz, date, time
long text—TEXT
binaryNot supported - must be encodedBYTEA
separatorTab—
encodingNo declaration - UTF-8 works only with a BOM—
typingNone - every field is text—
shapeFlat table, optional header rowTables of rows and columns
ceilingNo formal limit—

Command line

SideCommand
PostgreSQLpg_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).