Import data from CSV
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 l...
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.
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:Bash psql "<your_neon_database_connection_string>"You can find your connection string by clicking Connect in the Console nav. Use the drop-down menu to copy a full
psqlconnection command.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.SQL CREATE TABLE customer ( id SERIAL, first_name VARCHAR(50), last_name VARCHAR(50), email VARCHAR(255), PRIMARY KEY (id) )Prepare the CSV file
Prepare a
customer.csvfile with the following data. Note that the columns in the CSV file match the columns in the table you created in the previous step.First Name,Last Name,Email 1,Casey,Smith,casey.smith@example.com 2,Sally,Jones,sally.jones@example.comLoad the data
From your
psqlprompt, load the data from thecustomer.csvfile using the\copyoption.Bash \copy customer FROM '/path/to/customer.csv' DELIMITER ',' CSV HEADERIf the command runs successfully, it returns the number of records copied to the database:
Bash COPY 2For more information about the
\copyoption, refer to the psql reference, in the PostgreSQL Documentation.
Need help?
Section titled “Need help?”Join our Discord Server to ask questions or see what others are doing with Neon. For paid plan support options, see Support.