华为云用户手册

  • 参数描述 IF EXISTS 如果该用户映射不存在则不要抛出一个错误,而是发出一个提示。 与很多语句不同的是,IF EXISTS参数只用于DROP USER MAPPING语句,CREATE USER MAPPING语句使用该参数时会报语法错误。 user_name 该映射的用户名。 CURRENT_USER和USER匹配当前用户的名称。PUBLIC被用来匹配系统中所有现存和未来的用户名。 server_name 用户映射的服务器名。
  • JSON/JSONB支持的函数 array_to_json(anyarray [, pretty_bool]) 描述:返回JSON类型的数组。将一个多维数组转换为一个JSON数组。如果pretty_bool为true,将在一维元素之间添加换行符。 返回类型:json 示例: gaussdb=# SELECT array_to_json('{{1,5},{99,100}}'::int[]); array_to_json ------------------ [[1,5],[99,100]] (1 row) row_to_json(record [, pretty_bool]) 描述:返回JSON类型的行。如果pretty_bool为true,将在第一级元素之间添加换行符。 返回类型:json 示例: gaussdb=# SELECT row_to_json(row(1,'foo')); row_to_json --------------------- {"f1":1,"f2":"foo"} (1 row)
  • 几何函数 area(object) 描述:计算图形的面积。 返回类型:double precision 示例: 1 2 3 4 5 gaussdb=# SELECT area(box '((0,0),(1,1))') AS RESULT; result -------- 1 (1 row) center(object) 描述:计算图形的中心。 返回类型:point 示例: 1 2 3 4 5 gaussdb=# SELECT center(box '((0,0),(1,2))') AS RESULT; result --------- (0.5,1) (1 row) diameter(circle) 描述:计算圆的直径。 返回类型:double precision 示例: 1 2 3 4 5 gaussdb=# SELECT diameter(circle '((0,0),2.0)') AS RESULT; result -------- 4 (1 row) height(box) 描述:矩形的竖直高度。 返回类型:double precision 示例: 1 2 3 4 5 gaussdb=# SELECT height(box '((0,0),(1,1))') AS RESULT; result -------- 1 (1 row) isclosed(path) 描述:图形是否为闭合路径。 返回类型:Boolean 示例: 1 2 3 4 5 gaussdb=# SELECT isclosed(path '((0,0),(1,1),(2,0))') AS RESULT; result -------- t (1 row) isopen(path) 描述:图形是否为开放路径。 返回类型:Boolean 示例: 1 2 3 4 5 gaussdb=# SELECT isopen(path '[(0,0),(1,1),(2,0)]') AS RESULT; result -------- t (1 row) length(object) 描述:计算图形的长度。 返回类型:double precision 示例: 1 2 3 4 5 gaussdb=# SELECT length(path '((-1,0),(1,0))') AS RESULT; result -------- 4 (1 row) npoints(path) 描述:计算路径的顶点数。 返回类型:int 示例: 1 2 3 4 5 gaussdb=# SELECT npoints(path '[(0,0),(1,1),(2,0)]') AS RESULT; result -------- 3 (1 row) npoints(polygon) 描述:计算多边形的顶点数。 返回类型:int 示例: 1 2 3 4 5 gaussdb=# SELECT npoints(polygon '((1,1),(0,0))') AS RESULT; result -------- 2 (1 row) pclose(path) 描述:把路径转换为闭合路径。 返回类型:path 示例: 1 2 3 4 5 gaussdb=# SELECT pclose(path '[(0,0),(1,1),(2,0)]') AS RESULT; result --------------------- ((0,0),(1,1),(2,0)) (1 row) popen(path) 描述:把路径转换为开放路径。 返回类型:path 示例: 1 2 3 4 5 gaussdb=# SELECT popen(path '((0,0),(1,1),(2,0))') AS RESULT; result --------------------- [(0,0),(1,1),(2,0)] (1 row) radius(circle) 描述:计算圆的半径。 返回类型:double precision 示例: 1 2 3 4 5 gaussdb=# SELECT radius(circle '((0,0),2.0)') AS RESULT; result -------- 2 (1 row) width(box) 描述:计算矩形的水平尺寸。 返回类型:double precision 示例: 1 2 3 4 5 gaussdb=# SELECT width(box '((0,0),(1,1))') AS RESULT; result -------- 1 (1 row)
  • PG_RLSPOLICIES PG_RLSPOLICIES视图显示行级访问控制策略的信息。初始化用户和具有sysadmin属性的用户可以查看全部的策略信息,其他用户只能查看自己所拥有表上的策略信息。 表1 PG_RLSPOLICIES字段 名称 类型 描述 schemaname name 行级访问控制策略作用的表对象所属的模式名称。 tablename name 行级访问控制策略作用的表对象名称。 policyname name 行级访问控制策略名称。 policypermissive text 行级访问控制策略的表达式拼接方式,可选取值有: PERMISSIVE:宽容性策略,用OR表达式拼接。 RESTRICTIVE:限制性策略,用AND表达式拼接。 policyroles name[] 行级访问控制策略影响的用户列表,不指定表示影响所有的用户。 policycmd text 行级访问控制策略影响的SQL操作。 policyqual text 行级访问控制策略的表达式。 父主题: 用户和权限管理
  • ADM_ARGUMENTS ADM_ARGUMENTS视图显示所有存储过程和函数的参数信息。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_ARGUMENTS字段 名称 类型 描述 owner character varying(128) 函数或存储过程的所有者。 object_name character varying(128) 函数或存储过程的名称。 object_id oid 函数或存储过程的oid。 overload character varying(40) 表示该函数是该名称的第n个重载函数。 subprogram_id numeric 暂不支持,值为NULL。 argument_name character varying(128) 参数名称。 position numeric 该参数在参数列表中的位置。函数返回值的位置默认为0。 sequence numeric 定义参数的顺序。从1开始,返回类型在前,然后是每个参数。 data_level numeric 此列的值始终为0,因为每个参数现只显示一行。 data_type character varying(30) 参数的数据类型。 defaulted character varying(1) 参数是否有默认值。 Y:有默认值。 N:没有默认值。 default_value text 暂不支持,值为NULL。 default_length numeric 暂不支持,值为NULL。 in_out character varying(9) 参数出入属性。 IN:入参。 OUT:出参。 IN_OUT:出入参。 VARIADIC:VARIADIC参数。 data_length numeric 暂不支持,值为NULL。 data_precision numeric 暂不支持,值为NULL。 data_scale numeric 暂不支持,值为NULL。 radix numeric 数字的参数基数。smallint、integer、bigint、numeric、float为10,其余值为NULL。 character_set_name character varying(44) 暂不支持,值为NULL。 type_owner character varying(128) 数据类型所有者。 type_name character varying(128) 参数类型名。 type_subname character varying(128) 暂不支持,值为NULL。 type_link character varying(128) 暂不支持,值为NULL。 type_object_type character varying(7) 由type_owner、type_name和type_subname列描述的类型的类型: TABLE:参数为表类型。 VIEW:参数为视图类型。 其余值为NULL。 pls_type character varying(128) 对于数字类型参数,为参数的PL/SQL类型的名称,否则为空。 char_length numeric 暂不支持,值为NULL。 char_used character varying(1) 暂不支持。 B:varchar,nvarchar2,bpchar,char类型。 NULL:其余类型。 origin_con_id character varying(256) 暂不支持,值为0。 父主题: 其他系统视图
  • 接口介绍 服务于ILM策略实施,实现ILM策略的评估以及压缩Job的停用接口。 表1 DBE_ILM 接口名称 描述 EXECUTE_ILM 根据参数执行对指定的数据和ILM策略进行评估,评估通过则会生成对应的压缩Job。 STOP_ILM 根据参数停止正在执行的压缩Job。 DBE_ILM.EXECUTE_ILM 根据参数执行对于的ILM策略,原型为: 1 2 3 4 5 6 7 DBE_ILM.EXECUTE_ILM ( schema_name IN VARCHAR2, object_name IN VARCHAR2, task_id OUT Oid, subobject_name IN VARCHAR2 DEFAULT NULL, policy_name IN VARCHAR2 DEFAULT ILM_ALL_POLICIES, execution_mode IN NUMBER DEFAULT ILM_EXECUTION_ONLINE); 表2 DBE_ILM.EXECUTE_ILM接口参数说明 参数 描述 schema_name 对象所属Schema。 object_name 对象名称。 task_id 输出生成ADO task的描述符ID。 subobject_name 数据子对象名称。 policy_name 策略名称,通过查询GS_ADM_ILMOBJECTS视图可知,默认DBE_ILM.ILM_ALL_POLICIES代表该对象上所有策略。 execution_mode 执行模式,本期不涉及在线模式(ILM_EXECUTION_ONLINE)或离线模式(ILM_EXECUTION_OFFLINE)。 DBE_ILM.STOP_ILM 根据参数停止正在执行的ILM策略,原型为: 1 2 3 4 DBE_ILM.STOP_ILM ( TASK_ID IN NUMBER DEFAULT -1, P_DROP_RUNNING_JOBS IN BOOLEAN DEFAULT FALSE, P_JOBNAME IN VARCHAR2 DEFAULT NULL); 表3 DBE_ILM.STOP_ILM接口参数说明 参数 描述 TASK_ID ADO task的描述符ID。 P_DROP_RUNNING_JOBS 是否停止正在执行中的任务,true为强制停止,false为不停止正在执行的任务。 P_JOBNAME 任务名称。 当并发量较大时,执行DBE_ILM.STOP_ILM可能会提示资源繁忙,稍后重试即可。提示内容为“Resources are busy, please try again later”。
  • PG_STAT_USER_INDEXES PG_STAT_USER_INDEXES视图显示数据库中用户自定义普通表和toast表的索引状态信息。具体字段信息如表1所示。 表1 PG_STAT_USER_INDEXES字段 名称 类型 描述 relid oid 该索引所在的表的OID。 indexrelid oid 索引的OID。 schemaname name 索引的模式名。 relname name 索引的表名。 indexrelname name 索引名。 idx_scan bigint 索引上开始的索引扫描数。 idx_tup_read bigint 该索引上扫描返回的索引项数。 idx_tup_fetch bigint 使用该索引的简单索引扫描在原表中抓取的活跃行数。 父主题: 其他系统视图
  • GS_STAT_XACT_ALL_PARTITIONS GS_STAT_XACT_ALL_PARTITIONS视图显示命名空间中所有分区表分区的事务状态信息,此视图信息通过gs_stat_get_xact_all_partitions_stats()函数查询。 表1 GS_STAT_XACT_ALL_PARTITIONS字段 名称 类型 描述 partition_oid oid 分区的OID。 schemaname name 该分区的模式名。 relname name 该分区所在表的表名。 partition_name name 该分区所在一级分区名。 sub_partition_name name 该分区所在二级分区名。 seq_scan bigint 该分区发起的顺序扫描数。 seq_tup_read bigint 顺序扫描抓取的活跃行数。 idx_scan bigint 该分区发起的索引扫描数。 idx_tup_fetch bigint 索引扫描抓取的活跃行数。 n_tup_ins bigint 插入行数。 n_tup_upd bigint 更新行数。 n_tup_del bigint 删除行数。 n_tup_hot_upd bigint 热更新行数(比如没有更新所需的单独索引)。 父主题: 分区表
  • PG_PLTEMPLATE PG_PLTEMPLATE系统表存储过程语言的“模板”信息。 表1 PG_PLTEMPLATE字段 名称 类型 描述 tmplname name 这个模板所应用的语言的名称。 tmpltrusted boolean 如果语言被认为是可信的,则为真。否则为假。 tmpldbacreate boolean 如果语言是由数据库所有者创建的,则为真。否则为假。 tmplhandler text 调用处理器函数的名称。 tmplinline text 匿名块处理器的名称,若没有则为NULL。 tmplvalidator text 校验函数的名称,如果没有则为NULL。 tmpllibrary text 实现语言的共享库的路径。 tmplacl aclitem[] 模板的访问权限(未使用)。 父主题: 其他系统表
  • ASP报告信息 表1 Report Header信息 列名称 描述 Start Time 开始时间。 End Time 结束时间。 Slot Count 指标展示时分割的时间段的个数。 Elapsed Time 生成报告的时间段。 Sample Count 生成ASP报告的总的样本数。 Slice Count 总的采样次数。 Average Active Sessions 平均活跃会话数。 Boundary Time 内存中样本和磁盘样本的分割时间点。 Data Source 生成ASP报告的样本中,来自内存中的样本数和来自磁盘上的样本数。 表2 System Load信息 列名称 描述 Host Node Name 节点名称。 CPUs CPU核心总量。 Cores 单个CPU核心数量。 Sockets CPU插槽数量。 Physical Memory 内存大小。 GaussDB Version GaussDB Kernel版本。 表3 Top Client信息 列名称 描述 Client Addr 客户端地址。 User Id 用户id。 Application Name 客户端连接程序名称。 %Activity 活跃百分比(活跃会话总数/样本数量)。 Avg Active Sessions 平均活跃数量(活跃会话总数/切面个数)。 表4 Active sessions信息 列名称 描述 sample_time(x_axis) 采样时间。 count(y_axis) 采样事件数量。 表5 Top Events Summary信息 列名 描述 Wait Status wait status名称。 Wait Status Count wait status数量。 %Wait Status wait status百分比(wait status数量/样本数量)。 Avg Active Session wait status平均活跃会话数(wait status数量/切面数量)。 Event wait event名称。 Event Count wait event数量。 表6 Top Events Graph信息 列名 描述 smaple_time(x_axis) 采样时间。 count(y_axis) 采样事件数量。 表7 Top Sessions with Top event信息 列名 描述 Session Id 会话id。 Session Start 会话开始事件。 Session Count 活跃会话数量。 %Activity 活跃百分比(活跃会话总数/样本数量)。 User Id 用户id。 Application Name 连接程序名称。 Client Addr 客户端地址。 Client Port 客户端端口信息。 Event 活跃会话事件。 Event Count 该会话的wait event的数量。 %Event 会话事件百分比(事件数量/样本数量)。 表8 Top Sessions with Top event split by slots信息 列名 描述 Slot time 分片时间。 Session Id 会话id。 Session Start 会话开始事件。 Session Count 会话事件数量。 %Activity 活跃百分比(活跃会话总数/样本数量)。 User Id 用户id。 Application Name 连接程序名称。 Client Addr 客户端地址。 Client Port 客户端端口信息。 Event 活跃会话事件。 Event Count 该会话的wait event的数量。 %Event 会话事件百分比(事件数量/样本数量)。 表9 Top Sessions with Top SQL信息 列名 描述 Session Id 会话id。 Session Start 会话开始事件。 Session Count 会话事件数量。 %Activity 活跃百分比。 User Id 用户id。 Application Name 连接程序名称。 Client Addr 客户端地址。 Client Port 客户端端口信息。 SQL Id sqlid。 Node Id 节点id。 SQL Text SQL语句。 表10 Top Sessions with Top SQL split by slots信息 列名 描述 Slot Time 分片时间。 Session Id 会话id。 Session Start 会话开始事件。 Session Count 会话事件数量。 %Activity 活跃百分比(活跃会话总数/样本数量)。 User Id 用户id。 Application Name 连接程序名称。 Client Addr 客户端地址。 Client Port 客户端端口信息。 SQL Id SQL id。 Node Id 节点id。 SQLText SQL语句。 表11 Top final blocking sessions with Top event split by slots信息 列名 描述 Slot Time 分片时间。 Final Blocking Session Id 阻塞会话id。 Session Start 持锁会话开始时间。 Blocked count 被该会话阻塞的会话的数量。 Blocked%Activity 阻塞会话占活跃会话百分比(阻塞会话总数/样本数量)。 Event Caused final Blocking Session等待事件。 Event Caused Count final Blocking Session等待事件的数量。 %Event 等待事件百分比(等待事件数量/样本数量)。 PID 线程id。 User Id 用户id。 Application Name 连接程序名称。 Client Addr 客户端地址。 Client Port 客户端端口信息。 Xact Start Time 持锁事务开始时间。 Global Session Id 全局会话id。 表12 Top blocked sessions with Top SQL split by slots信息 列名 描述 Slot Time 分片时间。 Lock Tag 锁tag。 Lock Mode 锁模式。 Waiting Session Count 等待会话数。 Waiting Session Id 等锁会话id。 Session Start 等锁会话开始时间。 Session Count 等锁会话数量。 Block Session Id 阻塞会话id。 Final Block Session Id 阻塞队列头部会话id。 PID 线程id。 User Id 用户id。 Application Name 连接程序名称。 Client Addr 客户端地址。 Client Port 客户端端口信息。 Xact Start Time 持锁事务开始时间。 Global Session Id 全局会话id。 SQL Id SQL id。 Query Start SQL开始的时间。 SQL Count SQL的数量。 Node Id 节点id。 SQL Text SQL语句。 表13 Top SQL with Top event信息 列名 描述 SQL Id SQL id。 Node Id 节点id。 User Id 用户id。 Count 会话事件数量。 %Activity 活跃百分比(SQL会话总数/样本数量)。 Event 活跃会话事件。 Event Count wait event数量。 %Event 会话事件百分比(SQL事件数量/样本数量)。 SQL Text SQL语句。 表14 Top SQL with Top event split by slots信息 列名 描述 Slot Time 分片时间。 SQL Id SQL id。 Node Id 节点id。 User Id 用户id。 Count 会话事件数量。 %Activity 活跃百分比(SQL会话总数/样本数量)。 Event 活跃会话事件。 Event Count wait event数量。 %Event 会话事件百分比(SQL事件数量/样本数量)。 SQL Text SQL语句。 表15 Top SQL Text信息 列名 描述 SQL Id SQL id。 Node Id 节点id。 User Id 用户id。 SQL Text SQL语句。 父主题: 附录
  • 设置回调 设置回调操作,当告警或者错误发生时,直接执行具体操作进行处理,设置回调命令如下: EXEC SQL WHENEVER condition action; condition取值范围: SQLERROR:当在SQL语句执行期间发生错误时,调用指定操作。 SQLWARNING:当在SQL语句执行期间发生告警时,调用指定操作。 NOT FOUND:当SQL语句检索或者影响为零行时,调用指定操作。 action取值范围: CONTINUE:忽略回调错误条件,继续执行,通常可以用来停止break包含条件,为缺省值。 GOTO label/GO TO label:跳转到指定标签(使用C语言goto语句)。 SQLPRINT:输出消息到标准错误。 STOP:调用exit(1),终止程序。 DO BREAK:执行C语句break,只能在循环中或者switch语句中使用。 示例如下: /* 当出现一个告警时它打印一个消息,发生一个错误时中止程序。 */ EXEC SQL WHENEVER SQLWARNING SQLPRINT; EXEC SQL WHENEVER SQLERROR STOP; 语句EXEC SQL WHENEVER是SQL预处理器的一个指令,而非一个C语言语句。不管C语言程序的流程如何,该语句设置的错误或告警动作都适用于位于处理程序设置点之后的嵌入式SQL语句,除非第一个EXEC SQL WHENEVER语句和导致错误或告警情况发生的SQL语句之间为同一个情况设置了不同的动作。因此下面的两个C语言程序都不会得到预期的效果: /* * 错误 */ void func() { ... if (verbose) { EXEC SQL WHENEVER SQLWARNING SQLPRINT; } ... EXEC SQL SELECT ...; ... } /* * 错误 */ void func() { ... set_error_handler(); ... EXEC SQL SELECT ...; ... } static void set_error_handler(void) { EXEC SQL WHENEVER SQLERROR STOP; } 当使用DO BREAK时只能用于while/for/switch场景,且用完需要使用CONTINUE语句忽略。 父主题: 错误处理
  • V$NLS_PARAMETERS V$NLS_PARAMETERS视图显示数据库当前配置的(National Language Support)NLS参数和参数的值。所有用户都可以访问,该视图同时存在于PG_CATALOG和SYS Schema下。 表1 V$NLS_PARAMETERS字段 名称 类型 描述 parameter character varying(64) NLS(National Language Support)参数名。 value character varying(64) NLS(National Language Support)参数的值。 con_id numeric 暂不支持,值为0。 父主题: 其他系统视图
  • PG_FOREIGN_DATA_WRAPPER PG_FOREIGN_DATA_WRAPPER系统表存储外部数据封装器定义。一个外部数据封装器是在外部服务器上驻留外部数据的机制,是可以访问的。 表1 PG_FOREIGN_DATA_WRAPPER字段 名称 类型 引用 描述 oid oid - 行标识符(隐含属性,必须明确选择)。 fdwname name - 外部数据封装器名。 fdwowner oid PG_AUTHID.oid 外部数据封装器的所有者。 fdwhandler oid PG_PROC.oid 引用一个负责为外部数据封装器提供扩展例程的处理函数。如果没有提供处理函数则为零。 fdwvalidator oid PG_PROC.oid 引用一个验证器函数,这个验证器函数负责验证给予外部数据封装器的选项、 外部服务器选项和使用外部数据封装器的用户映射的有效性。 如果没有提供验证器函数则为零。 fdwacl aclitem[] - 访问权限。 fdwoptions text[] - 外部数据封装器指定选项,使用“keyword=value”格式的字符串。 父主题: 其他系统表
  • 创建表 执行如下命令创建表。 1 2 3 4 5 6 7 8 gaussdb=# CREATE TABLE customer_t1 ( c_customer_sk integer, c_customer_id char(5), c_first_name char(6), c_last_name char(8) ) distribute by hash (c_last_name); 当结果显示为如下信息,则表示创建成功。 1 CREATE TABLE 其中c_customer_sk 、c_customer_id、c_first_name和c_last_name是表的字段名,integer、char(5)、char(6)和char(8)分别是这四个字段名称的类型。 默认情况下,新的数据库对象是创建在“$user”模式下。关于模式的更多信息请参见创建和管理schema。 除了创建的表以外,数据库还包含很多系统表。这些系统表包含集群安装信息以及GaussDB上运行的各种查询和进程的信息。可以通过查询系统表来收集有关数据库的信息。请参见查看系统表。 关于创建表的更多信息请参见CREATE TABLE。
  • 注意事项 只有表空间的所有者或者被赋予了表空间ALTER权限的用户有权限执行ALTER TABLESPACE命令,系统管理员默认拥有此权限。但要修改表空间的所有者,当前用户必须是该表空间的所有者或系统管理员,且该用户是new_owner角色的成员。 对行存表的ALTER TABLESPACE操作不支持在事务块中执行。 要修改表空间的所有者A为B,则A必须是B的直接或者间接成员。 如果new_owner与old_owner一致,此处不再校验当前执行操作的用户是否具有修改权限,而直接显示ALTER成功。
  • 示例 重命名表空间。 --创建表空间。 gaussdb=# CREATE TABLESPACE tbs_data1 RELATIVE LOCATION 'tablespace1/tbs_data1'; --重命名表空间。 gaussdb=# ALTER TABLESPACE tbs_data1 RENAME TO tbs_data2; --查询。 gaussdb=# \db tbs_data2 List of tablespaces Name | Owner | Location -----------+-------+----------------------- tbs_data2 | omm | tablespace1/tbs_data1 设置表空间所有者。 --创建用户。 gaussdb=# CREATE USER test PASSWORD '********'; --修改表空间所有者。 gaussdb=# ALTER TABLESPACE tbs_data2 OWNER TO test; --查看。 gaussdb=# \db tbs_data2 List of tablespaces Name | Owner | Location -----------+-------+----------------------- tbs_data2 | test | tablespace1/tbs_data1 (1 row) 设置表空间属性。 --修改seq_page_cost的值。 gaussdb=# ALTER TABLESPACE tbs_data2 SET (seq_page_cost = 10); --查看。 gaussdb=# SELECT * FROM pg_tablespace WHERE spcname = 'tbs_data2'; spcname | spcowner | spcacl | spcoptions | spcmaxsize | relative -----------+----------+--------+--------------------+------------+---------- tbs_data2 | 16778 | | {seq_page_cost=10} | | t (1 row) 重置表空间属性。 --将seq_page_cost参数的值重置为缺省值。 gaussdb=# ALTER TABLESPACE tbs_data2 RESET (seq_page_cost); --查看。 gaussdb=# SELECT * FROM pg_tablespace WHERE spcname = 'tbs_data2'; spcname | spcowner | spcacl | spcoptions | spcmaxsize | relative -----------+----------+--------+------------+------------+---------- tbs_data2 | 16778 | | | | t (1 row) 设置表空间限额。 --设置表空间最大使用的空间。 gaussdb=# ALTER TABLESPACE tbs_data2 RESIZE MAXSIZE '10G'; --查看。 gaussdb=# SELECT * FROM pg_tablespace WHERE spcname = 'tbs_data2'; spcname | spcowner | spcacl | spcoptions | spcmaxsize | relative -----------+----------+--------+------------+------------+---------- tbs_data2 | 16778 | | | 10485760 K | t (1 row) --删除表空间。 gaussdb=# DROP TABLESPACE tbs_data2; --删除用户。 gaussdb=# DROP USER test;
  • 语法格式 重命名表空间的语法。 ALTER TABLESPACE tablespace_name RENAME TO new_tablespace_name; 设置表空间所有者的语法。 ALTER TABLESPACE tablespace_name OWNER TO new_owner; 设置表空间属性的语法。 ALTER TABLESPACE tablespace_name SET ( { tablespace_option = value } [, ... ] ); 重置表空间属性的语法。 ALTER TABLESPACE tablespace_name RESET ( { tablespace_option } [, ... ] ); 设置表空间限额的语法。 ALTER TABLESPACE tablespace_name RESIZE MAXSIZE { UNLIMITED | 'space_size'};
  • 参数说明 tablespace_name 要修改的表空间。 取值范围:已存在的表空间名。 new_tablespace_name 表空间的新名称,新名称不能以"PG_"开头。 取值范围:字符串,符合标识符命名规范。 new_owner 表空间的新所有者。 取值范围:已存在的用户名。 tablespace_option 设置或者重置表空间的参数。 取值范围: seq_page_cost:设置优化器计算一次顺序获取磁盘页面的开销。缺省为1.0。 random_page_cost:设置优化器计算一次非顺序获取磁盘页面的开销。缺省为4.0。 random_page_cost是相对于seq_page_cost的取值,等于或者小于seq_page_cost时毫无意义。 默认值为4.0的前提条件是,优化器采用索引来扫描表数据,并且表数据在cache中命中率可以90%左右。 如果表数据空间要比物理内存小,那么减小该值到一个适当水平;相反地,如果表数据在cache中命中率要低于90%,那么适当增大该值。 如果采用了类似于SSD的随机访问代价较小的存储器,可以适当减小该值,以反映真正的随机扫描代价。 value的取值范围:浮点类型的正数。 RESIZE MAXSIZE 重新设置表空间限额的数值。 取值范围: UNLIMITED,该表空间不设置限额。 由space_size来确定,其格式参考CREATE TABLESPACE。 若调整后的限额值比当前表空间实际使用的值要小,调整操作可以执行成功,后续用户需要将该表空间的使用值降低到新限额值之下,才能继续往该表空间中写入数据。
  • GS_ADM_ILMOBJECTS GS_ADM_ILMOBJECTS视图反映所有存在ILM策略应用的数据对象与相应策略的概要信息,包含策略名称、数据对象名称、策略的来源、策略的启用删除状态。需要有系统管理员权限才可以访问此系统视图。 表1 GS_ADM_ILMOBJECTS字段 名称 类型 描述 policy_name character varying(128) ADO策略名称,系统自动生成,规则为:p+策略ID。 object_owner character varying(128) 数据对象的属主。 object_name character varying(128) 数据对象名称。 subobject_name character varying(128) 数据对象分区名称。 object_type character varying(18) 数据对象类型。取值范围: r:表。 p:分区。 s:二级分区。 inherited_from character varying(20) 当前策略是继承哪一个对象上的策略。取值范围: TABLE:表。 TABLE PARTITION:分区。 POLICY NOT INHERITED:不继承。 tbs_inherited_from character varying(30) 当前策略是继承哪一个表空间上的策略,当前版本值为NULL。 enabled character varying(7) 该策略对当前对象是否开启。 deleted character varying(7) 标识该对象上的ILM策略被删除。实际操作结果是删除分区或者是删除分区上的策略,该条记录都会被删除(ILMOBJ)。 node_name name 数据来源节点的名称。 父主题: OLTP表压缩
  • 字符类型表达式的字符集和字符序 每一个字符类型的表达式含有字符集和字符序属性。 在B模式(即sql_compatibility = 'B')的数据库下,如果设置参数b_format_version='5.7'和b_format_dev_version='s2'时, 字符串常量的默认字符集与字符序由系统参数character_set_connection和collation_connection决定。否则,其默认字符集与数据库字符集server_encoding相同,其默认字符序为default。 字符集语法: GaussDB暂不支持指定字符串常量的字符集语法。 1 [_charset_name]'string' 字符序语法: 其他字符串类型的表达式也可以指定字符序。 1 expression [COLLATE collation_name] 语法说明: COLLATE collation_name 指定字符序的名称,用于设置这个字符串的字符序属性。 表达式的数据类型只能是支持字符序的数据类型。 指定的字符序必须是表达式的字符集允许的字符序。 示例: 1 2 --使用collate语句指定字符序。 gaussdb=# SELECT 'a' COLLATE utf8mb4_general_ci = 'A'; 父主题: 字符集与字符序
  • 参数说明 PUBLIC 指定公共以创建对所有用户可见的公共数据库链接。如果省略此子句,则数据库链接是私有的,仅对当前用户可用。 dblink 要创建的DATABASE LINK的名字。 user 创建的DATABASE LINK连接远端使用的用户名。 password 创建的DATABASE LINK连接远端使用的用户对应的密码。 CURRENT_USER 使用当前数据库初始用户名和空密码连接。 USING ( option 'value' [, ... ] ) USING可选择指定要连接的数据库的IP地址、端口号、远端的database name等参数 ,支持的options包括: host:指定连接的地址,不支持ipv6地址。支持以 ‘,’分割的字符串来指定多个IP地址,当前不支持密态数据库和ssl设置和证书认证,不指定默认为空。 port:指定连接的端口号,不指定默认为5432。 dbname:指定连接的数据库名称,不指定默认为连接远端使用的用户名。 fetch_size:从远端每次获取数据量大小,fetch_size取值为0到2147483647,默认为100。 USING后的括号可以只选择上述关键字中的一部分去写。 USING关键字也可以不写,同时之后的括号也不要再写。 DATABASE LINK创建的时候不会去验证是否能连接成功,如果缺乏相关的关键字,可能会在使用时报错。 host参数不要使用127.0.0.1和localhost,会出现连接失败的情况。
  • 示例 --创建一个兼容性为ORA的数据库。 gaussdb=# CREATE DATABASE ora_test_db DBCOMPATIBILITY 'ORA'; --切换数据库。 gaussdb=# \c ora_test_db --创建拥有系统管理员权限的用户。 ora_test_db=# CREATE USER user1 WITH SYSADMIN PASSWORD '********'; ora_test_db=# SET ROLE user1 PASSWORD '********'; --创建私有dblink。 ora_test_db=# CREATE DATABASE LINK private_dblink CONNECT TO 'user1' IDENTIFIED BY '********' USING (host '192.168.11.11',port '54399',dbname 'db01'); --删除私有dblink。 ora_test_db=# DROP DATABASE LINK private_dblink; --创建公共dblink。 ora_test_db=# CREATE PUBLIC DATABASE LINK public_dblink CONNECT TO 'user1' IDENTIFIED BY '********' USING (host '192.168.11.11',port '54399',dbname 'db01'); --删除公共dblink。 ora_test_db=# DROP PUBLIC DATABASE LINK public_dblink; --删除创建出的用户。 ora_test_db=# RESET ROLE; ora_test_db=# DROP USER user1; --切换回初始数据库,并删除测试数据库。请用真实的数据库名替换postgres。 ora_test_db=# \c postgres gaussdb=# DROP DATABASE ora_test_db;
  • GS_MY_ILMTASKS GS_MY_ILMTASKS视图反映ADO Task的概要信息,包含Task ID,Task Owner,状态以及时间信息。 表1 GS_MY_ILMTASKS字段 名称 类型 描述 task_id bigint ADO Task的ID。 task_owner character varying(128) ADO Task发起的用户,仅ADM视图存在此列。 state character varying(9) 状态: INACTIVE:非活动 ACTIVE:活动 COMPLETED:完成 UNKNOWN: 评估中 creation_time timestamp with time zone 创建时间。 start_time timestamp with time zone 变成活动状态的时间。 completion_time timestamp with time zone 完成时间。 父主题: OLTP表压缩
  • IO Profile IO Profile指标名称及描述如表1所示。 表1 IO Profile指标表主要内容 指标名称 描述 Database requests Database IO次数。 Database (MB) Database IO数据量。 Database (blocks) Database IO数据块。 Redo requests Redo IO次数。 Redo (MB) Redo IO量。 父主题: WDR报告信息介绍
  • 背景信息 当用户对数据库中的一张或者多张表的某些字段的组合感兴趣,而又不想每次键入这些查询时,用户就可以定义一个视图,以便解决此问题。 视图与基本表不同,不是物理上实际存在的,是一个虚拟表。数据库中仅存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。若基本表中的数据发生变化,从视图中查询出的数据也随之改变。视图就像一个窗口,透过它可以看到数据库中用户感兴趣的数据及变化。视图每次被引用的时候都会运行一次。
  • DB_TRIGGERS DB_TRIGGERS视图显示当前用户能访问到的触发器的信息。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 DB_TRIGGERS字段 名称 类型 描述 trigger_name character varying(64) 触发器名称。 table_name character varying(64) 关系表名称。 table_owner character varying(64) 角色名称。 status character varying(64) 触发器的状态。 O:触发器在“origin”和“local”模式下触发。 D:触发器被禁用。 R:触发器在“replica”模式下触发。 A:触发器始终触发。 父主题: 其他系统视图
  • PG_SHDEPEND PG_SHDEPEND系统表记录数据库对象和共享对象(比如角色)之间的依赖性关系。这些信息允许GaussDB保证在企图删除这些对象之前,这些对象是没有被引用的。 PG_DEPEND的作用类似,只是它是用于在一个数据库内部的对象的依赖性关系的。 PG_SHDEPEND是在数据库实例的所有数据库之间共享的,即每个实例只有一个,而不是每个数据库一个。 表1 PG_SHDEPEND字段 名称 类型 引用 描述 dbid oid PG_DATABASE.oid 依赖对象所在的数据库的OID,如果是共享对象,则为零。 classid oid PG_CLASS.oid 依赖对象所在的系统表的OID。 objid oid 任意OID属性 指定的依赖对象的OID。 objsubid integer - 对于一个表字段,这是字段号(根据objid和classid可以确定指向的表)。对于所有其他对象类型,这个字段为零。 refclassid oid PG_CLASS.oid 被引用对象所在的系统表的OID(必须是一个共享表)。 refobjid oid 任意OID属性 指定的被引用对象的OID。 deptype "char" - 一段代码,定义了这个依赖性关系的特定语义。 取值范围为o、a、p、d、l,具体含义请参阅下文。 objfile text - 用户定义函数库文件路径。 在任何情况下,一条PG_SHDEPEND记录就表明这个被引用的对象不能在未删除依赖对象的前提下删除。不过,deptype同时还标出了几种不同的子风格: SHARED_DEPENDENCY_OWNER (o) 被引用的对象(必须是一个角色)是依赖对象的所有者。 SHARED_DEPENDENCY_ACL (a) 被引用的对象(必须是一个角色)在依赖对象的ACL(访问控制列表,也就是权限列表)里提到。SHARED_DEPENDENCY_ACL不会在对象的所有者上添加,因为所有者会有一个SHARED_DEPENDENCY_OWNER记录。 SHARED_DEPENDENCY_PIN (p) 这类记录标识系统自身依赖于该被依赖对象,因此这样的对象不能被删除。这种类型的记录只是由initdb创建。这样的依赖对象的字段都是零。 SHARED_DEPENDENCY_ DBPRIV(d) 被引用的对象(必须是一个角色)具有依赖对象所对应的ANY权限(指定的依赖对象的OID对应的是系统表12.2.10.1 GS_DB_PRIVILEGE中一行)。 SHARED_DEPENDENCY_ SECLABEL(l) 被引用的对象(必须是一个安全标签)被应用在依赖对象上。 父主题: 其他系统表
  • PG_SHDESCRIPTION PG_SHDESCRIPTION系统表为共享数据库对象存储可选的注释。可以使用COMMENT命令操作注释的内容,使用\d命令查看注释内容。 PG_DESCRIPTION提供了类似的功能,它记录了单个数据库中对象的注释。 PG_SHDESCRIPTION是在集群的所有数据库之间共享的,即每个集群只有一个,而不是每个数据库一个。 表1 PG_SHDESCRIPTION字段 名称 类型 引用 描述 objoid oid 任意OID属性 所描述的对象的OID。 classoid oid PG_CLASS.oid 该对象出现的系统表的OID。 description text - 该对象的描述信息。 父主题: 其他系统表
  • REPLICATION_STAT REPLICATION_STAT用于描述日志同步状态信息,如发起端发送日志位置、收端接收日志位置等,如表1所示。 表1 REPLICATION_STAT字段 名称 类型 描述 pid bigint 线程的PID。 usesysid oid 用户系统ID。 usename name 用户名。 application_name text 程序名称。 client_addr inet 客户端地址。 client_hostname text 客户端名。 client_port integer 客户端端口。 backend_start timestamp with time zone 程序启动时间。 state text 日志复制的状态: 追赶状态 一致的流状态 sender_sent_location text 发送端发送日志位置。 receiver_write_location text 接收端write日志位置。 receiver_flush_location text 接收端flush日志位置。 receiver_replay_location text 接收端replay日志位置。 sync_priority integer 同步复制的优先级(0表示异步)。 sync_state text 同步状态: 异步复制 同步复制 潜在同步者 父主题: Utility
  • 创建、修改和删除角色 非三权分立时,只有系统管理员和具有CREATEROLE属性的用户才能创建、修改或删除角色。三权分立下,只有初始用户和具有CREATEROLE属性的用户才能创建、修改或删除角色。 创建角色,请参见CREATE ROLE。 在现有角色中添加或删除用户,请参见ALTER ROLE。 删除角色,请参见DROP ROLE。DROP ROLE只会删除角色,并不会删除角色中的成员用户账户。
共100000条