Import from CSV

This topic shows how to import data into a SerenDB database table from a CSV file using 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 SerenDB 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 neondb database using psql. For example:

psql "<your_neon_database_connection_string>"

You can find your connection string on your SerenDB Project Dashboard. Click on the Connect button. Use the drop-down menu to copy a full psql connection command.

For more information about connecting to SerenDB with `psql`, see [Connect with psql](/docs/connect/query-with-psql-editor).

Create the target table

Create the customer table — 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)
)

You can also create tables using the **SQL Editor** in the SerenDB Console. See [Query with SerenDB's SQL Editor](/docs/get-started/query-with-neon-sql-editor).

Prepare the CSV file

Prepare a customer.csv file 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.com

Load the data

From your psql prompt, load the data from the customer.csv file using the \copy option.

\copy customer FROM '/path/to/customer.csv' DELIMITER ',' CSV HEADER

If the command runs successfully, it returns the number of records copied to the database:

COPY 2

For more information about the \copy option, refer to the psql reference, in the PostgreSQL Documentation.

Last updated