linux - 如何避免 .psql_history 文件中的特殊字符

标签 linux postgresql

我的 .psql_history 文件包含这些特殊字符。 “^A 返回文本^A LANGUAGE sql^A IMMUTABLE^A” 可能是什么原因造成的?我怎样才能避免这种情况?它位于我的 Ubuntu 桌面文件中,如果我使用服务器计算机 (SUSE Linux) 中的 psql,它也位于该文件中。

最佳答案

这是设计使然。 .psql_history 文件是 readline 或 libedit 历史文件。它的目的是在使用命令行编辑(向上箭头、control-R 等)时快速向前和向后搜索,而不是供人类可读使用。

一些工具,例如bash,有一个专用的history命令,可以导出人类可读的历史版本。快速浏览一下手册就会发现 psql\s:

craig=> \?
Query Buffer
  ...
  \s [FILE]              display history or save it to file
  ...

请注意,.psql_history 文件可能不包含所有查询,尤其是在运行多个并发 psql session 时。它也可以被截断。因此它不能替代日志文件,寻找实际日志记录的人应该调查服务器端查询日志记录设置。

关于linux - 如何避免 .psql_history 文件中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31647376/

相关文章:

linux - 如何使用 VNC(docker standalone ff 和常规 ff)之类的东西访问 linux 上的浏览​​器 GUI)

linux - 如何在我的 Linux shell 脚本中遍历此 FIND 命令的结果?

postgresql - 在 postgresql 中以表名作为参数的函数

sql - 如何通过 where 条件从 1 开始的顺序值重置列的值

c - 理解线程

linux - 在 shell 脚本中使用 makefile 变量而不运行 make

postgresql - 创建角色时创建触发器

sql - 将数组放入 WHERE IN 子句 Ruby on Rails

sql - 报告一组记录的分组平均值

c - 使用 getpwnam()/getpwuid() 结果的安全方法?