我想使用psql-F将select查询转储到以制表符分隔的文本文件中.但是,这不起作用:

psql -Umyuser mydb -F '\t' --no-align -c "select * from mytable" -o /tmp/dumpfile.txt

这使分隔符成为文字\t.如何让它改为使用真正的制表符?

推荐答案

我想你只需要使用文字标签.这取决于你的shell .你看过这个post吗?

在bash shell中,您可以使用$'\t'来执行此操作.

使用问题中的示例:

psql -Umyuser mydb -AF $'\t' --no-align -c "select * from mytable" -o /tmp/dumpfile.txt

man bash开始:

对$'string'形式的单词进行了特殊处理.单词扩展为字符串,并按照ANSI C标准的规定替换反斜杠转义字符.[...] 扩展后的结果是单引号,就好像美元符号不存在一样.

Postgresql相关问答推荐

在Docker Compose中获取CSV文件数据?

此PostgreSQL汇总分组不适用于窗口表达式

Postgres 13.8 -如何在对数据执行窗口操作时返回所有行

复合索引列的顺序导致不同的计划

将CSV文件复制到临时表

使用jOOQ在postgres上取消嵌套enum_range

postgres 不同类型的更新

合并两个字典并创建一个包含更新凭据的字典列表

如何创建一个触发器来传播对主键表的更新?

如何查找具有包含花括号内值且遵循模式的属性的顶点?

如何在 PostgreSQL 的回归测试中测试 TYPE 发送和接收函数

MERGE 语句的锁定级别

无法从在 wsl 2 上运行的服务之一连接到在 wsl 2 上的容器中运行的 postgres 数据库

Nodejs应用程序的node-postgres vs pg-promise

org.postgresql.util.PSQLException:错误:relation "app_user" does not exist

为什么 PostgreSQL 将用户和组合并为角色?

SQL数据库表中的多态性?

Postgres 中有多少表分区太多了?

Capistrano 与 PostgreSQL,错误:database is being accessed by other users

PostgreSQL - GROUP BY 子句或用于聚合函数