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

Postgresql 从psql命令附加到现有文件而不覆盖\o,postgresql,psql,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将首先被删除。换句话说,我丢失了以前保存的内容 我在网上搜索了

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

\o 'C/MYDIRECTORIES/test.csv'
SELECT * FROM test;
SELECT * FROM test;
我可以连续将内容附加到此
test.csv
文件,直到再次运行
\o
退出导出

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

我在网上搜索了一下,找到了这个链接()。它为我的问题提供了一个解决方案。但是,当我运行其建议的命令时:

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

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

问题是这个命令是用于UNIX的,而您似乎正在使用Windows

您可以尝试找到一个在Windows上工作的替代品,但这是出了名的困难,除非您想编写一个
cmd
脚本来为您执行此操作

我将在此处尝试,但我附近没有窗口,因此这只是猜测,您必须对其进行调试:

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

问题是这个命令是针对UNIX的,而您似乎正在使用Windows

您可以尝试找到一个在Windows上工作的替代品,但这是出了名的困难,除非您想编写一个
cmd
脚本来为您执行此操作

我将在此处尝试,但我附近没有窗口,因此这只是猜测,您必须对其进行调试:

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

您使用的是windows还是linux?您使用的是windows还是linux?感谢您的回复,我刚刚尝试了此操作并给出了相同的错误消息,但至少我现在知道为什么联机资源示例对我的尝试不起作用。如果\o方法对windows来说太难,对于我来说,你有没有想过在不被postgresql覆盖的情况下将内容附加到现有输出中?我知道还有其他途径,比如Python可以完成这项工作,但我只是想进一步探索postgresql,谢谢。我会编写一个powershell脚本,将其标准输入附加到一个文件中,并将其与
\o |
一起使用。感谢您的回复,我尝试了这个方法,并给出了相同的错误消息,但至少我现在知道了为什么联机资源示例对我的尝试不起作用。如果对windows来说\o方法太难,您是否有任何想法让我将内容附加到现有输出中而不被postgresql覆盖?我知道还有其他途径,比如Python可以完成这项工作,但我只想进一步探索postgresql,谢谢。我会编写一个powershell脚本,将其标准输入附加到文件中,并与
\o |
一起使用。