Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 保存psql历史文件时出错_Postgresql_Psql_Postgresql 9.3 - Fatal编程技术网

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
?不管怎样,我想和一群人争论是没有意义的,不管他们怎么错。。。