昨天重装了老骥伏枥的Macpro,这个机子从此以后专门用来写代码。重装一身轻。
首先要重装Homebrew,由于不可描述的原因,安装Homebrew失败。百度之后找到了解决方案,参考知乎这位大神的解答:Failed to connect to raw.githubusercontent.com:443。
也就是在科学上网的基础上,先在Terminal(终端)里输入以下命令,注意7890和789要换成你自己的端口:
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:789
再输入就能成功安装了Homebrew了:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
接下来安装PostgreSQL,使用Homebrew:
brew install postgresql
初始化的时候遇到了状况:
initdb /usr/local/var/postgres
错误原因"initdb:error:could not create directory "/usr/liocal":Operation not permitted."其实是我把local给打错了。
但也有可能是你的文件夹不允许写入操作,我google之后操作了一番,参考:https://stackoverflow.com/questions/10431426/trying-to-get-postgres-setup-in-my-environment-but-cant-seem-to-get-permissions
sudo chmod 775 /usr/local/var/postgres
sudo chown xxx(填你的用户名) /usr/local/var/postgres
initdb /usr/local/var/postgres
这次的报错信息是"initdb:error:directory "/usr/local/var/postgres" exists but is not empty"。这个原因好说,很好处理。
把这个文件夹先删掉即可。
rm -rf /usr/local/var/postgres
再初始化,就好啦。
到这里安装完成了,下来该进行一系列设置。一步步来就不会有错。这里参考了这篇文章:https://blog.csdn.net/weixin_43901866/article/details/86578648
初始化完成以后,启动服务。
pg_ctl -D /usr/local/var/postgres -l logfile start
这行代码在你初始化完成的时候就有,参考上图。这时候会提示启动服务成功。
这时候不能输入psql,会报错,必须先创建数据库才行。
创建数据库
createdb
再登录Postgres控制台
psql
这时候就没有报错了。
接下来就需要创建用户,最好创建一下以postgres用户。
CREATE USER postgres WITH PASSWORD 'xxxx';#这里的密码”xxxx“由你自己来设置
删除默认生成的postgres数据库:
DROP DATABASE postgres;
创建属于用户postgres的数据库,名字也叫postgres,当然你也可以取名叫别的。
CREATE DATABASE postgres OWNER postgres;
将数据库权限赋予为postgres用户:
GRANT ALL PRIVILEGES ON DATABASE postgres to postgres;
再给用户postgres用户添加创建数据库的属性,可以使用postgres作为数据库的登录用户并管理数据库。
ALTER ROLE postgres CREATEDB;
界面如下:
登录的时候就可以这样:
psql -U postgres -d postgres
这样Mac上的PostgreSQL就基本设置好了。