Mac下postgresql安装失败The database cluster initialisation failed.
在安装postgresql的过程中会遇到如下异常提示:
Problem running post-install step. Installation may not complete correctly The database cluster initialisation failed.
然后,安装程序会自动进行uninstall,引起安装失败的主要原因是data目录权限的问题。也就是在我们安装的时候,选择了根目录之后的另外一个/data的目录。
本文针对Mac环境下安装失败的解决方案分享给大家,虽然出现相同的问题,但由于Mac系统版本和postgresql版本不同,可能某些方法是无效的。
方法一:自动创建用户
第一步:如果发现安装失败,无法启动postgresql,那么将原有的安装程序卸载,并在Mac的“偏好设置”中将安装时创建的postgre用户删除。
第二步:打开一个命令行窗口,分别执行以下命令:
sudo dscl . -create /Users/postgres UserShell /bin/sh sudo dscl . -create /Users/postgres NFSHomeDirectory /Library/PostgreSQL
此命令创建一个默认的普通用户,并对指定的目录进行授权。
第三步:重新安装postgresql的安装程序。
一般情况下经过上述步骤,即可解安装时出现的上述问题。
方法二:手动授权
通过命令窗口进入程序的安装界面依次尝试如下操作:
cd /Library/PostgreSQL/9.0 mkdir data chmod 700 data chown postgres data su postgres ## 执行完成之后,可尝试启动服务 ./bin/initdb /Library/PostgreSQL/9.0/data ./bin/postgres -D /Library/PostgreSQL/9.0/data ## 或者 ./bin/pg_ctl start -D /Library/PostgreSQL/9.0/data/ ## 打开一个新的命令行窗口尝试执行链接 /Library/PostgreSQL/9.0/bin/psql -U postgres
其他
如果上述方法依旧未解决你的问题,那么可以尝试查看日志来进行问题的定位和搜索解决。
进入/tmp/目录,在该目录下有安装postgresql时产生的日志,后缀为.log的文件。打开文件,查看是否有相关的异常信息。比如:
Executing /Library/PostgreSQL/9.2/installer/server/initcluster.sh “postgres” “postgres” “****” “/Library/PostgreSQL/9.2” “/Library/PostgreSQL/9.2/data” 5432 DEFAULT Script exit code: 1 Script output: Failed to initialise the database cluster with initdb Script stderr: su: /dev/null: Permission denied
根据类似的异常信息,可进行进一步定位。
如果经过以上步骤依旧无法正常安装,可尝试使用其他版本的postgresql进行安装。
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接
本文链接:https://choupangxia.com/2020/06/03/mac-postgresql-the-database-cluster-initialisation-failed/