使用 COPY 在文本文件中插入换行符

Insert newline in text file using COPY

我想使用复制命令在文本文件中插入换行符

我被要求移植 sqlplus 脚本,这些脚本以自定义 csv 和文本格式从数据库生成报告。 我正在寻找实现 sqlplus 功能的方法,例如:

set newpage
set linesize
spool <File>
ttitle left 'text....'
center 'some text....'

some queries 

exit

对于尝试在 plpgsql 中使用 copy 的简单任务 f 我正在尝试将多行字符串打印到文件,但插入行的 E 模式不起作用

我的线路:

COPY (SELECT CURRENT_DATE || E'\n' || 'NAME: MY NAME' || E'\n' || 'ADDRESS:ADDRESS') TO 'path/to/file.txt');

我试过把E放在开头的另一种方法,也没用。

任何人都可以帮助我解决这个问题以及如何使用 sqlplus 在 postgres 中执行的操作吗?

我正在使用 debianpostgres 13.3

COPY 在这里不起作用,因为它会转义换行符。

您在 Oracle 中使用客户端 (sqlplus),所以在 PostgreSQL 中做同样的事情并使用 psql:

\pset tuples_only
\pset format unaligned
\o path/to/file.txt
SELECT CURRENT_DATE || E'\n' || 'NAME: MY NAME' || E'\n' || 'ADDRESS:ADDRESS';
\q