postgresql安装成功之后,会自动生成一个名为postgres的数据库和数据库用户。同时还生成了一个名为postgres的Linux系统用户。
访问PostgreSQL
linux中切换postgres用户:sudo su postgres
再输入psql
,进入到postgres数据库
首次进入输入\password postgres
为postgres用户修改密码
使用psql -d [dbname]
可登录其他数据库
创建用户
第一种方法,使用PostgreSQL控制台。
创建用户同时赋予密码
CREATE USER ssha WITH PASSWORD '123';
创建超级用户同时赋予密码
CREATE ROLE ssha superuser PASSWORD ‘123’ login;
创建用户数据库test,并指定拥有者ssha
CREATE DATABASE test OWNER ssha;
设置test数据库的所有权
GRANT ALL PRIVILEGES ON DATABASE test to ssha;
撤销ssha用户的所有权限
REVOKE ALL ON COMPANY FROM ssha;
删除用户
DROP USER ssha;
第二种方法,使用shell命令行。
首先,创建数据库用户dbuser,并指定其为超级用户。
sudo -u postgres createuser —superuser dbuser
或者
createuser username -P
然后,登录数据库控制台,设置dbuser用户的密码,完成后退出控制台。
sudo -u postgres psql
\password dbuser
\q
接着,在shell命令行下,创建数据库test,并指定所有者为ssha。
sudo -u postgres createdb -O ssha test
开启远程访问
1、修改两个配置文件
文件:postgresql.conf
位置:/etc/postgresql/9.5/main/postgresql.conf
添加/修改:在所有IP地址上监听,从而允许远程连接到数据库服务器:
listening_address: ‘*’
如图:
文件:pg_hba.conf
位置:/etc/postgresql/9.5/main/pg_hba.conf
添加/修改:允许任意用户从任意机器上以密码方式访问数据库,把下行添加为第一条规则:
host all all 0.0.0.0/0 md5
如图
常用命令
开始服务:sudo /etc/init.d/postgresql start
停止服务:sudo /etc/init.d/postgresql stop
重启服务:sudo /etc/init.d/postgresql restart
/ sudo systemctl restart postgresql
卸载:brew uninstall postgresql
安装: brew install postgresql
查看版本:psql -V
查看角色:\du
使用户成为超级用户:ALTER USER username WITH SUPERUSER;
使用户不再是超级用户:ALTER USER username WITH NOSUPERUSER;
只允许用户创建数据库:ALTER USER username CREATEDB;
允许创建用户:ALTER USER username WITH CREATEROLE;
参考博客
https://blog.youkuaiyun.com/zhangzeyuaaa/article/details/77941039
https://www.lijiaocn.com/%E6%8A%80%E5%B7%A7/2018/09/28/postgres-user-manage.html
https://stackoverflow.com/questions/10757431/postgres-upgrade-a-user-to-be-a-superuser