我有一个在 Linux (AWS Centos) 服务器上运行的 bash 脚本。每当脚本执行 psql 时,标准输出中就会弹出一条奇怪但令人讨厌的警告消息:找不到要执行的“psql”。
奇怪的是 Postgresql 命令行 psql 运行得很好!但是它仍然会生成此错误消息。
对于进一步的上下文,bash 脚本是从 php 页面 (fastcgi/nginx) 中的 shell_exec 执行的。如果从命令行运行 bash 脚本,则不会看到警告。但同样,即使有警告,psql 确实运行正常。
有谁知道为什么会出现这个警告,以及如何消除它?
尝试设置 psql 脚本的路径,这样您就不会依赖于
PATH
调用 shell 时的环境和 PHP 设置,而不是,
尝试(或任何
command -v psql
显示它所在的位置)有关 Windows 上的此错误消息,请参阅此错误报告:https ://www.postgresql.org/message-id/E1VPJrB-00071y-RR%40wrigleys.postgresql.org
如果 PostgreSQL 的环境 PATH 元素包含双引号,则似乎会导致该问题。尝试删除它们。