有没有办法在 pgAdmin 中编写一个脚本,将多个查询的结果保存到 csv 文件中? 如查询 1 的结果保存到 1.csv,查询 2 的结果保存到 2.csv 等。 我可以通过逐一运行查询并单击“另存为”来手动完成此操作,但如何在脚本中执行此操作?
我期望有许多包含查询结果的csv文件,但不需要手动逐一单击,而是使用PgAdmin中的脚本。
您可以使用 COPY 命令来完成此操作,如下所示:
COPY test TO '/home/someuser/results/test.csv' WITH (FORMAT CSV, HEADER);
测试表的所有内容到csv文件,或查询
COPY (SELECT * FROM test WHERE id >1) TO '/home/someuser/results/test.csv'
WITH (FORMAT CSV, HEADER);
该文件必须可由 PostgreSQL 用户访问(用户 ID 服务器运行为)并且名称必须从以下角度指定 服务器。
这意味着 postgres 用户(运行 postgreSQL 进程的用户)必须对存储结果的文件夹具有写入权限,并且该文件夹或路径位于服务器端,适用于任何数据库管理器,而不仅仅是 pgAdmin。有关更多信息,请查看COPY 的官方文档。