psql:如何不记录单个命令到历史记录中

问题描述:

在bash中有一个设置(通常默认情况下是启用的),以便任何以空格开头的命令都不会记录到历史文件中。psql:如何不记录单个命令到历史记录中

psql中有没有类似的东西?

+0

bash中的酷炫功能。不,据我所知。如果您提交了补丁程序,可能会接受补丁程序但是,请检查'readline'文档,也许有一种方法可以用readline来做到这一点... –

+0

@CraigRinger所以我在源码中搜索并找到了答案。它使用与该功能的Bash版本相同的变量名称和设置。 –

所以这是可能的。

\set HISTCONTROL ignorespace添加到您的.psqlrc文件。

然后,当您在命令前加上一个空格时,比如说设置密码,它不会被添加到历史文件中。

manual

HISTCONTROL

如果这个变量设置为ignorespace,以空格开始的行不记入历史列表。如果设置值为 ignoredups,则不会输入与上一个历史记录行匹配的行。 ignoreboth的值组合了这两个选项。如果未设置,或者设置为 none(或除上述值之外的任何其他值),则所有以 交互模式读取的行都将保存在历史列表中。

+0

不错的发现,感谢您的查找。我一直在使用psql多年,不知道。 –