首先在linux命令行登录pg,postgres是pg的默认用户
psql -h localhost -p 5432 -U postgres
查看有哪些用户
\dg
查看有哪些数据库
\l
查看有哪些表
\d
切换数据库
\c dnname
例如切换为数据库test,则使用命令
\c test
还有很多的命令可以执行?查看它们的使用方法和作用
基于linux命令行创建postgresql用户,createuser命令用法可通过createuser --help查看
createuser -h localhost -U postgres -s -P -e test
#基于linux命令行创建数据库,createdb 命令用法可通过createdb --help查看
createdb -h localhost -p 5432 -e -U test Privilege -E UTF-8
在linux命令行对数据库进行授权
psql -h localhost -p 5432 -U postgres -c "grant all privileges on database Privilege to rbac"
基于linux命令行导入sql文件数据到指定数据库,数据库通过-d参数进行指定。
psql -h localhost -p 5432 -U test -d Privilege -f privilege.sql
指定psql以用户rbac访问数据库Privilege,非postgres用户登录pg需要指定数据库,通过-d参数指定。
psql -h localhost -p 5432 -U rbac -d Privilege
postgresql报表不存在,原因是我指定的数据库是Privilege,但由于psql默认为大小写不敏感的,所以创建时变成了privilege了,这个库里面没有表存在;而同时还存在一个Privilege,它里面是有表的,所以我一直以为程序访问的是Privilege,但实际上访问的却是privilege,它里面还没有表,创建了表之后就好啦。