如何将表数据从 PostgreSQL (pgAdmin) 导出到 CSV 文件?
Posted
技术标签:
【中文标题】如何将表数据从 PostgreSQL (pgAdmin) 导出到 CSV 文件?【英文标题】:How to export table data from PostgreSQL (pgAdmin) to CSV file? 【发布时间】:2019-05-15 14:14:59 【问题描述】:我正在使用 pgAdmin 4.3 版,我想将一个表数据导出到 CSV 文件。我使用了这个查询
COPY (select * from product_template) TO 'D:\Product_template_Output.csv' DELIMITER ',' CSV HEADER;
但它显示错误
相对路径不允许使用 COPY 到文件
请问如何解决这个问题?
【问题讨论】:
【参考方案1】:在查询编辑器中,执行查询后,您只需单击“下载为 CSV (F8)”按钮或使用 F8 键。
来源pgAdmin 4 Query Toolbar
【讨论】:
【参考方案2】:使用绝对路径或 cd 到已知位置,这样您就可以忽略该路径。 例如 cd 进入 documents 目录,然后在那里运行命令。
如果您能够 cd 进入您的 documents 目录,那么命令将是这样的:
假设您想从命令行使用 PSQL。 cd ~/Documents && psql -h host -d dbname -U user
\COPY (select * from product_template) TO 'Product_template_Output.csv' DELIMITER ',' CSV HEADER;
结果将是您当前工作目录(Documents 文件夹)中的 Product_template_Output.csv。
再次使用 psql。
【讨论】:
\COPY
比COPY
好,因为\COPY
也适用于普通用户。【参考方案3】:
试试这个命令:
COPY (select * from product_template) TO 'D:\Product_template_Output.csv' WITH CSV;
【讨论】:
【参考方案4】:你必须删除双引号:
COPY (select * from product_template) TO 'D:\Product_template_Output.csv'
DELIMITER ',' CSV HEADER;
【讨论】:
以上是关于如何将表数据从 PostgreSQL (pgAdmin) 导出到 CSV 文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何将具有自定义枚举类型的数据从 csv 插入现有的 PostgreSQL 表
如何使用 RPostgreSQL 将表写入 Panoply?
将表传递给 postgreSQL 函数,执行 select 语句,返回表