Withdata Software

How to execute sql file via command line for PostgreSQL

Use psql

psql -U username -d myDataBase -a -f myInsertFile

More information: http://blog.manoharbhattarai.com.np/2013/04/03/execute-sql-file-from-command-line-in-postgresql/

SQL → PostgreSQL reference

Type mapping

Value kindin SQLin PostgreSQL
IntINTinteger
BigintBIGINTbigint
DecimalDECIMAL(p,s)numeric(p,s)
FloatDOUBLE PRECISIONdouble precision
TextVARCHAR(n)varchar(n)
Long textTEXT / CLOBtext
DateDATEdate
DatetimeTIMESTAMPtimestamp
BinaryBLOB / BYTEAbytea
BooleanBOOLEAN / SMALLINTboolean
JSONJSON / TEXTjsonb

Dialect differences

SQL 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 SQLin PostgreSQL
port—5432
identifiersTwo competing conventions: single-quoted literals and diale..."double quotes"
row limit—LIMIT n
datesDepends on the dialect: DATE literals, TO_DATE(), or plain ...timestamp, timestamptz, date, time
long text—TEXT
binaryDialect-specific: X-quoted literal, 0x hex, or decode()BYTEA
separatorStatement terminators (;)—
encodingNo declaration—
typingTypes belong to the target database, and they differ betwee...—
shapeStatements; a dump usually means CREATE TABLE plus INSERT rowsTables of rows and columns
ceilingNo formal limit, but a single INSERT statement has to fit i...—

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.