升级的系统版本如图:
遇到的问题:
psql: error: could not connect to server: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket “/tmp/.s.PGSQL.5432”?
解决方法:
1 先尝试重新启动数据库
2 新升级的系统版本改变了原本的目录结构,所以可能会因为找不到文件导致重启失败;这个时候就需要卸载重装。
(卸载命令:brew uninstall postgresql
)
PostgreSQL安装方法:
1 postgresql安装后会自动创建一个与当前登录用户同名的数据库用户(管理员),和一个名为postgres的数据库;为避免麻烦和使用方便,我们先新建一个名为postgres的系统用户
-
mac用户可直接图形化操作
-
ubuntu用户可使用如下指令:
sudo useradd -r -m -s /bin/bash 用户名
然后给用户设置密码: sudo passwd 用户名
2 切换到postgres用户下再安装数据库
切换用户命令:
sudo su postgres
安装数据库命令:
brew install postgresql
会先升级homebrew,新升级的系统权限管理非常严格;输入指令会报错提示没权限,按照它给的提示指令输就好了。
安装成功后输入指令psql -V
查看是否安装成功
3 启动数据库
pg_ctl -D /usr/local/var/postgres start
4 设置开机自启
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
执行第二句的时候遇到了错误
解决方法:
PostgreSQL常用语句
登录数据库:
psql -h 127.0.0.1 -U postgres postgres
psql -d postgres 登录数据库
重启数据库:
brew services start postgresql
pg_ctl -D /usr/local/var/postgres start
创建数据库用户并授权:
CREATE USER 'username' WITH PASSWORD 'password' ;
GRANT ALL PRIVILEGES ON DATABASE odoo TO 'username';
删除用户
drop role username
创建用户
create role username with login password '123';
创建超级用户
CREATE ROLE username superuser PASSWORD '123' login;
设置postgresql允许远程连接:
1 修改pg_hba.conf
在ipv4后添加允许访问ip
host all all 0.0.0.0/0 md5
2 修改监听配置
修改postgresql.conf文件,允许所有的链接
改成第二句
#listen_addresses = 'localhost' # what IP address(es) to listen on;
listen_addresses = '*' # what IP address(es) to listen on;
3 重启数据库