我的Spring应用程序使用yandex-qatools/postgresql-embedded执行单元测试。
在执行它们时,我经常会收到以下错误:
ERROR 75847 --- [ Test worker] r.y.q.embed.postgresql.PostgresProcess : Failed to read PID file (File '/var/folders/sh/xr6l_7bs1_z9v1jfsyctc45w0000gp/T/postgresql-embed-b05c213f-7416-4200-a586-a3afb3263478/db-content-4f285249-22ea-4625-b771-156adbf5851f/postmaster.pid' does not exist)
java.io.FileNotFoundException: File '/var/folders/sh/xr6l_7bs1_z9v1jfsyctc45w0000gp/T/postgresql-embed-b05c213f-7416-4200-a586-a3afb3263478/db-content-4f285249-22ea-4625-b771-156adbf5851f/postmaster.pid' does not exist在异常之前会弹出一个警告,但是现在,让我们忽略它。
WARN 75847 --- [ Test worker] r.y.q.embed.postgresql.PostgresProcess : Possibly failed to run initdb:
no data was returned by command ""/private/var/folders/sh/xr6l_7bs1_z9v1jfsyctc45w0000gp/T/postgresql-embed-b05c213f-7416-4200-a586-a3afb3263478/pgsql-10.3-1/pgsql/bin/postgres" -V"
The program "postgres" is needed by initdb but was not found in the
same directory as "/private/var/folders/sh/xr6l_7bs1_z9v1jfsyctc45w0000gp/T/postgresql-embed-b05c213f-7416-4200-a586-a3afb3263478/pgsql-10.3-1/pgsql/bin/initdb".
Check your installation.我验证了在我的本地计算机上没有使用ps -ef|grep postgres运行任何其他的Postgress实例
也遵循这个线程,但没有帮助。
没有解决这个问题的选项了,请任何人建议如何解决这个问题。
OSX版本: 12.1
提前感谢
发布于 2022-06-30 14:11:48
在我的例子中,除了您的错误之外,我还可以看到以下错误:
r.y.q.embed.postgresql.PostgresProcess :可能无法运行initdb: initdb:无效的地区设置;检查LANG和LC_*环境变量
这条信息让我找到了解决方案。我刚刚将以下环境属性添加到我的.zshrc文件中:
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"https://stackoverflow.com/questions/72101300
复制相似问题