PostgreSQL windows环境部署、数据库搭建、角色权限管理
windows版安装:
1下载官网postgresql-12.4-1-windows-x64-binaries.zip二进制文件解压到指定目录下,配置bin目录环境。在根目录下创建Data文件夹。
--bin目录加入系统环境
D:\Services\pgsql\bin
--创建Data文件夹
D:\Services\pgsql\Data
2初始化命令:initdb -D D:\postgresql\data -E UTF-8 --locale=UTF-8 -U postgres -W
initdb -D D:\postgresql\data -E UTF-8 --locale=UTF-8 -U postgres -W
-D :数据库存储目录
-E :数据库字符集
--locale : 本地字符集
-U :用户角色
3输入超级用户密码。超级用户postgres,默认数据库postgres,超级用户可以管理数据库任何信息;
4注册服务:pg_ctl register -N PostgreSQL -D D:\postgresql\data
pg_ctl register -N PostgreSQL -D D:\postgresql\data
-N : 服务名
-D : 数据库存储地址
5启动服务:net start PostgreSQL
net start PostgreSQL
6停止服务:net stop PostgreSQL
net stop PostgreSQL
7卸载服务:sc delete PostgreSQL
sc delete PostgreSQL
远程登录:
1修改Data/postgresql.conf文件的listen_addresses项值设定为“*”
2修改Data/pg_hba.conf文件添加:host all all 0.0.0.0/0 md5
用超级用户postgres登录
C:\Windows\system32>psql -U postgres -d postgres
创建表空间(默认owner是postgres):
create tablespace cda owner postgres location 'D:\Services\pgsql\Data\CDA';--D:\Services\pgsql\Data\CDA 目录要存在 set default_tablespace = cda;
创建database:
create database cda tablespace cda;
超级用户登录cda:
C:\Windows\system32>psql -U postgres -d cda
创建schema:
create schema cda;
创建用户:
create role superxk;--普通无密码无登录用户superxk create role xk with password 'xk123456' login;--普通有密码可登录用户xk
删除用户:
reassign owned by xk to superxk;--将xk用户下拥有的一切转移给superxk用户; drop role xk;--删除用户xk;
授权管理:
1连接database:
grant connect on database cda to xk;--赋予xk用户database cda 的连接权限 revoke connect on database cda from xk;--撤销
2连接schema :
grant create,usage on schema cda to xk;--赋予xk用户schema cda 的创建表和使用权限 revoke create,usage on schema cda from xk;--撤销xk用户schema cda 的创建表和使用权限
3授予表权限:
grant all on all tables in schema cda to xk;--赋予xk用户schema cda下的所有table的所有权限(增删改查) grant select on table cda.cda.domain to xk;--赋予xk用户schema cda下的domain表的查询权限 revoke all on all tables in schema cda from xk;--撤销xk用户schema cda下的所有table的所有权限(增删改查) revoke select on table cda.cda.domain from xk;--撤销xk用户schema cda下的domain表的查询权限