追加到现有文件而不从 psql 命令覆盖 \o

Append to an existing file without overwrite from psql command \o

我用 psql 连接到我的数据库(即分析),从那里我知道我是否这样做:

\o 'C/MYDIRECTORIES/test.csv'
SELECT * FROM test;
SELECT * FROM test;

我可以不断地向这个 test.csv 文件追加内容,直到我再次 运行 \o 退出导出。

然而,一段时间后,如果我想在这个 test.csv 中添加新内容,并且如果我再次 \o 'C/MYDIRECTORIES/test.csv'test.csv 将首先被清除。换句话说,我丢失了之前保存的内容。

我在网上搜索了一下,找到了这个link (Using psql \o to append to a file)。它为我的问题提供了解决方案。但是,当我 运行 它建议的命令时:

\o | cat - >> 'C/MYDIRECTORIES/test.csv'

弹出如下错误:文件名、目录名或卷标语法不正确。我仔细检查了我的路径,它是正确的。谁能帮忙看看这个问题?

问题是这个命令是针对 UNIX 的,你似乎在使用 Windows。

您可以尝试找到适用于 Windows 的替代品,但这非常困难,除非您想编写一个 cmd 脚本来为您完成。

我会在这里尝试,但我附近没有 Windows,所以这是猜测,你必须调试它:

\o | CMD /D /C TYPE CON >> 'C:\MYDIRECTORIES\test.csv'