PostgreSQL – 将 PostgreSQL 表导出到 CSV 文件
在本文中,我们将讨论将 PostgreSQL 表导出为 CSV 文件的过程。在这里,我们将看到如何在服务器和客户端机器上导出。
对于服务器端导出:
使用以下语法从服务器本身复制 PostgreSQL 表:
Syntax: COPY Table_Name TO 'Path/filename.csv' CSV HEADER;
注意:如果您有权在服务器端执行读/写操作,请使用此命令。
例子:
首先,让我们创建一个包含列 id、 first_name 、 last_name和email到数据库的表:
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 文件如下所示:
您也可以在此处进行查询以选择数据。