我当前的psql
版本是10.1,
但是当我输入\q
来保存它显示的历史记录时:
postgres =#\ q无法将历史记录保存到文件“/opt/PostgreSQL/9.3/.psql_history”:没有这样的文件或目录
但我正在使用 Postgres 10.1 ,如何解决此问题?
答案 0 :(得分:1)
psql如何确定历史文件的路径documented为:
<强> HISTFILE 强>
将用于存储历史记录列表的文件名。如果未设置,则文件名取自PSQL_HISTORY环境 变量。如果没有设置,则默认为〜/ .psql_history, 或Windows上的%APPDATA%\ postgresql \ psql_history
您必须知道psql
不使用HOME
来确定由tidle字符表示的主目录,它使用/etc/passwd
。
因此,问题psql
可能是由postgres
用户启动的,当创建此用户时,就是在这台机器上安装PostgreSQL 9.3,之后/opt/PostgreSQL/9.3/
没有更改/etc/passwd
1}}被删除,因此sudo usermod --home '/path/to/database' postgres
中的条目仍然指向该不存在的目录。
This answer on DBA.se给出shell命令来解决这个问题:
git branch new_branch