To import data from a CSV file into your Neon database, create the target table first, then run the psql \copy meta-command from a session connected to your database. \copy streams the CSV from your local machine over the existing connection, so it works without any special server-side file access. This topic walks through the process with a simple example.
Use psql, not the SQL Editor, for \copy
\copy is a psql client-side meta-command, so it runs in psql rather than on the Postgres server. The Neon SQL Editor doesn't support it, and the server-side COPY ... FROM '/path/to/file.csv' form can't read from Neon's server filesystem. Run \copy from psql or a Postgres GUI such as DBeaver or pgAdmin. For a large or messy CSV that needs encoding fixes, type casts, or parallel loading, pgloader is a good alternative.
The instructions require a working installation of psql. The psql client is the native command-line client for Postgres. It provides an interactive session for sending commands to Postgres. For installation instructions, see How to install psql.
The following example uses the ready-to-use neondb database that is created with your Neon project, a table named customer, and a data file named customer.csv. Data is loaded from the customer.csv file into the customer table.
Connect to your database
Connect to the
neondbdatabase usingpsql. For example:psql "<your_neon_database_connection_string>"You can find your connection string on your Neon Project Dashboard. Click on the Connect button. Use the drop-down menu to copy a full
psqlconnection command.note
For more information about connecting to Neon with
psql, see Connect with psql.Create the target table
Create the
customertable: the table you are importing to must exist in your database and the columns must match your CSV file.CREATE TABLE customer ( id SERIAL, first_name VARCHAR(50), last_name VARCHAR(50), email VARCHAR(255), PRIMARY KEY (id) )tip
You can also create tables using the SQL Editor in the Neon Console. See Query with Neon's SQL Editor.
Load the data
From your
psqlprompt, load the data from thecustomer.csvfile using the\copyoption.\copy customer FROM '/path/to/customer.csv' DELIMITER ',' CSV HEADERIf the command runs successfully, it returns the number of records copied to the database:
COPY 2For more information about the
\copyoption, refer to the psql reference, in the PostgreSQL Documentation.
Need help?
Join our Discord Server to ask questions or see what others are doing with Neon. For paid plan support options, see Support.








