一.查看pg的操作命令

首先在linux命令行登录pg,postgres是pg的默认用户

psql -h localhost -p 5432 -U postgres

查看有哪些用户

\dg

查看有哪些数据库

\l

查看数据库有哪些模式(schema)

\dn

查看有哪些表

\d

切换数据库

\c dnname

例如切换为数据库test,则使用命令

\c test

切换用户(切换postgres用户)

\c - postgres

创建pg用户

CREATE USER test WITH PASSWORD 'password';

修改数据库所属的用户

alter database "YOUR_DATABASE" owner to "YOUR_USER";

给用户赋予数据库权限

grant all on database databaseName to username

修改schema所属用户

alter schema test owner to postgres;

二.linux命令行

基于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,它里面还没有表,创建了表之后就好啦。

参考阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: