我是这个论坛的新手,我正面临这个问题,在这里我遇到以下错误。
sudo -u shahid ./pg_ctl -D /root/pgsql10x/data/ initdb
invalid binary "/root/pgsql10x/bin/pg_ctl"
invalid binary "/root/pgsql10x/bin/pg_ctl"
invalid binary "/root/pgsql10x/bin/pg_ctl"
The program "initdb" is needed by pg_ctl but was not found in the same directory as "pg_ctl".
Check your installation.
我试图从根目录运行它。
我是从源头构建的。我正在CentOS7上尝试版本10。 我直接从postgres网站下载了。
以非root用户身份运行时,我没有遇到这个问题。
我在bin目录中拥有所有文件,如此处的图像所示:
答案 0 :(得分:0)
最后,我能够解决问题。
问题是由于生成的源文件直接放置在“ / root /”目录中, / root / pgsql10x /以root登录。
当我将它放在/ app / pgsql10x /上的“ / app /”目录中时,事情开始正常运行,创建数据库并且数据库正常运行(在root登录中)。
-Shahid
答案 1 :(得分:0)
该错误来自以下事实:您尝试以root
用户身份启动集群,您必须切换到postgres
,然后尝试重新启动集群
su - postgres
pg_ctl start