PostgreSQL – Bash常用指令

2020-09-01 974 1

记录常用pgsql控制台命令

  • 更新

    2020-09-01 init

安装配置(linux)

Bash 控制台命令

  • 启动pgsql bash
~>service postgresql start
#启动进程
~>su - postgres
#运行bash服务
bash>psql
#使用默认:postgres 用户登录
bash>psql -U [username] -d [database]
#username 指定的登录用户名,database 访问的数据库
#-h:数据库IP
#-U:登录用户
#-d:登录的数据库
#-p:登录端口
  • 基础命令
>\password           #设置密码
>\q                  #退出
>\h                  #查看SQL命令的解释,比如\h select
>\?                  #查看psql命令列表
>\l                  #列出所有数据库
>\c [database_name]  #连接其他数据库
>\d                  #列出当前数据库的所有表格
>\d [table_name]     #列出某一张表格的结构
>\x                  #对数据做展开操作
>\du                 #列出所有用户

Sql 数据库语法

  • 角色管理

    PostgreSQL使用角色的概念管理数据库访问权限。 根据角色自身的设置不同,一个角色可以看做是一个数据库用户,或者一组数据库用户。角色可以拥有数据库对象(比如表)以及可以把这些对象上的权限赋予其它角色, 以控制谁拥有访问哪些对象的权限。一个数据库角色可以有很多权限,这些权限定义了角色和拥有角色的用户可以做的事情。
//创建角色
//@desc: 角色参数(role)
//login - 创建具有登录权限的角色
//superuser - 创建具有超级用户权限的角色
//createdb - 创建具有创建数据库权限的角色
//createrole - 创建具有创建角色权限的角色
create role [rolename] [role];
//
//
//修改角色权限
//@desc: 在角色前加前缀`no`
alter role [rolename] [nologin] [nocreatedb];
//
//
//删除角色
drop role [rolename];
//
//
//查询所有角色
select * from pg_roles;
  • 用户管理

    Postgres用户和角色都是角色,只是用户默认是具有登录权限的角色
//创建用户
create user [username] password [password];
create role [username] password [password] login; --同上一句等价
//
//
//删除用户
drop user [username];
//
//
//修改用户密码
alter user [username] password [newpassword];
//
//
//指定用户授权
alter user [username] [createdb] [createrole]; --创建数据库,创建角色
#使用GRANT 和 REVOKE命令赋予用户角色
grant [rolename] to db_user1,db_user2; --给用户1,2赋予角色1,两个用户就拥有了创建数据库和创建角色的权限
revoke db_role1 from db_user1; --从用户1移除角色1,用户不在拥有角色1的权限
//
//
//查询当前用户
select * from current_user;
select user;

相关文章

PostgreSQL – 安装问题汇总
PostgreSQL – Error Code
PostgreSQL – FATAL: no pgentry for host_hba.conf “IP”

评论(1)

发布评论