赋权、收回权限示例
示例创建用户joe,并将CREATESESSION权限授权给用户joe。--删除用户joe。DROPUSERjoeCASCADE;--创建用户joe,密码是database_123。CREATEUSERjoeIDENTIFIEDBYdatabase_123;--将CREATESESSION权限授权给
高斯中目前存在的权限说明(三)
role_name角色名。参考ROLE语句说明。将角色授权给用户/角色,表示被授权的用户/角色继承role角色的所有系统权限。将角色授权给其他的角色时,不能循环授权。如:将role1授权给role2,将role2授权给role3,将role3授权给role1。系统默认有四个角色:dba,resour
高斯中目前存在的权限说明(二)
SYS用户具有上述所有权限。同名词的权限:同名词的权限与其表示的对象的权限一致。即:将同名词的权限授予给用户,相当于将同名词表示的对象的权限授予给用户,反过来也成立:将对象的权限授予给用户,如果该对象存在同名词,该同名词的权限也授予给了该用户。访问同名词时,将检查当前操作用户是否有同名词表示的对象的
高斯中目前存在的权限说明(一)
system_priviege_name系统权限名。系统目前支持的系统权限及角色或用户对权限的拥有情况如下表所示,其中“Y”表示角色或用户拥有此权限,“-”表示角色或用户无此权限。表1系统权限矩阵系统权限角色是否拥有此权限用户是否拥有此权限操作类型所需权限权限说明DBARESOURCECONNECT
如何查看执行计划 explain plan
功能描述使用EXPLAINPLAN命令查看DMLSQL语句的执行计划,并由此可以分析SQL执行是否使用的最优的方式。注意事项EXPLAIN只支持查看DML执行计划。语法格式EXPLAIN[PLANFOR]statement参数说明PLANFOR可选参数,增强语句可读性。statment指定分析的DM
给用户赋权 的语法 grant
功能描述将系统权限或角色授予给用户或其他角色。SYS用户对象的权限在没有授予用户或角色时,用户不可以将SYS用户对象的权限授予其他用户或角色。注意事项如果是授权系统权限,执行该语句的用户需要满足如下条件之一:已授权该系统权限,并有WITHADMINOPTION属性。已授权GRANTANYPRIVIL
利用undo表空间的保留特性,闪回表 语法:flashback table
功能描述在人为操作或应用程序错误时,使用FLASHBACKTABLE语句恢复表到一个早期状态。表可以闪回到过去的时间点,这依赖于系统中撤销数据的数据量。此外,GaussDB100数据库不能恢复到通过任何DDL操作改变了表结构的早期状态。注意事项执行该语句的用户需要有FLASHBACK权限;如果是其他
删除表空间的语法 drop tablespace
功能描述删除tablespace。注意事项执行该语句的用户需要有DROPTABLESPACE系统权限。offline的表空间必须在数据库open模式删除。不能删除system、undo、临时表空间。MOUNT模式下,删除表空间主备机不会自动同步,需要在主备机所有节点手动执行。语法格式DROPTABL
删除视图的语法 drop view
功能描述删除视图。注意事项用户能删除自己的视图,删除其他用户的视图,需要DROPANYVIEW权限,普通用户不可以删除系统用户对象。数据库重启回滚期间不支持该操作。语法格式DROPVIEW[IFEXISTS][schema_name.]view_name参数说明IFEXISTS视图存在,则执行删除。
删除同义词 drop synonym
功能描述删除同义词。注意事项用户能删除自己schema下的同义词;删除其他用户下的同义词,需要DROPANYSYNONYM权限;删除公共同义词,需要DROPPUBLICSYNONYM权限;系统当前仅支持删除公共同义词,普通用户不可以删除系统用户对象。删除同义词时,指定同义词名字。当同义词不存在,忽略
删除用户的语法 drop user
功能描述删除一个已经存在的数据库用户。注意事项执行该语句的用户需要有DROPUSER系统权限。如果指定的用户不存在,且没有指定ifexists选项,会提示错误信息:usernamedoesnotexist。数据库重启回滚期间不支持该操作。单用户名下对象不超过5万个,建议先删除该用户创建的数据表对象,
删除sql映射 drop sql_map
功能描述删除一个SQL映射。注意事项执行该语句的用户无需授予系统权限。语法格式DROPSQL_MAP[IFEXISTS](src_select)参数说明IFEXISTSSQL映射不存在时也能删除成功。src_select源SQL语句。示例打开SQL映射功能开关。altersystemsetenabl
删除表的语法 drop table
功能描述删除表。注意事项用户能删除自己的表;删除其他用户下的表,需要DROPANYTABLE权限,普通用户不可以删除系统用户对象。开启回收站功能时,删除表并不会立即把表中记录删除,而是将表重命名置recycle标记,并放入回收站。此时还可以通过flashback命令回退。system表空间下的表不支
删除角色权限的语法 drop role
功能描述删除数据库中的角色。如果角色不存在,会提示错误信息。角色被删除时,将该角色具有的权限从被授予该角色的用户或者其他角色上回收。注意事项执行该语句的用户需要有DROPANYROLE系统权限,或者是该角色的创建者,或者被授予该角色并携带WITHADMINOPTION属性。角色名必须存在,否则报错。
删除配置文件的命令 drop profile
功能描述删除配置档案。注意事项执行该语句的用户需要有DROPPROFILE系统权限。PROFILE被用户引用时,直接删除PROFILE会失败,需要使用CASCADE选项。当PROFILE不存在,删除失败。使用CASCADE删除PROFILE后,用户重新和defaultPROFILE绑定。defaul
drop index 删除索引语法
功能描述删除索引。注意事项如果删除当前用户的索引,不需要授予额外权限。如果要删除其他用户的索引,当前用户需要被授予DROPANYINDEX系统权限,普通用户不可以删除系统用户对象。数据库重启回滚期间不支持该操作。语法格式DROPINDEX[IFEXISTS][schema_name.]index_n
delete 删除表数据
功能描述从表中删除行。注意事项执行该语句的用户需要有表的DELETE权限或者DELETEANYTABLE的系统权限。DELETE事务提交是默认关闭的。会话退出时,需要显式COMMIT,否则记录将丢失。语法格式从表中删除行。DELETEFROM[schema_name.]table_name[WHER
GaussDB T 其他函数GET_SHARED_LOCK
GET_SHARED_LOCK语法:GET_SHARED_LOCK(name_expr[,timeout_expr])功能:GET_SHARED_LOCK()为一个会话获取一把锁名为name_expr的共享咨询锁,之后另一个会话也可调用GET_SHARED_LOCK()获取该同名锁;如果该锁已被其他
GaussDB T 其他函数TRY_GET_LOCK
TRY_GET_LOCK语法:TRY_GET_LOCK(name_expr)功能:TRY_GET_LOCK(name_expr)为一个会话尝试获取一把锁名为name_expr的排他咨询锁(exclusiveadvisorylock),若获取成功返回TRUE,之后另一个会话若也调用TRY_GET_LO
GaussDB T 其他函数G篇
GET_LOCK语法:GET_LOCK(name_expr[,timeout_expr])功能:GET_LOCK()为一个会话获取一把锁名为name_expr的咨询锁(advisorylock),之后另一个会话若也调用GET_LOCK()尝试获取同名锁时,将会等待timeout_expr所指定的秒数