GBase 8c V3.0.0数据类型——访问权限查询函数

DDL类权限ALTER、DROP、COMMENT、INDEX、VACUUM属于所有者固有的权限,隐式拥有。

l has_any_column_privilege(user, table, privilege)

描述:指定用户是否有访问表任何列的权限。

表  参数类型说明

参数名

合法入参类型

user

name, oid

table

text, oid

privilege

text

返回类型:Boolean

l has_any_column_privilege(table, privilege)

描述:当前用户是否有访问表任何列的权限,合法参数类型见表5-12。

返回类型:Boolean

备注:has_any_column_privilege检查用户是否以特定方式访问表的任何列。其参数可能与has_table_privilege类似,除了访问权限类型必须是SELECT、INSERT、UPDATE、COMMENT或REFERENCES的一些组合。

拥有表的表级别权限则隐含的拥有该表每列的列级权限,因此如果与has_table_privilege参数相同,has_any_column_privilege总是返回true。但是如果授予至少一列的列级权限也返回成功。

l has_column_privilege(user, table, column, privilege)

描述:指定用户是否有访问列的权限。

表 参数类型说明

参数名

合法入参类型

user

name, oid

table

text, oid

column

text, smallint

privilege

text

返回类型:Boolean

l has_column_privilege(table, column, privilege)

描述:当前用户是否有访问列的权限,合法参数类型见表5-13。

返回类型:Boolean

备注:has_column_privilege检查用户是否以特定方式访问一列。其参数类似于has_table_privilege,可以通过列名或属性号添加列。想要的访问权限类型必须是SELECT、INSERT、UPDATE、COMMENT或REFERENCES的一些组合。

拥有表的表级别权限则隐含的拥有该表每列的列级权限。

l has_cek_privilege(user, cek, privilege)

描述:指定用户是否有访问列加密密钥CEK的权限。参数说明如下。

表 参数类型说明

参数名

合法入参类型

描述

取值范围

user

name,oid

用户

用户名字或id。

cek

text,oid

列加密密钥

列加密密钥名称或id。

privilege

text

权限

l USAGE:允许使用指定列加密密钥。

l DROP:允许删除指定列加密密钥。

返回类型:Boolean

l has_cmk_privilege(user, cmk, privilege)

描述:指定用户是否有访问客户端加密主密钥CMK的权限。参数说明如下。

表  参数类型说明

参数名

合法入参类型

描述

取值范围

user

name,oid

用户

用户名字或id。

cmk

text,oid

客户端加密主密钥

客户端加密主密钥名称或id。

privilege

text

权限

USAGE:允许使用指定客户端加密主密钥。

DROP:允许删除指定客户端加密主密钥。

返回类型:Boolean

l has_database_privilege(user, database, privilege)

描述:指定用户是否有访问数据库的权限。参数说明如下。

表 参数类型说明

参数名

合法入参类型

user

name, oid

database

text, oid

privilege

text

返回类型:Boolean

l has_database_privilege(database, privilege)

描述:当前用户是否有访问数据库的权限,合法参数类型请参见表5-16。

返回类型:Boolean

备注:has_database_privilege检查用户是否能以在特定方式访问数据库。其参数类似has_table_privilege。访问权限类型必须是CREATE、CONNECT、TEMPORARY、ALTER、DROP、COMMENT或TEMP(等价于TEMPORARY)的一些组合。

l has_directory_privilege(user, directory, privilege)

描述:指定用户是否有访问directory的权限。

  参数类型说明

参数名

合法入参类型

user

name, oid

directory

text, oid

privilege

text

返回类型:Boolean

l has_directory_privilege(directory, privilege)

描述:当前用户是否有访问directory的权限,合法参数类型请参见表5-17。

返回类型:Boolean

l has_foreign_data_wrapper_privilege(user, fdw, privilege)

描述:指定用户是否有访问外部数据封装器的权限。

表  参数类型说明

参数名

合法入参类型

user

name, oid

fdw

text, oid

privilege

text

返回类型:Boolean

l has_foreign_data_wrapper_privilege(fdw, privilege)

描述:当前用户是否有访问外部数据封装器的权限。合法参数类型请参见表5-18。

返回类型:Boolean

备注:has_foreign_data_wrapper_privilege检查用户是否能以特定方式访问外部数据封装器。其参数类似has_table_privilege。访问权限类型必须是USAGE。

l has_function_privilege(user, function, privilege)

描述:指定用户是否有访问函数的权限。

表 参数类型说明

参数名

合法入参类型

user

name, oid

function

text, oid

privilege

text

返回类型:Boolean

l has_function_privilege(function, privilege)

描述:当前用户是否有访问函数的权限。合法参数类型请参见表5-19。

返回类型:Boolean

备注:has_function_privilege检查一个用户是否能以指定方式访问一个函数。其参数类似has_table_privilege。使用文本字符而不是OID声明一个函数时,允许输入的类型和regprocedure数据类型一样(请参考对象标识符类型)。访问权限类型必须是EXECUTE、ALTER、DROP或COMMENT。

l has_language_privilege(user, language, privilege)

描述:指定用户是否有访问语言的权限。

表 参数类型说明

参数名

合法入参类型

user

name, oid

language

text, oid

privilege

text

返回类型:Boolean

l has_language_privilege(language, privilege)

描述:当前用户是否有访问语言的权限。合法参数类型请参见表5-20。

返回类型:Boolean

备注:has_language_privilege检查用户是否能以特定方式访问一个过程语言。其参数类似has_table_privilege。访问权限类型必须是USAGE。

l has_nodegroup_privilege(user, nodegroup, privilege)

描述:检查用户是否有数据库节点访问权限。

返回类型:Boolean

表 参数类型说明

参数名

合法入参类型

user

name, oid

nodegroup

text, oid

privilege

text

l has_nodegroup_privilege(nodegroup, privilege)

描述:检查用户是否有数据库节点访问权限。参数与has_table_privilege类似。访问权限类型必须是USAGE、CREATE、COMPUTE、ALTER或CROP。

返回类型:Boolean

l has_schema_privilege(user, schema, privilege)

描述:指定用户是否有访问模式的权限。

返回类型:Boolean

l has_schema_privilege(schema, privilege)

描述:当前用户是否有访问模式的权限。

返回类型:Boolean

备注:has_schema_privilege检查用户是否能以特定方式访问一个模式。其参数类似has_table_privilege。访问权限类型必须是CREATE、USAGE、ALTER、DROP或COMMENT的一些组合。

l has_server_privilege(user, server, privilege)

描述:指定用户是否有访问外部服务的权限。

返回类型:Boolean

l has_server_privilege(server, privilege)

描述:当前用户是否有访问外部服务的权限。

返回类型:Boolean

备注:has_server_privilege检查用户是否能以指定方式访问一个外部服务器。其参数类似has_table_privilege。访问权限类型必须是USAGE、ALTER、DROP或COMMENT之一的值。

l has_table_privilege(user, table, privilege)

描述:指定用户是否有访问表的权限。

返回类型:Boolean

l has_table_privilege(table, privilege)

描述:当前用户是否有访问表的权限。

返回类型:Boolean

备注:has_table_privilege检查用户是否以特定方式访问表。用户可以通过名称或OID(pg_authid.oid)来指定,public表明PUBLIC伪角色,或如果缺省该参数,则使用current_user。该表可以通过名称或者OID声明。如果用名称声明,则在必要时可以用模式进行修饰。如果使用文本字符串来声明所希望的权限类型,这个文本字符串必须是SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、TRIGGER、ALTER、DROP、COMMENT、INDEX或VACUUM之一的值。可以给权限类型添加WITH GRANT OPTION,用来测试权限是否拥有授权选项。也可以用逗号分隔列出的多个权限类型,如果拥有任何所列出的权限,则结果便为true。

示例:

 gbase=# SELECT has_table_privilege('public.web_site', 'select');

 has_table_privilege  

---------------------

 t

(1 row)

    

gbase=# SELECT has_table_privilege('gbase', 'public.web_site', 'select,INSERT WITH GRANT OPTION ');

 has_table_privilege  

---------------------

 t

(1 row)

l has_tablespace_privilege(user, tablespace, privilege)

描述:指定用户是否有访问表空间的权限。

返回类型:Boolean

l has_tablespace_privilege(tablespace, privilege)

描述:当前用户是否有访问表空间的权限。

返回类型:Boolean

备注:has_tablespace_privilege检查用户是否能以特定方式访问一个表空间。其参数类似has_table_privilege。访问权限类型必须是CREATE、ALTER、DROP或COMMENT之一的值。

l pg_has_role(user, role, privilege)

描述:指定用户是否有角色的权限。

返回类型:Boolean

l pg_has_role(role, privilege)

描述:当前用户是否有角色的权限。

返回类型:Boolean

备注:pg_has_role检查用户是否能以特定方式访问一个角色。其参数类似has_table_privilege,除了public不能用做用户名。访问权限类型必须是MEMBER或USAGE的一些组合。 MEMBER表示的是角色中的直接或间接成员关系(也就是SET ROLE的权限),而USAGE表示无需通过SET ROLE也直接拥有角色的使用权限。

l has_any_privilege(user, privilege)

描述:指定用户是否有某项ANY权限,若同时查询多个权限,只要具有其中一个则返回true。

返回类型:Boolean

表 参数类型说明

参数名

合法入参类型

描述

取值范围

user

name

用户

已存在的用户名。

privilege

text

ANY权限

可选取值:

CREATE ANY TABLE [WITH ADMIN OPTION]

ALTER ANY TABLE [WITH ADMIN OPTION]

DROP ANY TABLE [WITH ADMIN OPTION]

SELECT ANY TABLE [WITH ADMIN OPTION]

INSERT ANY TABLE [WITH ADMIN OPTION]

UPDATE ANY TABLE [WITH ADMIN OPTION]

DELETE ANY TABLE [WITH ADMIN OPTION]

CREATE ANY SEQUENCE [WITH ADMIN OPTION]

CREATE ANY INDEX [WITH ADMIN OPTION]

CREATE ANY FUNCTION [WITH ADMIN OPTION]

EXECUTE ANY FUNCTION [WITH ADMIN OPTION]

CREATE ANY PACKAGE [WITH ADMIN OPTION]

EXECUTE ANY PACKAGE [WITH ADMIN OPTION]

CREATE ANY TYPE [WITH ADMIN OPTION]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要导入表数据gbase 8c数据库,可以使用以下步骤: 1. 准备数据库和表结构: 在gbase 8c中创建数据库和表结构,确保表结构与要导入的数据匹配。 2. 准备数据文件: 将要导入的数据保存为文本文件,确保数据文件的格式与表结构中的列对应。 3. 使用gbase 8c命令行工具: 打开gbase 8c命令行工具,登录到数据库。 4. 使用load data命令: 在gbase 8c命令行工具中使用load data命令导入数据。例如,假设要导入的数据文件名为data.txt,表名为table1,可以使用以下命令导入数据: ``` load data local infile 'data.txt' into table table1; ``` 这将把data.txt文件中的数据导入到table1表中。 5. 检查导入结果: 导入完成后,可以使用select语句检查已导入的数据是否正确。例如,可以使用以下命令检查table1表中的数据: ``` select * from table1; ``` 如果数据导入成功,将会显示导入的数据。 需要注意的是,导入数据时需要确保数据文件的格式与表结构的列对应,否则可能会导致导入失败或数据错误。此外,还可以使用其他方法如使用ETL工具或编写脚本来导入数据,在实际操作中可以根据具体需求选择合适的方法。 ### 回答2: 要导入gbase 8c的表数据,可以按照以下步骤进行操作: 1. 首先,在gbase 8c的客户端工具中登录到目标数据库。 2. 使用 "source" 命令指定表数据的来源文件路径。例如,假设表数据文件名为 "data.txt",该文件位于 "/home/user/data/" 目录下,则可以使用以下命令导入数据: `source /home/user/data/data.txt;` 3. 确保指定的数据文件路径和文件名正确,并且文件可以在当前登录的服务器上访问。 4. 执行以上命令后,gbase 8c将开始导入数据。可以使用 "show processlist;" 命令来查看导入进程的状态和进度。 5. 导入过程中,可以根据需要设置导入的配置选项,如并发线程数、批量提交大小等,以优化导入性能。具体的配置选项可以在导入命令之前设置。 需要注意的是,导入数据过程中需要确保表结构与数据文件的格式相匹配,否则可能导致导入失败或数据错误。在导入之前,可以使用DESCRIBE命令来查看表的结构信息,以确保数据文件与表结构一致。 另外,还可以使用其他工具或脚本来导入数据,如使用LOAD DATA命令、使用ETL工具等。在选择合适的导入方式时,可以根据实际需求和具体情况进行选择。 ### 回答3: gbase 8c 是一个关系型数据库管理系统,用于存储和管理数据。要导入表数据gbase 8c 数据库中,可以按照以下步骤进行操作: 1. 准备数据文件:首先,需要准备一个包含要导入的数据的文件,可以是 CSV、TXT 或其他格式的文件。确保文件的格式符合 gbase 8c 数据库的要求。 2. 创建目标表:在 gbase 8c 数据库中,首先需要创建一个目标表,用于存储导入的数据。可以使用 gbase 8c 提供的 CREATE TABLE 语句来创建表,定义表的结构和列的属性。 3. 导入表数据:接下来,可以使用 gbase 8c 提供的 LOAD DATA 语句来导入表数据。该语句的基本语法如下: LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'data_file' [REPLACE | IGNORE] INTO TABLE tbl_name [PARTITION (partition_name[, partition_name] ...)] [IGNORE number {LINES | ROWS}] [SET col_name = expr, ...] 在语法中,data_file 为前面准备的数据文件的路径和文件名,tbl_name 为目标表的名称。语句中的其他参数根据需求进行设置。例如,可以使用 IGNORE 关键字来忽略数据文件中的错误行。 4. 等待导入完成:一旦执行 LOAD DATA 语句,系统将开始导入表数据。根据数据文件的大小和服务器的性能,导入时间可能会有所不同。在导入过程中,请耐心等待,直到导入完成。 需要注意的是,在导入表数据之前,请确保数据文件中的数据与表的结构相匹配,以避免错误或数据丢失。另外,还可以根据需要调整 LOAD DATA 语句中的参数,以满足特定的导入需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值