追加到现有文件而不从 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'
我用 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'