导出带有换行符的文本字段
Export text field with newlines
我的 PostgreSQL 数据库中有一个包含换行符的文本字段。我想将该字段逐字导出到文本文件中。但是,我无法弄清楚如何在没有将换行符编码为 \n
.
的情况下导出该字段
目前我只是在使用 \copy
并在文本编辑器中手动对 \n
进行搜索和替换。
COPY 的第一项工作是生成可以准确重新加载的输出。但听起来你想要的恰恰相反,你想在你无法通过查看行最初分组到记录中的方式知道的地方产生输出。
因此您很可能需要进行某种 post 处理。您可以使用文本输出格式并将 \n 更改为文字换行符,或者您可以使用 csv 输出格式然后删除引号。在这两种情况下,可能还需要处理其他 escaped/quoted 个特殊字符。
另一种方法是在 COPY 之前而不是之后分解数据:
\COPY (select unnest(string_to_array(col1,E'\n')) from foo) TO ...
我的 PostgreSQL 数据库中有一个包含换行符的文本字段。我想将该字段逐字导出到文本文件中。但是,我无法弄清楚如何在没有将换行符编码为 \n
.
目前我只是在使用 \copy
并在文本编辑器中手动对 \n
进行搜索和替换。
COPY 的第一项工作是生成可以准确重新加载的输出。但听起来你想要的恰恰相反,你想在你无法通过查看行最初分组到记录中的方式知道的地方产生输出。
因此您很可能需要进行某种 post 处理。您可以使用文本输出格式并将 \n 更改为文字换行符,或者您可以使用 csv 输出格式然后删除引号。在这两种情况下,可能还需要处理其他 escaped/quoted 个特殊字符。
另一种方法是在 COPY 之前而不是之后分解数据:
\COPY (select unnest(string_to_array(col1,E'\n')) from foo) TO ...