附加到现有文件,而不会被psql命令\ o覆盖

时间:2018-11-27 18:44:01

标签: postgresql psql

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

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

我可以连续地向此test.csv文件添加内容,直到再次运行\o退出导出为止。

但是,过一段时间后,如果我想在此test.csv中添加新内容,并且再次执行\o 'C/MYDIRECTORIES/test.csv',将首先清除test.csv。换句话说,我丢失了以前保存的内容。

我在网上做了一些搜索,发现了此链接(https://www.endpoint.com/blog/2010/03/22/using-o-to-append-to-file)。它为我的问题提供了解决方案。但是,当我运行其建议的命令时:

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

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

1 个答案:

答案 0 :(得分:2)

问题在于此命令用于UNIX,并且您似乎正在使用Windows。

您可以尝试找到一种可在Windows上运行的替代程序,但这非常困难,除非您想编写一个cmd脚本来帮助您。

我会在这里尝试,但是附近没有Windows,这是猜测,您必须对其进行调试:

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