Bulk import CSV files into PostgreSQL tables

by

Want to bulk import CSV files into PostgreSQL tables at one time?

Try Withdata FileToDB, a desktop CSV to PostgreSQL converter for Windows, MacOS, and Linux, Convert CSV 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 CSV files to online services.
  • Support Windows, Linux, and macOS.

Download Withdata FileToDB Download FileToDB

Bulk import CSV files into PostgreSQL tables

Login to PostgreSQL -> Choose CSV files -> Set PostgreSQL tables -> Import CSV files to PostgreSQL tables

Choose PostgreSQL and logon.

bulk import CSV files into PostgreSQL tables - Choose PostgreSQL and logon

Click “Wizard – N Files To N Tables” at task dialog.

bulk import CSV files into PostgreSQL tables - task window

Select the “CSV” file type.

bulk load CSV files into PostgreSQL tables - select file type

then show the wizard.

1. Select a folder that constains CSV files.

Support large ( > 4GB ) CSV files.

bulk import CSV files into PostgreSQL tables - select a folder

2. Config first CSV file importing options.

bulk import CSV files into PostgreSQL tables - config first file

3. Set “Import Type”.

bulk import CSV files into PostgreSQL tables - set tables

4. Map PostgreSQL tables to CSV files.

bulk import CSV files into PostgreSQL tables - map

5. Summary. Set “Convert Rows” and “Skip Rows” if need.

bulk import CSV files into PostgreSQL tables - preview

6. Import CSV files to PostgreSQL tables, 1 file to 1 table, one by one.

bulk import CSV files into PostgreSQL tables - import data

View imported data in PostgreSQL table

bulk import CSV files into PostgreSQL tables - view data

Bulk import CSV files into PostgreSQL tables in command line

Save “bulk CSV files to PostgreSQL tables” session, then you can:

Set scheduled tasks for bulk importing CSV files into PostgreSQL tables

You can schedule and automate this converting task by:

  1. Save session and create .bat (Windows) or .sh (Linux/macOS) file for “CSV to PostgreSQL” conversion.
  2. Set scheduled task for “CSV to PostgreSQL” conversion.

FAQ


More about Withdata FileToDB – CSV to PostgreSQL converter

See Video: PostgreSQL bulk import CSV files into tables in one go

See also:

CSV → PostgreSQL reference

Type mapping

Value kindin CSVin PostgreSQL
Int1234integer
Bigint9007199254740993bigint
Decimal1234.56numeric(p,s)
Float1.234e+10double precision
Textquoted only when it contains a comma or a quotevarchar(n)
Long textmust be quoted; line breaks inside force multi-line recordstext
Date2026-09-18date
Datetime2026-09-18 14:30:00timestamp
Binarynot representable - base64 or hex stringbytea
BooleanTRUE / FALSE, or 1 / 0 depending on the writerboolean
JSONthe whole JSON value quoted, with internal quotes doubledjsonb

Dialect differences

CSV 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 CSVin PostgreSQL
port—5432
identifiersDouble quotes; a literal quote is doubled ("" )"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 supportedBYTEA
separatorComma ","—
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; row count bounded by memory—

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.