PostgreSQL — экспорт таблицы PostgreSQL в файл CSV

Опубликовано: 5 Октября, 2022

В этой статье мы обсудим процесс экспорта таблицы PostgreSQL в файл CSV. Здесь мы увидим, как экспортировать на сервер, а также на клиентскую машину.

Для экспорта на стороне сервера:

Используйте приведенный ниже синтаксис, чтобы скопировать таблицу PostgreSQL с самого сервера:

Syntax: COPY Table_Name TO "Path/filename.csv" CSV HEADER;

Примечание. Если у вас есть разрешение на выполнение операции чтения/записи на стороне сервера, используйте эту команду.

Пример:

Во-первых, давайте создадим таблицу с идентификаторами столбцов, first_name , last_name и адресом электронной почты в базу данных:

CREATE TABLE students(
   id SERIAL PRIMARY KEY,
   first_name VARCHAR,
   last_name VARCHAR,
   email VARCHAR UNIQUE
);

Давайте вставим некоторые данные в нашу таблицу студентов :

INSERT INTO students(first_name, last_name, email)
VALUES("Virender", "Sehwag", "virender.sehwag@gfg.com"),
    ("Hardik", "Pandiya", "hardik.Pandiya@gfg.com"),
    ("Shreyas", "Iyer", "shreyas.iyer@gfg.com"),
    ("Rishabh", "Pant", "rishabh.pant@gfg.com");

Теперь проверьте данные в таблице:

SELECT * FROM students;

Выход:

Теперь экспортируйте приведенную выше таблицу в виде файла CSV.

COPY students TO "/tmp/student1.csv" CSV HEADER;

Примечание. Убедитесь, что указанный вами путь имеет разрешение на чтение и запись.

Если все работает нормально, то это должно выглядеть так:

CSV-файл будет выглядеть следующим образом:

Мы также можем указать столбцы, которые мы хотим экспортировать, или написать запрос для данных.

COPY (SELECT first_name FROM students) TO "/tmp/student.csv" CSV HEADER;

Выход:

CSV-файл будет выглядеть следующим образом:

Для клиентского экспорта:

Используйте приведенный ниже синтаксис для экспорта CSV-файла на стороне клиента:

Syntax: copy Table_Name to "Path/filename.csv" CSV HEADER

Если у вас нет разрешения на выполнение операции чтения/записи на стороне сервера и вы хотите скопировать таблицу на клиентскую машину, используйте эту команду.

Давайте также воспользуемся таблицей студентов .

Выполните приведенную ниже команду, чтобы экспортировать таблицу в файл CSV.

copy students to "/tmp/students.csv" CSV HEADER

Выход:

CSV-файл будет выглядеть следующим образом:

Вы также можете задать запрос для выбора данных здесь.