postgresql - 带行分隔符的 postgres 副本

标签 postgresql

我有一个带栏的表 foo

foo
---
bar

我使用 Postgres 的 Copy 命令 COPY (select * from foo) TO 'complete_file_path' WITH Delimiter ',' CSV HEADER

现在,如何传递自定义行分隔符?示例

row delimiter = _a_\n

我的文件中需要以下输出

bar_a_
somevalue_a_
somevalue_a_
somevalue_a_

我不确定如何使用复制命令执行此操作。

最佳答案

Postgres COPY TO没有指定替代行分隔符的选项。您始终可以使用 sed 或您选择的语言进行一些后处理,以将换行符转换为 "_a_\n"。或者你可以在你的选择中做一些字符串连接:

COPY (select bar || '_a_' as bar from foo)
  TO 'complete_file_path'
  WITH Delimiter ',' FORMAT CSV HEADER;

关于postgresql - 带行分隔符的 postgres 副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9798309/

相关文章:

PostgreSQL结合LAG和LEAD查询前后n行

postgresql - 同一实体的多个表示正在与@OneToMany 合并

sql - PostgreSQL 将值更新为最大值 + 1

postgresql - 是否有等同于PostgreSQL的Redgate SQL Compare

mysql - SQL从一部电影中选择参与电影次数较多的 Actor

string - 我如何从 PostgreSQL 中的十六进制中获取字符串值?

postgresql - 使用 POCO ODBC 时出现 SQLCloseCursor 异常

postgresql - 当给定列与 PostgreSQL 中的谓词匹配时,考虑行是唯一的

mysql - 独立于 DBMS 的方式访问表模式,包括主键(如果有)

sql - 嵌套sql的返回值