📜  PostgreSQL – 将 PostgreSQL 表导出到 CSV 文件

📅  最后修改于: 2022-05-13 01:57:15.427000             🧑  作者: Mango

PostgreSQL – 将 PostgreSQL 表导出到 CSV 文件

在本文中,我们将讨论将 PostgreSQL 表导出为 CSV 文件的过程。在这里,我们将看到如何在服务器和客户端机器上导出。

对于服务器端导出:

使用以下语法从服务器本身复制 PostgreSQL 表:

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

注意:如果您有权在服务器端执行读/写操作,请使用此命令。

例子:

首先,让我们创建一个包含列 id、 first_namelast_nameemail到数据库的表:



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文件

对于客户端导出:

使用以下语法在客户端导出 CSV 文件:

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

如果您没有在服务器端执行读/写操作的权限,并且想要将表复制到客户端计算机,请使用此命令。

让我们在这里也使用学生表。

执行以下命令将表导出为 CSV 文件。

\copy students to '/tmp/students.csv' CSV HEADER

输出:

CSV 文件如下所示:

您也可以在此处进行查询以选择数据。