Postgresql 保存psql历史文件时出错
我当前的Postgresql 保存psql历史文件时出错,postgresql,psql,postgresql-9.3,Postgresql,Psql,Postgresql 9.3,我当前的psql版本是10.1, 但当我键入\q保存历史时,它会显示: postgres=#\q无法将历史保存到文件“/opt/PostgreSQL/9.3/.psql_history”:没有这样的文件或目录 但是我正在使用Postgres 10.1,如何解决这个问题?psql如何确定历史文件的路径如下: HISTFILE 将用于存储历史记录列表的文件名。如果未设置,则文件名取自PSQL_历史环境 变量如果未设置,则默认值为~/.psql_history, 或Windows上的%APPDATA%
psql
版本是10.1,
但当我键入\q
保存历史时,它会显示:
postgres=#\q无法将历史保存到文件“/opt/PostgreSQL/9.3/.psql_history”:没有这样的文件或目录
但是我正在使用Postgres 10.1,如何解决这个问题?psql如何确定历史文件的路径如下: HISTFILE 将用于存储历史记录列表的文件名。如果未设置,则文件名取自PSQL_历史环境 变量如果未设置,则默认值为~/.psql_history, 或Windows上的%APPDATA%\postgresql\psql\u历史记录 您必须知道,
psql
没有使用HOME
来计算由tidle字符表示的主目录,而是使用/etc/passwd
因此,假设问题中的psql
是由postgres
用户启动的,当创建此用户时,它是要在这台机器上安装postgresql9.3,并且在删除/opt/PostgreSQL/9.3/
后没有更改,因此,/etc/passwd
中的条目仍然指向那个不存在的目录
给出shell命令以修复该问题:
sudo usermod --home '/path/to/database' postgres
检查此bro:)作为用户
postgres
在shell中使用echo$HOME可以得到什么?问题不在中定义的堆栈溢出主题上。请不要回答这样的问题;相反,你应该标记它们以引起注意,它们将被适当地关闭或迁移。@TobySpeight:我不同意这种说法。这个问题是关于psql
的,它在S.O.上有自己的标签,有460多个追随者和1,6k个问题,对我来说,它属于程序员常用的软件工具类别,我很惊讶有这么多问题是关于数据库查询工具,而不是编程工具。也许不止一部分是关于在程序中使用psql
?不管怎样,我想和一群人争论是没有意义的,不管他们怎么错。。。