From 8506f26b39b4cd60426cd9dc83acb41a20c70a3b Mon Sep 17 00:00:00 2001 From: spaceoddity91719 Date: Fri, 10 Jun 2022 19:37:21 +0800 Subject: [PATCH 1/3] =?UTF-8?q?update(mogdb):=E5=A4=84=E7=90=863.0?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E9=81=97=E7=95=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic-interfaces/PKG_SERVICE.md | 387 ++++++ .../basic-interfaces/PKG_UTIL.md | 1078 +++++++++++++++++ .../tuning-with-vector-engine.md | 2 +- .../guc-parameters/21-developer-options.md | 4 +- .../4-other-optimizer-options.md | 2 +- .../DBE_PERF/query/STATEMENT_HISTORY.md | 492 -------- .../DBE_PERF/query/STATEMENT_HISTORY_1.md | 67 + product/zh/docs-mogdb/v3.0/toc.md | 6 +- product/zh/docs-mogdb/v3.0/toc_dev.md | 4 + .../v3.0/toc_parameters-and-tools.md | 2 +- 10 files changed, 1546 insertions(+), 498 deletions(-) create mode 100644 product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/advanced-packages/basic-interfaces/PKG_SERVICE.md create mode 100644 product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/advanced-packages/basic-interfaces/PKG_UTIL.md delete mode 100644 product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/query/STATEMENT_HISTORY.md create mode 100644 product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/query/STATEMENT_HISTORY_1.md diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/advanced-packages/basic-interfaces/PKG_SERVICE.md b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/advanced-packages/basic-interfaces/PKG_SERVICE.md new file mode 100644 index 00000000..c842ceb6 --- /dev/null +++ b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/advanced-packages/basic-interfaces/PKG_SERVICE.md @@ -0,0 +1,387 @@ +--- +title: PKG_SERVICE +summary: PKG_SERVICE +author: Guo Huan +date: 2022-06-10 +--- + +# PKG_SERVICE + +PKG_SERVICE支持的所有接口请参见表1。 + +**表 1** PKG_SERVICE + +| 接口名称 | 描述 | +| :---------------------------------- | :--------------------------------------------------------- | +| PKG_SERVICE.SQL_IS_CONTEXT_ACTIVE | 确认该CONTEXT是否已注册。 | +| PKG_SERVICE.SQL_CLEAN_ALL_CONTEXTS | 取消所有注册的CONTEXT。 | +| PKG_SERVICE.SQL_REGISTER_CONTEXT | 注册一个CONTEXT。 | +| PKG_SERVICE.SQL_UNREGISTER_CONTEXT | 取消注册该CONTEXT。 | +| PKG_SERVICE.SQL_SET_SQL | 向CONTEXT设置一条SQL语句,目前只支持SELECT。 | +| PKG_SERVICE.SQL_RUN | 在一个CONTEXT上执行设置的SQL语句。 | +| PKG_SERVICE.SQL_NEXT_ROW | 读取该CONTEXT中的下一行数据。 | +| PKG_SERVICE.SQL_GET_VALUE | 读取该CONTEXT中动态定义的列值 | +| PKG_SERVICE.SQL_SET_RESULT_TYPE | 根据类型OID动态定义该CONTEXT的一个列。 | +| PKG_SERVICE.JOB_CANCEL | 通过任务ID来删除定时任务。 | +| PKG_SERVICE.JOB_FINISH | 禁用或者启用定时任务。 | +| PKG_SERVICE.JOB_SUBMIT | 提交一个定时任务。作业号由系统自动生成或由用户指定。 | +| PKG_SERVICE.JOB_UPDATE | 修改定时任务的属性,包括任务内容、下次执行时间、执行间隔。 | +| PKG_SERVICE.SUBMIT_ON_NODES | 提交一个任务到所有节点,作业号由系统自动生成。 | +| PKG_SERVICE.ISUBMIT_ON_NODES | 提交一个任务到所有节点,作业号由用户指定。 | +| PKG_SERVICE.SQL_GET_ARRAY_RESULT | 获取该CONTEXT中返回的数组值。 | +| PKG_SERVICE.SQL_GET_VARIABLE_RESULT | 获取该CONTEXT中返回的列值。 | + +- PKG_SERVICE.SQL_IS_CONTEXT_ACTIVE + + 该函数用来确认一个CONTEXT是否已注册。该函数传入想查找的CONTEXT ID,如果该CONTEXT存在返回TRUE,反之返回FALSE。 + + PKG_SERVICE.SQL_IS_CONTEXT_ACTIVE函数原型为: + + ```sql + PKG_SERVICE.SQL_IS_CONTEXT_ACTIVE( + context_id IN INTEGER + ) + RETURN BOOLEAN; + ``` + + **表 2** PKG_SERVICE.SQL_IS_CONTEXT_ACTIVE接口说明 + + | 参数名称 | 描述 | + | :--------- | :------------------- | + | context_id | 想查找的CONTEXT ID号 | + +- PKG_SERVICE.SQL_CLEAN_ALL_CONTEXTS + + 该函数用来取消所有CONTEXT + + PKG_SERVICE.SQL_CLEAN_ALL_CONTEXTS函数原型为: + + ```sql + PKG_SERVICE.SQL_CLEAN_ALL_CONTEXTS( + ) + RETURN VOID; + ``` + +- PKG_SERVICE.SQL_REGISTER_CONTEXT + + 该函数用来打开一个CONTEXT,是后续对该CONTEXT进行各项操作的前提。该函数不传入任何参数,内部自动递增生成CONTEXT ID,并作为返回值返回给integer定义的变量。 + + PKG_SERVICE.SQL_REGISTER_CONTEXT函数原型为: + + ```sql + DBE_SQL.REGISTER_CONTEXT( + ) + RETURN INTEGER; + ``` + +- PKG_SERVICE.SQL_UNREGISTER_CONTEXT + + 该函数用来关闭一个CONTEXT,是该CONTEXT中各项操作的结束。如果在存储过程结束时没有调用该函数,则该CONTEXT占用的内存仍然会保存,因此关闭CONTEXT非常重要。由于异常情况的发生会中途退出存储过程,导致CONTEXT未能关闭,因此建议存储过程中有异常处理,将该接口包含在内。 + + PKG_SERVICE.SQL_UNREGISTER_CONTEXT函数原型为: + + ```sql + PKG_SERVICE.SQL_UNREGISTER_CONTEXT( + context_id IN INTEGER + ) + RETURN INTEGER; + ``` + + **表 3** PKG_SERVICE.SQL_UNREGISTER_CONTEXT接口说明 + + | 参数名称 | 描述 | + | :--------- | :--------------------- | + | context_id | 打算关闭的CONTEXT ID号 | + +- PKG_SERVICE.SQL_SET_SQL + + 该函数用来解析给定游标的查询语句,被传入的查询语句会立即执行。目前仅支持SELECT查询语句的解析,且语句参数仅可通过text类型传递,长度不大于1G。 + + PKG_SERVICE.SQL_SET_SQL函数的原型为: + + ```sql + PKG_SERVICE.SQL_SET_SQL( + context_id IN INTEGER, + query_string IN TEXT, + language_flag IN INTEGER + ) + RETURN BOOLEAN; + ``` + + **表 4** PKG_SERVICE.SQL_SET_SQL接口说明 + + | 参数名称 | 描述 | + | :------------ | :--------------------------- | + | context_id | 执行查询语句解析的CONTEXT ID | + | query_string | 执行的查询语句 | + | language_flag | 版本语言号,目前只支持1 | + +- PKG_SERVICE.SQL_RUN + + 该函数用来执行一个给定的CONTEXT。该函数接收一个CONTEXT ID,运行后获得的数据用于后续操作。目前仅支持SELECT查询语句的执行。 + + PKG_SERVICE.SQL_RUN函数的原型为: + + ```sql + PKG_SERVICE.SQL_RUN( + context_id IN INTEGER, + ) + RETURN INTEGER; + ``` + + **表 5** PKG_SERVICE.SQL_RUN接口说明 + + | 参数名称 | 描述 | + | :--------- | :--------------------------- | + | context_id | 执行查询语句解析的CONTEXT ID | + +- PKG_SERVICE.SQL_NEXT_ROW + + 该函数返回符合查询条件的数据行数,每一次运行该接口都会获取到新的行数的集合,直到数据读取完毕获取不到新行为止。 + + PKG_SERVICE.SQL_NEXT_ROW函数的原型为: + + ```sql + PKG_SERVICE.SQL_NEXT_ROW( + context_id IN INTEGER, + ) + RETURN INTEGER; + ``` + + **表 6** PKG_SERVICE.SQL_NEXT_ROW接口说明 + + | 参数名称 | 描述 | + | :--------- | :--------------- | + | context_id | 执行的CONTEXT ID | + +- PKG_SERVICE.SQL_GET_VALUE + + 该函数用来返回给定CONTEXT中给定位置的CONTEXT元素值,该接口访问的是PKG_SERVICE.SQL_NEXT_ROW获取的数据。 + + PKG_SERVICE.SQL_GET_VALUE函数的原型为: + + ```sql + PKG_SERVICE.SQL_GET_VALUE( + context_id IN INTEGER, + pos IN INTEGER, + col_type IN ANYELEMENT + ) + RETURN ANYELEMENT; + ``` + + **表 7** PKG_SERVICE.SQL_GET_VALUE接口说明 + + | 参数名称 | 描述 | + | :--------- | :------------------------------- | + | context_id | 执行的CONTEXT ID | + | pos | 动态定义列在查询中的位置 | + | col_type | 任意类型变量,定义列的返回值类型 | + +- PKG_SERVICE.SQL_SET_RESULT_TYPE + + 该函数用来定义从给定CONTEXT返回的列,该接口只能应用于SELECT定义的CONTEXT中。定义的列通过查询列表的相对位置来标识,PKG_SERVICE.SQL_SET_RESULT_TYPE函数的原型为: + + ```sql + PKG_SERVICE.SQL_SET_RESULT_TYPE( + context_id IN INTEGER, + pos IN INTEGER, + coltype_oid IN ANYELEMENT, + maxsize IN INTEGER + ) + RETURN INTEGER; + ``` + + **表 8** PKG_SERVICE.SQL_SET_RESULT_TYPE接口说明 + + | 参数名称 | 描述 | + | :---------- | :---------------------------------------------- | + | context_id | 执行的CONTEXT ID。 | + | pos | 动态定义列在查询中的位置。 | + | coltype_oid | 任意类型的变量,可根据变量类型得到对应类型OID。 | + | maxsize | 定义的列的长度。 | + +- PKG_SERVICE.JOB_CANCEL + + 存储过程CANCEL删除指定的定时任务。 + + PKG_SERVICE.JOB_CANCEL函数原型为: + + ```sql + PKG_SERVICE.JOB_CANCEL( + job IN INTEGER); + ``` + + **表 9** PKG_SERVICE.JOB_CANCEL接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :--- | :------ | :-------- | :----------- | :------------- | + | id | integer | IN | 否 | 指定的作业号。 | + + 示例: + + ```sql + CALL PKG_SERVICE.JOB_CANCEL(101); + ``` + +- PKG_SERVICE.JOB_FINISH + + 存储过程FINISH禁用或者启用定时任务。 + + PKG_SERVICE.JOB_FINISH函数原型为: + + ```sql + PKG_SERVICE.JOB_FINISH( + id IN INTEGER, + broken IN BOOLEAN, + next_time IN TIMESTAMP DEFAULT sysdate); + ``` + + **表 10** PKG_SERVICE.JOB_FINISH接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :-------- | :-------- | :-------- | :----------- | :----------------------------------------------------------- | + | id | integer | IN | 否 | 指定的作业号。 | + | broken | Boolean | IN | 否 | 状态标志位,true代表禁用,false代表启用。根据true或false值更新当前job;如果为空值,则不改变原有job的状态。 | + | next_time | timestamp | IN | 是 | 下次运行时间,默认为当前系统时间。如果参数broken状态为true,则更新该参数为'4000-1-1';如果参数broken状态为false,且如果参数next_time不为空值,则更新指定job的next_time值,如果next_time为空值,则不更新next_time值。该参数可以省略,为默认值。 | + +- PKG_SERVICE.JOB_SUBMIT + + 存储过程JOB_SUBMIT提交一个系统提供的定时任务。 + + PKG_SERVICE.JOB_SUBMIT函数原型为: + + ```sql + PKG_SERVICE.JOB_SUBMIT( + id IN BIGINT DEFAULT, + content IN TEXT, + next_date IN TIMESTAMP DEFAULT sysdate, + interval_time IN TEXT DEFAULT 'null', + job OUT INTEGER); + ``` + + > ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif) **说明:** 当创建一个定时任务(JOB)时,系统默认将当前数据库和用户名与当前创建的定时任务绑定起来。该接口函数可以通过call或select调用,如果通过select调用,可以不填写出参。如果在存储过程中,则需要通过perform调用该接口函数。如果提交的sql语句任务使用到非public的schema,应该指定表或者函数的schema,或者在sql语句前添加set current_schema = xxx;语句。 + + **表 11** PKG_SERVICE.JOB_SUBMIT接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :------------ | :-------- | :-------- | :----------- | :----------------------------------------------------------- | + | id | bigint | IN | 否 | 作业号。如果传入id为NULL,则内部会生成作业ID。 | + | context | text | IN | 否 | 要执行的SQL语句。支持一个或多个‘DML’,‘匿名块’,‘调用存储过程的语句’或3种混合的场景。 | + | next_time | timestamp | IN | 否 | 下次作业运行时间。默认值为当前系统时间(sysdate)。如果是过去时间,在提交作业时表示立即执行。 | + | interval_time | text | IN | 是 | 用来计算下次作业运行时间的时间表达式,可以是interval表达式,也可以是sysdate加上一个numeric值(例如:sysdate+1.0/24)。如果为空值或字符串”null”表示只执行一次,执行后JOB状态STATUS变成'd' 不再执行。 | + | job | integer | OUT | 否 | 作业号。范围为1~32767。当使用select调用pkg_service.job_submit时,该参数可以省略。 | + + 示例: + + ```sql + SELECT PKG_SERVICE.JOB_SUBMIT(NULL, 'call pro_xxx();', to_date('20180101','yyyymmdd'),'sysdate+1'); + + SELECT PKG_SERVICE.JOB_SUBMIT(NULL, 'call pro_xxx();', to_date('20180101','yyyymmdd'),'sysdate+1.0/24'); + + CALL PKG_SERVICE.JOB_SUBMIT(NULL, 'INSERT INTO T_JOB VALUES(1); call pro_1(); call pro_2();', add_months(to_date('201701','yyyymm'),1), 'date_trunc(''day'',SYSDATE) + 1 +(8*60+30.0)/(24*60)' ,:jobid); + + SELECT PKG_SERVICE.JOB_SUBMIT (101, 'insert_msg_statistic1;', sysdate, 'sysdate+3.0/24'); + ``` + +- PKG_SERVICE.JOB_UPDATE + + 存储过程UPDATE修改定时任务的属性,包括任务内容、下次执行时间、执行间隔。 + + PKG_SERVICE.JOB_UPDATE函数原型为: + + ```sql + PKG_SERVICE.JOB_UPDATE( + id IN BIGINT, + next_time IN TIMESTAMP, + interval_time IN TEXT, + content IN TEXT); + ``` + + **表 12** PKG_SERVICE.JOB_UPDATE接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :------------ | :-------- | :-------- | :----------- | :----------------------------------------------------------- | + | id | integer | IN | 否 | 指定的作业号。 | + | next_time | timestamp | IN | 是 | 下次运行时间。如果该参数为空值,则不更新指定job的next_time值,否则更新指定job的next_time值。 | + | interval_time | text | IN | 是 | 用来计算下次作业运行时间的时间表达式。如果该参数为空值,则不更新指定job的interval_time值;如果该参数不为空值,会校验interval_time是否为有效的时间类型或interval类型,则更新指定job的interval_time值。如果为字符串”null”表示只执行一次,执行后JOB状态STATUS变成'd' 不再执行。 | + | content | text | IN | 是 | 执行的存储过程名或者sql语句块。如果该参数为空值,则不更新指定job的content值,否则更新指定job的content值。 | + + 示例: + + ```sql + CALL PKG_SERVICE.JOB_UPDATE(101, 'call userproc();', sysdate, 'sysdate + 1.0/1440'); + CALL PKG_SERVICE.JOB_UPDATE(101, 'insert into tbl_a values(sysdate);', sysdate, 'sysdate + 1.0/1440'); + ``` + +- PKG_SERVICE.SUBMIT_ON_NODES + + 存储过程SUBMIT_ON_NODES创建一个结点上的定时任务,仅sysadmin/monitor admin有此权限。 + + PKG_SERVICE.SUBMIT_ON_NODES函数原型为: + + ```sql + PKG_SERVICE.SUBMIT_ON_NODES( + node_name IN TEXT, + database IN TEXT + what IN TEXT, + next_date IN TIMESTAMP DEFAULT sysdate, + job_interval IN TEXT DEFAULT 'null', + job OUT INTEGER); + ``` + + **表 13** PKG_SERVICE.SUBMIT_ON_NODES接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :----------- | :-------- | :-------- | :----------- | :----------------------------------------------------------- | + | node_name | text | IN | 否 | 指定作业的执行节点,当前仅支持值为'ALL_NODE'(在所有节点执行)与'CCN'(注:CCN在集中式/小型化环境下无意义)。 | + | database | text | IN | 否 | 数据库实例作业所使用的database,节点类型为'ALL_NODE'时仅支持值为'postgres'。 | + | what | text | IN | 否 | 要执行的SQL语句。支持一个或多个‘DML’,‘匿名块’,‘调用存储过程的语句’或3种混合的场景。 | + | nextdate | timestamp | IN | 否 | 下次作业运行时间。默认值为当前系统时间(sysdate)。如果是过去时间,在提交作业时表示立即执行。 | + | job_interval | text | IN | 否 | 用来计算下次作业运行时间的时间表达式,可以是interval表达式,也可以是sysdate加上一个numeric值(例如:sysdate+1.0/24)。如果为空值或字符串”null”表示只执行一次,执行后JOB状态STATUS变成'd'不再执行。 | + | job | integer | OUT | 否 | 作业号。范围为1~32767。当使用select调用dbms.submit_on_nodes时,该参数可以省略。 | + + 示例: + + ```sql + select pkg_service.submit_on_nodes('ALL_NODE', 'postgres', 'select capture_view_to_json(''dbe_perf.statement'', 0);', sysdate, 'interval ''60 second'''); + select pkg_service.submit_on_nodes('CCN', 'postgres', 'select capture_view_to_json(''dbe_perf.statement'', 0);', sysdate, 'interval ''60 second'''); + ``` + +- PKG_SERVICE.ISUBMIT_ON_NODES + + ISUBMIT_ON_NODES与SUBMIT_ON_NODES语法功能相同,但其第一个参数是入参,即指定的作业号,SUBMIT最后一个参数是出参,表示系统自动生成的作业号。仅sysadmin/monitor admin有此权限。 + +- PKG_SERVICE.SQL_GET_ARRAY_RESULT + + 该函数用来返回绑定的数组类型的OUT参数的值,可以用来获取存储过程中的OUT参数。 + + PKG_SERVICE.SQL_GET_ARRAY_RESULT函数原型为: + + ```sql + PKG_SERVICE.SQL_GET_ARRAY_RESULT( + context_id in int, + pos in VARCHAR2, + column_value inout anyarray, + result_type in anyelement + ); + ``` + + **表 14** PKG_SERVICE.SQL_GET_ARRAY_RESULT接口说明 + + | 参数名称 | 描述 | + | :----------- | :--------------------- | + | context_id | 想查找的CONTEXT ID号。 | + | pos | 绑定的参数名。 | + | column_value | 返回值。 | + | result_type | 返回值类型。 | + +- PKG_SERVICE.SQL_GET_VARIABLE_RESULT + + 该函数用来返回绑定的非数组类型的OUT参数的值,可以用来获取存储过程中的OUT参数。 + + PKG_SERVICE.SQL_GET_VARIABLE_RESULT函数原型为: + + ```sql + PKG_SERVICE.SQL_GET_VARIABLE_RESULT( + context_id in int, + ``` diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/advanced-packages/basic-interfaces/PKG_UTIL.md b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/advanced-packages/basic-interfaces/PKG_UTIL.md new file mode 100644 index 00000000..f8b41c20 --- /dev/null +++ b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/advanced-packages/basic-interfaces/PKG_UTIL.md @@ -0,0 +1,1078 @@ +--- +title: PKG_UTIL +summary: PKG_UTIL +author: Guo Huan +date: 2022-06-10 +--- + +# PKG_UTIL + +PKG_UTIL支持的所有接口请参见表1: + +**表 1** PKG_UTIL + +| 接口名称 | 描述 | +| :-------------------------------------- | :----------------------------------------------- | +| PKG_UTIL.LOB_GET_LENGTH | 获取lob的长度。 | +| PKG_UTIL.LOB_READ | 读取lob对象的一部分。 | +| PKG_UTIL.LOB_WRITE | 将源对象按照指定格式写入到目标对象。 | +| PKG_UTIL.LOB_APPEND | 将lob源对象指定个数的字符追加到目标lob对象。 | +| PKG_UTIL.LOB_COMPARE | 根据指定长度比较两个lob对象。 | +| PKG_UTIL.LOB_MATCH | 返回一个字符串在LOB中第N次出现的位置。 | +| PKG_UTIL.LOB_RESET | 将lob的指定位置重置为指定字符。 | +| PKG_UTIL.IO_PRINT | 将字符串打印输出。 | +| PKG_UTIL.RAW_GET_LENGTH | 获取raw的长度。 | +| PKG_UTIL.RAW_CAST_FROM_VARCHAR2 | 将varchar2转化为raw。 | +| PKG_UTIL.RAW_CAST_FROM_BINARY_INTEGER | 将binary integer转化为raw。 | +| PKG_UTIL.RAW_CAST_TO_BINARY_INTEGER | 将raw转化为binary integer。 | +| PKG_UTIL.SET_RANDOM_SEED | 设置随机种子。 | +| PKG_UTIL.RANDOM_GET_VALUE | 返回随机值。 | +| PKG_UTIL.FILE_SET_DIRNAME | 设置当前操作的目录。 | +| PKG_UTIL.FILE_OPEN | 根据指定文件名和设置的目录打开一个文件。 | +| PKG_UTIL.FILE_SET_MAX_LINE_SIZE | 设置写入文件一行的最大长度。 | +| PKG_UTIL.FILE_IS_CLOSE | 检测一个文件句柄是否关闭。 | +| PKG_UTIL.FILE_READ | 从一个打开的文件句柄中读取指定长度的数据。 | +| PKG_UTIL.FILE_READLINE | 从一个打开的文件句柄中读取一行数据。 | +| PKG_UTIL.FILE_WRITE | 将BUFFER中的数据写入到文件中。 | +| PKG_UTIL.FILE_WRITELINE | 将buffer写入文件,并追加换行符。 | +| PKG_UTIL.FILE_NEWLINE | 新起一行。 | +| PKG_UTIL.FILE_READ_RAW | 从一个打开的文件句柄中读取指定长度的二进制数据。 | +| PKG_UTIL.FILE_WRITE_RAW | 将二进制数据写入到文件中。 | +| PKG_UTIL.FILE_FLUSH | 将一个文件句柄中的数据写入到物理文件中。 | +| PKG_UTIL.FILE_CLOSE | 关闭一个打开的文件句柄。 | +| PKG_UTIL.FILE_REMOVE | 删除一个物理文件,操作需要有对应权限。 | +| PKG_UTIL.FILE_RENAME | 对于磁盘上的文件进行重命名,类似Unix的mv。 | +| PKG_UTIL.FILE_SIZE | 返回文件大小。 | +| PKG_UTIL.FILE_BLOCK_SIZE | 返回文件含有的块数量。 | +| PKG_UTIL.FILE_EXISTS | 判断文件是否存在。 | +| PKG_UTIL.FILE_GETPOS | 返回文件的偏移量,单位字节。 | +| PKG_UTIL.FILE_SEEK | 设置文件位置为指定偏移。 | +| PKG_UTIL.FILE_CLOSE_ALL | 关闭一个会话中打开的所有文件句柄。 | +| PKG_UTIL.EXCEPTION_REPORT_ERROR | 抛出一个异常。 | +| PKG_UTIL.RANDOM_SET_SEED | 设置一个随机数种子。 | +| pkg_util.app_read_client_info | 读取client_info信息。 | +| pkg_util.app_set_client_info | 设置client_info信息。 | +| pkg_util.lob_converttoblob | clob类型转换成blob类型。 | +| pkg_util.lob_converttoclob | blob类型转换成clob类型。 | +| pkg_util.lob_rawtotext | raw类型转成text类型。 | +| pkg_util.lob_reset | 清空一个lob类型的数据。 | +| pkg_util.lob_texttoraw | text类型转成raw类型。 | +| pkg_util.lob_write | 将数据写入lob类型。 | +| pkg_util.match_edit_distance_similarity | 计算两个字符串的差距。 | +| pkg_util.raw_cast_to_varchar2 | raw类型转成varchar2类型。 | +| pkg_util.session_clear_context | 清空session_context中的属性值。 | +| pkg_util.session_search_context | 查找一个属性值。 | +| pkg_util.session_set_context | 设置一个属性值。 | +| pkg_util.utility_format_call_stack | 查看存储过程的调用堆栈。 | +| pkg_util.utility_format_error_backtrace | 查看存储过程的错误堆栈。 | +| pkg_util.utility_format_error_stack | 查看存储过程的报错信息。 | +| pkg_util.utility_get_time | 查看系统unix时间戳。 | + +- PKG_UTIL.LOB_GET_LENGTH + + 该函数LOB_GET_LENGTH获取输入数据的长度。 + + PKG_UTIL.LOB_GET_LENGTH函数原型为: + + ```sql + PKG_UTIL.LOB_GET_LENGTH( + lob IN anyelement + ) + RETURN INTEGER; + ``` + + **表 2** PKG_UTIL.LOB_GET_LENGTH接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :--- | :-------- | :-------- | :----------- | :----------------- | + | lob | clob/blob | IN | 否 | 待获取长度的对象。 | + +- PKG_UTIL.LOB_READ + + 该函数LOB_READ读取一个对象,并返回指定部分。 + + PKG_UTIL.LOB_READ函数原型为: + + ```sql + PKG_UTIL.LOB_READ( + lob IN anyelement, + len IN int, + start IN int, + mode IN int + ) + RETURN ANYELEMENT + ``` + + **表 3** PKG_UTIL.LOB_READ接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :---- | :-------- | :-------- | :----------- | :---------------------------------------------------- | + | lob | clob/blob | IN | 否 | clob或者blob类型数据。 | + | len | int | IN | 否 | 返回结果长度。 | + | start | int | IN | 否 | 相较于第一个字符的偏移量。 | + | mode | int | IN | 否 | 判断读取操作的类型, 0 :read; 1 : trim; 2 : substr。 | + +- PKG_UTIL.LOB_WRITE + + 该函数LOB_WRITE将源对象按照指定的参数写入目标对象, 并返回目标对象。 + + PKG_UTIL.LOB_WRITE函数原型为: + + ```sql + PKG_UTIL.LOB_WRITE( + dest_lob INOUT anyelement, + src_lob IN varchar2 + len IN int, + start IN int + ) + RETURN ANYELEMENT; + ``` + + **表 4** PKG_UTIL.LOB_WRITE接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :------- | :-------- | :-------- | :----------- | :----------------------- | + | dest_lob | clob/blob | INOUT | 否 | 写入的目标对象。 | + | src_lob | clob/blob | IN | 否 | 被写入的源对象。 | + | len | int | IN | 否 | 源对象的写入长度。 | + | start | int | IN | 否 | 目标对象的写入起始位置。 | + +- PKG_UTIL.LOB_APPEND + + 该函数LOB_APPEND将源blob/clob对象追加到目标blob/clob对象, 并返回目标对象。 + + PKG_UTIL.LOB_APPEND函数原型为: + + ```sql + PKG_UTIL.LOB_APPEND( + dest_lob INOUT blob, + src_lob IN blob, + len IN int default NULL + ) + RETURN BLOB; + + PKG_UTIL.LOB_APPEND( + dest_lob INOUT clob, + src_lob IN clob, + len IN int default NULL + ) + RETURN CLOB; + ``` + + **表 5** PKG_UTIL.LOB_APPEND接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :------- | :-------- | :-------- | :----------- | :--------------------------------------------- | + | dest_lob | blob/clob | INOUT | 否 | 写入的目标blob/clob对象。 | + | src_lob | blob/clob | IN | 否 | 被写入的源blob/clob对象。 | + | len | int | IN | 是 | 写入源对象的长度,为NULL则默认写入源对象全部。 | + +- PKG_UTIL.LOB_COMPARE + + 该函数LOB_COMPARE按照指定的起始位置、个数比较对象是否相同,lob1大则返回1,lob2大返回-1,相等返回0。 + + PKG_UTIL.LOB_COMPARE函数原型为: + + ```sql + PKG_UTIL.LOB_COMPARE( + lob1 IN anyelement, + lob2 IN anyelement, + len IN int, + start1 IN int, + start2 IN int + ) + RETURN INTEGER; + ``` + + **表 6** PKG_UTIL.LOB_COMPARE接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :----- | :-------- | :-------- | :----------- | :--------------- | + | lob1 | clob/blob | IN | 否 | 待比较的字符串。 | + | lob2 | clob/blob | IN | 否 | 待比较的字符串。 | + | len | int | IN | 否 | 比较的长度。 | + | start1 | int | IN | 否 | lob1起始偏移量。 | + | start2 | int | IN | 否 | lob2起始偏移量。 | + +- PKG_UTIL.LOB_MATCH + + 该函数LOB_MATCH返回pattern出现在lob对象中第match_nth次的位置。 + + PKG_UTIL.LOB_MATCH函数原型为: + + ```sql + PKG_UTIL.LOB_MATCH( + lob IN anyelement, + pattern IN anyelement, + start IN int, + match_nth IN int + ) + RETURN INTEGER; + ``` + + **表 7** PKG_UTIL.LOB_MATCH接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :-------- | :-------- | :-------- | :----------- | :------------------ | + | lob | clob/blob | IN | 否 | 待比较的字符串。 | + | pattern | clob/blob | IN | 否 | 待匹配的pattern。 | + | start | int | IN | 否 | lob的起始比较位置。 | + | match_nth | int | IN | 否 | 第几次匹配到。 | + +- PKG_UTIL.LOB_RESET + + 该函数LOB_RESET清除一段数据为字符value。 + + PKG_UTIL.LOB_RESET函数原型为: + + ```sql + PKG_UTIL.LOB_RESET( + lob INOUT bytea, + len INOUT int, + start IN int DEFAUTL 1, + value IN char default 0 + ) + RETURN record; + ``` + + **表 8** PKG_UTIL.LOB_RESET接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :---- | :---- | :-------- | :----------- | :---------------------- | + | lob | bytea | IN | 否 | 待重置的字符串。 | + | len | int | IN | 否 | 重置的长度。 | + | start | int | IN | 否 | 重置的起始位置。 | + | value | int | IN | 是 | 设置的字符。默认值‘0’。 | + +- PKG_UTIL.IO_PRINT + + 该函数IO_PRINT将一段字符串打印输出。 + + PKG_UTIL.IO_PRINT函数原型为: + + ```sql + PKG_UTIL.IO_PRINT( + format IN text, + is_one_line IN boolean + ) + RETURN void; + ``` + + **表 9** PKG_UTIL.IO_PRINT接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :---------- | :------ | :-------- | :----------- | :------------------- | + | format | text | IN | 否 | 待打印输出的字符串。 | + | is_one_line | boolean | IN | 否 | 是否输出为一行。 | + +- PKG_UTIL.RAW_GET_LENGTH + + 该函数RAW_GET_LENGTH获取raw的长度。 + + PKG_UTIL.RAW_GET_LENGTH函数原型为: + + ```sql + PKG_UTIL.RAW_GET_LENGTH( + value IN raw + ) + RETURN integer; + ``` + + **表 10** PKG_UTIL.RAW_GET_LENGTH接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :--- | :--- | :-------- | :----------- | :----------------- | + | raw | raw | IN | 否 | 待获取长度的对象。 | + +- PKG_UTIL.RAW_CAST_FROM_VARCHAR2 + + 该函数RAW_CAST_FROM_VARCHAR2将varchar2转化为raw。 + + PKG_UTIL.RAW_CAST_FROM_VARCHAR2函数原型为: + + ```sql + PKG_UTIL.RAW_CAST_FROM_VARCHAR2( + str IN varchar2 + ) + RETURN raw; + ``` + + **表 11** PKG_UTIL.RAW_CAST_FROM_VARCHAR2接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :--- | :------- | :-------- | :----------- | :----------------- | + | str | varchar2 | IN | 否 | 需要转化的源数据。 | + +- PKG_UTIL.CAST_FROM_BINARY_INTEGER + + 该函数CAST_FROM_BINARY_INTEGER将binary integer数据转化为raw 。 + + PKG_UTIL.CAST_FROM_BINARY_INTEGER函数原型为: + + ```sql + PKG_UTIL.CAST_FROM_BINARY_INTEGER( + value IN integer, + endianess IN integer + ) + RETURN raw; + ``` + + **表 12** PKG_UTIL.CAST_FROM_BINARY_INTEGER接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :-------- | :------ | :-------- | :----------- | :----------------------------------------------------------- | + | value | integer | IN | 否 | 需要转化为raw的源数据。 | + | endianess | integer | IN | 否 | 表示字节序的整型值1或2(1代表BIG_ENDIAN,2代表LITTLE-ENDIAN)。 | + +- PKG_UTIL.CAST_TO_BINARY_INTEGER + + 该函数CAST_TO_BINARY_INTEGER将raw数据转化为binary integer 。 + + PKG_UTIL.CAST_TO_BINARY_INTEGER函数原型为: + + ```sql + PKG_UTIL.CAST_TO_BINARY_INTEGER( + value IN raw, + endianess IN integer + ) + RETURN integer; + ``` + + **表 13** PKG_UTIL.CAST_TO_BINARY_INTEGER接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :-------- | :------ | :-------- | :----------- | :----------------------------------------------------------- | + | value | raw | IN | 否 | 需要转化为binary integer的raw类型源数据。 | + | endianess | integer | IN | 否 | 表示字节序的整型值1或2(1代表BIG_ENDIAN,2代表LITTLE-ENDIAN)。 | + +- PKG_UTIL.SET_RANDOM_SEED + + 该函数SET_RANDOM_SEED设置随机数种子。 + + PKG_UTIL.SET_RANDOM_SEED函数原型为: + + ```sql + PKG_UTIL.RANDOM_SET_SEED( + seed IN int + ) + RETURN integer; + ``` + + **表 14** PKG_UTIL.SET_RANDOM_SEED接口参数说明 + + | 参数 | 类型 | 入参/出参 | 是否可以为空 | 描述 | + | :--- | :--- | :-------- | :----------- | :----------- | + | seed | int | IN | 否 | 随机数种子。 | + +- PKG_UTIL.RANDOM_GET_VALUE + + 该函数RANDOM_GET_VALUE返回0~1区间的一个随机数。 + + PKG_UTIL.RANDOM_GET_VALUE函数原型为: + + ```sql + PKG_UTIL.RANDOM_GET_VALUE( + ) + RETURN numeric; + ``` + +- PKG_UTIL.FILE_SET_DIRNAME + + 设置当前操作的目录,基本上所有涉及单个目录的操作,都需要调用此方法先设置操作的目录。 + + PKG_UTIL.FILE_SET_DIRNAME函数原型为: + + ```sql + PKG_UTIL.FILE_SET_DIRNAME( + dir IN text + ) + RETURN bool + ``` + + **表 15** PKG_UTIL.FILE_SET_DIRNAME接口参数说明 + + | 参数 | 描述 | + | :------ | :----------------------------------------------------------- | + | dirname | 文件的目录位置,这个字符串是一个目录对象名。
说明:文件目录的位置,需要添加到系统表[PG_DIRECTORY](PG_DIRECTORY)中,如果传入的路径和[PG_DIRECTORY](PG_DIRECTORY)中的路径不匹配,会报路径不存在的错误,下面的涉及location作为参数的函数也是同样的情况。 | + +- PKG_UTIL.FILE_OPEN + + 该函数用来打开一个文件,最多可以同时打开50个文件。并且该函数返回INTEGER类型的一个句柄。 + + PKG_UTIL.FILE_OPEN函数原型为: + + ```sql + PKG_UTIL.FILE_OPEN( + file_name IN text, + open_mode IN integer) + ``` + + **表 16** PKG_UTIL.FILE_OPEN接口参数说明 + + | 参数 | 描述 | + | :-------- | :----------------------------------------------------------- | + | file_name | 文件名,包含扩展(文件类型),不包括路径名。如果文件名中包含路径,在OPEN中会被忽略,在Unix系统中,文件名不能以/.结尾。 | + | open_mode | 指定文件的打开模式,包含r:read text,w: write text和a: append text。说明:对于写操作,会检测文件类型,如果写入elf文件,将会报错并退出。 | + +- PKG_UTIL.FILE_SET_MAX_LINE_SIZE + + 设置写入文件一行的最大长度。 + + PKG_UTIL.FILE_SET_MAX_LINE_SIZE函数原型为: + + ```sql + PKG_UTIL.FILE_SET_MAX_LINE_SIZE( + max_line_size in integer) + RETURN BOOL + ``` + + **表 17** PKG_UTIL.FILE_SET_MAX_LINE_SIZE接口参数说明 + + | 参数 | 描述 | + | :------------ | :----------------------------------------------------------- | + | max_line_size | 每行最大字符数,包含换行符(最小值是1,最大值是32767)。如果没有指定,会指定一个默认值1024。 | + +- PKG_UTIL.FILE_IS_CLOSE + + 检测一个文件句柄是否关闭。 + + PKG_UTIL.FILE_IS_CLOSE函数原型为: + + ```sql + PKG_UTIL.FILE_IS_CLOSE( + file in integer + ) + RETURN BOOL + ``` + + **表 18** PKG_UTIL.FILE_IS_CLOSE接口参数说明 + + | 参数 | 描述 | + | :--- | :------------------- | + | file | 一个打开的文件句柄。 | + +- PKG_UTIL.FILE_READ + + 根据指定的长度从一个打开的文件句柄中读取出数据。 + + PKG_UTIL.FILE_READ函数原型为: + + ```sql + PKG_UTIL.FILE_READ( + file IN integer, + buffer OUT text, + len IN integer) + ``` + + **表 19** PKG_UTIL.FILE_READ接口参数说明 + + | 参数 | 描述 | + | :----- | :----------------------------------------------------------- | + | file | 通过调用OPEN打开的文件句柄,文件必须以读的模式打开,否则会抛出INVALID_OPERATION的异常。 | + | buffer | 用于接收数据的BUFFER。 | + | len | 从文件中读取的字节数。 | + +- PKG_UTIL.FILE_READLINE + + 根据指定的长度从一个打开的文件句柄中读取出一行数据。 + + PKG_UTIL.FILE_READLINE函数原型为: + + ```sql + PKG_UTIL.FILE_READLINE( + file IN integer, + buffer OUT text, + len IN integer default 1024) + ``` + + **表 20** PKG_UTIL.FILE_READLINE接口参数说明 + + | 参数 | 描述 | + | :----- | :----------------------------------------------------------- | + | file | 通过调用OPEN打开的文件句柄,文件必须以读的模式打开,否则会抛出INVALID_OPERATION的异常。 | + | buffer | 用于接收数据的BUFFER。 | + | len | 从文件中读取的字节数,默认是NULL。如果是默认NULL,会使用max_line_size来指定大小。 | + +- PKG_UTIL.FILE_WRITE + + 将BUFFER中指定的数据写入到文件中。 + + PKG_UTIL.FILE_WRITE函数原型为: + + ```sql + PKG_UTIL.FILE_WRITE( + file in integer, + buffer in text + ) + RETURN BOOL + ``` + + **表 21** PKG_UTIL.FILE_WRITE接口参数说明 + + | 参数 | 描述 | + | :----- | :----------------------------------------------------------- | + | file | 一个打开的文件句柄。 | + | buffer | 要写入文件的文本数据,BUFFER的最大值是32767个字节。如果没有指定值,默认是1024个字节,没有刷新到文件之前,一系列的PUT操作的BUFFER总和不能超过32767个字节。说明:对于写操作,会检测文件类型,如果写入elf文件,将会报错并退出。 | + +- PKG_UTIL.FILE_NEWLINE + + 向一个打开的文件中写入一个行终结符。行终结符和平台相关。 + + PKG_UTIL.FILE_NEWLINE函数原型为: + + ```sql + PKG_UTIL.FILE_NEWLINE( + file in integer + ) + RETURN BOOL + ``` + + **表 22** PKG_UTIL.FILE_NEWLINE接口参数说明 + + | 参数 | 描述 | + | :--- | :------------------- | + | file | 一个打开的文件句柄。 | + +- PKG_UTIL.FILE_WRITELINE + + 向一个打开的文件中写入一行。 + + PKG_UTIL.FILE_WRITELINE函数原型为: + + ```sql + PKG_UTIL.FILE_WRITELINE( + file in integer, + buffer in text, + flush in bool default false + ) + RETURN BOOL + ``` + + **表 23** PKG_UTIL.FILE_WRITELINE接口参数说明 + + | 参数 | 描述 | + | :----- | :------------------- | + | file | 一个打开的文件句柄。 | + | buffer | 要写入的内容。 | + | flush | 是否落盘。 | + +- PKG_UTIL.FILE_READ_RAW + + 从一个打开的文件句柄中读取指定长度的二进制数据,返回读取的二进制数据,返回类型为raw。 + + PKG_UTIL.FILE_READ_RAW函数原型为: + + ```sql + PKG_UTIL.FILE_READ_RAW( + file in integer, + length in integer default NULL + ) + RETURN raw + ``` + + **表 24** PKG_UTIL.FILE_READ_RAW接口参数说明 + + | 参数 | 描述 | + | :----- | :----------------------------------------------------------- | + | file | 一个打开的文件句柄。 | + | length | 要读取的长度,默认为NULL。默认情况下读取文件中所有数据,最大为1G。 | + +- PKG_UTIL.FILE_WRITE_RAW + + 向一个打开的文件中写入传入二进制对象RAW。插入成功返回true。 + + PKG_UTIL.FILE_WRITE_RAW函数原型为: + + ```sql + PKG_UTIL.FILE_WRITE_RAW( + file in integer, + r in raw + ) + RETURN BOOL + ``` + + **表 25** PKG_UTIL.FILE_NEWLINE接口参数说明 + + | 参数 | 描述 | + | :--- | :----------------------------------------------------------- | + | file | 一个打开的文件句柄。 | + | r | 准备传入文件的数据说明:对于写操作,会检测文件类型,如果写入elf文件,将会报错并退出。 | + +- PKG_UTIL.FILE_FLUSH + + 一个文件句柄中的数据要写入到物理文件中,缓冲区中的数据必须要有一个行终结符。当文件必须在打开时读取,刷新非常有用。例如,调试信息可以刷新到文件中,以便立即读取。 + + PKG_UTIL.FILE_FLUSH函数原型为: + + ```sql + PKG_UTIL.FILE_FLUSH( + file in integer + ) + RETURN VOID + ``` + + **表 26** PKG_UTIL.FILE_FLUSH接口参数说明 + + | 参数 | 描述 | + | :--- | :------------------- | + | file | 一个打开的文件句柄。 | + +- PKG_UTIL.FILE_CLOSE + + 关闭一个打开的文件句柄。 + + PKG_UTIL.FILE_CLOSE函数原型为: + + ```sql + PKG_UTIL.FILE_CLOSE( + file in integer + ) + RETURN BOOL + ``` + + **表 27** PKG_UTIL.FILE_CLOSE接口参数说明 + + | 参数 | 描述 | + | :--- | :------------------- | + | file | 一个打开的文件句柄。 | + +- PKG_UTIL.FILE_REMOVE + + 删除一个磁盘文件,操作的时候需要有充分的权限。 + + PKG_UTIL.FILE_REMOVE函数原型为: + + ```sql + PKG_UTIL.FILE_REMOVE( + file_name in text + ) + RETURN VOID + ``` + + **表 28** PKG_UTIL.FILE_REMOVE接口参数说明 + + | 参数 | 描述 | + | :-------- | :------------- | + | filen_ame | 要删除的文件名 | + +- PKG_UTIL.FILE_RENAME + + 对于磁盘上的文件进行重命名,类似Unix的mv。 + + PKG_UTIL.FILE_RENAME函数原型为: + + ```sql + PKG_UTIL.FILE_RENAME( + text src_dir in text, + text src_file_name in text, + text dest_dir in text, + text dest_file_name in text, + overwrite boolean default false) + ``` + + **表 29** PKG_UTIL.FILE_RENAME接口参数说明 + + | 参数 | 描述 | + | :------------- | :----------------------------------------------------------- | + | src_dir | 源文件目录(大小写敏感)。 | + | src_file_name | 源文件名。 | + | dest_dir | 目标文件目录(大小写敏感)。 | + | dest_file_name | 目标文件名。 | + | overwrite | 默认是false,如果目的目录下存在一个同名的文件,不会进行重写。 | + +- PKG_UTIL.FILE_SIZE + + 返回指定的文件大小。 + + PKG_UTIL.FILE_SIZE函数原型为: + + ```sql + bigint PKG_UTIL.FILE_SIZE( + file_name in text + ) + ``` + + **表 30** PKG_UTIL.FILE_SIZE接口参数说明 + + | 参数 | 描述 | + | :-------- | :----- | + | file_name | 文件名 | + +- PKG_UTIL.FILE_BLOCK_SIZE + + 返回指定的文件含有的块数量。 + + PKG_UTIL.FILE_BLOCK_SIZE函数原型为: + + ```sql + bigint PKG_UTIL.FILE_BLOCK_SIZE( + file_name in text + ) + ``` + + **表 31** PKG_UTIL.FILE_BLOCK_SIZE接口参数说明 + + | 参数 | 描述 | + | :-------- | :----- | + | file_name | 文件名 | + +- PKG_UTIL.FILE_EXISTS + + 判断指定的文件是否存在。 + + PKG_UTIL.FILE_EXISTS函数原型为: + + ```sql + PKG_UTIL.FILE_EXISTS( + file_name in text + ) + RETURN BOOL + ``` + + **表 32** PKG_UTIL.FILE_EXISTS接口参数说明 + + | 参数 | 描述 | + | :-------- | :----- | + | file_name | 文件名 | + +- PKG_UTIL.FILE_GETPOS + + 返回文件的偏移量,单位字节。 + + PKG_UTIL.FILE_GETPOS函数原型为: + + ```sql + PKG_UTIL.FILE_GETPOS( + file in integer + ) + RETURN BIGINT + ``` + + **表 33** PKG_UTIL.FILE_GETPOS接口参数说明 + + | 参数 | 描述 | + | :--- | :------------------- | + | file | 一个打开的文件句柄。 | + +- PKG_UTIL.FILE_SEEK + + 根据用户指定的字节数向前或者向后调整文件指针的位置。 + + PKG_UTIL.FILE_SEEK函数原型为: + + ```sql + void PKG_UTIL.FILE_SEEK( + file in integer, + start in bigint default null + ) + RETURN VOID + ``` + + **表 34** PKG_UTIL.FILE_SEEK接口参数说明 + + | 参数 | 描述 | + | :---- | :------------------- | + | file | 一个打开的文件句柄。 | + | start | 文件偏移,字节。 | + +- PKG_UTIL.FILE_CLOSE_ALL + + 关闭一个会话中打开的所有的文件句柄。 + + PKG_UTIL.FILE_CLOSE_ALL函数原型为: + + ```sql + PKG_UTIL.FILE_CLOSE_ALL( + ) + RETURN VOID↵ + ``` + + **表 35** PKG_UTIL.FILE_CLOSE_ALL接口参数说明 + + | 参数 | 描述 | + | :--- | :--- | + | 无 | 无 | + +- PKG_UTIL.EXCEPTION_REPORT_ERROR + + 抛出一个异常。 + + PKG_UTIL.EXCEPTION_REPORT_ERROR函数原型为: + + ```sql + PKG_UTIL.EXCEPTION_REPORT_ERROR( + code integer, + log text, + flag boolean DEFAULT false + ) + RETURN INTEGER + ``` + + **表 36** PKG_UTIL.EXCEPTION_REPORT_ERROR接口参数说明 + + | 参数 | 描述 | + | :--- | :--------------------------- | + | code | 抛异常所打印的错误码。 | + | log | 抛异常所打印的日志提示信息。 | + | flag | 保留字段,默认为false。 | + +- PKG_UTIL.app_read_client_info + + 读取client_info信息。 + + PKG_UTIL.app_read_client_info函数原型为: + + ```sql + PKG_UTIL.app_read_client_info( + OUT buffer text + ) + ``` + + **表 37** PKG_UTIL.app_read_client_info接口参数说明 + + | 参数 | 描述 | + | :----- | :---------------------- | + | buffer | 返回的client_info信息。 | + +- PKG_UTIL.app_set_client_info + + 设置client_info信息。 + + PKG_UTIL.app_set_client_info函数原型为: + + ```sql + PKG_UTIL.app_set_client_info( + str text + ) + RETURN INTEGER + ``` + + **表 38** PKG_UTIL.app_set_client_info接口参数说明 + + | 参数 | 描述 | + | :--- | :------------------------ | + | str | 要设置的client_info信息。 | + +- PKG_UTIL.lob_converttoblob + + 将clob转成blob,amout为要转换的长度。 + + PKG_UTIL.lob_converttoblob函数原型为: + + ```sql + PKG_UTIL.lob_converttoblob( + dest_lob blob, + src_clob clob, + amount integer, + dest_offset integer, + src_offset integer + ) + ``` + + **表 39** PKG_UTIL.lob_converttoblob接口参数说明 + + | 参数 | 描述 | + | :---------- | :------------------ | + | dest_lob | 目标lob。 | + | src_clob | 要转换的clob。 | + | amount | 转换的长度。 | + | dest_offset | 目标lob的起始位置。 | + | src_offset | 源clob的起始位置。 | + +- PKG_UTIL.lob_converttoclob + + 将blob转成clob,amout为要转换的长度。 + + PKG_UTIL.lob_converttoclob函数原型为: + + ```sql + PKG_UTIL.lob_converttoclob( + dest_lob clob, + src_blob blob, + amount integer, + dest_offset integer, + src_offset integer + ) + ``` + + **表 40** PKG_UTIL.lob_converttoclob接口参数说明 + + | 参数 | 描述 | + | :---------- | :------------------ | + | dest_lob | 目标lob。 | + | src_blob | 要转换的blob。 | + | amount | 转换的长度。 | + | dest_offset | 目标lob的起始位置。 | + | src_offset | 源clob的起始位置。 | + +- PKG_UTIL.lob_texttoraw + + 将text转成raw。 + + PKG_UTIL.lob_texttoraw函数原型为: + + ```sql + PKG_UTIL.lob_texttoraw( + src_lob clob + ) + RETURN raw + ``` + + **表 41** PKG_UTIL.lob_texttoraw接口参数说明 + + | 参数 | 描述 | + | :------ | :---------------- | + | src_lob | 要转换的lob数据。 | + +- PKG_UTIL.match_edit_distance_similarity + + 计算两个字符串的差别。 + + PKG_UTIL.match_edit_distance_similarity函数原型为: + + ```sql + PKG_UTIL.match_edit_distance_similarity( + str1 text, + str2 text + ) + RETURN INTEGER + ``` + + **表 42** PKG_UTIL.match_edit_distance_similarity接口参数说明 + + | 参数 | 描述 | + | :--- | :------------- | + | str1 | 第一个字符串。 | + | str2 | 第二个字符串。 | + + PKG_UTIL.raw_cast_to_varchar2 + + raw类型转成varchar2。 + + PKG_UTIL.raw_cast_to_varchar2函数原型为: + + ```sql + PKG_UTIL.raw_cast_to_varchar2( + str1 text, + str2 text + ) + RETURN INTEGER + ``` + + **表 43** PKG_UTIL.raw_cast_to_varchar2接口参数说明 + + | 参数 | 描述 | + | :--- | :------------- | + | str1 | 第一个字符串。 | + | str2 | 第二个字符串。 | + +- PKG_UTIL.session_clear_context + + 清除session_context信息。 + + PKG_UTIL.session_clear_context函数原型为: + + ```sql + PKG_UTIL.session_clear_context( + namespace text, + client_identifier text, + attribute text + ) + RETURN INTEGER + ``` + + **表 44** PKG_UTIL.session_clear_context接口参数说明 + + | 参数 | 描述 | + | :---------------- | :----------------------------------------------------------- | + | namespace | 属性的命名空间。 | + | client_identifier | client_identifier,一般与namespace即可,当为null时,默认修改所有namesapce。 | + | attribute | 要清除的属性值。 | + +- PKG_UTIL.session_search_context + + 查找属性值。 + + PKG_UTIL.session_clear_context函数原型为: + + ```sql + PKG_UTIL.session_clear_context( + namespace text, + attribute text + ) + RETURN INTEGER + ``` + + **表 45** PKG_UTIL.session_clear_context接口参数说明 + + | 参数 | 描述 | + | :-------- | :--------------- | + | namespace | 属性的命名空间。 | + | attribute | 要清除的属性值。 | + +- PKG_UTIL.session_set_context + + 设置属性值。 + + PKG_UTIL.session_set_context函数原型为: + + ```sql + PKG_UTIL.session_set_context( + namespace text, + attribute text, + value text + ) + RETURN INTEGER + ``` + + **表 46** PKG_UTIL.session_set_context接口参数说明 + + | 参数 | 描述 | + | :-------- | :------------- | + | namespace | 属性的命名空间 | + | attribute | 要设置的属性 | + | value | 属性对应的值 | + +- PKG_UTIL.utility_get_time + + 打印unix时间戳。 + + PKG_UTIL.utility_get_time函数原型为: + + ```sql + PKG_UTIL.utility_get_time() + RETURN text + ``` + +- PKG_UTIL.utility_format_error_backtrace + + 查看存储过程调用堆栈。 + + PKG_UTIL.utility_format_error_backtrace函数原型为: + + ```sql + PKG_UTIL.utility_format_error_backtrace() + RETURN text + ``` + +- PKG_UTIL.utility_format_error_stack + + 查看存储过程错误信息。 + + PKG_UTIL.utility_format_error_stack函数原型为: + + ```sql + PKG_UTIL.utility_format_error_stack() + RETURN text + ``` + +- PKG_UTIL.utility_format_call_stack + + 查看存储过程调用堆栈。 + + PKG_UTIL.utility_format_call_stack函数原型为: + + ```sql + PKG_UTIL.utility_format_call_stack() + RETURN text + ``` diff --git a/product/zh/docs-mogdb/v3.0/performance-tuning/tuning-with-vector-engine.md b/product/zh/docs-mogdb/v3.0/performance-tuning/tuning-with-vector-engine.md index fd6f1f74..a4242334 100644 --- a/product/zh/docs-mogdb/v3.0/performance-tuning/tuning-with-vector-engine.md +++ b/product/zh/docs-mogdb/v3.0/performance-tuning/tuning-with-vector-engine.md @@ -16,7 +16,7 @@ MogDB数据库支持行执行引擎和向量化执行引擎,分别对应行存 MogDB数据库所以对于分析类的复杂查询能够获得更好的查询性能。但列存表在数据插入和数据更新上表现不佳,对于存在数据频繁插入和更新的业务无法使用列存表。 -为了提升行存表在分析类的复杂查询上的查询性能,MogDB数据库提供行存表使用向量化执行引擎的能力。通过设置GUC参数try_vector_engine_strategy,可以将包含行存表的查询语句转换为向量化执行计划执行。 +为了提升行存表在分析类的复杂查询上的查询性能,MogDB数据库提供行存表使用向量化执行引擎的能力。通过设置GUC参数[try_vector_engine_strategy](1-optimizer-method-configuration#try_vector_engine_strategy),可以将包含行存表的查询语句转换为向量化执行计划执行。 行存表转换为向量化执行引擎执行不是对所有的查询场景都适用。参考向量化引擎的优势,如果查询语句中包含表达式计算、多表join、聚集等操作时,通过转换为向量化执行能够获得性能提升。从原理上分析,行存表转换为向量化执行,会产生转换的开销,导致性能下降。而上述操作的表达式计算、join操作、聚集操作转换为向量化执行之后,能够获得获得性能提升。所以查询转换为向量化执行后,性能是否提升,取决于查询转换为向量化之后获得的性能提升能否高于转换产生的性能开销。 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/21-developer-options.md b/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/21-developer-options.md index 5aa445be..7602efdd 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/21-developer-options.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/21-developer-options.md @@ -24,7 +24,7 @@ date: 2021-04-20 ## debug_assertions -**参数说明**:控制打开各种断言检查。能够协助调试,当遇到奇怪的问题或者崩溃,请把此参数打开,因为它能暴露编程的错误。要使用这个参数,必须在编译MogDB的时候定义宏USE_ASSERT_CHECKING(通过configure选项 --enable-cassert完成)。 +**参数说明**:控制打开各种断言检查。能够协助调试,当遇到奇怪的问题或者崩溃,请把此参数打开,因为它能暴露编程的错误。要使用这个参数,必须在编译MogDB的时候定义宏USE_ASSERT_CHECKING(通过configure选项--enable-cassert完成)。 该参数属于USERSET类型参数,请参考表[GUC参数分类](30-appendix)中对应设置方法进行设置。 @@ -309,7 +309,7 @@ date: 2021-04-20 ## plsql_show_all_error -**参数说明**:该参数用来控制编译PLPGSQL对象时是否支持跳过报错继续编译,具体影响请参考DBE_PLDEVELOPER内的说明。 +**参数说明**:该参数用来控制编译PLPGSQL对象时是否支持跳过报错继续编译,具体影响请参考[DBE_PLDEVELOPER](overview-of-DBE_PLDEVELOPER)内的说明。 该参数属于USERSET类型参数,请参考[GUC参数分类](30-appendix)中对应设置方法进行设置。 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/9-query-planning/4-other-optimizer-options.md b/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/9-query-planning/4-other-optimizer-options.md index e7704896..9f31a33a 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/9-query-planning/4-other-optimizer-options.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/9-query-planning/4-other-optimizer-options.md @@ -264,7 +264,7 @@ set sql_beta_feature=none; - canonical_pathkey:正则化pathkey生成置后(pathkey是指标记数据有序性键值的集合)。 - index_cost_with_leaf_pages_only:估算索引代价时考虑索引叶子结点。 - partition_opfusion:开启分区表优化。 -- a_style_coerce:开启Decode类型转换规则兼容O,详见**对于case,在ORA兼容模式下的处理和相关构造**。 +- a_style_coerce:开启Decode类型转换规则兼容O,详见[对于case,在ORA兼容模式下的处理](5-union-case-and-related-constructs#对于case在ora兼容模式下的处理)和相关构造。 - partition_fdw_on:支持基于分区表创建postgres foreign table下的相关SQL。 - predpush_same_level:开启predpush hint控制同层参数化路径的功能。 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/query/STATEMENT_HISTORY.md b/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/query/STATEMENT_HISTORY.md deleted file mode 100644 index 357afcac..00000000 --- a/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/query/STATEMENT_HISTORY.md +++ /dev/null @@ -1,492 +0,0 @@ ---- -title: STATEMENT_HISTORY -summary: STATEMENT_HISTORY -author: Guo Huan -date: 2021-04-19 ---- - -# STATEMENT_HISTORY - -获得当前节点的执行语句的信息。查询系统表必须具有sysadmin权限。只可在系统库中查询到结果,用户库中无法查询。 - -对于此系统表查询有如下约束: - -- 必须在postgres库内查询,其它库中不存数据。 -- 此系统表受track_stmt_stat_level控制,默认为“OFF,L0”,第一部分控制Full SQL,第二部分控制Slow SQL,具体字段记录级别见下表。 -- 对于Slow SQL,当track_stmt_stat_level的值为非OFF时,且SQL执行时间超过log_min_duration_statement,会记录为慢SQL。 - -**表 1** STATEMENT_HISTORY字段 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

名称

-

类型

-

描述

-

记录级别

-

db_name

-

name

-

数据库名称。

-

L0

-

schema_name

-

name

-

schema名称。

-

L0

-

origin_node

-

integer

-

节点名称。

-

L0

-

user_name

-

name

-

用户名。

-

L0

-

application_name

-

text

-

用户发起的请求的应用程序名称。

-

L0

-

client_addr

-

text

-

用户发起的请求的客户端地址。

-

L0

-

client_port

-

integer

-

用户发起的请求的客户端端口。

-

L0

-

unique_query_id

-

bigint

-

归一化SQL ID。

-

L0

-

debug_query_id

-

bigint

-

唯一SQL ID。

-

L0

-

query

-

text

-

归一化SQL。

-

L0

-

start_time

-

timestamp with time zone

-

语句启动的时间。

-

L0

-

finish_time

-

timestamp with time zone

-

语句结束的时间。

-

L0

-

slow_sql_threshold

-

bigint

-

语句执行时慢SQL的标准。

-

L0

-

transaction_id

-

bigint

-

事务ID。

-

L0

-

thread_id

-

bigint

-

执行线程ID。

-

L0

-

session_id

-

bigint

-

用户session id。

-

L0

-

n_soft_parse

-

bigint

-

软解析次数,n_soft_parse + n_hard_parse可能大于n_calls,因为子查询未计入n_calls。

-

L0

-

n_hard_parse

-

bigint

-

硬解析次数,n_soft_parse + n_hard_parse可能大于n_calls,因为子查询未计入n_calls。

-

L0

-

query_plan

-

text

-

语句执行计划。

-

L1

-

n_returned_rows

-

bigint

-

SELECT返回的结果集行数。

-

L0

-

n_tuples_fetched

-

bigint

-

随机扫描行。

-

L0

-

n_tuples_returned

-

bigint

-

顺序扫描行。

-

L0

-

n_tuples_inserted

-

bigint

-

插入行。

-

L0

-

n_tuples_updated

-

bigint

-

更新行。

-

L0

-

n_tuples_deleted

-

bigint

-

删除行。

-

L0

-

n_blocks_fetched

-

bigint

-

buffer的块访问次数。

-

L0

-

n_blocks_hit

-

bigint

-

buffer的块命中次数。

-

L0

-

db_time

-

bigint

-

有效的DB时间花费,多线程将累加(单位:微秒)。

-

L0

-

cpu_time

-

bigint

-

CPU时间(单位:微秒)。

-

L0

-

execution_time

-

bigint

-

执行器内执行时间(单位:微秒)。

-

L0

-

parse_time

-

bigint

-

SQL解析时间(单位:微秒)。

-

L0

-

plan_time

-

bigint

-

SQL生成计划时间(单位:微秒)。

-

L0

-

rewrite_time

-

bigint

-

SQL重写时间(单位:微秒)。

-

L0

-

pl_execution_time

-

bigint

-

plpgsql上的执行时间(单位:微秒)。

-

L0

-

pl_compilation_time

-

bigint

-

plpgsql上的编译时间(单位:微秒)。

-

L0

-

data_io_time

-

bigint

-

IO上的时间花费(单位:微秒)。

-

L0

-

net_send_info

-

text

-

通过物理连接发送消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{"time":xxx, "n_calls":xxx, "size":xxx}。

-

L0

-

net_recv_info

-

text

-

通过物理连接接收消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{"time":xxx, "n_calls":xxx, "size":xxx}。

-

L0

-

net_stream_send_info

-

text

-

通过逻辑连接发送消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{"time":xxx, "n_calls":xxx, "size":xxx}。

-

L0

-

net_stream_recv_info

-

text

-

通过逻辑连接接收消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{"time":xxx, "n_calls":xxx, "size":xxx}。

-

L0

-

lock_count

-

bigint

-

加锁次数。

-

L0

-

lock_time

-

bigint

-

加锁耗时。

-

L1

-

lock_wait_count

-

bigint

-

加锁等待次数。

-

L0

-

lock_wait_time

-

bigint

-

加锁等待耗时。

-

L1

-

lock_max_count

-

bigint

-

最大持锁数量。

-

L0

-

lwlock_count

-

bigint

-

轻量级加锁次数(预留)。

-

L0

-

lwlock_wait_count

-

bigint

-

轻量级等锁次数。

-

L0

-

lwlock_time

-

bigint

-

轻量级加锁时间(预留)。

-

L1

-

lwlock_wait_time

-

bigint

-

轻量级等锁时间。

-

L1

-

details

-

bytea

-

语句锁事件的列表,该列表按时间书序记录事件,记录的数量受参数track_stmt_details_size的影响。

-

事件包括:

-
  • 加锁开始。
  • 加锁结束。
  • 等锁开始。
  • 等锁结束。
  • 放锁开始。
  • 放锁结束。
  • 轻量级等锁开始。
  • 轻量级等锁结束。
-

L2

-

is_slow_sql

-

boolean

-

该SQL是否为slow SQL。

-

L0

-
diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/query/STATEMENT_HISTORY_1.md b/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/query/STATEMENT_HISTORY_1.md new file mode 100644 index 00000000..5f3bb178 --- /dev/null +++ b/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/query/STATEMENT_HISTORY_1.md @@ -0,0 +1,67 @@ +--- +title: STATEMENT_HISTORY +summary: STATEMENT_HISTORY +author: Guo Huan +date: 2021-04-19 +--- + +# STATEMENT_HISTORY + +获得当前节点的执行语句的信息。查询视图必须具有sysadmin权限或者monitor admin权限。只可在系统库中查询到结果,用户库中无法查询。 + +**表 1** STATEMENT_HISTORY字段 + +| 名称 | 类型 | 描述 | +| :------------------- | :----------------------- | :----------------------------------------------------------- | +| dbname | name | 数据库名称。 | +| schemaname | name | schema名称。 | +| origin_node | integer | 节点名称。 | +| user_name | name | 用户名。 | +| application_name | text | 用户发起的请求的应用程序名称。 | +| client_addr | text | 用户发起的请求的客户端地址。 | +| client_port | integer | 用户发起的请求的客户端端口。 | +| unique_query_id | bigint | 归一化SQL ID。 | +| debug_query_id | bigint | 唯一SQL ID。 | +| query | text | 归一化SQL。 | +| start_time | timestamp with time zone | 语句启动的时间。 | +| finish_time | timestamp with time zone | 语句结束的时间。 | +| slow_sql_threshold | bigint | 语句执行时慢SQL的标准。 | +| transaction_id | bigint | 事务ID。 | +| thread_id | bigint | 执行线程ID。 | +| session_id | bigint | 用户session id。 | +| n_soft_parse | bigint | 软解析次数,n_soft_parse + n_hard_parse可能大于n_calls,因为子查询未计入n_calls。 | +| n_hard_parse | bigint | 硬解析次数,n_soft_parse + n_hard_parse可能大于n_calls,因为子查询未计入n_calls。 | +| query_plan | text | 语句执行计划。 | +| n_returned_rows | bigint | SELECT返回的结果集行数。 | +| n_tuples_fetched | bigint | 随机扫描行。 | +| n_tuples_returned | bigint | 顺序扫描行。 | +| n_tuples_inserted | bigint | 插入行。 | +| n_tuples_updated | bigint | 更新行。 | +| n_tuples_deleted | bigint | 删除行。 | +| n_blocks_fetched | bigint | buffer的块访问次数。 | +| n_blocks_hit | bigint | buffer的块命中次数。 | +| db_time | bigint | 有效的DB时间花费,多线程将累加(单位:微秒)。 | +| cpu_time | bigint | CPU时间(单位:微秒)。 | +| execution_time | bigint | 执行器内执行时间(单位:微秒)。 | +| parse_time | bigint | SQL解析时间(单位:微秒)。 | +| plan_time | bigint | SQL生成计划时间(单位:微秒)。 | +| rewrite_time | bigint | SQL重写时间(单位:微秒)。 | +| pl_execution_time | bigint | plpgsql上的执行时间(单位:微秒)。 | +| pl_compilation_time | bigint | plpgsql上的编译时间(单位:微秒)。 | +| data_io_time | bigint | IO上的时间花费(单位:微秒)。 | +| net_send_info | text | 通过物理连接发送消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{“time”:xxx, “n_calls”:xxx, “size”:xxx}。 | +| net_recv_info | text | 通过物理连接接收消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{“time”:xxx, “n_calls”:xxx, “size”:xxx}。 | +| net_stream_send_info | text | 通过逻辑连接发送消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{“time”:xxx, “n_calls”:xxx, “size”:xxx}。 | +| net_stream_recv_info | text | 通过逻辑连接接收消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{“time”:xxx, “n_calls”:xxx, “size”:xxx}。 | +| lock_count | bigint | 加锁次数。 | +| lock_time | bigint | 加锁耗时。 | +| lock_wait_count | bigint | 加锁等待次数。 | +| lock_wait_time | bigint | 加锁等待耗时。 | +| lock_max_count | bigint | 最大持锁数量。 | +| lwlock_count | bigint | 轻量级加锁次数(预留)。 | +| lwlock_wait_count | bigint | 轻量级等锁次数。 | +| lwlock_time | bigint | 轻量级加锁时间(预留)。 | +| lwlock_wait_time | bigint | 轻量级加锁时间。 | +| details | bytea | 语句锁事件的列表,该列表按时间书序记录事件,记录的数量受参数track_stmt_details_size的影响。
事件包括:
- 加锁开始
- 加锁结束
- 等锁开始
- 等锁结束
- 放锁开始
- 放锁结束
- 轻量级等锁开始
- 轻量级等锁结束 | +| is_slow_sql | boolean | 该SQL是否为slow SQL | +| trace_id | text | 驱动传入的trace id,与应用的一次请求相关联。 | \ No newline at end of file diff --git a/product/zh/docs-mogdb/v3.0/toc.md b/product/zh/docs-mogdb/v3.0/toc.md index a791edfc..452d018e 100644 --- a/product/zh/docs-mogdb/v3.0/toc.md +++ b/product/zh/docs-mogdb/v3.0/toc.md @@ -429,6 +429,10 @@ + [事务管理](/developer-guide/plpgsql/1-9-transaction-management.md) + [其他语句](/developer-guide/plpgsql/1-10-other-statements.md) + [游标](/developer-guide/plpgsql/1-11-cursors.md) + + 高级包 + + 基础接口 + + [PKG_SERVICE](/developer-guide/plpgsql/advanced-packages/basic-interfaces/PKG_SERVICE.md) + + [PKG_UTIL](/developer-guide/plpgsql/advanced-packages/basic-interfaces/PKG_UTIL.md) + [Retry管理](/developer-guide/plpgsql/1-12-retry-management.md) + [调试](/developer-guide/plpgsql/1-13-debugging.md) + [package](/developer-guide/plpgsql/1-14-package.md) @@ -1273,7 +1277,7 @@ + [STATEMENT_COMPLEX_HISTORY_TABLE](/reference-guide/schema/DBE_PERF/query/STATEMENT_COMPLEX_HISTORY_TABLE.md) + [STATEMENT_COMPLEX_HISTORY](/reference-guide/schema/DBE_PERF/query/STATEMENT_COMPLEX_HISTORY.md) + [STATEMENT_WLMSTAT_COMPLEX_RUNTIME](/reference-guide/schema/DBE_PERF/query/STATEMENT_WLMSTAT_COMPLEX_RUNTIME.md) - + [STATEMENT_HISTORY](/reference-guide/schema/DBE_PERF/query/STATEMENT_HISTORY.md) + + [STATEMENT_HISTORY](/reference-guide/schema/DBE_PERF/query/STATEMENT_HISTORY_1.md) + Cache/IO + [STATIO_USER_TABLES](/reference-guide/schema/DBE_PERF/cache-io/STATIO_USER_TABLES.md) + [SUMMARY_STATIO_USER_TABLES](/reference-guide/schema/DBE_PERF/cache-io/SUMMARY_STATIO_USER_TABLES.md) diff --git a/product/zh/docs-mogdb/v3.0/toc_dev.md b/product/zh/docs-mogdb/v3.0/toc_dev.md index 561e646e..63865c4a 100644 --- a/product/zh/docs-mogdb/v3.0/toc_dev.md +++ b/product/zh/docs-mogdb/v3.0/toc_dev.md @@ -149,6 +149,10 @@ + [事务管理](/developer-guide/plpgsql/1-9-transaction-management.md) + [其他语句](/developer-guide/plpgsql/1-10-other-statements.md) + [游标](/developer-guide/plpgsql/1-11-cursors.md) + + 高级包 + + 基础接口 + + [PKG_SERVICE](/developer-guide/plpgsql/advanced-packages/basic-interfaces/PKG_SERVICE.md) + + [PKG_UTIL](/developer-guide/plpgsql/advanced-packages/basic-interfaces/PKG_UTIL.md) + [Retry管理](/developer-guide/plpgsql/1-12-retry-management.md) + [调试](/developer-guide/plpgsql/1-13-debugging.md) + [package](/developer-guide/plpgsql/1-14-package.md) diff --git a/product/zh/docs-mogdb/v3.0/toc_parameters-and-tools.md b/product/zh/docs-mogdb/v3.0/toc_parameters-and-tools.md index 0fd6dfd5..4d583014 100644 --- a/product/zh/docs-mogdb/v3.0/toc_parameters-and-tools.md +++ b/product/zh/docs-mogdb/v3.0/toc_parameters-and-tools.md @@ -214,7 +214,7 @@ + [STATEMENT_COMPLEX_HISTORY_TABLE](./reference-guide/schema/DBE_PERF/query/STATEMENT_COMPLEX_HISTORY_TABLE.md) + [STATEMENT_COMPLEX_HISTORY](./reference-guide/schema/DBE_PERF/query/STATEMENT_COMPLEX_HISTORY.md) + [STATEMENT_WLMSTAT_COMPLEX_RUNTIME](./reference-guide/schema/DBE_PERF/query/STATEMENT_WLMSTAT_COMPLEX_RUNTIME.md) - + [STATEMENT_HISTORY](./reference-guide/schema/DBE_PERF/query/STATEMENT_HISTORY.md) + + [STATEMENT_HISTORY](./reference-guide/schema/DBE_PERF/query/STATEMENT_HISTORY_1.md) + Cache/IO + [STATIO_USER_TABLES](./reference-guide/schema/DBE_PERF/cache-io/STATIO_USER_TABLES.md) + [SUMMARY_STATIO_USER_TABLES](./reference-guide/schema/DBE_PERF/cache-io/SUMMARY_STATIO_USER_TABLES.md) -- Gitee From b22c0537c20552af3563e911c24bf50596ccb9fc Mon Sep 17 00:00:00 2001 From: spaceoddity91719 Date: Fri, 10 Jun 2022 19:39:28 +0800 Subject: [PATCH 2/3] fix(mogdb):fix issue #I5AZZQ --- .../standard-installation/7-recommended-parameter-settings.md | 1 + .../standard-installation/7-recommended-parameter-settings.md | 1 + .../standard-installation/7-recommended-parameter-settings.md | 1 + .../standard-installation/7-recommended-parameter-settings.md | 1 + 4 files changed, 4 insertions(+) diff --git a/product/en/docs-mogdb/v2.1/installation-guide/standard-installation/7-recommended-parameter-settings.md b/product/en/docs-mogdb/v2.1/installation-guide/standard-installation/7-recommended-parameter-settings.md index 8a283828..fc20237a 100644 --- a/product/en/docs-mogdb/v2.1/installation-guide/standard-installation/7-recommended-parameter-settings.md +++ b/product/en/docs-mogdb/v2.1/installation-guide/standard-installation/7-recommended-parameter-settings.md @@ -140,6 +140,7 @@ gs_guc set -I all -N all -c "lockwait_timeout=1min" gs_guc set -I all -N all -c "max_files_per_process=100000" gs_guc set -I all -N all -c "behavior_compat_options='display_leading_zero'" gs_guc set -I all -N all -c "enable_thread_pool=off" +gs_guc set -I all -N all -c "gs_clean_timeout=0" ``` Restart the database to make the parameters take effect. diff --git a/product/en/docs-mogdb/v3.0/installation-guide/standard-installation/7-recommended-parameter-settings.md b/product/en/docs-mogdb/v3.0/installation-guide/standard-installation/7-recommended-parameter-settings.md index 636b1b5c..b17230dd 100644 --- a/product/en/docs-mogdb/v3.0/installation-guide/standard-installation/7-recommended-parameter-settings.md +++ b/product/en/docs-mogdb/v3.0/installation-guide/standard-installation/7-recommended-parameter-settings.md @@ -139,6 +139,7 @@ gs_guc set -I all -N all -c "lockwait_timeout=1min" gs_guc set -I all -N all -c "max_files_per_process=100000" gs_guc set -I all -N all -c "behavior_compat_options='display_leading_zero'" gs_guc set -I all -N all -c "enable_thread_pool=off" +gs_guc set -I all -N all -c "gs_clean_timeout=0" ``` Restart the database to make the parameters take effect. diff --git a/product/zh/docs-mogdb/v2.1/installation-guide/standard-installation/7-recommended-parameter-settings.md b/product/zh/docs-mogdb/v2.1/installation-guide/standard-installation/7-recommended-parameter-settings.md index 76eae70c..cd7690bc 100644 --- a/product/zh/docs-mogdb/v2.1/installation-guide/standard-installation/7-recommended-parameter-settings.md +++ b/product/zh/docs-mogdb/v2.1/installation-guide/standard-installation/7-recommended-parameter-settings.md @@ -140,6 +140,7 @@ gs_guc set -I all -N all -c "lockwait_timeout=1min" gs_guc set -I all -N all -c "max_files_per_process=100000" gs_guc set -I all -N all -c "behavior_compat_options='display_leading_zero'" gs_guc set -I all -N all -c "enable_thread_pool=off" +gs_guc set -I all -N all -c "gs_clean_timeout=0" ``` 重启数据库,使参数生效 diff --git a/product/zh/docs-mogdb/v3.0/installation-guide/standard-installation/7-recommended-parameter-settings.md b/product/zh/docs-mogdb/v3.0/installation-guide/standard-installation/7-recommended-parameter-settings.md index ad904715..d1135abe 100644 --- a/product/zh/docs-mogdb/v3.0/installation-guide/standard-installation/7-recommended-parameter-settings.md +++ b/product/zh/docs-mogdb/v3.0/installation-guide/standard-installation/7-recommended-parameter-settings.md @@ -139,6 +139,7 @@ gs_guc set -I all -N all -c "lockwait_timeout=1min" gs_guc set -I all -N all -c "max_files_per_process=100000" gs_guc set -I all -N all -c "behavior_compat_options='display_leading_zero'" gs_guc set -I all -N all -c "enable_thread_pool=off" +gs_guc set -I all -N all -c "gs_clean_timeout=0" ``` 重启数据库,使参数生效 -- Gitee From 48244a3fa446d0d6d17e67534bba482485fa7ba7 Mon Sep 17 00:00:00 2001 From: spaceoddity91719 Date: Fri, 10 Jun 2022 19:40:58 +0800 Subject: [PATCH 3/3] =?UTF-8?q?update(mogdb):gsql=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E7=AC=A6=E5=85=A8=E5=B1=80=E6=9B=BF=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2-1-single-query-index-recommendation.md | 4 +- ...-wal2json-extention-for-mogdb&opengauss.md | 6 +- .../open-source-components/DBMS-RANDOM.md | 34 ++-- .../column-store-tables-management.md | 62 +++--- ...OPY-FROM-STDIN-statement-to-import-data.md | 4 +- ...sing-a-gsql-meta-command-to-import-data.md | 8 +- .../5-using-gs_restore-to-import-data.md | 2 +- .../6-updating-data-in-a-table.md | 8 +- .../1-routine-maintenance-check-items.md | 28 +-- ...g-the-number-of-application-connections.md | 12 +- .../9-routinely-recreating-an-index.md | 8 +- ...ed-when-the-table-partition-is-modified.md | 10 +- .../dev/1-development-specifications.md | 42 ++-- ...cal-decoding-by-sql-function-interfaces.md | 10 +- .../2-full-materialized-view-usage.md | 18 +- .../2-incremental-materialized-view-usage.md | 22 +- .../plpgsql/1-12-retry-management.md | 4 +- .../plpgsql/1-4-arrays-and-records.md | 8 +- .../plpgsql/1-6-basic-statements.md | 18 +- .../plpgsql/1-7-dynamic-statements.md | 8 +- .../plpgsql/1-8-control-statements.md | 20 +- .../creating-a-resource-pool.md | 20 +- .../enabling-resource-load-management.md | 4 +- .../setting-a-cgroup.md | 2 +- .../scheduled-jobs/pkg-service.md | 40 ++-- .../1-system/4-configuring-smp.md | 6 +- .../2-sql/9-hint-based-tuning.md | 14 +- .../3-wdr/wdr-snapshot-schema.md | 14 +- .../10-geometric-functions-and-operators.md | 124 ++++++------ ...network-address-functions-and-operators.md | 58 +++--- .../12-text-search-functions-and-operators.md | 60 +++--- .../13-json-functions.md | 94 ++++----- .../13.1-hll-functions-and-operators.md | 132 ++++++------ .../14-sequence-functions.md | 14 +- .../15-array-functions-and-operators.md | 74 +++---- .../16-range-functions-and-operators.md | 58 +++--- .../17-aggregate-functions.md | 102 +++++----- .../18-window-functions.md | 22 +- .../19-security-functions.md | 14 +- .../20-encrypted-equality-functions.md | 6 +- .../21-set-returning-functions.md | 18 +- .../22-conditional-expressions-functions.md | 28 +-- .../23-system-information-functions.md | 146 +++++++------- .../1-configuration-settings-functions.md | 4 +- .../2-universal-file-access-functions.md | 16 +- .../3-server-signal-functions.md | 4 +- ...ackup-and-restoration-control-functions.md | 4 +- .../6-database-object-functions.md | 10 +- .../9-other-functions.md | 4 +- .../25-statistics-information-functions.md | 4 +- .../26-trigger-functions.md | 6 +- .../27-global-temporary-table-functions.md | 8 +- .../27.1-hash-function.md | 60 +++--- ...4-binary-string-functions-and-operators.md | 22 +- .../5-bit-string-functions-and-operators.md | 24 +-- .../6-mode-matching-operators.md | 30 +-- .../7-mathematical-functions-and-operators.md | 126 ++++++------ ...time-processing-functions-and-operators.md | 184 ++++++++--------- .../9-type-conversion-functions.md | 86 ++++---- .../3-logging-content.md | 14 +- .../2-platform-and-client-compatibility.md | 4 +- .../oracle-plugins/pg_prewarm-user-guide.md | 8 +- .../schema/DBE_PERF/DBE_PERF_overview.md | 2 +- .../GLOBAL_SESSION_STAT_ACTIVITY.md | 2 +- .../session-thread/SESSION_STAT_ACTIVITY.md | 2 +- .../overview-of-DBE_PLDEBUGGER-schema.md | 22 +- .../sql-reference/3-constant-and-macro.md | 16 +- .../4-expressions/1-simple-expressions.md | 20 +- .../4-expressions/2-condition-expressions.md | 46 ++--- .../4-expressions/3-subquery-expressions.md | 8 +- .../4-expressions/4-array-expressions.md | 10 +- .../4-expressions/5-row-expressions.md | 2 +- .../1-type-conversion-overview.md | 2 +- .../5-type-conversion/2-operators.md | 12 +- .../5-type-conversion/3-functions.md | 16 +- .../5-type-conversion/4-value-storage.md | 8 +- .../5-union-case-and-related-constructs.md | 18 +- .../1-introduction/2-what-is-a-document.md | 2 +- .../1-introduction/3-basic-text-matching.md | 8 +- .../1-searching-a-table.md | 40 ++-- .../2-creating-an-index.md | 14 +- .../3-constraints-on-index-use.md | 16 +- .../1-parsing-documents.md | 10 +- .../2-parsing-queries.md | 10 +- .../3-ranking-search-results.md | 16 +- .../4-highlighting-results.md | 4 +- .../2-manipulating-queries.md | 6 +- .../3-rewriting-queries.md | 16 +- .../4-gathering-document-statistics.md | 4 +- .../6-full-text-search/5-parser.md | 4 +- .../6-dictionaries/1-dictionaries-overview.md | 2 +- .../6-dictionaries/2-stop-words.md | 6 +- .../6-dictionaries/3-simple-dictionary.md | 12 +- .../6-dictionaries/4-synonym-dictionary.md | 32 +-- .../6-dictionaries/5-thesaurus-dictionary.md | 14 +- .../6-dictionaries/6-ispell-dictionary.md | 4 +- .../7-configuration-examples.md | 18 +- .../1-testing-a-configuration.md | 2 +- .../2-testing-a-parser.md | 4 +- .../3-testing-a-dictionary.md | 4 +- .../v3.0/reference-guide/sql-syntax/ABORT.md | 14 +- .../sql-syntax/ALTER-DATA-SOURCE.md | 22 +- .../sql-syntax/ALTER-DEFAULT-PRIVILEGES.md | 12 +- .../sql-syntax/ALTER-DIRECTORY.md | 6 +- .../reference-guide/sql-syntax/ALTER-GROUP.md | 6 +- .../sql-syntax/ALTER-MASKING-POLICY.md | 26 +-- .../sql-syntax/ALTER-MATERIALIZED-VIEW.md | 2 +- .../sql-syntax/ALTER-RESOURCE-LABEL.md | 8 +- .../sql-syntax/ALTER-RESOURCE-POOL.md | 12 +- .../ALTER-ROW-LEVEL-SECURITY-POLICY.md | 16 +- .../sql-syntax/ALTER-SCHEMA.md | 12 +- .../sql-syntax/ALTER-SEQUENCE.md | 12 +- .../sql-syntax/ALTER-SESSION.md | 24 +-- .../sql-syntax/ALTER-SYNONYM.md | 10 +- .../sql-syntax/ALTER-SYSTEM-KILL-SESSION.md | 4 +- .../sql-syntax/ALTER-SYSTEM-SET.md | 6 +- .../ALTER-TEXT-SEARCH-CONFIGURATION.md | 12 +- .../ALTER-TEXT-SEARCH-DICTIONARY.md | 6 +- .../reference-guide/sql-syntax/ALTER-VIEW.md | 8 +- .../sql-syntax/ANALYZE-ANALYSE.md | 14 +- .../v3.0/reference-guide/sql-syntax/CALL.md | 16 +- .../reference-guide/sql-syntax/CHECKPOINT.md | 2 +- .../reference-guide/sql-syntax/CLUSTER.md | 14 +- .../reference-guide/sql-syntax/COMMENT.md | 12 +- .../reference-guide/sql-syntax/COMMIT-END.md | 14 +- .../sql-syntax/COMMIT-PREPARED.md | 2 +- .../v3.0/reference-guide/sql-syntax/COPY.md | 18 +- .../sql-syntax/CREATE-AUDIT-POLICY.md | 16 +- .../sql-syntax/CREATE-DATA-SOURCE.md | 16 +- .../sql-syntax/CREATE-DATABASE.md | 40 ++-- .../sql-syntax/CREATE-DIRECTORY.md | 2 +- .../sql-syntax/CREATE-FUNCTION.md | 28 +-- .../CREATE-INCREMENTAL-MATERIALIZED-VIEW.md | 8 +- .../sql-syntax/CREATE-INDEX.md | 60 +++--- .../sql-syntax/CREATE-MASKING-POLICY.md | 14 +- .../sql-syntax/CREATE-MATERIALIZED-VIEW.md | 8 +- .../sql-syntax/CREATE-RESOURCE-LABEL.md | 18 +- .../sql-syntax/CREATE-RESOURCE-POOL.md | 20 +- .../reference-guide/sql-syntax/CREATE-ROLE.md | 18 +- .../CREATE-ROW-LEVEL-SECURITY-POLICY.md | 28 +-- .../sql-syntax/CREATE-SCHEMA.md | 8 +- .../sql-syntax/CREATE-SEQUENCE.md | 16 +- .../sql-syntax/CREATE-SERVER.md | 2 +- .../sql-syntax/CREATE-SYNONYM.md | 44 ++-- .../sql-syntax/CREATE-TABLE-AS.md | 12 +- .../sql-syntax/CREATE-TABLE-PARTITION.md | 190 +++++++++--------- .../sql-syntax/CREATE-TABLE.md | 140 ++++++------- .../sql-syntax/CREATE-TABLESPACE.md | 20 +- .../CREATE-TEXT-SEARCH-CONFIGURATION.md | 24 +-- .../sql-syntax/CREATE-TRIGGER.md | 46 ++--- .../reference-guide/sql-syntax/CREATE-TYPE.md | 42 ++-- .../reference-guide/sql-syntax/CREATE-USER.md | 22 +- .../reference-guide/sql-syntax/CREATE-VIEW.md | 6 +- .../CREATE-WEAK-PASSWORD-DICTIONARY.md | 8 +- .../v3.0/reference-guide/sql-syntax/DELETE.md | 8 +- .../v3.0/reference-guide/sql-syntax/DO.md | 6 +- .../sql-syntax/DROP-COLUMN-ENCRYPTION-KEY.md | 2 +- .../sql-syntax/DROP-DATA-SOURCE.md | 6 +- .../sql-syntax/DROP-DIRECTORY.md | 4 +- .../sql-syntax/DROP-MASKING-POLICY.md | 4 +- .../sql-syntax/DROP-MATERIALIZED-VIEW.md | 2 +- .../sql-syntax/DROP-RESOURCE-LABEL.md | 4 +- .../DROP-ROW-LEVEL-SECURITY-POLICY.md | 6 +- .../sql-syntax/DROP-SEQUENCE.md | 4 +- .../sql-syntax/DROP-TEXT-SEARCH-DICTIONARY.md | 2 +- .../sql-syntax/EXECUTE-DIRECT.md | 6 +- .../reference-guide/sql-syntax/EXECUTE.md | 14 +- .../reference-guide/sql-syntax/EXPLAIN.md | 24 +-- .../v3.0/reference-guide/sql-syntax/FETCH.md | 32 +-- .../v3.0/reference-guide/sql-syntax/GRANT.md | 84 ++++---- .../v3.0/reference-guide/sql-syntax/INSERT.md | 16 +- .../v3.0/reference-guide/sql-syntax/LOCK.md | 14 +- .../reference-guide/sql-syntax/MERGE-INTO.md | 30 +-- .../v3.0/reference-guide/sql-syntax/MOVE.md | 12 +- .../REFRESH-INCREMENTAL-MATERIALIZED-VIEW.md | 8 +- .../sql-syntax/REFRESH-MATERIALIZED-VIEW.md | 12 +- .../reference-guide/sql-syntax/REINDEX.md | 16 +- .../sql-syntax/RELEASE-SAVEPOINT.md | 18 +- .../v3.0/reference-guide/sql-syntax/RESET.md | 4 +- .../sql-syntax/ROLLBACK-TO-SAVEPOINT.md | 20 +- .../reference-guide/sql-syntax/ROLLBACK.md | 4 +- .../reference-guide/sql-syntax/SAVEPOINT.md | 38 ++-- .../reference-guide/sql-syntax/SELECT-INTO.md | 4 +- .../v3.0/reference-guide/sql-syntax/SELECT.md | 76 +++---- .../sql-syntax/SET-CONSTRAINTS.md | 2 +- .../reference-guide/sql-syntax/SET-ROLE.md | 10 +- .../sql-syntax/SET-SESSION-AUTHORIZATION.md | 10 +- .../sql-syntax/SET-TRANSACTION.md | 6 +- .../v3.0/reference-guide/sql-syntax/SET.md | 4 +- .../v3.0/reference-guide/sql-syntax/SHOW.md | 6 +- .../reference-guide/sql-syntax/SHUTDOWN.md | 4 +- .../sql-syntax/START-TRANSACTION.md | 18 +- .../sql-syntax/TIMECAPSULE-TABLE.md | 16 +- .../reference-guide/sql-syntax/TRUNCATE.md | 18 +- .../v3.0/reference-guide/sql-syntax/UPDATE.md | 16 +- .../v3.0/reference-guide/sql-syntax/VACUUM.md | 8 +- .../5-binary-data-types.md | 8 +- .../tool-reference/client-tool/1-gsql.md | 150 +++++++------- .../1-client-access-authentication.md | 18 +- .../2-managing-users-and-their-permissions.md | 112 +++++------ .../security/3-configuring-database-audit.md | 10 +- .../4-setting-encrypted-equality-query.md | 56 +++--- .../security/5-setting-a-ledger-database.md | 46 ++--- .../security/6-transparent-data-encryption.md | 12 +- 204 files changed, 2307 insertions(+), 2307 deletions(-) diff --git a/product/zh/docs-mogdb/v3.0/AI-features/ai4db/ai-sub-functions-of-the-dbmind/2-index-advisor-index-recommendation/2-1-single-query-index-recommendation.md b/product/zh/docs-mogdb/v3.0/AI-features/ai4db/ai-sub-functions-of-the-dbmind/2-index-advisor-index-recommendation/2-1-single-query-index-recommendation.md index 9124a5a0..01224e9f 100644 --- a/product/zh/docs-mogdb/v3.0/AI-features/ai4db/ai-sub-functions-of-the-dbmind/2-index-advisor-index-recommendation/2-1-single-query-index-recommendation.md +++ b/product/zh/docs-mogdb/v3.0/AI-features/ai4db/ai-sub-functions-of-the-dbmind/2-index-advisor-index-recommendation/2-1-single-query-index-recommendation.md @@ -45,7 +45,7 @@ CREATE INDEX idx on bmsql_customer(c_w_id); 某些SQL语句,也可能被推荐创建联合索引,例如: ```sql -mogdb=# select "table", "column" from gs_index_advise('select name, age, sex from t1 where age >= 18 and age < 35 and sex = ''f'';'); +MogDB=# select "table", "column" from gs_index_advise('select name, age, sex from t1 where age >= 18 and age < 35 and sex = ''f'';'); table | column -------+------------ t1 | (age, sex) @@ -61,7 +61,7 @@ CREATE INDEX idx1 on t1(age, sex); 针对分区表可推荐具体索引类型,例如: ```sql -mogdb=# select "table", "column", "indextype" from gs_index_advise('select name, age, sex from range_table where age = 20;'); +MogDB=# select "table", "column", "indextype" from gs_index_advise('select name, age, sex from range_table where age = 20;'); table | column | indextype -------+--------+----------- t1 | age | global diff --git a/product/zh/docs-mogdb/v3.0/about-mogdb/open-source-components/5-wal2json-extention-for-mogdb&opengauss.md b/product/zh/docs-mogdb/v3.0/about-mogdb/open-source-components/5-wal2json-extention-for-mogdb&opengauss.md index 485a45c4..37efeea0 100644 --- a/product/zh/docs-mogdb/v3.0/about-mogdb/open-source-components/5-wal2json-extention-for-mogdb&opengauss.md +++ b/product/zh/docs-mogdb/v3.0/about-mogdb/open-source-components/5-wal2json-extention-for-mogdb&opengauss.md @@ -49,11 +49,11 @@ wal2json插件会在每个事务中生成一个JSON对象。JSON对象中提供 code char(10), PRIMARY KEY (id) ); - mogdb=# INSERT INTO test_table (id, code) VALUES('id1', 'code1'); + MogDB=# INSERT INTO test_table (id, code) VALUES('id1', 'code1'); INSERT 0 1 - mogdb=# update test_table set code='code2' where id='id1'; + MogDB=# update test_table set code='code2' where id='id1'; UPDATE 1 - mogdb=# delete from test_table where id='id1'; + MogDB=# delete from test_table where id='id1'; DELETE 1 ``` diff --git a/product/zh/docs-mogdb/v3.0/about-mogdb/open-source-components/DBMS-RANDOM.md b/product/zh/docs-mogdb/v3.0/about-mogdb/open-source-components/DBMS-RANDOM.md index e04639d1..da1ec2a2 100644 --- a/product/zh/docs-mogdb/v3.0/about-mogdb/open-source-components/DBMS-RANDOM.md +++ b/product/zh/docs-mogdb/v3.0/about-mogdb/open-source-components/DBMS-RANDOM.md @@ -84,7 +84,7 @@ gsql ((MogDB x.x.x build 56189e20) compiled at 2022-01-07 18:47:53 commit 0 last Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. -mogdb=# +MogDB=# ```
@@ -157,7 +157,7 @@ NOTICE: i=5 : value=6.19573155790567 CONTEXT: SQL statement "CALL dbms_output.put_line('i=' || i || ' : value=' || DBMS_RANDOM.value(low => 1, high => 10))" PL/pgSQL function inline_code_block line 12 at PERFORM ANONYMOUS BLOCK EXECUTE -mogdb=# +MogDB=# ```
@@ -219,13 +219,13 @@ NOTICE: value(1,100)= 40.035083710216 CONTEXT: SQL statement "CALL dbms_output.put_line('value(1,100)= ' || DBMS_RANDOM.value(1,100))" PL/pgSQL function inline_code_block line 4 at PERFORM ANONYMOUS BLOCK EXECUTE -mogdb=# +MogDB=# ``` 可按要求使用**TRUNC**或者**ROUND**改变随机数位数。例如,要生成1到10之间的随机整数,将小数点后的值舍去并给最大值加1。 ```sql -mogdb=# select TRUNC(DBMS_RANDOM.value(1,11)) ; +MogDB=# select TRUNC(DBMS_RANDOM.value(1,11)) ; trunc ------- @@ -234,7 +234,7 @@ mogdb=# select TRUNC(DBMS_RANDOM.value(1,11)) ; (1 row) -mogdb=# +MogDB=# ```
@@ -276,7 +276,7 @@ NOTICE: string('x',10)= ZdSd8x8RKx CONTEXT: SQL statement "CALL dbms_output.put_line('string(''x'',10)= ' || DBMS_RANDOM.string('x',10))" PL/pgSQL function inline_code_block line 4 at PERFORM ANONYMOUS BLOCK EXECUTE -mogdb=# +MogDB=# ``` **STRING**和**VALUE**函数结合可以生成各种长度的字符串。 @@ -306,7 +306,7 @@ NOTICE: string('L',?)= pcvtxnwzomkqwpfzes CONTEXT: SQL statement "CALL dbms_output.put_line('string(''L'',?)= ' || DBMS_RANDOM.string('L',TRUNC(DBMS_RANDOM.value(10,21))))" PL/pgSQL function inline_code_block line 4 at PERFORM ANONYMOUS BLOCK EXECUTE -mogdb=# +MogDB=# ```
@@ -340,7 +340,7 @@ NOTICE: normal= .360125112757284 CONTEXT: SQL statement "CALL dbms_output.put_line('normal= ' || DBMS_RANDOM.normal())" PL/pgSQL function inline_code_block line 4 at PERFORM ANONYMOUS BLOCK EXECUTE -mogdb=# +MogDB=# ```
@@ -386,7 +386,7 @@ NOTICE: random= -1251059926 CONTEXT: SQL statement "CALL dbms_output.put_line('random= ' || DBMS_RANDOM.random())" PL/pgSQL function inline_code_block line 4 at PERFORM ANONYMOUS BLOCK EXECUTE -mogdb=# +MogDB=# ```
@@ -420,7 +420,7 @@ NOTICE: date= 2022-06-04 00:00:00 CONTEXT: SQL statement "CALL dbms_output.put_line('date= ' || TRUNC(SYSDATE + DBMS_RANDOM.value(0,366)))" PL/pgSQL function inline_code_block line 4 at PERFORM ANONYMOUS BLOCK EXECUTE -mogdb=# +MogDB=# ``` 通过进行正确除法运算,可以给日期添加小时、秒或分钟。 @@ -488,7 +488,7 @@ NOTICE: secs = 2021-09-04 00:06:32 CONTEXT: SQL statement "CALL dbms_output.put_line('secs = ' || (TRUNC(SYSDATE)+ (TRUNC(DBMS_RANDOM.value(0,1000))/l_secs_in_day)))" PL/pgSQL function inline_code_block line 12 at PERFORM ANONYMOUS BLOCK EXECUTE -mogdb=# +MogDB=# ```
@@ -498,7 +498,7 @@ mogdb=# DBMS_RANDOM 包用于生成随机测试数据。通过将其与查询结合,可以快速生成大量数据。 ```sql -mogdb=# CREATE TABLE random_data ( +MogDB=# CREATE TABLE random_data ( id NUMBER, small_number NUMBER(5), big_number NUMBER, @@ -509,11 +509,11 @@ mogdb=# CREATE TABLE random_data ( ); NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "random_data_pk" for table "random_data" CREATE TABLE -mogdb=# +MogDB=# ``` ```sql -mogdb=# INSERT INTO random_data +MogDB=# INSERT INTO random_data SELECT generate_series(1,29999), TRUNC(DBMS_RANDOM.value(1,5)) AS small_number, TRUNC(DBMS_RANDOM.value(100,10000)) AS big_number, @@ -521,12 +521,12 @@ SELECT generate_series(1,29999), DBMS_RANDOM.string('L',TRUNC(DBMS_RANDOM.value(100,400))) AS long_string, TRUNC(SYSDATE + DBMS_RANDOM.value(0,366)) AS created_date; INSERT 0 29999 -mogdb=# -mogdb=# select count(*) from random_data; +MogDB=# +MogDB=# select count(*) from random_data; count ------- 29999 (1 row) -mogdb=# +MogDB=# ``` diff --git a/product/zh/docs-mogdb/v3.0/administrator-guide/column-store-tables-management.md b/product/zh/docs-mogdb/v3.0/administrator-guide/column-store-tables-management.md index 54c4652f..8e9c6731 100644 --- a/product/zh/docs-mogdb/v3.0/administrator-guide/column-store-tables-management.md +++ b/product/zh/docs-mogdb/v3.0/administrator-guide/column-store-tables-management.md @@ -101,29 +101,29 @@ MogDB支持行列混合存储。行、列存储模型各有优劣,建议根据 MogDB创建普通表默认是未压缩的行存表。 ```bash -mogdb=# \dt +MogDB=# \dt No relations found. -mogdb=# create table test_t(id serial primary key ,col1 varchar(8),col2 decimal(6,2),create_time timestamptz not null default now()); +MogDB=# create table test_t(id serial primary key ,col1 varchar(8),col2 decimal(6,2),create_time timestamptz not null default now()); NOTICE: CREATE TABLE will create implicit sequence "test_t_id_seq" for serial column "test_t.id" NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "test_t_pkey" for table "test_t" CREATE TABLE -mogdb=# \dt+ +MogDB=# \dt+ List of relations Schema | Name | Type | Owner | Size | Storage | Description --------+--------+-------+-------+---------+----------------------------------+------------- public | test_t | table | omm | 0 bytes | {orientation=row,compression=no} | (1 row) -mogdb=# +MogDB=# ``` 创建列存表,需要指定**orientation=column**,默认压缩级别是low。 ```sql -mogdb=# create table column_t(id serial,col1 varchar(8),col2 decimal(6,2),create_time timestamptz not null default now()) with (orientation=column ); +MogDB=# create table column_t(id serial,col1 varchar(8),col2 decimal(6,2),create_time timestamptz not null default now()) with (orientation=column ); NOTICE: CREATE TABLE will create implicit sequence "column_t_id_seq" for serial column "column_t.id" CREATE TABLE -mogdb=# \dt+ +MogDB=# \dt+ List of relations Schema | Name | Type | Owner | Size | Storage | Description --------+----------+-------+-------+---------+--------------------------------------+------------- @@ -131,8 +131,8 @@ mogdb=# \dt+ public | test_t | table | omm | 0 bytes | {orientation=row,compression=no} | (2 rows) -mogdb=# -mogdb=# \d+ column_t +MogDB=# +MogDB=# \d+ column_t Table "public.column_t" Column | Type | Modifiers | Storage | Stats target | Description -------------+--------------------------+-------------------------------------------------------+----------+--------------+------------- @@ -147,7 +147,7 @@ Options: orientation=column, compression=low 列存表添加局部聚簇存储列。 ```sql -mogdb=# \d+ column_t +MogDB=# \d+ column_t Table "public.column_t" Column | Type | Modifiers | Storage | Stats target | Description -------------+--------------------------+-------------------------------------------------------+----------+--------------+------------- @@ -158,9 +158,9 @@ mogdb=# \d+ column_t Has OIDs: no Options: orientation=column, compression=low -mogdb=# alter table column_t add PARTIAL CLUSTER KEY(id); +MogDB=# alter table column_t add PARTIAL CLUSTER KEY(id); ALTER TABLE -mogdb=# \d+ column_t +MogDB=# \d+ column_t Table "public.column_t" Column | Type | Modifiers | Storage | Stats target | Description -------------+--------------------------+-------------------------------------------------------+----------+--------------+------------- @@ -173,16 +173,16 @@ Partial Cluster : Has OIDs: no Options: orientation=column, compression=low -mogdb=# +MogDB=# ``` 直接创建带局部聚簇存储的列存表。 ```sql -mogdb=# create table column_c(id serial,col1 varchar(8),col2 decimal(6,2),create_time timestamptz not null default now(),PARTIAL CLUSTER KEY(id)) with (orientation=column ); +MogDB=# create table column_c(id serial,col1 varchar(8),col2 decimal(6,2),create_time timestamptz not null default now(),PARTIAL CLUSTER KEY(id)) with (orientation=column ); NOTICE: CREATE TABLE will create implicit sequence "column_c_id_seq" for serial column "column_c.id" CREATE TABLE -mogdb=# \d+ column_c +MogDB=# \d+ column_c Table "public.column_c" Column | Type | Modifiers | Storage | Stats target | Description -------------+--------------------------+-------------------------------------------------------+----------+--------------+------------- @@ -195,7 +195,7 @@ Partial Cluster : Has OIDs: no Options: orientation=column, compression=low -mogdb=# +MogDB=# ``` 有关列存表支持的数据类型,请参见参考指南>支持的数据类型下的[列存表支持的数据类型](16-data-types-supported-by-column-store-tables). @@ -213,7 +213,7 @@ mogdb=# - 分别向两个表中插入100万条数据,占用磁盘大小对比。 ```sql - mogdb=# \dt+ + MogDB=# \dt+ List of relations Schema | Name | Type | Owner | Size | Storage | Description --------+-----------+-------+-------+---------+-----------------------------------------+------------- @@ -223,22 +223,22 @@ mogdb=# public | row_tc | table | omm | 0 bytes | {orientation=row,compression=yes} | public | test_t | table | omm | 0 bytes | {orientation=row,compression=no} | (5 rows) - mogdb=# insert into column_t select generate_series(1,1000000),left(md5(random()::text),8),random()::numeric(6,2); + MogDB=# insert into column_t select generate_series(1,1000000),left(md5(random()::text),8),random()::numeric(6,2); INSERT 0 1000000 Time: 11328.880 ms - mogdb=# insert into column_th select generate_series(1,1000000),left(md5(random()::text),8),random()::numeric(6,2); + MogDB=# insert into column_th select generate_series(1,1000000),left(md5(random()::text),8),random()::numeric(6,2); INSERT 0 1000000 Time: 10188.634 ms - mogdb=# insert into column_tm select generate_series(1,1000000),left(md5(random()::text),8),random()::numeric(6,2); + MogDB=# insert into column_tm select generate_series(1,1000000),left(md5(random()::text),8),random()::numeric(6,2); INSERT 0 1000000 Time: 9802.739 ms - mogdb=# insert into test_t select generate_series(1,1000000),left(md5(random()::text),8),random()::numeric(6,2); + MogDB=# insert into test_t select generate_series(1,1000000),left(md5(random()::text),8),random()::numeric(6,2); INSERT 0 1000000 Time: 17404.945 ms - mogdb=# insert into row_tc select generate_series(1,1000000),left(md5(random()::text),8),random()::numeric(6,2); + MogDB=# insert into row_tc select generate_series(1,1000000),left(md5(random()::text),8),random()::numeric(6,2); INSERT 0 1000000 Time: 12394.866 ms - mogdb=# \dt+ + MogDB=# \dt+ List of relations Schema | Name | Type | Owner | Size | Storage | Description --------+-----------+-------+-------+----------+-----------------------------------------+------------- @@ -248,7 +248,7 @@ mogdb=# public | row_tc | table | omm | 58 MB | {orientation=row,compression=yes} | public | test_t | table | omm | 58 MB | {orientation=row,compression=no} | (5 rows) - mogdb=# + MogDB=# ``` - 列存表开启的压缩级别越高,占用磁盘空间越少。 @@ -265,7 +265,7 @@ mogdb=# --- ---按范围查找,列存比行存快近20倍 --- -mogdb=# select col1 from test_t where id>=100010 and id<100020; +MogDB=# select col1 from test_t where id>=100010 and id<100020; col1 ---------- 4257a3f3 @@ -281,7 +281,7 @@ mogdb=# select col1 from test_t where id>=100010 and id<100020; (10 rows) Time: 77.341 ms -mogdb=# select col1 from column_t where id>=100010 and id<100020; +MogDB=# select col1 from column_t where id>=100010 and id<100020; col1 ---------- d4837c30 @@ -302,7 +302,7 @@ Time: 3.884 ms ---随机查找,列存比行存快近35倍 --- -mogdb=# select col1 from test_t limit 10; +MogDB=# select col1 from test_t limit 10; col1 ---------- c2780d93 @@ -318,7 +318,7 @@ mogdb=# select col1 from test_t limit 10; (10 rows) Time: 249.887 ms -mogdb=# select col1 from column_t limit 10; +MogDB=# select col1 from column_t limit 10; col1 ---------- a745d77b @@ -342,7 +342,7 @@ Time: 7.738 ms --- ---行存比列存查询快30% --- -mogdb=# select * from test_t limit 10; +MogDB=# select * from test_t limit 10; id | col1 | col2 | create_time ----+----------+------+------------------------------- 1 | c2780d93 | .37 | 2020-10-26 14:27:33.304108+08 @@ -359,7 +359,7 @@ mogdb=# select * from test_t limit 10; Time: 6.822 ms -mogdb=# select * from column_t limit 10; +MogDB=# select * from column_t limit 10; id | col1 | col2 | create_time ----+----------+------+------------------------------- 1 | a745d77b | .33 | 2020-10-26 14:28:20.633253+08 @@ -383,10 +383,10 @@ Time: 9.982 ms --- ---直接更新一个字段,列存比行存快近7倍 --- -mogdb=# update test_t set col1=col1; +MogDB=# update test_t set col1=col1; UPDATE 1000000 Time: 19779.978 ms -mogdb=# update column_t set col1=col1; +MogDB=# update column_t set col1=col1; UPDATE 1000000 Time: 2702.339 ms ``` diff --git a/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/3-running-the-COPY-FROM-STDIN-statement-to-import-data.md b/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/3-running-the-COPY-FROM-STDIN-statement-to-import-data.md index 6ba4a564..c0a9c4a6 100644 --- a/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/3-running-the-COPY-FROM-STDIN-statement-to-import-data.md +++ b/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/3-running-the-COPY-FROM-STDIN-statement-to-import-data.md @@ -76,7 +76,7 @@ throws SQLException 在创建外表时,通过设置参数“LOG INTO error_table_name”,将数据导入过程中出现的数据格式错误信息写入指定的错误信息表error_table_name中。您可以通过以下SQL,查询详细错误信息。 ```sql - mogdb=# SELECT * FROM error_table_name; + MogDB=# SELECT * FROM error_table_name; ``` 错误信息表结构如表1所示。 @@ -108,7 +108,7 @@ throws SQLException | extra data after last expected column | 数据源文件中的列数比外表定义的列数多。 | - 在数据源文件中,删除多余的字段值。
- 在创建外表时,将参数“ignore_extra_data”设置为“on”。即在导入过程中,若数据源文件比外表定义的列数多,则忽略行尾多出来的列。 | | invalid input syntax for type numeric: “a” | 数据类型错误。 | 在数据源文件中,修改输入字段的数据类型。根据此错误信息,请将输入的数据类型修改为numeric。 | | null value in column “staff_id” violates not-null constraint | 非空约束。 | 在数据源文件中,增加非空字段信息。根据此错误信息,请增加“staff_id”列的值。 | -| duplicate key value violates unique constraint “reg_id_pk” | 唯一约束。 | - 删除数据源文件中重复的行。
- 通过设置关键字“DISTINCT”,从SELECT结果集中删除重复的行,保证导入的每一行都是唯一的。
`mogdb=# INSERT INTO reasons SELECT DISTINCT * FROM foreign_tpcds_reasons;` | +| duplicate key value violates unique constraint “reg_id_pk” | 唯一约束。 | - 删除数据源文件中重复的行。
- 通过设置关键字“DISTINCT”,从SELECT结果集中删除重复的行,保证导入的每一行都是唯一的。
`MogDB=# INSERT INTO reasons SELECT DISTINCT * FROM foreign_tpcds_reasons;` | | value too long for type character varying(16) | 字段值长度超过限制。 | 在数据源文件中,修改字段值长度。根据此错误信息,字段值长度限制为VARCHAR2(16)。 |
diff --git a/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/4-using-a-gsql-meta-command-to-import-data.md b/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/4-using-a-gsql-meta-command-to-import-data.md index 6319837c..00a0c03b 100644 --- a/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/4-using-a-gsql-meta-command-to-import-data.md +++ b/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/4-using-a-gsql-meta-command-to-import-data.md @@ -168,7 +168,7 @@ not null column_list ] ] 1. 创建目标表a。 ```sql - mogdb=# CREATE TABLE a(a int); + MogDB=# CREATE TABLE a(a int); ``` 2. 导入数据。 @@ -176,7 +176,7 @@ not null column_list ] ] 从stdin拷贝数据到目标表a。 ```sql - mogdb=# \copy a from stdin; + MogDB=# \copy a from stdin; ``` 出现>>符号提示时,输入数据,输入\\.时结束。 @@ -192,7 +192,7 @@ not null column_list ] ] 查询导入目标表a的数据。 ```sql - mogdb=# SELECT * FROM a; + MogDB=# SELECT * FROM a; a --- 1 @@ -207,5 +207,5 @@ not null column_list ] ] - 在导入过程中,若数据源文件比外表定义的列数多,则忽略行尾多出来的列。 ```sql - mogdb=# \copy a FROM '/home/omm/2.csv' WITH (delimiter',',IGNORE_EXTRA_DATA 'on'); + MogDB=# \copy a FROM '/home/omm/2.csv' WITH (delimiter',',IGNORE_EXTRA_DATA 'on'); ``` diff --git a/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/5-using-gs_restore-to-import-data.md b/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/5-using-gs_restore-to-import-data.md index ee68bc06..b2259af8 100644 --- a/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/5-using-gs_restore-to-import-data.md +++ b/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/5-using-gs_restore-to-import-data.md @@ -220,7 +220,7 @@ total time: 665 ms 示例十二:执行gs_restore,将human_resource数据库导出文件导入至backupdb数据库中。 ```sql -mogdb=# create database backupdb; +MogDB=# create database backupdb; CREATE DATABASE $ gs_restore /home/omm/backup/MPPDB_backup.tar -p 8000 -d backupdb diff --git a/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/6-updating-data-in-a-table.md b/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/6-updating-data-in-a-table.md index 82cea08f..4b7fe6ca 100644 --- a/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/6-updating-data-in-a-table.md +++ b/product/zh/docs-mogdb/v3.0/administrator-guide/importing-and-exporting-data/importing-data/6-updating-data-in-a-table.md @@ -101,13 +101,13 @@ MERGE INTO语句将目标表和源表中数据针对关联条件进行匹配, 1. 创建源表products,并插入数据。 ```sql - mogdb=# CREATE TABLE products + MogDB=# CREATE TABLE products ( product_id INTEGER, product_name VARCHAR2(60), category VARCHAR2(60) ); - mogdb=# INSERT INTO products VALUES + MogDB=# INSERT INTO products VALUES (1502, 'olympus camera', 'electrncs'), (1601, 'lamaze', 'toys'), (1666, 'harry potter', 'toys'), @@ -117,13 +117,13 @@ MERGE INTO语句将目标表和源表中数据针对关联条件进行匹配, 2. 创建目标表newproducts,并插入数据。 ```sql - mogdb=# CREATE TABLE newproducts + MogDB=# CREATE TABLE newproducts ( product_id INTEGER, product_name VARCHAR2(60), category VARCHAR2(60) ); - mogdb=# INSERT INTO newproducts VALUES + MogDB=# INSERT INTO newproducts VALUES (1501, 'vivitar 35mm', 'electrncs'), (1502, 'olympus ', 'electrncs'), (1600, 'play gym', 'toys'), diff --git a/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/1-routine-maintenance-check-items.md b/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/1-routine-maintenance-check-items.md index 6c2fa06c..f4070e6d 100644 --- a/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/1-routine-maintenance-check-items.md +++ b/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/1-routine-maintenance-check-items.md @@ -20,7 +20,7 @@ date: 2021-03-04 - 检查参数 ```sql - mogdb=# SHOW parameter_name; + MogDB=# SHOW parameter_name; ``` 上述命令中,parameter_name需替换成具体的参数名称。 @@ -40,13 +40,13 @@ date: 2021-03-04 - 查询数据库中的锁信息 ```sql - mogdb=# SELECT * FROM pg_locks; + MogDB=# SELECT * FROM pg_locks; ``` - 查询等待锁的线程状态信息 ```sql - mogdb=# SELECT * FROM pg_thread_wait_status WHERE wait_status = 'acquire lock'; + MogDB=# SELECT * FROM pg_thread_wait_status WHERE wait_status = 'acquire lock'; ``` - 结束系统进程 @@ -69,13 +69,13 @@ SQL语句长时间运行会占用大量系统资源,用户可以通过查看 查询事件的线程启动时间、事务启动时间、SQL启动时间以及状态变更时间。 ```sql - mogdb=# SELECT backend_start,xact_start,query_start,state_change FROM pg_stat_activity; + MogDB=# SELECT backend_start,xact_start,query_start,state_change FROM pg_stat_activity; ``` - 查询当前服务器的会话计数信息 ```sql - mogdb=# SELECT count(*) FROM pg_stat_activity; + MogDB=# SELECT count(*) FROM pg_stat_activity; ``` - 查询系统级统计信息 @@ -83,7 +83,7 @@ SQL语句长时间运行会占用大量系统资源,用户可以通过查看 查询当前使用内存最多的会话信息。 ```sql - mogdb=# SELECT * FROM pv_session_memory_detail() ORDER BY usedsize desc limit 10; + MogDB=# SELECT * FROM pv_session_memory_detail() ORDER BY usedsize desc limit 10; ```
@@ -95,25 +95,25 @@ SQL语句长时间运行会占用大量系统资源,用户可以通过查看 - 查看表的详细信息 ```sql - mogdb=# \d+ table_name + MogDB=# \d+ table_name ``` - 查询表统计信息 ```sql - mogdb=# SELECT * FROM pg_statistic; + MogDB=# SELECT * FROM pg_statistic; ``` - 查看索引的详细信息 ```sql - mogdb=# \d+ index_name + MogDB=# \d+ index_name ``` - 查询分区表信息 ```sql - mogdb=# SELECT * FROM pg_partition; + MogDB=# SELECT * FROM pg_partition; ``` - 收集统计信息 @@ -125,7 +125,7 @@ SQL语句长时间运行会占用大量系统资源,用户可以通过查看 - 查询约束信息 ```sql - mogdb=# SELECT * FROM pg_constraint; + MogDB=# SELECT * FROM pg_constraint; ```
@@ -167,12 +167,12 @@ SQL语句长时间运行会占用大量系统资源,用户可以通过查看 - 版本信息 ```sql - mogdb=# SELECT version(); + MogDB=# SELECT version(); ``` - 容量检查 ```sql - mogdb=# SELECT pg_table_size('table_name'); - mogdb=# SELECT pg_database_size('database_name'); + MogDB=# SELECT pg_table_size('table_name'); + MogDB=# SELECT pg_database_size('database_name'); ``` diff --git a/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/7-checking-the-number-of-application-connections.md b/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/7-checking-the-number-of-application-connections.md index 68b6fd9d..e8457cbe 100644 --- a/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/7-checking-the-number-of-application-connections.md +++ b/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/7-checking-the-number-of-application-connections.md @@ -28,13 +28,13 @@ date: 2021-03-04 Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. - mogdb=# + MogDB=# ``` 3. 执行如下SQL语句查看连接数。 ```sql - mogdb=# SELECT count(*) FROM (SELECT pg_stat_get_backend_idset() AS backendid) AS s; + MogDB=# SELECT count(*) FROM (SELECT pg_stat_get_backend_idset() AS backendid) AS s; ``` 显示类似如下的信息,其中2表示当前有两个应用连接到数据库。 @@ -49,7 +49,7 @@ date: 2021-03-04 4. 查看现有最大连接数。 ```sql - mogdb=# SHOW max_connections; + MogDB=# SHOW max_connections; ``` 显示信息如下,其中200为现在的最大连接数。 @@ -70,7 +70,7 @@ date: 2021-03-04 1. 执行如下SQL语句,查看state字段等于idle,且state_change字段长时间没有更新过的连接信息。 ```sql - mogdb=# SELECT * FROM pg_stat_activity where state='idle' order by state_change; + MogDB=# SELECT * FROM pg_stat_activity where state='idle' order by state_change; ``` 显示类似如下的信息: @@ -100,13 +100,13 @@ date: 2021-03-04 查看每个连接,并与此连接的使用者确认是否可以断开连接,或执行如下SQL语句释放连接。其中,pid为上一步查询中空闲连接所对应的pid字段值。 ```sql - mogdb=# SELECT pg_terminate_backend(140390132872976); + MogDB=# SELECT pg_terminate_backend(140390132872976); ``` 显示类似如下的信息: ```sql - mogdb=# SELECT pg_terminate_backend(140390132872976); + MogDB=# SELECT pg_terminate_backend(140390132872976); pg_terminate_backend ---------------------- t diff --git a/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/9-routinely-recreating-an-index.md b/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/9-routinely-recreating-an-index.md index 35da4c0f..42e0e626 100644 --- a/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/9-routinely-recreating-an-index.md +++ b/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/9-routinely-recreating-an-index.md @@ -42,14 +42,14 @@ date: 2021-03-04 1. 删除索引。 ```sql - mogdb=# DROP INDEX areaS_idx; + MogDB=# DROP INDEX areaS_idx; DROP INDEX ``` 2. 创建索引。 ```sql - mogdb=# CREATE INDEX areaS_idx ON areaS (area_id); + MogDB=# CREATE INDEX areaS_idx ON areaS (area_id); CREATE INDEX ``` @@ -58,14 +58,14 @@ date: 2021-03-04 - 使用REINDEX TABLE语句重建索引。 ```sql - mogdb=# REINDEX TABLE areaS; + MogDB=# REINDEX TABLE areaS; REINDEX ``` - 使用REINDEX INTERNAL TABLE重建desc表(包括列存表的cudesc表)的索引。 ```sql - mogdb=# REINDEX INTERNAL TABLE areaS; + MogDB=# REINDEX INTERNAL TABLE areaS; REINDEX ``` diff --git a/product/zh/docs-mogdb/v3.0/common-faults-and-identification/common-fault-locating-cases/18-an-error-is-reported-when-the-table-partition-is-modified.md b/product/zh/docs-mogdb/v3.0/common-faults-and-identification/common-fault-locating-cases/18-an-error-is-reported-when-the-table-partition-is-modified.md index c158f33e..9f172c49 100644 --- a/product/zh/docs-mogdb/v3.0/common-faults-and-identification/common-fault-locating-cases/18-an-error-is-reported-when-the-table-partition-is-modified.md +++ b/product/zh/docs-mogdb/v3.0/common-faults-and-identification/common-fault-locating-cases/18-an-error-is-reported-when-the-table-partition-is-modified.md @@ -25,7 +25,7 @@ ERROR:start value of partition "XX" NOT EQUAL up-boundary of last partition. ```sql --创建分区表partitiontest。 -mogdb=# CREATE TABLE partitiontest +MogDB=# CREATE TABLE partitiontest ( c_int integer, c_time TIMESTAMP WITHOUT TIME ZONE @@ -36,11 +36,11 @@ partition p1 start(100)end(108), partition p2 start(108)end(120) ); --使用如下两种语句会发生报错: -mogdb=# ALTER TABLE partitiontest ADD PARTITION p3 start(120)end(130), DROP PARTITION p2; +MogDB=# ALTER TABLE partitiontest ADD PARTITION p3 start(120)end(130), DROP PARTITION p2; ERROR: start value of partition "p3" NOT EQUAL up-boundary of last partition. -mogdb=# ALTER TABLE partitiontest DROP PARTITION p2,ADD PARTITION p3 start(120)end(130); +MogDB=# ALTER TABLE partitiontest DROP PARTITION p2,ADD PARTITION p3 start(120)end(130); ERROR: start value of partition "p3" NOT EQUAL up-boundary of last partition. --可以修改语句为: -mogdb=# ALTER TABLE partitiontest ADD PARTITION p3 start(108)end(130), DROP PARTITION p2; -mogdb=# ALTER TABLE partitiontest DROP PARTITION p2,ADD PARTITION p3 start(108)end(130); +MogDB=# ALTER TABLE partitiontest ADD PARTITION p3 start(108)end(130), DROP PARTITION p2; +MogDB=# ALTER TABLE partitiontest DROP PARTITION p2,ADD PARTITION p3 start(108)end(130); ``` diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/dev/1-development-specifications.md b/product/zh/docs-mogdb/v3.0/developer-guide/dev/1-development-specifications.md index 33e013f4..d131f13d 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/dev/1-development-specifications.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/dev/1-development-specifications.md @@ -184,10 +184,10 @@ SELECT 1 - 创建表空间 ```sql -mogdb=# CREATE TABLESPACE example1 RELATIVE LOCATION 'tablespace1/tablespace_1'; -mogdb=# CREATE TABLESPACE example2 RELATIVE LOCATION 'tablespace2/tablespace_2'; -mogdb=# CREATE TABLESPACE example3 RELATIVE LOCATION 'tablespace3/tablespace_3'; -mogdb=# CREATE TABLESPACE example4 RELATIVE LOCATION 'tablespace4/tablespace_4'; +MogDB=# CREATE TABLESPACE example1 RELATIVE LOCATION 'tablespace1/tablespace_1'; +MogDB=# CREATE TABLESPACE example2 RELATIVE LOCATION 'tablespace2/tablespace_2'; +MogDB=# CREATE TABLESPACE example3 RELATIVE LOCATION 'tablespace3/tablespace_3'; +MogDB=# CREATE TABLESPACE example4 RELATIVE LOCATION 'tablespace4/tablespace_4'; ``` 当结果显示为如下信息,则表示创建成功。 @@ -199,7 +199,7 @@ CREATE TABLESPACE - 创建分区表 ```sql -mogdb=# CREATE TABLE mogdb_usr.customer_address +MogDB=# CREATE TABLE mogdb_usr.customer_address ( ca_address_sk integer NOT NULL , ca_address_id character(16) NOT NULL , @@ -244,7 +244,7 @@ CREATE TABLE 将表mogdb_usr.customer_address的数据插入到表mogdb_usr.customer_address_bak中。例如在数据库中创建了一个表mogdb_usr.customer_address的备份表mogdb_usr.customer_address_bak,现在需要将表mogdb_usr.customer_address中的数据插入到表mogdb_usr.customer_address_bak中,则可以执行如下命令。 ```sql -mogdb=# CREATE TABLE mogdb_usr.customer_address_bak +MogDB=# CREATE TABLE mogdb_usr.customer_address_bak ( ca_address_sk integer NOT NULL , ca_address_id character(16) NOT NULL , @@ -274,14 +274,14 @@ PARTITION BY RANGE (ca_address_sk) ) ENABLE ROW MOVEMENT; CREATE TABLE -mogdb=# INSERT INTO mogdb_usr.customer_address_bak SELECT * FROM mogdb_usr.customer_address; +MogDB=# INSERT INTO mogdb_usr.customer_address_bak SELECT * FROM mogdb_usr.customer_address; INSERT 0 0 ``` - 修改分区表行迁移属性 ```sql -mogdb=# ALTER TABLE mogdb_usr.customer_address_bak DISABLE ROW MOVEMENT; +MogDB=# ALTER TABLE mogdb_usr.customer_address_bak DISABLE ROW MOVEMENT; ALTER TABLE ``` @@ -290,7 +290,7 @@ ALTER TABLE 删除分区P8。 ```sql -mogdb=# ALTER TABLE mogdb_usr.customer_address_bak DROP PARTITION P8; +MogDB=# ALTER TABLE mogdb_usr.customer_address_bak DROP PARTITION P8; ALTER TABLE ``` @@ -299,7 +299,7 @@ ALTER TABLE 增加分区P8,范围为 40000<= P8<=MAXVALUE。 ```sql -mogdb=# ALTER TABLE mogdb_usr.customer_address_bak ADD PARTITION P8 VALUES LESS THAN (MAXVALUE); +MogDB=# ALTER TABLE mogdb_usr.customer_address_bak ADD PARTITION P8 VALUES LESS THAN (MAXVALUE); ALTER TABLE ``` @@ -308,14 +308,14 @@ ALTER TABLE 重命名分区P8为P_9。 ```sql -mogdb=# ALTER TABLE mogdb_usr.customer_address_bak RENAME PARTITION P8 TO P_9; +MogDB=# ALTER TABLE mogdb_usr.customer_address_bak RENAME PARTITION P8 TO P_9; ALTER TABLE ``` 重命名分区P_9为P8。 ```sql -mogdb=# ALTER TABLE mogdb_usr.customer_address_bak RENAME PARTITION FOR (40000) TO P8; +MogDB=# ALTER TABLE mogdb_usr.customer_address_bak RENAME PARTITION FOR (40000) TO P8; ALTER TABLE ``` @@ -324,14 +324,14 @@ ALTER TABLE 修改分区P6的表空间为example3。 ```sql -mogdb=# ALTER TABLE mogdb_usr.customer_address_bak MOVE PARTITION P6 TABLESPACE example3; +MogDB=# ALTER TABLE mogdb_usr.customer_address_bak MOVE PARTITION P6 TABLESPACE example3; ALTER TABLE ``` 修改分区P4的表空间为example4。 ```sql -mogdb=# ALTER TABLE mogdb_usr.customer_address_bak MOVE PARTITION P4 TABLESPACE example4; +MogDB=# ALTER TABLE mogdb_usr.customer_address_bak MOVE PARTITION P4 TABLESPACE example4; ALTER TABLE ``` @@ -340,19 +340,19 @@ ALTER TABLE 查询分区P6。 ```sql -mogdb=# SELECT * FROM mogdb_usr.customer_address_bak PARTITION (P6); -mogdb=# SELECT * FROM mogdb_usr.customer_address_bak PARTITION FOR (35888); +MogDB=# SELECT * FROM mogdb_usr.customer_address_bak PARTITION (P6); +MogDB=# SELECT * FROM mogdb_usr.customer_address_bak PARTITION FOR (35888); ``` - 删除分区表和表空间 ```sql -mogdb=# DROP TABLE mogdb_usr.customer_address_bak; +MogDB=# DROP TABLE mogdb_usr.customer_address_bak; DROP TABLE -mogdb=# DROP TABLESPACE example1; -mogdb=# DROP TABLESPACE example2; -mogdb=# DROP TABLESPACE example3; -mogdb=# DROP TABLESPACE example4; +MogDB=# DROP TABLESPACE example1; +MogDB=# DROP TABLESPACE example2; +MogDB=# DROP TABLESPACE example3; +MogDB=# DROP TABLESPACE example4; DROP TABLESPACE ``` diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/logical-decoding/2-logical-decoding-by-sql-function-interfaces.md b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/logical-decoding/2-logical-decoding-by-sql-function-interfaces.md index 1e9c879f..00a2d6f1 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/logical-decoding/2-logical-decoding-by-sql-function-interfaces.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/logical-decoding/2-logical-decoding-by-sql-function-interfaces.md @@ -45,7 +45,7 @@ MogDB可以通过调用SQL函数,进行创建、删除、推进逻辑复制槽 3. 创建名称为slot1的逻辑复制槽。 ```sql - mogdb=# SELECT * FROM pg_create_logical_replication_slot('slot1', 'mppdb_decoding'); + MogDB=# SELECT * FROM pg_create_logical_replication_slot('slot1', 'mppdb_decoding'); slotname | xlog_position ----------+--------------- slot1 | 0/601C150 @@ -55,14 +55,14 @@ MogDB可以通过调用SQL函数,进行创建、删除、推进逻辑复制槽 4. 在数据库中创建表t,并向表t中插入数据。 ```sql - mogdb=# CREATE TABLE t(a int PRIMARY KEY, b int); - mogdb=# INSERT INTO t VALUES(3,3); + MogDB=# CREATE TABLE t(a int PRIMARY KEY, b int); + MogDB=# INSERT INTO t VALUES(3,3); ``` 5. 读取复制槽slot1解码结果,解码条数为4096。 ```sql - mogdb=# SELECT * FROM pg_logical_slot_peek_changes('slot1', NULL, 4096); + MogDB=# SELECT * FROM pg_logical_slot_peek_changes('slot1', NULL, 4096); location | xid | data -----------+-------+------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------- @@ -77,7 +77,7 @@ MogDB可以通过调用SQL函数,进行创建、删除、推进逻辑复制槽 6. 删除逻辑复制槽slot1。 ```sql - mogdb=# SELECT * FROM pg_drop_replication_slot('slot1'); + MogDB=# SELECT * FROM pg_drop_replication_slot('slot1'); pg_drop_replication_slot -------------------------- diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/materialized-view/2-full-materialized-view/2-full-materialized-view-usage.md b/product/zh/docs-mogdb/v3.0/developer-guide/materialized-view/2-full-materialized-view/2-full-materialized-view-usage.md index de5c6a9c..64ad2be1 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/materialized-view/2-full-materialized-view/2-full-materialized-view-usage.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/materialized-view/2-full-materialized-view/2-full-materialized-view-usage.md @@ -37,35 +37,35 @@ date: 2021-05-21 ```sql --准备数据。 -mogdb=# CREATE TABLE t1(c1 int, c2 int); -mogdb=# INSERT INTO t1 VALUES(1, 1); -mogdb=# INSERT INTO t1 VALUES(2, 2); +MogDB=# CREATE TABLE t1(c1 int, c2 int); +MogDB=# INSERT INTO t1 VALUES(1, 1); +MogDB=# INSERT INTO t1 VALUES(2, 2); --创建全量物化视图。 -mogdb=# CREATE MATERIALIZED VIEW mv AS select count(*) from t1; +MogDB=# CREATE MATERIALIZED VIEW mv AS select count(*) from t1; --查询物化视图结果。 -mogdb=# SELECT * FROM mv; +MogDB=# SELECT * FROM mv; count ------- 2 (1 row) --向物化视图中基表插入数据。 -mogdb=# INSERT INTO t1 VALUES(3, 3); +MogDB=# INSERT INTO t1 VALUES(3, 3); --对全量物化视图做全量刷新。 -mogdb=# REFRESH MATERIALIZED VIEW mv; +MogDB=# REFRESH MATERIALIZED VIEW mv; REFRESH MATERIALIZED VIEW --查询物化视图结果。 -mogdb=# SELECT * FROM mv; +MogDB=# SELECT * FROM mv; count ------- 3 (1 row) --删除物化视图。 -mogdb=# DROP MATERIALIZED VIEW mv; +MogDB=# DROP MATERIALIZED VIEW mv; DROP MATERIALIZED VIEW ``` \ No newline at end of file diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/materialized-view/3-incremental-materialized-view/2-incremental-materialized-view-usage.md b/product/zh/docs-mogdb/v3.0/developer-guide/materialized-view/3-incremental-materialized-view/2-incremental-materialized-view-usage.md index b41ad17e..ecd01b12 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/materialized-view/3-incremental-materialized-view/2-incremental-materialized-view-usage.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/materialized-view/3-incremental-materialized-view/2-incremental-materialized-view-usage.md @@ -43,24 +43,24 @@ date: 2021-05-21 ```sql --准备数据。 -mogdb=# CREATE TABLE t1(c1 int, c2 int); -mogdb=# INSERT INTO t1 VALUES(1, 1); -mogdb=# INSERT INTO t1 VALUES(2, 2); +MogDB=# CREATE TABLE t1(c1 int, c2 int); +MogDB=# INSERT INTO t1 VALUES(1, 1); +MogDB=# INSERT INTO t1 VALUES(2, 2); --创建增量物化视图。 -mogdb=# CREATE INCREMENTAL MATERIALIZED VIEW mv AS SELECT * FROM t1; +MogDB=# CREATE INCREMENTAL MATERIALIZED VIEW mv AS SELECT * FROM t1; CREATE MATERIALIZED VIEW --插入数据。 -mogdb=# INSERT INTO t1 VALUES(3, 3); +MogDB=# INSERT INTO t1 VALUES(3, 3); INSERT 0 1 --增量刷新物化视图。 -mogdb=# REFRESH INCREMENTAL MATERIALIZED VIEW mv; +MogDB=# REFRESH INCREMENTAL MATERIALIZED VIEW mv; REFRESH MATERIALIZED VIEW --查询物化视图结果。 -mogdb=# SELECT * FROM mv; +MogDB=# SELECT * FROM mv; c1 | c2 ----+---- 1 | 1 @@ -69,15 +69,15 @@ mogdb=# SELECT * FROM mv; (3 rows) --插入数据。 -mogdb=# INSERT INTO t1 VALUES(4, 4); +MogDB=# INSERT INTO t1 VALUES(4, 4); INSERT 0 1 --全量刷新物化视图。 -mogdb=# REFRESH MATERIALIZED VIEW mv; +MogDB=# REFRESH MATERIALIZED VIEW mv; REFRESH MATERIALIZED VIEW --查询物化视图结果。 -mogdb=# select * from mv; +MogDB=# select * from mv; c1 | c2 ----+---- 1 | 1 @@ -87,6 +87,6 @@ mogdb=# select * from mv; (4 rows) --删除物化视图。 -mogdb=# DROP MATERIALIZED VIEW mv; +MogDB=# DROP MATERIALIZED VIEW mv; DROP MATERIALIZED VIEW ``` \ No newline at end of file diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-12-retry-management.md b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-12-retry-management.md index 21a23e41..02db7fa8 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-12-retry-management.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-12-retry-management.md @@ -14,7 +14,7 @@ Retry是数据库在SQL或存储过程(包含匿名块)执行失败时,在 示例: ```sql - mogdb=# CREATE OR REPLACE PROCEDURE retry_basic ( IN x INT) + MogDB=# CREATE OR REPLACE PROCEDURE retry_basic ( IN x INT) AS BEGIN INSERT INTO t1 (a) VALUES (x); @@ -22,5 +22,5 @@ Retry是数据库在SQL或存储过程(包含匿名块)执行失败时,在 END; / - mogdb=# CALL retry_basic(1); + MogDB=# CALL retry_basic(1); ``` diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-4-arrays-and-records.md b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-4-arrays-and-records.md index 24d646aa..d2513b93 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-4-arrays-and-records.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-4-arrays-and-records.md @@ -119,7 +119,7 @@ record类型的语法参见[图1](#record类型的语法)。 ```sql 下面示例中用到的表定义如下: -mogdb=# \d emp_rec +MogDB=# \d emp_rec Table "public.emp_rec" Column | Type | Modifiers ----------+--------------------------------+----------- @@ -133,7 +133,7 @@ mogdb=# \d emp_rec deptno | numeric(2,0) | --演示在函数中对数组进行操作。 -mogdb=# CREATE OR REPLACE FUNCTION regress_record(p_w VARCHAR2) +MogDB=# CREATE OR REPLACE FUNCTION regress_record(p_w VARCHAR2) RETURNS VARCHAR2 AS $$ DECLARE @@ -191,8 +191,8 @@ $$ LANGUAGE plpgsql; --调用该函数。 -mogdb=# CALL regress_record('abc'); +MogDB=# CALL regress_record('abc'); --删除函数。 -mogdb=# DROP FUNCTION regress_record; +MogDB=# DROP FUNCTION regress_record; ``` diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-6-basic-statements.md b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-6-basic-statements.md index c118ba9d..bef934fc 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-6-basic-statements.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-6-basic-statements.md @@ -33,7 +33,7 @@ date: 2021-03-04 **示例** ```sql -mogdb=# DECLARE +MogDB=# DECLARE emp_id INTEGER := 7788; --定义变量并赋值 BEGIN emp_id := 5*7784; --变量赋值 @@ -108,7 +108,7 @@ my_employee2 cur -- 对于PACKAGE中定义的cursor,可以省略%ROWTYPE字段 **示例** ```sql -mogdb=# DECLARE +MogDB=# DECLARE emp_id INTEGER := 7788;--赋值 BEGIN emp_id := 5;--赋值 @@ -135,8 +135,8 @@ END; **示例** ```sql -mogdb=# CREATE TYPE o1 as (a int, b int); -mogdb=# DECLARE +MogDB=# CREATE TYPE o1 as (a int, b int); +MogDB=# DECLARE TYPE r1 is VARRAY(10) of o1; emp_id r1; BEGIN @@ -158,14 +158,14 @@ END; 示例: ```sql -mogdb=# DECLARE +MogDB=# DECLARE my_id integer; BEGIN select id into my_id from customers limit 1; -- 赋值 END; / -mogdb=# DECLARE +MogDB=# DECLARE type id_list is varray(6) of customers.id%type; id_arr id_list; BEGIN @@ -195,7 +195,7 @@ END; ```sql --创建存储过程proc_staffs -mogdb=# CREATE OR REPLACE PROCEDURE proc_staffs +MogDB=# CREATE OR REPLACE PROCEDURE proc_staffs ( section NUMBER(6), salary_sum out NUMBER(8,2), @@ -208,8 +208,8 @@ END; / --调用存储过程proc_return. -mogdb=# CALL proc_staffs(2,8,6); +MogDB=# CALL proc_staffs(2,8,6); --清除存储过程 -mogdb=# DROP PROCEDURE proc_staffs; +MogDB=# DROP PROCEDURE proc_staffs; ``` diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-7-dynamic-statements.md b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-7-dynamic-statements.md index bbc94c7d..2ead2553 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-7-dynamic-statements.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-7-dynamic-statements.md @@ -82,7 +82,7 @@ USING IN bind_argument用于指定存放传递给动态SQL值的变量,在dyna ```sql --创建表 -mogdb=# CREATE TABLE sections_t1 +MogDB=# CREATE TABLE sections_t1 ( section NUMBER(4) , section_name VARCHAR2(30), @@ -91,7 +91,7 @@ mogdb=# CREATE TABLE sections_t1 ); --声明变量 -mogdb=# DECLARE +MogDB=# DECLARE section NUMBER(4) := 280; section_name VARCHAR2(30) := 'Info support'; manager_id NUMBER(6) := 103; @@ -110,10 +110,10 @@ END; / --查询数据 -mogdb=# SELECT * FROM sections_t1; +MogDB=# SELECT * FROM sections_t1; --删除表 -mogdb=# DROP TABLE sections_t1; +MogDB=# DROP TABLE sections_t1; ``` ## 动态调用存储过程 diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-8-control-statements.md b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-8-control-statements.md index 90a3b500..dc0ee2bf 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-8-control-statements.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-8-control-statements.md @@ -54,11 +54,11 @@ RETURN QUERY有一种变体RETURN QUERY EXECUTE,后面还可以增加动态查 **示例** ```sql -mogdb=# CREATE TABLE t1(a int); -mogdb=# INSERT INTO t1 VALUES(1),(10); +MogDB=# CREATE TABLE t1(a int); +MogDB=# INSERT INTO t1 VALUES(1),(10); --RETURN NEXT -mogdb=# CREATE OR REPLACE FUNCTION fun_for_return_next() RETURNS SETOF t1 AS $$ +MogDB=# CREATE OR REPLACE FUNCTION fun_for_return_next() RETURNS SETOF t1 AS $$ DECLARE r t1%ROWTYPE; BEGIN @@ -69,7 +69,7 @@ BEGIN RETURN; END; $$ LANGUAGE PLPGSQL; -mogdb=# call fun_for_return_next(); +MogDB=# call fun_for_return_next(); a --- 1 @@ -77,7 +77,7 @@ mogdb=# call fun_for_return_next(); (2 rows) -- RETURN QUERY -mogdb=# CREATE OR REPLACE FUNCTION fun_for_return_query() RETURNS SETOF t1 AS $$ +MogDB=# CREATE OR REPLACE FUNCTION fun_for_return_query() RETURNS SETOF t1 AS $$ DECLARE r t1%ROWTYPE; BEGIN @@ -85,7 +85,7 @@ BEGIN END; $$ language plpgsql; -mogdb=# call fun_for_return_query(); +MogDB=# call fun_for_return_query(); a --- 1 @@ -110,7 +110,7 @@ MogDB有五种形式的IF: **示例** ```sql - mogdb=# IF v_user_id <> 0 THEN + MogDB=# IF v_user_id <> 0 THEN UPDATE users SET email = v_email WHERE user_id = v_user_id; END IF; ``` @@ -126,7 +126,7 @@ MogDB有五种形式的IF: **示例** ```sql - mogdb=# IF parentid IS NULL OR parentid = '' + MogDB=# IF parentid IS NULL OR parentid = '' THEN RETURN; ELSE @@ -139,7 +139,7 @@ MogDB有五种形式的IF: I F语句可以嵌套,嵌套方式如下: ```bash - mogdb=# IF sex = 'm' THEN + MogDB=# IF sex = 'm' THEN pretty_sex := 'man'; ELSE IF sex = 'f' THEN @@ -545,7 +545,7 @@ goto statement ::= **示例** ```sql -mogdb=# CREATE OR REPLACE PROCEDURE GOTO_test() +MogDB=# CREATE OR REPLACE PROCEDURE GOTO_test() AS DECLARE v1 int; diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/resource-load-management/resource-management-preparation/creating-a-resource-pool.md b/product/zh/docs-mogdb/v3.0/developer-guide/resource-load-management/resource-management-preparation/creating-a-resource-pool.md index 789a0a54..5aed7ada 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/resource-load-management/resource-management-preparation/creating-a-resource-pool.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/resource-load-management/resource-management-preparation/creating-a-resource-pool.md @@ -51,18 +51,18 @@ MogDB支持通过创建资源池对主机资源进行划分。开启资源负载 2. 创建组资源池关联到指定的子Class控制组。例如下面:名称为“resource_pool_a”的组资源池关联到了“class_a”控制组。 ```sql - mogdb=# CREATE RESOURCE POOL resource_pool_a WITH (control_group='class_a'); - mogdb=# CREATE RESOURCE POOL resource_pool_b WITH (control_group='class_b'); + MogDB=# CREATE RESOURCE POOL resource_pool_a WITH (control_group='class_a'); + MogDB=# CREATE RESOURCE POOL resource_pool_b WITH (control_group='class_b'); CREATE RESOURCE POOL ``` 3. 创建业务资源池关联到指定的Workload控制组。例如下面:名称为“resource_pool_a1”的业务资源池关联到了“workload_a1”控制组。 ```sql - mogdb=# CREATE RESOURCE POOL resource_pool_a1 WITH (control_group='class_a:workload_a1'); - mogdb=# CREATE RESOURCE POOL resource_pool_a2 WITH (control_group='class_a:workload_a2'); - mogdb=# CREATE RESOURCE POOL resource_pool_b1 WITH (control_group='class_b:workload_b1'); - mogdb=# CREATE RESOURCE POOL resource_pool_b2 WITH (control_group='class_b:workload_b2'); + MogDB=# CREATE RESOURCE POOL resource_pool_a1 WITH (control_group='class_a:workload_a1'); + MogDB=# CREATE RESOURCE POOL resource_pool_a2 WITH (control_group='class_a:workload_a2'); + MogDB=# CREATE RESOURCE POOL resource_pool_b1 WITH (control_group='class_b:workload_b1'); + MogDB=# CREATE RESOURCE POOL resource_pool_b2 WITH (control_group='class_b:workload_b2'); CREATE RESOURCE POOL ``` @@ -78,7 +78,7 @@ MogDB支持通过创建资源池对主机资源进行划分。开启资源负载 修改资源池的属性。例如下面:修改资源池“resource_pool_a2”关联的控制组为“class_a:workload_a1”(假设class_a:workload_a1未被其他资源池关联)。 ```sql -mogdb=# ALTER RESOURCE POOL resource_pool_a2 WITH (control_group="class_a:workload_a1"); +MogDB=# ALTER RESOURCE POOL resource_pool_a2 WITH (control_group="class_a:workload_a1"); ALTER RESOURCE POOL ``` @@ -87,7 +87,7 @@ ALTER RESOURCE POOL 删除资源池。例如下面删除资源池“resource_pool_a2” ```sql -mogdb=# DROP RESOURCE POOL resource_pool_a2; +MogDB=# DROP RESOURCE POOL resource_pool_a2; DROP RESOURCE POOL ``` @@ -106,7 +106,7 @@ DROP RESOURCE POOL - 查看当前集群中所有的资源池信息。 ```sql - mogdb=# SELECT * FROM PG_RESOURCE_POOL; + MogDB=# SELECT * FROM PG_RESOURCE_POOL; ``` ```sql @@ -127,7 +127,7 @@ DROP RESOURCE POOL 如下命令中“resource_pool_a1”为资源池名称。 ```sql - mogdb=# SELECT * FROM gs_control_group_info('resource_pool_a1'); + MogDB=# SELECT * FROM gs_control_group_info('resource_pool_a1'); ``` ```sql diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/resource-load-management/resource-management-preparation/enabling-resource-load-management.md b/product/zh/docs-mogdb/v3.0/developer-guide/resource-load-management/resource-management-preparation/enabling-resource-load-management.md index ed97d4b1..4c2f6f2b 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/resource-load-management/resource-management-preparation/enabling-resource-load-management.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/resource-load-management/resource-management-preparation/enabling-resource-load-management.md @@ -16,7 +16,7 @@ date: 2021-10-22 - 在MogDB中,如果需要对系统资源进行管理,用户需要拥有DBA权限。通过执行如下语法查询哪些用户拥有该权限: ```sql - mogdb=# SELECT rolname FROM pg_roles WHERE rolsystemadmin = 't'; + MogDB=# SELECT rolname FROM pg_roles WHERE rolsystemadmin = 't'; rolname --------- omm @@ -27,7 +27,7 @@ date: 2021-10-22 - 如果想要将一个用户纳入资源负载管理的范围,则此用户必须具有login权限。通过执行如下语法查询哪些用户拥有该权限: ```sql - mogdb=# SELECT rolname FROM pg_roles WHERE rolcanlogin = 't'; + MogDB=# SELECT rolname FROM pg_roles WHERE rolcanlogin = 't'; rolname --------- omm diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/resource-load-management/resource-management-preparation/setting-a-cgroup.md b/product/zh/docs-mogdb/v3.0/developer-guide/resource-load-management/resource-management-preparation/setting-a-cgroup.md index 89f42dae..ecdaab3a 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/resource-load-management/resource-management-preparation/setting-a-cgroup.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/resource-load-management/resource-management-preparation/setting-a-cgroup.md @@ -276,5 +276,5 @@ Class控制组为数据库业务运行所在的顶层控制组,集群部署时 2. 获取系统中所有控制组的配置信息。 ```sql - mogdb=# SELECT * FROM gs_all_control_group_info; + MogDB=# SELECT * FROM gs_all_control_group_info; ``` diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/scheduled-jobs/pkg-service.md b/product/zh/docs-mogdb/v3.0/developer-guide/scheduled-jobs/pkg-service.md index 0f29ba01..0d73072c 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/scheduled-jobs/pkg-service.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/scheduled-jobs/pkg-service.md @@ -146,13 +146,13 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 - 创建测试表 ``` - mogdb=# create table t_job (value TIMESTAMP); + MogDB=# create table t_job (value TIMESTAMP); CREATE TABLE - mogdb=# insert into t_job values(sysdate); + MogDB=# insert into t_job values(sysdate); INSERT 0 1 - mogdb=# select * from t_job; + MogDB=# select * from t_job; +---------------------+ | value | |---------------------| @@ -164,7 +164,7 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 - 创建任务,每一分钟插入一条记录 ``` - mogdb=# select pkg_service.job_submit(null, 'insert into t_job values(sysdate);',sysdate,'sysdate + 1/1440'); + MogDB=# select pkg_service.job_submit(null, 'insert into t_job values(sysdate);',sysdate,'sysdate + 1/1440'); +--------------+ | job_submit | |--------------| @@ -176,7 +176,7 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 - 检查JOB运行结果 ``` - mogdb=# select * from t_job; + MogDB=# select * from t_job; +---------------------+ | value | |---------------------| @@ -191,7 +191,7 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 - 从系统视图中检查JOB运行情况 ``` - mogdb=# select job_id,dbname,start_date,next_run_date,interval,failure_count from pg_job; + MogDB=# select job_id,dbname,start_date,next_run_date,interval,failure_count from pg_job; +----------+----------+----------------------------+---------------------+------------------+-----------------+ | job_id | dbname | start_date | next_run_date | interval | failure_count | |----------+----------+----------------------------+---------------------+------------------+-----------------| @@ -199,7 +199,7 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 +----------+----------+----------------------------+---------------------+------------------+-----------------+ SELECT 1 Time: 0.089s - mogdb=# select * from pg_catalog.pg_job_proc pjp where job_id=15566; + MogDB=# select * from pg_catalog.pg_job_proc pjp where job_id=15566; +----------+------------------------------------+ | job_id | what | |----------+------------------------------------| @@ -212,7 +212,7 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 - 修改为2分钟执行一次 ``` - mogdb=# select pkg_service.job_update(15566,null,'sysdate + 2/1440',null); + MogDB=# select pkg_service.job_update(15566,null,'sysdate + 2/1440',null); +--------------+ | job_update | |--------------| @@ -224,14 +224,14 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 - 检查修改情况和运行结果 ``` - mogdb=# select job_id,interval from pg_job where job_id=15566; + MogDB=# select job_id,interval from pg_job where job_id=15566; +----------+------------------+ | job_id | interval | |----------+------------------| | 15566 | sysdate + 2/1440 | +----------+------------------+ SELECT 1 - mogdb=# select * from t_job; + MogDB=# select * from t_job; +---------------------+ | value | |---------------------| @@ -262,7 +262,7 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 +---------------------+ SELECT 24 Time: 0.088s - mogdb=# select job_id,interval,next_run_date from pg_job where job_id=15566; + MogDB=# select job_id,interval,next_run_date from pg_job where job_id=15566; +----------+------------------+---------------------+ | job_id | interval | next_run_date | |----------+------------------+---------------------| @@ -277,7 +277,7 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 禁用和启用都是同样的函数pkg_service.job_finish,传入不同的参数表示是禁用还是启用。 ``` - mogdb=# select pkg_service.job_finish(15566,true,null); + MogDB=# select pkg_service.job_finish(15566,true,null); +--------------+ | job_finish | |--------------| @@ -285,7 +285,7 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 +--------------+ SELECT 1 Time: 0.089s - mogdb=# select job_id,next_run_date,job_status from pg_job where job_id=15566; + MogDB=# select job_id,next_run_date,job_status from pg_job where job_id=15566; +----------+---------------------+--------------+ | job_id | next_run_date | job_status | |----------+---------------------+--------------| @@ -293,7 +293,7 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 +----------+---------------------+--------------+ SELECT 1 Time: 0.075s - mogdb=# select pkg_service.job_finish(15566,false,null); + MogDB=# select pkg_service.job_finish(15566,false,null); +--------------+ | job_finish | |--------------| @@ -301,7 +301,7 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 +--------------+ SELECT 1 Time: 0.091s - mogdb=# select job_id,next_run_date,job_status from pg_job where job_id=15566; + MogDB=# select job_id,next_run_date,job_status from pg_job where job_id=15566; +----------+---------------------+--------------+ | job_id | next_run_date | job_status | |----------+---------------------+--------------| @@ -314,7 +314,7 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 可以看到如果重新启用任务的时候,没有指定下次运行时间,那么下次运行时间会始终保持在4000年,意味着仍然不会启动,所以如果禁用任务之后再重新启动,需要手动显式指定下次运行时间。 ``` - mogdb=# select pkg_service.job_finish(15566,false,sysdate); + MogDB=# select pkg_service.job_finish(15566,false,sysdate); +--------------+ | job_finish | |--------------| @@ -322,7 +322,7 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 +--------------+ SELECT 1 Time: 0.088s - mogdb=# select job_id,next_run_date,job_status from pg_job where job_id=15566; + MogDB=# select job_id,next_run_date,job_status from pg_job where job_id=15566; +----------+---------------------+--------------+ | job_id | next_run_date | job_status | |----------+---------------------+--------------| @@ -335,7 +335,7 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 - 删除任务 ``` - mogdb=# select pkg_service.job_cancel(15566); + MogDB=# select pkg_service.job_cancel(15566); +--------------+ | job_cancel | |--------------| @@ -343,14 +343,14 @@ MogDB 3.0版本提供了以下PKG_SERVICE接口来实现定时任务管理。 +--------------+ SELECT 1 Time: 0.082s - mogdb=# select job_id,next_run_date,job_status from pg_job where job_id=15566; + MogDB=# select job_id,next_run_date,job_status from pg_job where job_id=15566; +----------+-----------------+--------------+ | job_id | next_run_date | job_status | |----------+-----------------+--------------| +----------+-----------------+--------------+ SELECT 0 Time: 0.086s - mogdb=# select * from pg_catalog.pg_job_proc pjp where job_id=15566; + MogDB=# select * from pg_catalog.pg_job_proc pjp where job_id=15566; +----------+--------+ | job_id | what | |----------+--------| diff --git a/product/zh/docs-mogdb/v3.0/performance-tuning/1-system/4-configuring-smp.md b/product/zh/docs-mogdb/v3.0/performance-tuning/1-system/4-configuring-smp.md index 7076c49c..ea3522b0 100644 --- a/product/zh/docs-mogdb/v3.0/performance-tuning/1-system/4-configuring-smp.md +++ b/product/zh/docs-mogdb/v3.0/performance-tuning/1-system/4-configuring-smp.md @@ -99,10 +99,10 @@ SMP架构是一种利用富余资源来换取时间的方案,计划并行之 4. 在符合条件的查询语句执行前设置合适的query_dop值,在语句执行结束后关闭query_dop。举例如下。 ``` - mogdb=# SET query_dop = 4; - mogdb=# SELECT COUNT(*) FROM t1 GROUP BY a; + MogDB=# SET query_dop = 4; + MogDB=# SELECT COUNT(*) FROM t1 GROUP BY a; ...... - mogdb=# SET query_dop = 1; + MogDB=# SET query_dop = 1; ``` > ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif) **说明:** diff --git a/product/zh/docs-mogdb/v3.0/performance-tuning/2-sql/9-hint-based-tuning.md b/product/zh/docs-mogdb/v3.0/performance-tuning/2-sql/9-hint-based-tuning.md index df385505..64f42cb4 100644 --- a/product/zh/docs-mogdb/v3.0/performance-tuning/2-sql/9-hint-based-tuning.md +++ b/product/zh/docs-mogdb/v3.0/performance-tuning/2-sql/9-hint-based-tuning.md @@ -771,22 +771,22 @@ predpush_same_level(src1 src2 ..., dest) 准备参数和表及索引: ``` -mogdb=# set rewrite_rule = 'predpushforce'; +MogDB=# set rewrite_rule = 'predpushforce'; SET -mogdb=# create table t1(a int, b int); +MogDB=# create table t1(a int, b int); CREATE TABLE -mogdb=# create table t2(a int, b int); +MogDB=# create table t2(a int, b int); CREATE TABLE -mogdb=# create index idx1 on t1(a); +MogDB=# create index idx1 on t1(a); CREATE INDEX -mogdb=# create index idx2 on t2(a); +MogDB=# create index idx2 on t2(a); CREATE INDEX ``` 执行语句查看计划: ``` -mogdb=# explain select * from t1, t2 where t1.a = t2.a; +MogDB=# explain select * from t1, t2 where t1.a = t2.a; QUERY PLAN ------------------------------------------------------------------ Hash Join (cost=27.50..56.25 rows=1000 width=16) @@ -800,7 +800,7 @@ mogdb=# explain select * from t1, t2 where t1.a = t2.a; 可以看到t1.a = t2.a条件过滤在Join上面,此时可以通过predpush_same_level(t1, t2)将条件下推至t2的扫描算子上: ``` -mogdb=# explain select /*+predpush_same_level(t1, t2)*/ * from t1, t2 where t1.a = t2.a; +MogDB=# explain select /*+predpush_same_level(t1, t2)*/ * from t1, t2 where t1.a = t2.a; QUERY PLAN --------------------------------------------------------------------- Nested Loop (cost=0.00..335.00 rows=1000 width=16) diff --git a/product/zh/docs-mogdb/v3.0/performance-tuning/3-wdr/wdr-snapshot-schema.md b/product/zh/docs-mogdb/v3.0/performance-tuning/3-wdr/wdr-snapshot-schema.md index e3943473..22ecf8eb 100644 --- a/product/zh/docs-mogdb/v3.0/performance-tuning/3-wdr/wdr-snapshot-schema.md +++ b/product/zh/docs-mogdb/v3.0/performance-tuning/3-wdr/wdr-snapshot-schema.md @@ -153,7 +153,7 @@ touch /home/om/wdrTestNode.html gsql -d postgres -p 端口号 -r --查询已经生成的快照。 -mogdb=# select * from snapshot.snapshot; +MogDB=# select * from snapshot.snapshot; snapshot_id | start_ts | end_ts -------------+-------------------------------+------------------------------- 1 | 2020-09-07 10:20:36.763244+08 | 2020-09-07 10:20:42.166511+08 @@ -162,24 +162,24 @@ mogdb=# select * from snapshot.snapshot; --生成格式化性能报告wdrTestNode.html。 -mogdb=# \a \t \o /home/om/wdrTestNode.html +MogDB=# \a \t \o /home/om/wdrTestNode.html Output format is unaligned. Showing only tuples. --向性能报告wdrTestNode.html中写入数据。 -mogdb=# select generate_wdr_report(1, 2, 'all', 'node', 'dn_6001_6002_6003'); +MogDB=# select generate_wdr_report(1, 2, 'all', 'node', 'dn_6001_6002_6003'); --关闭性能报告wdrTestNode.html。 -mogdb=# \o +MogDB=# \o --生成格式化性能报告wdrTestCluster.html。 -mogdb=# \o /home/om/wdrTestCluster.html +MogDB=# \o /home/om/wdrTestCluster.html --向格式化性能报告wdrTestCluster.html中写入数据。 -mogdb=# select generate_wdr_report(1, 2, 'all', 'cluster'); +MogDB=# select generate_wdr_report(1, 2, 'all', 'cluster'); --关闭性能报告wdrTestCluster.html。 -mogdb=# \o \a \t +MogDB=# \o \a \t Output format is aligned. Tuples only is off. ``` \ No newline at end of file diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/10-geometric-functions-and-operators.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/10-geometric-functions-and-operators.md index a3fc3e5c..6068bcce 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/10-geometric-functions-and-operators.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/10-geometric-functions-and-operators.md @@ -16,7 +16,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box '((0,0),(1,1))' + point '(2.0,0)' AS RESULT; + MogDB=# SELECT box '((0,0),(1,1))' + point '(2.0,0)' AS RESULT; result ------------- (3,1),(2,0) @@ -30,7 +30,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box '((0,0),(1,1))' - point '(2.0,0)' AS RESULT; + MogDB=# SELECT box '((0,0),(1,1))' - point '(2.0,0)' AS RESULT; result --------------- (-1,1),(-2,0) @@ -44,7 +44,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box '((0,0),(1,1))' * point '(2.0,0)' AS RESULT; + MogDB=# SELECT box '((0,0),(1,1))' * point '(2.0,0)' AS RESULT; result ------------- (2,2),(0,0) @@ -58,7 +58,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box '((0,0),(2,2))' / point '(2.0,0)' AS RESULT; + MogDB=# SELECT box '((0,0),(2,2))' / point '(2.0,0)' AS RESULT; result ------------- (1,1),(0,0) @@ -72,7 +72,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box '((1,-1),(-1,1))' # box '((1,1),(-2,-2))' AS RESULT; + MogDB=# SELECT box '((1,-1),(-1,1))' # box '((1,1),(-2,-2))' AS RESULT; result --------------- (1,1),(-1,-1) @@ -86,7 +86,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT # path'((1,0),(0,1),(-1,0))' AS RESULT; + MogDB=# SELECT # path'((1,0),(0,1),(-1,0))' AS RESULT; result -------- 3 @@ -100,7 +100,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT @-@ path '((0,0),(1,0))' AS RESULT; + MogDB=# SELECT @-@ path '((0,0),(1,0))' AS RESULT; result -------- 2 @@ -114,7 +114,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT @@ circle '((0,0),10)' AS RESULT; + MogDB=# SELECT @@ circle '((0,0),10)' AS RESULT; result -------- (0,0) @@ -128,7 +128,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT circle '((0,0),1)' <-> circle '((5,0),1)' AS RESULT; + MogDB=# SELECT circle '((0,0),1)' <-> circle '((5,0),1)' AS RESULT; result -------- 3 @@ -142,7 +142,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box '((0,0),(1,1))' && box '((0,0),(2,2))' AS RESULT; + MogDB=# SELECT box '((0,0),(1,1))' && box '((0,0),(2,2))' AS RESULT; result -------- t @@ -156,7 +156,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT circle '((0,0),1)' << circle '((5,0),1)' AS RESULT; + MogDB=# SELECT circle '((0,0),1)' << circle '((5,0),1)' AS RESULT; result -------- t @@ -170,7 +170,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT circle '((5,0),1)' >> circle '((0,0),1)' AS RESULT; + MogDB=# SELECT circle '((5,0),1)' >> circle '((0,0),1)' AS RESULT; result -------- t @@ -184,7 +184,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box '((0,0),(1,1))' &< box '((0,0),(2,2))' AS RESULT; + MogDB=# SELECT box '((0,0),(1,1))' &< box '((0,0),(2,2))' AS RESULT; result -------- t @@ -198,7 +198,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box '((0,0),(3,3))' &> box '((0,0),(2,2))' AS RESULT; + MogDB=# SELECT box '((0,0),(3,3))' &> box '((0,0),(2,2))' AS RESULT; result -------- t @@ -212,7 +212,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box '((0,0),(3,3))' <<| box '((3,4),(5,5))' AS RESULT; + MogDB=# SELECT box '((0,0),(3,3))' <<| box '((3,4),(5,5))' AS RESULT; result -------- t @@ -226,7 +226,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box '((3,4),(5,5))' |>> box '((0,0),(3,3))' AS RESULT; + MogDB=# SELECT box '((3,4),(5,5))' |>> box '((0,0),(3,3))' AS RESULT; result -------- t @@ -240,7 +240,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box '((0,0),(1,1))' &<| box '((0,0),(2,2))' AS RESULT; + MogDB=# SELECT box '((0,0),(1,1))' &<| box '((0,0),(2,2))' AS RESULT; result -------- t @@ -254,7 +254,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box '((0,0),(3,3))' |&> box '((0,0),(2,2))' AS RESULT; + MogDB=# SELECT box '((0,0),(3,3))' |&> box '((0,0),(2,2))' AS RESULT; result -------- t @@ -268,7 +268,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box '((0,0),(-3,-3))' <^ box '((0,0),(2,2))' AS RESULT; + MogDB=# SELECT box '((0,0),(-3,-3))' <^ box '((0,0),(2,2))' AS RESULT; result -------- t @@ -282,7 +282,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box '((0,0),(2,2))' >^ box '((0,0),(-3,-3))' AS RESULT; + MogDB=# SELECT box '((0,0),(2,2))' >^ box '((0,0),(-3,-3))' AS RESULT; result -------- t @@ -296,7 +296,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT lseg '((-1,0),(1,0))' ?# box '((-2,-2),(2,2))' AS RESULT; + MogDB=# SELECT lseg '((-1,0),(1,0))' ?# box '((-2,-2),(2,2))' AS RESULT; result -------- t @@ -310,7 +310,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ?- lseg '((-1,0),(1,0))' AS RESULT; + MogDB=# SELECT ?- lseg '((-1,0),(1,0))' AS RESULT; result -------- t @@ -324,7 +324,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT point '(1,0)' ?- point '(0,0)' AS RESULT; + MogDB=# SELECT point '(1,0)' ?- point '(0,0)' AS RESULT; result -------- t @@ -338,7 +338,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ?| lseg '((-1,0),(1,0))' AS RESULT; + MogDB=# SELECT ?| lseg '((-1,0),(1,0))' AS RESULT; result -------- f @@ -352,7 +352,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT point '(0,1)' ?| point '(0,0)' AS RESULT; + MogDB=# SELECT point '(0,1)' ?| point '(0,0)' AS RESULT; result -------- t @@ -366,7 +366,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT lseg '((0,0),(0,1))' ?-| lseg '((0,0),(1,0))' AS RESULT; + MogDB=# SELECT lseg '((0,0),(0,1))' ?-| lseg '((0,0),(1,0))' AS RESULT; result -------- t @@ -380,7 +380,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT lseg '((-1,0),(1,0))' ?|| lseg '((-1,2),(1,2))' AS RESULT; + MogDB=# SELECT lseg '((-1,0),(1,0))' ?|| lseg '((-1,2),(1,2))' AS RESULT; result -------- t @@ -394,7 +394,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT circle '((0,0),2)' @> point '(1,1)' AS RESULT; + MogDB=# SELECT circle '((0,0),2)' @> point '(1,1)' AS RESULT; result -------- t @@ -408,7 +408,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT point '(1,1)' <@ circle '((0,0),2)' AS RESULT; + MogDB=# SELECT point '(1,1)' <@ circle '((0,0),2)' AS RESULT; result -------- t @@ -422,7 +422,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT polygon '((0,0),(1,1))' ~= polygon '((1,1),(0,0))' AS RESULT; + MogDB=# SELECT polygon '((0,0),(1,1))' ~= polygon '((1,1),(0,0))' AS RESULT; result -------- t @@ -440,7 +440,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT area(box '((0,0),(1,1))') AS RESULT; + MogDB=# SELECT area(box '((0,0),(1,1))') AS RESULT; result -------- 1 @@ -456,7 +456,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT center(box '((0,0),(1,2))') AS RESULT; + MogDB=# SELECT center(box '((0,0),(1,2))') AS RESULT; result --------- (0.5,1) @@ -472,7 +472,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT diameter(circle '((0,0),2.0)') AS RESULT; + MogDB=# SELECT diameter(circle '((0,0),2.0)') AS RESULT; result -------- 4 @@ -488,7 +488,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT height(box '((0,0),(1,1))') AS RESULT; + MogDB=# SELECT height(box '((0,0),(1,1))') AS RESULT; result -------- 1 @@ -504,7 +504,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT isclosed(path '((0,0),(1,1),(2,0))') AS RESULT; + MogDB=# SELECT isclosed(path '((0,0),(1,1),(2,0))') AS RESULT; result -------- t @@ -520,7 +520,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT isopen(path '[(0,0),(1,1),(2,0)]') AS RESULT; + MogDB=# SELECT isopen(path '[(0,0),(1,1),(2,0)]') AS RESULT; result -------- t @@ -536,7 +536,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT length(path '((-1,0),(1,0))') AS RESULT; + MogDB=# SELECT length(path '((-1,0),(1,0))') AS RESULT; result -------- 4 @@ -552,7 +552,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT npoints(path '[(0,0),(1,1),(2,0)]') AS RESULT; + MogDB=# SELECT npoints(path '[(0,0),(1,1),(2,0)]') AS RESULT; result -------- 3 @@ -568,7 +568,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT npoints(polygon '((1,1),(0,0))') AS RESULT; + MogDB=# SELECT npoints(polygon '((1,1),(0,0))') AS RESULT; result -------- 2 @@ -584,7 +584,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pclose(path '[(0,0),(1,1),(2,0)]') AS RESULT; + MogDB=# SELECT pclose(path '[(0,0),(1,1),(2,0)]') AS RESULT; result --------------------- ((0,0),(1,1),(2,0)) @@ -600,7 +600,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT popen(path '((0,0),(1,1),(2,0))') AS RESULT; + MogDB=# SELECT popen(path '((0,0),(1,1),(2,0))') AS RESULT; result --------------------- [(0,0),(1,1),(2,0)] @@ -616,7 +616,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT radius(circle '((0,0),2.0)') AS RESULT; + MogDB=# SELECT radius(circle '((0,0),2.0)') AS RESULT; result -------- 2 @@ -632,7 +632,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT width(box '((0,0),(1,1))') AS RESULT; + MogDB=# SELECT width(box '((0,0),(1,1))') AS RESULT; result -------- 1 @@ -650,7 +650,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box(circle '((0,0),2.0)') AS RESULT; + MogDB=# SELECT box(circle '((0,0),2.0)') AS RESULT; result --------------------------------------------------------------------------- (1.41421356237309,1.41421356237309),(-1.41421356237309,-1.41421356237309) @@ -666,7 +666,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box(point '(0,0)', point '(1,1)') AS RESULT; + MogDB=# SELECT box(point '(0,0)', point '(1,1)') AS RESULT; result ------------- (1,1),(0,0) @@ -682,7 +682,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT box(polygon '((0,0),(1,1),(2,0))') AS RESULT; + MogDB=# SELECT box(polygon '((0,0),(1,1),(2,0))') AS RESULT; result ------------- (2,1),(0,0) @@ -698,7 +698,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT circle(box '((0,0),(1,1))') AS RESULT; + MogDB=# SELECT circle(box '((0,0),(1,1))') AS RESULT; result ------------------------------- <(0.5,0.5),0.707106781186548> @@ -714,7 +714,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT circle(point '(0,0)', 2.0) AS RESULT; + MogDB=# SELECT circle(point '(0,0)', 2.0) AS RESULT; result ----------- <(0,0),2> @@ -730,7 +730,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT circle(polygon '((0,0),(1,1),(2,0))') AS RESULT; + MogDB=# SELECT circle(polygon '((0,0),(1,1),(2,0))') AS RESULT; result ------------------------------------------- <(1,0.333333333333333),0.924950591148529> @@ -746,7 +746,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT lseg(box '((-1,0),(1,0))') AS RESULT; + MogDB=# SELECT lseg(box '((-1,0),(1,0))') AS RESULT; result ---------------- [(1,0),(-1,0)] @@ -762,7 +762,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT lseg(point '(-1,0)', point '(1,0)') AS RESULT; + MogDB=# SELECT lseg(point '(-1,0)', point '(1,0)') AS RESULT; result ---------------- [(-1,0),(1,0)] @@ -778,7 +778,7 @@ date: 2021-04-20 示例: ``` - mogdb=# SELECT slope(point '(1,1)', point '(0,0)') AS RESULT; + MogDB=# SELECT slope(point '(1,1)', point '(0,0)') AS RESULT; result -------- 1 @@ -794,7 +794,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT path(polygon '((0,0),(1,1),(2,0))') AS RESULT; + MogDB=# SELECT path(polygon '((0,0),(1,1),(2,0))') AS RESULT; result --------------------- ((0,0),(1,1),(2,0)) @@ -810,7 +810,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT point(23.4, -44.5) AS RESULT; + MogDB=# SELECT point(23.4, -44.5) AS RESULT; result -------------- (23.4,-44.5) @@ -826,7 +826,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT point(box '((-1,0),(1,0))') AS RESULT; + MogDB=# SELECT point(box '((-1,0),(1,0))') AS RESULT; result -------- (0,0) @@ -842,7 +842,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT point(circle '((0,0),2.0)') AS RESULT; + MogDB=# SELECT point(circle '((0,0),2.0)') AS RESULT; result -------- (0,0) @@ -858,7 +858,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT point(lseg '((-1,0),(1,0))') AS RESULT; + MogDB=# SELECT point(lseg '((-1,0),(1,0))') AS RESULT; result -------- (0,0) @@ -874,7 +874,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT point(polygon '((0,0),(1,1),(2,0))') AS RESULT; + MogDB=# SELECT point(polygon '((0,0),(1,1),(2,0))') AS RESULT; result ----------------------- (1,0.333333333333333) @@ -890,7 +890,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT polygon(box '((0,0),(1,1))') AS RESULT; + MogDB=# SELECT polygon(box '((0,0),(1,1))') AS RESULT; result --------------------------- ((0,0),(0,1),(1,1),(1,0)) @@ -906,7 +906,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT polygon(circle '((0,0),2.0)') AS RESULT; + MogDB=# SELECT polygon(circle '((0,0),2.0)') AS RESULT; result ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -923,7 +923,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT polygon(12, circle '((0,0),2.0)') AS RESULT; + MogDB=# SELECT polygon(12, circle '((0,0),2.0)') AS RESULT; result ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -940,7 +940,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT polygon(path '((0,0),(1,1),(2,0))') AS RESULT; + MogDB=# SELECT polygon(path '((0,0),(1,1),(2,0))') AS RESULT; result --------------------- ((0,0),(1,1),(2,0)) diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/11-network-address-functions-and-operators.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/11-network-address-functions-and-operators.md index 09ae70f2..662aef64 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/11-network-address-functions-and-operators.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/11-network-address-functions-and-operators.md @@ -18,7 +18,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet '192.168.1.5' < inet '192.168.1.6' AS RESULT; + MogDB=# SELECT inet '192.168.1.5' < inet '192.168.1.6' AS RESULT; result -------- t @@ -32,7 +32,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet '192.168.1.5' <= inet '192.168.1.5' AS RESULT; + MogDB=# SELECT inet '192.168.1.5' <= inet '192.168.1.5' AS RESULT; result -------- t @@ -46,7 +46,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet '192.168.1.5' = inet '192.168.1.5' AS RESULT; + MogDB=# SELECT inet '192.168.1.5' = inet '192.168.1.5' AS RESULT; result -------- t @@ -60,7 +60,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet '192.168.1.5' >= inet '192.168.1.5' AS RESULT; + MogDB=# SELECT inet '192.168.1.5' >= inet '192.168.1.5' AS RESULT; result -------- t @@ -74,7 +74,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet '192.168.1.5' > inet '192.168.1.4' AS RESULT; + MogDB=# SELECT inet '192.168.1.5' > inet '192.168.1.4' AS RESULT; result -------- t @@ -88,7 +88,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet '192.168.1.5' <> inet '192.168.1.4' AS RESULT; + MogDB=# SELECT inet '192.168.1.5' <> inet '192.168.1.4' AS RESULT; result -------- t @@ -102,7 +102,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet '192.168.1.5' << inet '192.168.1/24' AS RESULT; + MogDB=# SELECT inet '192.168.1.5' << inet '192.168.1/24' AS RESULT; result -------- t @@ -116,7 +116,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet '192.168.1/24' <<= inet '192.168.1/24' AS RESULT; + MogDB=# SELECT inet '192.168.1/24' <<= inet '192.168.1/24' AS RESULT; result -------- t @@ -130,7 +130,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet '192.168.1/24' >> inet '192.168.1.5' AS RESULT; + MogDB=# SELECT inet '192.168.1/24' >> inet '192.168.1.5' AS RESULT; result -------- t @@ -144,7 +144,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet '192.168.1/24' >>= inet '192.168.1/24' AS RESULT; + MogDB=# SELECT inet '192.168.1/24' >>= inet '192.168.1/24' AS RESULT; result -------- t @@ -158,7 +158,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ~ inet '192.168.1.6' AS RESULT; + MogDB=# SELECT ~ inet '192.168.1.6' AS RESULT; result --------------- 63.87.254.249 @@ -172,7 +172,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet '192.168.1.6' & inet '10.0.0.0' AS RESULT; + MogDB=# SELECT inet '192.168.1.6' & inet '10.0.0.0' AS RESULT; result --------- 0.0.0.0 @@ -186,7 +186,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet '192.168.1.6' | inet '10.0.0.0' AS RESULT; + MogDB=# SELECT inet '192.168.1.6' | inet '10.0.0.0' AS RESULT; result ------------- 202.168.1.6 @@ -200,7 +200,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet '192.168.1.6' + 25 AS RESULT; + MogDB=# SELECT inet '192.168.1.6' + 25 AS RESULT; result -------------- 192.168.1.31 @@ -214,7 +214,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet '192.168.1.43' - 36 AS RESULT; + MogDB=# SELECT inet '192.168.1.43' - 36 AS RESULT; result ------------- 192.168.1.7 @@ -228,7 +228,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet '192.168.1.43' - inet '192.168.1.19' AS RESULT; + MogDB=# SELECT inet '192.168.1.43' - inet '192.168.1.19' AS RESULT; result -------- 24 @@ -248,7 +248,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT abbrev(inet '10.1.0.0/16') AS RESULT; + MogDB=# SELECT abbrev(inet '10.1.0.0/16') AS RESULT; result ------------- 10.1.0.0/16 @@ -264,7 +264,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT abbrev(cidr '10.1.0.0/16') AS RESULT; + MogDB=# SELECT abbrev(cidr '10.1.0.0/16') AS RESULT; result --------- 10.1/16 @@ -280,7 +280,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT broadcast('192.168.1.5/24') AS RESULT; + MogDB=# SELECT broadcast('192.168.1.5/24') AS RESULT; result ------------------ 192.168.1.255/24 @@ -296,7 +296,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT family('127.0.0.1') AS RESULT; + MogDB=# SELECT family('127.0.0.1') AS RESULT; result -------- 4 @@ -312,7 +312,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT host('192.168.1.5/24') AS RESULT; + MogDB=# SELECT host('192.168.1.5/24') AS RESULT; result ------------- 192.168.1.5 @@ -328,7 +328,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT hostmask('192.168.23.20/30') AS RESULT; + MogDB=# SELECT hostmask('192.168.23.20/30') AS RESULT; result --------- 0.0.0.3 @@ -344,7 +344,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT masklen('192.168.1.5/24') AS RESULT; + MogDB=# SELECT masklen('192.168.1.5/24') AS RESULT; result -------- 24 @@ -360,7 +360,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT netmask('192.168.1.5/24') AS RESULT; + MogDB=# SELECT netmask('192.168.1.5/24') AS RESULT; result --------------- 255.255.255.0 @@ -376,7 +376,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT network('192.168.1.5/24') AS RESULT; + MogDB=# SELECT network('192.168.1.5/24') AS RESULT; result ---------------- 192.168.1.0/24 @@ -392,7 +392,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT set_masklen('192.168.1.5/24', 16) AS RESULT; + MogDB=# SELECT set_masklen('192.168.1.5/24', 16) AS RESULT; result ---------------- 192.168.1.5/16 @@ -408,7 +408,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT set_masklen('192.168.1.0/24'::cidr, 16) AS RESULT; + MogDB=# SELECT set_masklen('192.168.1.0/24'::cidr, 16) AS RESULT; result ---------------- 192.168.0.0/16 @@ -424,7 +424,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT text(inet '192.168.1.5') AS RESULT; + MogDB=# SELECT text(inet '192.168.1.5') AS RESULT; result ---------------- 192.168.1.5/32 @@ -446,7 +446,7 @@ date: 2021-04-20 示例: ```sql -mogdb=# SELECT trunc(macaddr '12:34:56:78:90:ab') AS RESULT; +MogDB=# SELECT trunc(macaddr '12:34:56:78:90:ab') AS RESULT; result ------------------- 12:34:56:00:00:00 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/12-text-search-functions-and-operators.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/12-text-search-functions-and-operators.md index bca5bf48..67f78804 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/12-text-search-functions-and-operators.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/12-text-search-functions-and-operators.md @@ -16,7 +16,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_tsvector('fat cats ate rats') @@ to_tsquery('cat & rat') AS RESULT; + MogDB=# SELECT to_tsvector('fat cats ate rats') @@ to_tsquery('cat & rat') AS RESULT; result -------- t @@ -30,7 +30,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_tsvector('fat cats ate rats') @@@ to_tsquery('cat & rat') AS RESULT; + MogDB=# SELECT to_tsvector('fat cats ate rats') @@@ to_tsquery('cat & rat') AS RESULT; result -------- t @@ -44,7 +44,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 'a:1 b:2'::tsvector || 'c:1 d:2 b:3'::tsvector AS RESULT; + MogDB=# SELECT 'a:1 b:2'::tsvector || 'c:1 d:2 b:3'::tsvector AS RESULT; result --------------------------- 'a':1 'b':2,5 'c':3 'd':4 @@ -58,7 +58,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 'fat | rat'::tsquery && 'cat'::tsquery AS RESULT; + MogDB=# SELECT 'fat | rat'::tsquery && 'cat'::tsquery AS RESULT; result --------------------------- ( 'fat' | 'rat' ) & 'cat' @@ -72,7 +72,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 'fat | rat'::tsquery || 'cat'::tsquery AS RESULT; + MogDB=# SELECT 'fat | rat'::tsquery || 'cat'::tsquery AS RESULT; result --------------------------- ( 'fat' | 'rat' ) | 'cat' @@ -86,7 +86,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT !! 'cat'::tsquery AS RESULT; + MogDB=# SELECT !! 'cat'::tsquery AS RESULT; result -------- !'cat' @@ -100,7 +100,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 'cat'::tsquery @> 'cat & rat'::tsquery AS RESULT; + MogDB=# SELECT 'cat'::tsquery @> 'cat & rat'::tsquery AS RESULT; result -------- f @@ -114,7 +114,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 'cat'::tsquery <@ 'cat & rat'::tsquery AS RESULT; + MogDB=# SELECT 'cat'::tsquery <@ 'cat & rat'::tsquery AS RESULT; result -------- t @@ -134,7 +134,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT get_current_ts_config(); + MogDB=# SELECT get_current_ts_config(); get_current_ts_config ----------------------- english @@ -150,7 +150,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT length('fat:2,4 cat:3 rat:5A'::tsvector); + MogDB=# SELECT length('fat:2,4 cat:3 rat:5A'::tsvector); length -------- 3 @@ -166,7 +166,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT numnode('(fat & rat) | cat'::tsquery); + MogDB=# SELECT numnode('(fat & rat) | cat'::tsquery); numnode --------- 5 @@ -182,7 +182,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT plainto_tsquery('english', 'The Fat Rats'); + MogDB=# SELECT plainto_tsquery('english', 'The Fat Rats'); plainto_tsquery ----------------- 'fat' & 'rat' @@ -198,7 +198,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT querytree('foo & ! bar'::tsquery); + MogDB=# SELECT querytree('foo & ! bar'::tsquery); querytree ----------- 'foo' @@ -214,7 +214,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT setweight('fat:2,4 cat:3 rat:5B'::tsvector, 'A'); + MogDB=# SELECT setweight('fat:2,4 cat:3 rat:5B'::tsvector, 'A'); setweight ------------------------------- 'cat':3A 'fat':2A,4A 'rat':5A @@ -230,7 +230,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT strip('fat:2,4 cat:3 rat:5A'::tsvector); + MogDB=# SELECT strip('fat:2,4 cat:3 rat:5A'::tsvector); strip ------------------- 'cat' 'fat' 'rat' @@ -246,7 +246,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_tsquery('english', 'The & Fat & Rats'); + MogDB=# SELECT to_tsquery('english', 'The & Fat & Rats'); to_tsquery --------------- 'fat' & 'rat' @@ -262,7 +262,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_tsvector('english', 'The Fat Rats'); + MogDB=# SELECT to_tsvector('english', 'The Fat Rats'); to_tsvector ----------------- 'fat':2 'rat':3 @@ -278,7 +278,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_tsvector_for_batch('english', 'The Fat Rats'); + MogDB=# SELECT to_tsvector_for_batch('english', 'The Fat Rats'); to_tsvector ----------------- 'fat':2 'rat':3 @@ -294,7 +294,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ts_headline('x y z', 'z'::tsquery); + MogDB=# SELECT ts_headline('x y z', 'z'::tsquery); ts_headline -------------- x y z @@ -310,7 +310,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ts_rank('hello world'::tsvector, 'world'::tsquery); + MogDB=# SELECT ts_rank('hello world'::tsvector, 'world'::tsquery); ts_rank ---------- .0607927 @@ -326,7 +326,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ts_rank_cd('hello world'::tsvector, 'world'::tsquery); + MogDB=# SELECT ts_rank_cd('hello world'::tsvector, 'world'::tsquery); ts_rank_cd ------------ .1 @@ -342,7 +342,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ts_rewrite('a & b'::tsquery, 'a'::tsquery, 'foo|bar'::tsquery); + MogDB=# SELECT ts_rewrite('a & b'::tsquery, 'a'::tsquery, 'foo|bar'::tsquery); ts_rewrite ------------------------- 'b' & ( 'foo' | 'bar' ) @@ -358,7 +358,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ts_rewrite('world'::tsquery, 'select ''world''::tsquery, ''hello''::tsquery'); + MogDB=# SELECT ts_rewrite('world'::tsquery, 'select ''world''::tsquery, ''hello''::tsquery'); ts_rewrite ------------ 'hello' @@ -376,7 +376,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ts_debug('english', 'The Brightest supernovaes'); + MogDB=# SELECT ts_debug('english', 'The Brightest supernovaes'); ts_debug ----------------------------------------------------------------------------------- (asciiword,"Word, all ASCII",The,{english_stem},english_stem,{}) @@ -396,7 +396,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ts_lexize('english_stem', 'stars'); + MogDB=# SELECT ts_lexize('english_stem', 'stars'); ts_lexize ----------- {star} @@ -412,7 +412,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ts_parse('default', 'foo - bar'); + MogDB=# SELECT ts_parse('default', 'foo - bar'); ts_parse ----------- (1,foo) @@ -431,7 +431,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ts_parse(3722, 'foo - bar'); + MogDB=# SELECT ts_parse(3722, 'foo - bar'); ts_parse ----------- (1,foo) @@ -450,7 +450,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ts_token_type('default'); + MogDB=# SELECT ts_token_type('default'); ts_token_type -------------------------------------------------------------- (1,asciiword,"Word, all ASCII") @@ -488,7 +488,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ts_token_type(3722); + MogDB=# SELECT ts_token_type(3722); ts_token_type -------------------------------------------------------------- (1,asciiword,"Word, all ASCII") @@ -526,7 +526,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ts_stat('select ''hello world''::tsvector'); + MogDB=# SELECT ts_stat('select ''hello world''::tsvector'); ts_stat ------------- (world,1,1) diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/13-json-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/13-json-functions.md index 53a4a397..c41f3bc3 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/13-json-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/13-json-functions.md @@ -51,7 +51,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# SELECT array_to_json('{{1,5},{99,100}}'::int[]); + MogDB=# SELECT array_to_json('{{1,5},{99,100}}'::int[]); array_to_json ------------------ [[1,5],[99,100]] @@ -67,7 +67,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# SELECT row_to_json(row(1,'foo')); + MogDB=# SELECT row_to_json(row(1,'foo')); row_to_json --------------------- {"f1":1,"f2":"foo"} (1 row) @@ -82,7 +82,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select json_array_element('[1,true,[1,[2,3]],null]',2); + MogDB=# select json_array_element('[1,true,[1,[2,3]],null]',2); json_array_element -------------------- [1,[2,3]] @@ -98,7 +98,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select json_array_element_text('[1,true,[1,[2,3]],null]',2); + MogDB=# select json_array_element_text('[1,true,[1,[2,3]],null]',2); json_array_element_text ----------------------- [1,[2,3]] @@ -114,7 +114,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select json_object_field('{"a": {"b":"foo"}}','a'); + MogDB=# select json_object_field('{"a": {"b":"foo"}}','a'); json_object_field ------------------- {"b":"foo"} @@ -130,7 +130,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select json_object_field_text('{"a": {"b":"foo"}}','a'); + MogDB=# select json_object_field_text('{"a": {"b":"foo"}}','a'); json_object_field_text ---------------------- {"b":"foo"} @@ -146,7 +146,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select json_extract_path('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}', 'f4','f6'); + MogDB=# select json_extract_path('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}', 'f4','f6'); json_extract_path ------------------- "stringy" @@ -162,7 +162,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select json_extract_path_op('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}', 'f4','f6'); + MogDB=# select json_extract_path_op('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}', 'f4','f6'); json_extract_path_op --------------------- "stringy" @@ -178,7 +178,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}', 'f4','f6'); + MogDB=# select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}', 'f4','f6'); json_extract_path_text ----------------------- "stringy" @@ -194,7 +194,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select json_extract_path_text_op('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}', 'f4','f6'); + MogDB=# select json_extract_path_text_op('{"f2":{"f3":1},"f4":{"f5":99,"f6":"stringy"}}', 'f4','f6'); json_extract_path_text_op -------------------------- "stringy" @@ -210,7 +210,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select json_array_elements('[1,true,[1,[2,3]],null]'); + MogDB=# select json_array_elements('[1,true,[1,[2,3]],null]'); json_array_elements --------------------- 1 @@ -229,7 +229,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select * from json_array_elements_text('[1,true,[1,[2,3]],null]'); + MogDB=# select * from json_array_elements_text('[1,true,[1,[2,3]],null]'); value ----------- 1 @@ -248,7 +248,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# SELECT json_array_length('[1,2,3,{"f1":1,"f2":[5,6]},4,null]'); + MogDB=# SELECT json_array_length('[1,2,3,{"f1":1,"f2":[5,6]},4,null]'); json_array_length ------------------- 6 @@ -264,7 +264,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select * from json_each('{"f1":[1,2,3],"f2":{"f3":1},"f4":null}'); + MogDB=# select * from json_each('{"f1":[1,2,3],"f2":{"f3":1},"f4":null}'); key | value -----+---------- f1 | [1,2,3] @@ -282,7 +282,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select * from json_each_text('{"f1":[1,2,3],"f2":{"f3":1},"f4":null}'); + MogDB=# select * from json_each_text('{"f1":[1,2,3],"f2":{"f3":1},"f4":null}'); key | value -----+---------- f1 | [1,2,3] @@ -300,7 +300,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select json_object_keys('{"f1":"abc","f2":{"f3":"a", "f4":"b"}, "f1":"abcd"}'); + MogDB=# select json_object_keys('{"f1":"abc","f2":{"f3":"a", "f4":"b"}, "f1":"abcd"}'); json_object_keys ------------------ f1 @@ -312,7 +312,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 - jsonb中会有去重操作 ```sql - mogdb=# select jsonb_object_keys('{"f1":"abc","f2":{"f3":"a", "f4":"b"}, "f1":"abcd"}'); + MogDB=# select jsonb_object_keys('{"f1":"abc","f2":{"f3":"a", "f4":"b"}, "f1":"abcd"}'); jsonb_object_keys ------------------- f1 @@ -329,7 +329,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# create type jpop as (a text, b int, c bool); + MogDB=# create type jpop as (a text, b int, c bool); CREATE TYPE postgres=# select * from json_populate_record(null::jpop,'{"a":"blurfl","x":43.2}'); a | b | c @@ -339,7 +339,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 ``` ```sql - mogdb=# select * from json_populate_record((1,1,null)::jpop,'{"a":"blurfl","x":43.2}'); + MogDB=# select * from json_populate_record((1,1,null)::jpop,'{"a":"blurfl","x":43.2}'); a | b | c --------+---+--- blurfl | 1 | @@ -355,7 +355,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# create type jpop as (a text, b int, c bool); + MogDB=# create type jpop as (a text, b int, c bool); CREATE TYPE postgres=# select * from json_populate_recordset(null::jpop, '[{"a":1,"b":2},{"a":3,"b":4}]'); a | b | c @@ -374,7 +374,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select value, json_typeof(value) + MogDB=# select value, json_typeof(value) postgres-# from (values (json '123.4'), (json '"foo"'), (json 'true'), (json 'null'), (json '[1, 2, 3]'), (json '{"x":"foo", "y":123}'), (NULL::json)) as data(value); value | json_typeof ----------------------+------------- @@ -397,7 +397,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select json_build_array('a',1,'b',1.2,'c',true,'d',null,'e',json '{"x": 3, "y": [1,2,3]}',''); + MogDB=# select json_build_array('a',1,'b',1.2,'c',true,'d',null,'e',json '{"x": 3, "y": [1,2,3]}',''); json_build_array --------------------------------------------------------------------------- ["a", 1, "b", 1.2, "c", true, "d", null, "e", {"x": 3, "y": [1,2,3]}, ""] @@ -413,7 +413,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select json_build_object(1,2); + MogDB=# select json_build_object(1,2); json_build_object ------------------- {"1" : 2} @@ -429,7 +429,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select * from json_to_record('{"a":1,"b":"foo","c":"bar"}',true) as x(a int, b text, d text); + MogDB=# select * from json_to_record('{"a":1,"b":"foo","c":"bar"}',true) as x(a int, b text, d text); a | b | d ---+-----+--- 1 | foo | @@ -445,10 +445,10 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select * from json_to_recordset( - mogdb(# '[{"a":1,"b":"foo","d":false},{"a":2,"b":"bar","c":true}]', - mogdb(# false - mogdb(# ) as x(a int, b text, c boolean); + MogDB=# select * from json_to_recordset( + MogDB(# '[{"a":1,"b":"foo","d":false},{"a":2,"b":"bar","c":true}]', + MogDB(# false + MogDB(# ) as x(a int, b text, c boolean); a | b | c ---+-----+--- 1 | foo | @@ -465,7 +465,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select json_object('{a,1,b,2,3,NULL,"d e f","a b c"}'); + MogDB=# select json_object('{a,1,b,2,3,NULL,"d e f","a b c"}'); json_object ------------------------------------------------------- {"a" : "1", "b" : "2", "3" : null, "d e f" : "a b c"} @@ -473,7 +473,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 ``` ```sql - mogdb=# select json_object('{a,b,"a b c"}', '{a,1,1}'); + MogDB=# select json_object('{a,b,"a b c"}', '{a,1,1}'); json_object --------------------------------------- {"a" : "a", "b" : "1", "a b c" : "1"} @@ -489,7 +489,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select * from classes; + MogDB=# select * from classes; name | score -----+------- A | 2 @@ -500,7 +500,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 ``` ```sql - mogdb=# select name, json_agg(score) score from classes group by name order by name; + MogDB=# select name, json_agg(score) score from classes group by name order by name; name | score -----+----------------- A | [2, 3] @@ -518,7 +518,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select * from classes; + MogDB=# select * from classes; name | score -----+------- A | 2 @@ -529,7 +529,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 ``` ```sql - mogdb=# select json_object_agg(name, score) from classes group by name order by name; + MogDB=# select json_object_agg(name, score) from classes group by name order by name; json_object_agg ------------------------- { "A" : 2, "A" : 3 } @@ -546,7 +546,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select jsonb_contained('[1,2,3]', '[1,2,3,4]'); + MogDB=# select jsonb_contained('[1,2,3]', '[1,2,3,4]'); jsonb_contained ----------------- t @@ -562,7 +562,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select jsonb_contains('[1,2,3,4]', '[1,2,3]'); + MogDB=# select jsonb_contains('[1,2,3,4]', '[1,2,3]'); jsonb_contains ---------------- t @@ -578,7 +578,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select jsonb_exists('["1",2,3]', '1'); + MogDB=# select jsonb_exists('["1",2,3]', '1'); jsonb_exists -------------- t @@ -594,7 +594,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select jsonb_exists_all('["1","2",3]', '{1, 2}'); + MogDB=# select jsonb_exists_all('["1","2",3]', '{1, 2}'); jsonb_exists_all ------------------ t @@ -610,7 +610,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select jsonb_exists_any('["1","2",3]', '{1, 2, 4}'); + MogDB=# select jsonb_exists_any('["1","2",3]', '{1, 2, 4}'); jsonb_exists_any ------------------ t @@ -626,7 +626,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select jsonb_cmp('["a", "b"]', '{"a":1, "b":2}'); + MogDB=# select jsonb_cmp('["a", "b"]', '{"a":1, "b":2}'); jsonb_cmp ----------- -1 @@ -642,7 +642,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select jsonb_eq('["a", "b"]', '{"a":1, "b":2}'); + MogDB=# select jsonb_eq('["a", "b"]', '{"a":1, "b":2}'); jsonb_eq ---------- f @@ -658,7 +658,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select jsonb_ne('["a", "b"]', '{"a":1, "b":2}'); + MogDB=# select jsonb_ne('["a", "b"]', '{"a":1, "b":2}'); jsonb_ne ---------- t @@ -674,7 +674,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select jsonb_gt('["a", "b"]', '{"a":1, "b":2}'); + MogDB=# select jsonb_gt('["a", "b"]', '{"a":1, "b":2}'); jsonb_gt ---------- f @@ -690,7 +690,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select jsonb_ge('["a", "b"]', '{"a":1, "b":2}'); + MogDB=# select jsonb_ge('["a", "b"]', '{"a":1, "b":2}'); jsonb_ge ---------- f @@ -706,7 +706,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select jsonb_lt('["a", "b"]', '{"a":1, "b":2}'); + MogDB=# select jsonb_lt('["a", "b"]', '{"a":1, "b":2}'); jsonb_lt ---------- t @@ -722,7 +722,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select jsonb_le('["a", "b"]', '{"a":1, "b":2}'); + MogDB=# select jsonb_le('["a", "b"]', '{"a":1, "b":2}'); jsonb_le ---------- t @@ -738,7 +738,7 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 示例: ```sql - mogdb=# select to_json('{1,5}'::text[]); + MogDB=# select to_json('{1,5}'::text[]); to_json ----------- ["1","5"] diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/13.1-hll-functions-and-operators.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/13.1-hll-functions-and-operators.md index 04bdb9a0..98cb0606 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/13.1-hll-functions-and-operators.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/13.1-hll-functions-and-operators.md @@ -18,7 +18,7 @@ date: 2021-06-07 示例: ```sql - mogdb=# SELECT hll_hash_boolean(FALSE); + MogDB=# SELECT hll_hash_boolean(FALSE); hll_hash_boolean --------------------- -5451962507482445012 @@ -34,7 +34,7 @@ date: 2021-06-07 示例: ```sql - mogdb=# SELECT hll_hash_boolean(FALSE, 10); + MogDB=# SELECT hll_hash_boolean(FALSE, 10); hll_hash_boolean -------------------- -1169037589280886076 @@ -50,7 +50,7 @@ date: 2021-06-07 示例: ```sql - mogdb=# SELECT hll_hash_smallint(100::smallint); + MogDB=# SELECT hll_hash_smallint(100::smallint); hll_hash_smallint --------------------- 962727970174027904 @@ -68,7 +68,7 @@ date: 2021-06-07 示例: ```sql - mogdb=# SELECT hll_hash_smallint(100::smallint, 10); + MogDB=# SELECT hll_hash_smallint(100::smallint, 10); hll_hash_smallint --------------------- -9056177146160443041 @@ -84,7 +84,7 @@ date: 2021-06-07 示例: ```sql - mogdb=# SELECT hll_hash_integer(0); + MogDB=# SELECT hll_hash_integer(0); hll_hash_integer ---------------------- 5156626420896634997 @@ -100,7 +100,7 @@ date: 2021-06-07 示例: ```sql - mogdb=# SELECT hll_hash_integer(0, 10); + MogDB=# SELECT hll_hash_integer(0, 10); hll_hash_integer -------------------- -5035020264353794276 @@ -116,7 +116,7 @@ date: 2021-06-07 示例: ```sql - mogdb=# SELECT hll_hash_bigint(100::bigint); + MogDB=# SELECT hll_hash_bigint(100::bigint); hll_hash_bigint --------------------- -2401963681423227794 @@ -132,7 +132,7 @@ date: 2021-06-07 示例: ```sql - mogdb=# SELECT hll_hash_bigint(100::bigint, 10); + MogDB=# SELECT hll_hash_bigint(100::bigint, 10); hll_hash_bigint --------------------- 4631120266694327276 @@ -148,7 +148,7 @@ date: 2021-06-07 示例: ```sql - mogdb=# SELECT hll_hash_bytea(E'\\x'); + MogDB=# SELECT hll_hash_bytea(E'\\x'); hll_hash_bytea ---------------- 0 @@ -164,7 +164,7 @@ date: 2021-06-07 示例: ```sql - mogdb=# SELECT hll_hash_bytea(E'\\x', 10); + MogDB=# SELECT hll_hash_bytea(E'\\x', 10); hll_hash_bytea --------------------- 6574525721897061910 @@ -180,7 +180,7 @@ date: 2021-06-07 示例: ```sql - mogdb=# SELECT hll_hash_text('AB'); + MogDB=# SELECT hll_hash_text('AB'); hll_hash_text --------------------- 5365230931951287672 @@ -196,7 +196,7 @@ date: 2021-06-07 示例: ```sql - mogdb=# SELECT hll_hash_text('AB', 10); + MogDB=# SELECT hll_hash_text('AB', 10); hll_hash_text --------------------- 7680762839921155903 @@ -212,13 +212,13 @@ date: 2021-06-07 示例: ```sql - mogdb=# select hll_hash_any(1); + MogDB=# select hll_hash_any(1); hll_hash_any ---------------------- -8604791237420463362 (1 row) - mogdb=# select hll_hash_any('08:00:2b:01:02:03'::macaddr); + MogDB=# select hll_hash_any('08:00:2b:01:02:03'::macaddr); hll_hash_any ---------------------- -4883882473551067169 @@ -234,7 +234,7 @@ date: 2021-06-07 示例: ```sql - mogdb=# select hll_hash_any(1, 10); + MogDB=# select hll_hash_any(1, 10); hll_hash_any ---------------------- -1478847531811254870 @@ -250,7 +250,7 @@ date: 2021-06-07 示例: ```sql - mogdb=# select hll_hashval_eq(hll_hash_integer(1), hll_hash_integer(1)); + MogDB=# select hll_hashval_eq(hll_hash_integer(1), hll_hash_integer(1)); hll_hashval_eq ---------------- t @@ -266,7 +266,7 @@ date: 2021-06-07 示例: ```sql - mogdb=# select hll_hashval_ne(hll_hash_integer(1), hll_hash_integer(1)); + MogDB=# select hll_hashval_ne(hll_hash_integer(1), hll_hash_integer(1)); hll_hashval_ne ---------------- f @@ -284,7 +284,7 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_print(hll_empty()); + MogDB=# select hll_print(hll_empty()); hll_print ------------------------------------------------------------------------------- type=1(HLL_EMPTY), log2m=14, log2explicit=10, log2sparse=12, duplicatecheck=0 @@ -298,7 +298,7 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_type(hll_empty()); + MogDB=# select hll_type(hll_empty()); hll_type ---------- 1 @@ -312,19 +312,19 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_log2m(hll_empty()); + MogDB=# select hll_log2m(hll_empty()); hll_log2m ----------- 14 (1 row) - mogdb=# select hll_log2m(hll_empty(10)); + MogDB=# select hll_log2m(hll_empty(10)); hll_log2m ----------- 10 (1 row) - mogdb=# select hll_log2m(hll_empty(-1)); + MogDB=# select hll_log2m(hll_empty(-1)); hll_log2m ----------- 14 @@ -338,19 +338,19 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_log2explicit(hll_empty()); + MogDB=# select hll_log2explicit(hll_empty()); hll_log2explicit ------------------ 10 (1 row) - mogdb=# select hll_log2explicit(hll_empty(12, 8)); + MogDB=# select hll_log2explicit(hll_empty(12, 8)); hll_log2explicit ------------------ 8 (1 row) - mogdb=# select hll_log2explicit(hll_empty(12, -1)); + MogDB=# select hll_log2explicit(hll_empty(12, -1)); hll_log2explicit ------------------ 10 @@ -364,19 +364,19 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_log2sparse(hll_empty()); + MogDB=# select hll_log2sparse(hll_empty()); hll_log2sparse ---------------- 12 (1 row) - mogdb=# select hll_log2sparse(hll_empty(12, 8, 10)); + MogDB=# select hll_log2sparse(hll_empty(12, 8, 10)); hll_log2sparse ---------------- 10 (1 row) - mogdb=# select hll_log2sparse(hll_empty(12, 8, -1)); + MogDB=# select hll_log2sparse(hll_empty(12, 8, -1)); hll_log2sparse ---------------- 12 @@ -390,19 +390,19 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_duplicatecheck(hll_empty()); + MogDB=# select hll_duplicatecheck(hll_empty()); hll_duplicatecheck -------------------- 0 (1 row) - mogdb=# select hll_duplicatecheck(hll_empty(12, 8, 10, 1)); + MogDB=# select hll_duplicatecheck(hll_empty(12, 8, 10, 1)); hll_duplicatecheck -------------------- 1 (1 row) - mogdb=# select hll_duplicatecheck(hll_empty(12, 8, 10, -1)); + MogDB=# select hll_duplicatecheck(hll_empty(12, 8, 10, -1)); hll_duplicatecheck -------------------- 0 @@ -420,7 +420,7 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_empty(); + MogDB=# select hll_empty(); hll_empty ------------------------------------------------------------ \x484c4c00000000002b05000000000000000000000000000000000000 @@ -436,13 +436,13 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_empty(10); + MogDB=# select hll_empty(10); hll_empty ------------------------------------------------------------ \x484c4c00000000002b04000000000000000000000000000000000000 (1 row) - mogdb=# select hll_empty(-1); + MogDB=# select hll_empty(-1); hll_empty ------------------------------------------------------------ \x484c4c00000000002b05000000000000000000000000000000000000 @@ -458,13 +458,13 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_empty(10, 4); + MogDB=# select hll_empty(10, 4); hll_empty ------------------------------------------------------------ \x484c4c00000000001304000000000000000000000000000000000000 (1 row) - mogdb=# select hll_empty(10, -1); + MogDB=# select hll_empty(10, -1); hll_empty ------------------------------------------------------------ \x484c4c00000000002b04000000000000000000000000000000000000 @@ -480,13 +480,13 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_empty(10, 4, 8); + MogDB=# select hll_empty(10, 4, 8); hll_empty ------------------------------------------------------------ \x484c4c00000000001204000000000000000000000000000000000000 (1 row) - mogdb=# select hll_empty(10, 4, -1); + MogDB=# select hll_empty(10, 4, -1); hll_empty ------------------------------------------------------------ \x484c4c00000000001304000000000000000000000000000000000000 @@ -502,13 +502,13 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_empty(10, 4, 8, 0); + MogDB=# select hll_empty(10, 4, 8, 0); hll_empty ------------------------------------------------------------ \x484c4c00000000001204000000000000000000000000000000000000 (1 row) - mogdb=# select hll_empty(10, 4, 8, -1); + MogDB=# select hll_empty(10, 4, 8, -1); hll_empty ------------------------------------------------------------ \x484c4c00000000001204000000000000000000000000000000000000 @@ -524,7 +524,7 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_add(hll_empty(), hll_hash_integer(1)); + MogDB=# select hll_add(hll_empty(), hll_hash_integer(1)); hll_add ---------------------------------------------------------------------------- \x484c4c08000002002b0900000000000000f03f3e2921ff133fbaed3e2921ff133fbaed00 @@ -540,7 +540,7 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_add_rev(hll_hash_integer(1), hll_empty()); + MogDB=# select hll_add_rev(hll_hash_integer(1), hll_empty()); hll_add_rev ---------------------------------------------------------------------------- \x484c4c08000002002b0900000000000000f03f3e2921ff133fbaed3e2921ff133fbaed00 @@ -556,7 +556,7 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_eq(hll_add(hll_empty(), hll_hash_integer(1)), hll_add(hll_empty(), hll_hash_integer(2))); + MogDB=# select hll_eq(hll_add(hll_empty(), hll_hash_integer(1)), hll_add(hll_empty(), hll_hash_integer(2))); hll_eq -------- f @@ -572,7 +572,7 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_ne(hll_add(hll_empty(), hll_hash_integer(1)), hll_add(hll_empty(), hll_hash_integer(2))); + MogDB=# select hll_ne(hll_add(hll_empty(), hll_hash_integer(1)), hll_add(hll_empty(), hll_hash_integer(2))); hll_ne -------- t @@ -588,7 +588,7 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_cardinality(hll_empty() || hll_hash_integer(1)); + MogDB=# select hll_cardinality(hll_empty() || hll_hash_integer(1)); hll_cardinality ----------------- 1 @@ -604,7 +604,7 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_union(hll_add(hll_empty(), hll_hash_integer(1)), hll_add(hll_empty(), hll_hash_integer(2))); + MogDB=# select hll_union(hll_add(hll_empty(), hll_hash_integer(1)), hll_add(hll_empty(), hll_hash_integer(2))); hll_union -------------------------------------------------------------------------------------------- \x484c4c10002000002b090000000000000000400000000000000000b3ccc49320cca1ae3e2921ff133fbaed00 @@ -623,19 +623,19 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 ```sql --准备数据 - mogdb=# create table t_id(id int); - mogdb=# insert into t_id values(generate_series(1,500)); - mogdb=# create table t_data(a int, c text); - mogdb=# insert into t_data select mod(id,2), id from t_id; + MogDB=# create table t_id(id int); + MogDB=# insert into t_id values(generate_series(1,500)); + MogDB=# create table t_data(a int, c text); + MogDB=# insert into t_data select mod(id,2), id from t_id; --创建表并指定列为hll - mogdb=# create table t_a_c_hll(a int, c hll); + MogDB=# create table t_a_c_hll(a int, c hll); --根据a列group by对数据分组,把各组数据加到hll中 - mogdb=# insert into t_a_c_hll select a, hll_add_agg(hll_hash_text(c)) from t_data group by a; + MogDB=# insert into t_a_c_hll select a, hll_add_agg(hll_hash_text(c)) from t_data group by a; --得到每组数据中hll的Distinct值 - mogdb=# select a, #c as cardinality from t_a_c_hll order by a; + MogDB=# select a, #c as cardinality from t_a_c_hll order by a; a | cardinality ---+------------------ 0 | 247.862354346299 @@ -652,7 +652,7 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_cardinality(hll_add_agg(hll_hash_text(c), 12)) from t_data; + MogDB=# select hll_cardinality(hll_add_agg(hll_hash_text(c), 12)) from t_data; hll_cardinality ------------------ 497.965240179228 @@ -668,7 +668,7 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_cardinality(hll_add_agg(hll_hash_text(c), NULL, 1)) from t_data; + MogDB=# select hll_cardinality(hll_add_agg(hll_hash_text(c), NULL, 1)) from t_data; hll_cardinality ------------------ 498.496062953313 @@ -684,7 +684,7 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_cardinality(hll_add_agg(hll_hash_text(c), NULL, 6, 10)) from t_data; + MogDB=# select hll_cardinality(hll_add_agg(hll_hash_text(c), NULL, 6, 10)) from t_data; hll_cardinality ------------------ 498.496062953313 @@ -700,7 +700,7 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 示例: ```sql - mogdb=# select hll_cardinality(hll_add_agg(hll_hash_text(c), NULL, 6, 10, -1)) from t_data; + MogDB=# select hll_cardinality(hll_add_agg(hll_hash_text(c), NULL, 6, 10, -1)) from t_data; hll_cardinality ------------------ 498.496062953313 @@ -717,7 +717,7 @@ hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小 ```sql --将各组中的hll数据union成一个hll,并计算distinct值。 - mogdb=# select #hll_union_agg(c) as cardinality from t_a_c_hll; + MogDB=# select #hll_union_agg(c) as cardinality from t_a_c_hll; cardinality ------------------ 498.496062953313 @@ -792,14 +792,14 @@ HLL(HyperLogLog)有一系列内置函数用于内部对数据进行处理, ```sql --hll - mogdb=# select (hll_empty() || hll_hash_integer(1)) = (hll_empty() || hll_hash_integer(1)); + MogDB=# select (hll_empty() || hll_hash_integer(1)) = (hll_empty() || hll_hash_integer(1)); column ---------- t (1 row) --hll_hashval - mogdb=# select hll_hash_integer(1) = hll_hash_integer(1); + MogDB=# select hll_hash_integer(1) = hll_hash_integer(1); ?column? ---------- t @@ -816,14 +816,14 @@ HLL(HyperLogLog)有一系列内置函数用于内部对数据进行处理, ```sql --hll - mogdb=# select (hll_empty() || hll_hash_integer(1)) <> (hll_empty() || hll_hash_integer(2)); + MogDB=# select (hll_empty() || hll_hash_integer(1)) <> (hll_empty() || hll_hash_integer(2)); ?column? ---------- t (1 row) --hll_hashval - mogdb=# select hll_hash_integer(1) <> hll_hash_integer(2); + MogDB=# select hll_hash_integer(1) <> hll_hash_integer(2); ?column? ---------- t @@ -840,21 +840,21 @@ HLL(HyperLogLog)有一系列内置函数用于内部对数据进行处理, ```sql --hll_add - mogdb=# select hll_empty() || hll_hash_integer(1); + MogDB=# select hll_empty() || hll_hash_integer(1); ?column? ---------------------------------------------------------------------------- \x484c4c08000002002b0900000000000000f03f3e2921ff133fbaed3e2921ff133fbaed00 (1 row) --hll_add_rev - mogdb=# select hll_hash_integer(1) || hll_empty(); + MogDB=# select hll_hash_integer(1) || hll_empty(); ?column? ---------------------------------------------------------------------------- \x484c4c08000002002b0900000000000000f03f3e2921ff133fbaed3e2921ff133fbaed00 (1 row) --hll_union - mogdb=# select (hll_empty() || hll_hash_integer(1)) || (hll_empty() || hll_hash_integer(2)); + MogDB=# select (hll_empty() || hll_hash_integer(1)) || (hll_empty() || hll_hash_integer(2)); ?column? -------------------------------------------------------------------------------------------- \x484c4c10002000002b090000000000000000400000000000000000b3ccc49320cca1ae3e2921ff133fbaed00 @@ -870,7 +870,7 @@ HLL(HyperLogLog)有一系列内置函数用于内部对数据进行处理, 示例: ```sql - mogdb=# select #(hll_empty() || hll_hash_integer(1)); + MogDB=# select #(hll_empty() || hll_hash_integer(1)); ?column? ---------- 1 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/14-sequence-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/14-sequence-functions.md index 3fef6353..c732f5d0 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/14-sequence-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/14-sequence-functions.md @@ -26,7 +26,7 @@ date: 2021-04-20 示例1: ```sql - mogdb=# select nextval('seqDemo'); + MogDB=# select nextval('seqDemo'); nextval --------- 2 @@ -36,7 +36,7 @@ date: 2021-04-20 示例2: ```sql - mogdb=# select seqDemo.nextval; + MogDB=# select seqDemo.nextval; nextval --------- 2 @@ -54,7 +54,7 @@ date: 2021-04-20 示例1: ```sql - mogdb=# select currval('seq1'); + MogDB=# select currval('seq1'); currval --------- 2 @@ -64,7 +64,7 @@ date: 2021-04-20 示例2: ```sql - mogdb=# select seq1.currval; + MogDB=# select seq1.currval; currval --------- 2 @@ -80,7 +80,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select lastval(); + MogDB=# select lastval(); lastval --------- 2 @@ -96,7 +96,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select setval('seqDemo',1); + MogDB=# select setval('seqDemo',1); setval -------- 1 @@ -112,7 +112,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select setval('seqDemo',1,true); + MogDB=# select setval('seqDemo',1,true); setval -------- 1 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/15-array-functions-and-operators.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/15-array-functions-and-operators.md index f15a150d..148bd2e5 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/15-array-functions-and-operators.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/15-array-functions-and-operators.md @@ -16,7 +16,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ARRAY[1.1,2.1,3.1]::int[] = ARRAY[1,2,3] AS RESULT ; + MogDB=# SELECT ARRAY[1.1,2.1,3.1]::int[] = ARRAY[1,2,3] AS RESULT ; result -------- t @@ -30,7 +30,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ARRAY[1,2,3] <> ARRAY[1,2,4] AS RESULT; + MogDB=# SELECT ARRAY[1,2,3] <> ARRAY[1,2,4] AS RESULT; result -------- t @@ -44,7 +44,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ARRAY[1,2,3] < ARRAY[1,2,4] AS RESULT; + MogDB=# SELECT ARRAY[1,2,3] < ARRAY[1,2,4] AS RESULT; result -------- t @@ -58,7 +58,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ARRAY[1,4,3] > ARRAY[1,2,4] AS RESULT; + MogDB=# SELECT ARRAY[1,4,3] > ARRAY[1,2,4] AS RESULT; result -------- t @@ -72,7 +72,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ARRAY[1,2,3] <= ARRAY[1,2,3] AS RESULT; + MogDB=# SELECT ARRAY[1,2,3] <= ARRAY[1,2,3] AS RESULT; result -------- t @@ -86,7 +86,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ARRAY[1,4,3] >= ARRAY[1,4,3] AS RESULT; + MogDB=# SELECT ARRAY[1,4,3] >= ARRAY[1,4,3] AS RESULT; result -------- t @@ -100,7 +100,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ARRAY[1,4,3] @> ARRAY[3,1] AS RESULT; + MogDB=# SELECT ARRAY[1,4,3] @> ARRAY[3,1] AS RESULT; result -------- t @@ -114,7 +114,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ARRAY[2,7] <@ ARRAY[1,7,4,2,6] AS RESULT; + MogDB=# SELECT ARRAY[2,7] <@ ARRAY[1,7,4,2,6] AS RESULT; result -------- t @@ -128,7 +128,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ARRAY[1,4,3] && ARRAY[2,1] AS RESULT; + MogDB=# SELECT ARRAY[1,4,3] && ARRAY[2,1] AS RESULT; result -------- t @@ -142,7 +142,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ARRAY[1,2,3] || ARRAY[4,5,6] AS RESULT; + MogDB=# SELECT ARRAY[1,2,3] || ARRAY[4,5,6] AS RESULT; result --------------- {1,2,3,4,5,6} @@ -150,7 +150,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT ARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9]] AS RESULT; + MogDB=# SELECT ARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9]] AS RESULT; result --------------------------- {{1,2,3},{4,5,6},{7,8,9}} @@ -164,7 +164,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 3 || ARRAY[4,5,6] AS RESULT; + MogDB=# SELECT 3 || ARRAY[4,5,6] AS RESULT; result ----------- {3,4,5,6} @@ -178,7 +178,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ARRAY[4,5,6] || 7 AS RESULT; + MogDB=# SELECT ARRAY[4,5,6] || 7 AS RESULT; result ----------- {4,5,6,7} @@ -198,7 +198,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_append(ARRAY[1,2], 3) AS RESULT; + MogDB=# SELECT array_append(ARRAY[1,2], 3) AS RESULT; result --------- {1,2,3} @@ -214,7 +214,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_prepend(1, ARRAY[2,3]) AS RESULT; + MogDB=# SELECT array_prepend(1, ARRAY[2,3]) AS RESULT; result --------- {1,2,3} @@ -230,13 +230,13 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_cat(ARRAY[1,2,3], ARRAY[4,5]) AS RESULT; + MogDB=# SELECT array_cat(ARRAY[1,2,3], ARRAY[4,5]) AS RESULT; result ------------- {1,2,3,4,5} (1 row) - mogdb=# SELECT array_cat(ARRAY[[1,2],[4,5]], ARRAY[6,7]) AS RESULT; + MogDB=# SELECT array_cat(ARRAY[[1,2],[4,5]], ARRAY[6,7]) AS RESULT; result --------------------- {{1,2},{4,5},{6,7}} @@ -284,7 +284,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_intersect(ARRAY[1,2,3], ARRAY[3,4,5]) AS RESULT; + MogDB=# SELECT array_intersect(ARRAY[1,2,3], ARRAY[3,4,5]) AS RESULT; result ------------- {3} @@ -300,7 +300,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_intersect_distinct(ARRAY[1,2,2], ARRAY[2,2,4,5]) AS RESULT; + MogDB=# SELECT array_intersect_distinct(ARRAY[1,2,2], ARRAY[2,2,4,5]) AS RESULT; result ------------- {2} @@ -316,7 +316,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_except(ARRAY[1,2,3], ARRAY[3,4,5]) AS RESULT; + MogDB=# SELECT array_except(ARRAY[1,2,3], ARRAY[3,4,5]) AS RESULT; result ------------- {1,2} @@ -332,7 +332,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_except_distinct(ARRAY[1,2,2,3], ARRAY[3,4,5]) AS RESULT; + MogDB=# SELECT array_except_distinct(ARRAY[1,2,2,3], ARRAY[3,4,5]) AS RESULT; result ------------- {1,2} @@ -348,7 +348,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_ndims(ARRAY[[1,2,3], [4,5,6]]) AS RESULT; + MogDB=# SELECT array_ndims(ARRAY[[1,2,3], [4,5,6]]) AS RESULT; result -------- 2 @@ -364,7 +364,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_dims(ARRAY[[1,2,3], [4,5,6]]) AS RESULT; + MogDB=# SELECT array_dims(ARRAY[[1,2,3], [4,5,6]]) AS RESULT; result ------------ [1:2][1:3] @@ -380,13 +380,13 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_length(array[1,2,3], 1) AS RESULT; + MogDB=# SELECT array_length(array[1,2,3], 1) AS RESULT; result -------- 3 (1 row) - mogdb=# SELECT array_length(array[[1,2,3],[4,5,6]], 2) AS RESULT; + MogDB=# SELECT array_length(array[[1,2,3],[4,5,6]], 2) AS RESULT; result -------- 3 @@ -402,7 +402,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_lower('[0:2]={1,2,3}'::int[], 1) AS RESULT; + MogDB=# SELECT array_lower('[0:2]={1,2,3}'::int[], 1) AS RESULT; result -------- 0 @@ -418,7 +418,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_upper(ARRAY[1,8,3,7], 1) AS RESULT; + MogDB=# SELECT array_upper(ARRAY[1,8,3,7], 1) AS RESULT; result -------- 4 @@ -434,7 +434,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_remove(ARRAY[1,8,8,7], 8) AS RESULT; + MogDB=# SELECT array_remove(ARRAY[1,8,8,7], 8) AS RESULT; result -------- {1,7} @@ -450,7 +450,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_to_string(ARRAY[1, 2, 3, NULL, 5], ',', '*') AS RESULT; + MogDB=# SELECT array_to_string(ARRAY[1, 2, 3, NULL, 5], ',', '*') AS RESULT; result ----------- 1,2,3,*,5 @@ -466,7 +466,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_delete(ARRAY[1,8,3,7]) AS RESULT; + MogDB=# SELECT array_delete(ARRAY[1,8,3,7]) AS RESULT; result -------- {} @@ -498,7 +498,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_extendnull(ARRAY[1,8,3,7],1) AS RESULT; + MogDB=# SELECT array_extendnull(ARRAY[1,8,3,7],1) AS RESULT; result -------------- {1,8,3,7,null} @@ -530,7 +530,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_exists(ARRAY[1,8,3,7],1) AS RESULT; + MogDB=# SELECT array_exists(ARRAY[1,8,3,7],1) AS RESULT; result -------- t @@ -546,7 +546,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_next(ARRAY[1,8,3,7],1) AS RESULT; + MogDB=# SELECT array_next(ARRAY[1,8,3,7],1) AS RESULT; result -------- 2 @@ -562,7 +562,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT array_prior(ARRAY[1,8,3,7],2) AS RESULT; + MogDB=# SELECT array_prior(ARRAY[1,8,3,7],2) AS RESULT; result -------- 1 @@ -578,12 +578,12 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT string_to_array('xx~^~yy~^~zz', '~^~', 'yy') AS RESULT; + MogDB=# SELECT string_to_array('xx~^~yy~^~zz', '~^~', 'yy') AS RESULT; result -------------- {xx,NULL,zz} (1 row) - mogdb=# SELECT string_to_array('xx~^~yy~^~zz', '~^~', 'y') AS RESULT; + MogDB=# SELECT string_to_array('xx~^~yy~^~zz', '~^~', 'y') AS RESULT; result ------------ {xx,yy,zz} @@ -599,7 +599,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT unnest(ARRAY[1,2]) AS RESULT; + MogDB=# SELECT unnest(ARRAY[1,2]) AS RESULT; result -------- 1 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/16-range-functions-and-operators.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/16-range-functions-and-operators.md index 6e7887e8..16d459c1 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/16-range-functions-and-operators.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/16-range-functions-and-operators.md @@ -16,7 +16,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT int4range(1,5) = '[1,4]'::int4range AS RESULT; + MogDB=# SELECT int4range(1,5) = '[1,4]'::int4range AS RESULT; result -------- t @@ -30,7 +30,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT numrange(1.1,2.2) <> numrange(1.1,2.3) AS RESULT; + MogDB=# SELECT numrange(1.1,2.2) <> numrange(1.1,2.3) AS RESULT; result -------- t @@ -44,7 +44,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT int4range(1,10) < int4range(2,3) AS RESULT; + MogDB=# SELECT int4range(1,10) < int4range(2,3) AS RESULT; result -------- t @@ -58,7 +58,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT int4range(1,10) > int4range(1,5) AS RESULT; + MogDB=# SELECT int4range(1,10) > int4range(1,5) AS RESULT; result -------- t @@ -72,7 +72,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT numrange(1.1,2.2) <= numrange(1.1,2.2) AS RESULT; + MogDB=# SELECT numrange(1.1,2.2) <= numrange(1.1,2.2) AS RESULT; result -------- t @@ -86,7 +86,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT numrange(1.1,2.2) >= numrange(1.1,2.0) AS RESULT; + MogDB=# SELECT numrange(1.1,2.2) >= numrange(1.1,2.0) AS RESULT; result -------- t @@ -100,7 +100,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT int4range(2,4) @> int4range(2,3) AS RESULT; + MogDB=# SELECT int4range(2,4) @> int4range(2,3) AS RESULT; result -------- t @@ -114,7 +114,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT '[2011-01-01,2011-03-01)'::tsrange @> '2011-01-10'::timestamp AS RESULT; + MogDB=# SELECT '[2011-01-01,2011-03-01)'::tsrange @> '2011-01-10'::timestamp AS RESULT; result -------- t @@ -128,7 +128,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT int4range(2,4) <@ int4range(1,7) AS RESULT; + MogDB=# SELECT int4range(2,4) <@ int4range(1,7) AS RESULT; result -------- t @@ -142,7 +142,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 42 <@ int4range(1,7) AS RESULT; + MogDB=# SELECT 42 <@ int4range(1,7) AS RESULT; result -------- f @@ -156,7 +156,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT int8range(3,7) && int8range(4,12) AS RESULT; + MogDB=# SELECT int8range(3,7) && int8range(4,12) AS RESULT; result -------- t @@ -170,7 +170,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT int8range(1,10) << int8range(100,110) AS RESULT; + MogDB=# SELECT int8range(1,10) << int8range(100,110) AS RESULT; result -------- t @@ -184,7 +184,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT int8range(50,60) >> int8range(20,30) AS RESULT; + MogDB=# SELECT int8range(50,60) >> int8range(20,30) AS RESULT; result -------- t @@ -198,7 +198,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT int8range(1,20) &< int8range(18,20) AS RESULT; + MogDB=# SELECT int8range(1,20) &< int8range(18,20) AS RESULT; result -------- t @@ -212,7 +212,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT int8range(7,20) &> int8range(5,10) AS RESULT; + MogDB=# SELECT int8range(7,20) &> int8range(5,10) AS RESULT; result -------- t @@ -226,7 +226,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT numrange(1.1,2.2) -|- numrange(2.2,3.3) AS RESULT; + MogDB=# SELECT numrange(1.1,2.2) -|- numrange(2.2,3.3) AS RESULT; result -------- t @@ -240,7 +240,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT numrange(5,15) + numrange(10,20) AS RESULT; + MogDB=# SELECT numrange(5,15) + numrange(10,20) AS RESULT; result -------- [5,20) @@ -254,7 +254,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT int8range(5,15) * int8range(10,20) AS RESULT; + MogDB=# SELECT int8range(5,15) * int8range(10,20) AS RESULT; result --------- [10,15) @@ -268,7 +268,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT int8range(5,15) - int8range(10,20) AS RESULT; + MogDB=# SELECT int8range(5,15) - int8range(10,20) AS RESULT; result -------- [5,10) @@ -292,12 +292,12 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT numrange(1.1,2.2) AS RESULT; + MogDB=# SELECT numrange(1.1,2.2) AS RESULT; result -------- [1.1,2.2) (1 row) - mogdb=# SELECT numrange(1.1,2.2, '()') AS RESULT; + MogDB=# SELECT numrange(1.1,2.2, '()') AS RESULT; result -------- (1.1,2.2) @@ -313,7 +313,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT lower(numrange(1.1,2.2)) AS RESULT; + MogDB=# SELECT lower(numrange(1.1,2.2)) AS RESULT; result -------- 1.1 @@ -329,7 +329,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT upper(numrange(1.1,2.2)) AS RESULT; + MogDB=# SELECT upper(numrange(1.1,2.2)) AS RESULT; result -------- 2.2 @@ -345,7 +345,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT isempty(numrange(1.1,2.2)) AS RESULT; + MogDB=# SELECT isempty(numrange(1.1,2.2)) AS RESULT; result -------- f @@ -361,7 +361,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT lower_inc(numrange(1.1,2.2)) AS RESULT; + MogDB=# SELECT lower_inc(numrange(1.1,2.2)) AS RESULT; result -------- t @@ -377,7 +377,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT upper_inc(numrange(1.1,2.2)) AS RESULT; + MogDB=# SELECT upper_inc(numrange(1.1,2.2)) AS RESULT; result -------- f @@ -393,7 +393,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT lower_inf('(,)'::daterange) AS RESULT; + MogDB=# SELECT lower_inf('(,)'::daterange) AS RESULT; result -------- t @@ -409,7 +409,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT upper_inf('(,)'::daterange) AS RESULT; + MogDB=# SELECT upper_inf('(,)'::daterange) AS RESULT; result -------- t @@ -427,7 +427,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT elem_contained_by_range('2', numrange(1.1,2.2)); + MogDB=# SELECT elem_contained_by_range('2', numrange(1.1,2.2)); elem_contained_by_range ------------------------- t diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/17-aggregate-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/17-aggregate-functions.md index a5c0c773..4c2163eb 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/17-aggregate-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/17-aggregate-functions.md @@ -22,7 +22,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT SUM(ss_ext_tax) FROM tpcds.STORE_SALES; + MogDB=# SELECT SUM(ss_ext_tax) FROM tpcds.STORE_SALES; sum -------------- 213267594.69 @@ -40,7 +40,7 @@ date: 2021-04-20 示例: ``` - mogdb=# SELECT MAX(inv_quantity_on_hand) FROM tpcds.inventory; + MogDB=# SELECT MAX(inv_quantity_on_hand) FROM tpcds.inventory; ``` - min(expression) @@ -54,7 +54,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT MIN(inv_quantity_on_hand) FROM tpcds.inventory; + MogDB=# SELECT MIN(inv_quantity_on_hand) FROM tpcds.inventory; min ----- 0 @@ -76,7 +76,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT AVG(inv_quantity_on_hand) FROM tpcds.inventory; + MogDB=# SELECT AVG(inv_quantity_on_hand) FROM tpcds.inventory; avg ---------------------- 500.0387129084044604 @@ -92,7 +92,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT COUNT(inv_quantity_on_hand) FROM tpcds.inventory; + MogDB=# SELECT COUNT(inv_quantity_on_hand) FROM tpcds.inventory; count ---------- 11158087 @@ -108,7 +108,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT COUNT(*) FROM tpcds.inventory; + MogDB=# SELECT COUNT(*) FROM tpcds.inventory; count ---------- 11745000 @@ -140,7 +140,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ARRAY_AGG(sr_fee) FROM tpcds.store_returns WHERE sr_customer_sk = 2; + MogDB=# SELECT ARRAY_AGG(sr_fee) FROM tpcds.store_returns WHERE sr_customer_sk = 2; array_agg --------------- {22.18,63.21} @@ -156,7 +156,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT string_agg(sr_item_sk, ',') FROM tpcds.store_returns where sr_item_sk < 3; + MogDB=# SELECT string_agg(sr_item_sk, ',') FROM tpcds.store_returns where sr_item_sk < 3; string_agg --------------------------------------------------------------------------------- ------------------------------ @@ -180,7 +180,7 @@ date: 2021-04-20 聚集列是文本字符集类型。 ```sql - mogdb=# SELECT deptno, listagg(ename, ',') WITHIN GROUP(ORDER BY ename) AS employees FROM emp GROUP BY deptno; + MogDB=# SELECT deptno, listagg(ename, ',') WITHIN GROUP(ORDER BY ename) AS employees FROM emp GROUP BY deptno; deptno | employees --------+-------------------------------------- 10 | CLARK,KING,MILLER @@ -192,7 +192,7 @@ date: 2021-04-20 聚集列是整型。 ```sql - mogdb=# SELECT deptno, listagg(mgrno, ',') WITHIN GROUP(ORDER BY mgrno NULLS FIRST) AS mgrnos FROM emp GROUP BY deptno; + MogDB=# SELECT deptno, listagg(mgrno, ',') WITHIN GROUP(ORDER BY mgrno NULLS FIRST) AS mgrnos FROM emp GROUP BY deptno; deptno | mgrnos --------+------------------------------- 10 | 7782,7839 @@ -204,7 +204,7 @@ date: 2021-04-20 聚集列是浮点类型。 ```sql - mogdb=# SELECT job, listagg(bonus, '($); ') WITHIN GROUP(ORDER BY bonus DESC) || '($)' AS bonus FROM emp GROUP BY job; + MogDB=# SELECT job, listagg(bonus, '($); ') WITHIN GROUP(ORDER BY bonus DESC) || '($)' AS bonus FROM emp GROUP BY job; job | bonus ------------+------------------------------------------------- CLERK | 10234.21($); 2000.80($); 1100.00($); 1000.22($) @@ -218,7 +218,7 @@ date: 2021-04-20 聚集列是时间类型。 ```sql - mogdb=# SELECT deptno, listagg(hiredate, ', ') WITHIN GROUP(ORDER BY hiredate DESC) AS hiredates FROM emp GROUP BY deptno; + MogDB=# SELECT deptno, listagg(hiredate, ', ') WITHIN GROUP(ORDER BY hiredate DESC) AS hiredates FROM emp GROUP BY deptno; deptno | hiredates --------+------------------------------------------------------------------------------------------------------------------------------ 10 | 1982-01-23 00:00:00, 1981-11-17 00:00:00, 1981-06-09 00:00:00 @@ -230,7 +230,7 @@ date: 2021-04-20 聚集列是时间间隔类型。 ```sql - mogdb=# SELECT deptno, listagg(vacationTime, '; ') WITHIN GROUP(ORDER BY vacationTime DESC) AS vacationTime FROM emp GROUP BY deptno; + MogDB=# SELECT deptno, listagg(vacationTime, '; ') WITHIN GROUP(ORDER BY vacationTime DESC) AS vacationTime FROM emp GROUP BY deptno; deptno | vacationtime --------+------------------------------------------------------------------------------------ 10 | 1 year 30 days; 40 days; 10 days @@ -242,7 +242,7 @@ date: 2021-04-20 分隔符缺省时,默认为空。 ```sql - mogdb=# SELECT deptno, listagg(job) WITHIN GROUP(ORDER BY job) AS jobs FROM emp GROUP BY deptno; + MogDB=# SELECT deptno, listagg(job) WITHIN GROUP(ORDER BY job) AS jobs FROM emp GROUP BY deptno; deptno | jobs --------+---------------------------------------------- 10 | CLERKMANAGERPRESIDENT @@ -254,7 +254,7 @@ date: 2021-04-20 listagg作为窗口函数时,OVER子句不支持ORDER BY的窗口排序,listagg列为对应分组的有序聚集。 ```sql - mogdb=# SELECT deptno, mgrno, bonus, listagg(ename,'; ') WITHIN GROUP(ORDER BY hiredate) OVER(PARTITION BY deptno) AS employees FROM emp; + MogDB=# SELECT deptno, mgrno, bonus, listagg(ename,'; ') WITHIN GROUP(ORDER BY hiredate) OVER(PARTITION BY deptno) AS employees FROM emp; deptno | mgrno | bonus | employees --------+-------+----------+------------------------------------------- 10 | 7839 | 10000.01 | CLARK; KING; MILLER @@ -283,7 +283,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT COVAR_POP(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; + MogDB=# SELECT COVAR_POP(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; covar_pop ------------------ 829.749627587403 @@ -299,7 +299,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT COVAR_SAMP(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; + MogDB=# SELECT COVAR_SAMP(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; covar_samp ------------------ 830.052235037289 @@ -315,7 +315,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT STDDEV_POP(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; + MogDB=# SELECT STDDEV_POP(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; stddev_pop ------------------ 289.224294957556 @@ -331,7 +331,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT STDDEV_SAMP(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; + MogDB=# SELECT STDDEV_SAMP(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; stddev_samp ------------------ 289.224359757315 @@ -347,7 +347,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT VAR_POP(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; + MogDB=# SELECT VAR_POP(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; var_pop -------------------- 83650.692793695475 @@ -363,7 +363,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT VAR_SAMP(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; + MogDB=# SELECT VAR_SAMP(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; var_samp -------------------- 83650.730277028768 @@ -379,7 +379,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT BIT_AND(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; + MogDB=# SELECT BIT_AND(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; bit_and --------- 0 @@ -395,7 +395,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT BIT_OR(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; + MogDB=# SELECT BIT_OR(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; bit_or -------- 1023 @@ -411,7 +411,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT bool_and(100 <2500); + MogDB=# SELECT bool_and(100 <2500); bool_and ---------- t @@ -427,7 +427,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT bool_or(100 <2500); + MogDB=# SELECT bool_or(100 <2500); bool_or ---------- t @@ -443,7 +443,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT CORR(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; + MogDB=# SELECT CORR(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; corr ------------------- .0381383624904186 @@ -459,7 +459,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT every(100 <2500); + MogDB=# SELECT every(100 <2500); every ------- t @@ -475,7 +475,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT REGR_AVGX(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; + MogDB=# SELECT REGR_AVGX(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; regr_avgx ------------------ 578.606576740795 @@ -491,7 +491,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT REGR_AVGY(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; + MogDB=# SELECT REGR_AVGY(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; regr_avgy ------------------ 50.0136711629602 @@ -507,7 +507,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT REGR_COUNT(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; + MogDB=# SELECT REGR_COUNT(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; regr_count ------------ 2743 @@ -523,7 +523,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT REGR_INTERCEPT(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; + MogDB=# SELECT REGR_INTERCEPT(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; regr_intercept ------------------ 49.2040847848607 @@ -539,7 +539,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT REGR_R2(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; + MogDB=# SELECT REGR_R2(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; regr_r2 -------------------- .00145453469345058 @@ -555,7 +555,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT REGR_SLOPE(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; + MogDB=# SELECT REGR_SLOPE(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; regr_slope -------------------- .00139920009665259 @@ -571,7 +571,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT REGR_SXX(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; + MogDB=# SELECT REGR_SXX(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; regr_sxx ------------------ 1626645991.46135 @@ -587,7 +587,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT REGR_SXY(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; + MogDB=# SELECT REGR_SXY(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; regr_sxy ------------------ 2276003.22847225 @@ -603,7 +603,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT REGR_SYY(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; + MogDB=# SELECT REGR_SYY(sr_fee, sr_net_loss) FROM tpcds.store_returns WHERE sr_customer_sk < 1000; regr_syy ----------------- 2189417.6547314 @@ -619,7 +619,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT STDDEV(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; + MogDB=# SELECT STDDEV(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; stddev ------------------ 289.224359757315 @@ -635,7 +635,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT VARIANCE(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; + MogDB=# SELECT VARIANCE(inv_quantity_on_hand) FROM tpcds.inventory WHERE inv_warehouse_sk = 1; variance -------------------- 83650.730277028768 @@ -673,7 +673,7 @@ date: 2021-04-20 表中可以默认转为TEXT类型的某列的CHECKSUM值。 ```sql - mogdb=# SELECT CHECKSUM(inv_quantity_on_hand) FROM tpcds.inventory; + MogDB=# SELECT CHECKSUM(inv_quantity_on_hand) FROM tpcds.inventory; checksum ------------------- 24417258945265247 @@ -683,7 +683,7 @@ date: 2021-04-20 表中不能默认转为TEXT类型的某列的CHECKSUM值。注意此时CHECKSUM参数是列名::TEXT。 ```sql - mogdb=# SELECT CHECKSUM(inv_quantity_on_hand::TEXT) FROM tpcds.inventory; + MogDB=# SELECT CHECKSUM(inv_quantity_on_hand::TEXT) FROM tpcds.inventory; checksum ------------------- 24417258945265247 @@ -693,7 +693,7 @@ date: 2021-04-20 表中所有列的CHECKSUM值。注意此时CHECKSUM参数是表名::TEXT,且表名前不加Schema。 ```sql - mogdb=# SELECT CHECKSUM(inventory::TEXT) FROM tpcds.inventory; + MogDB=# SELECT CHECKSUM(inventory::TEXT) FROM tpcds.inventory; checksum ------------------- 25223696246875800 @@ -707,7 +707,7 @@ date: 2021-04-20 返回类型:anyelement ``` - mogdb=# select * from tba; + MogDB=# select * from tba; name ----- A @@ -715,7 +715,7 @@ date: 2021-04-20 D (4 rows) - mogdb=# select first(name) from tba; + MogDB=# select first(name) from tba; first ----- A @@ -729,7 +729,7 @@ date: 2021-04-20 返回类型:anyelement ``` - mogdb=# select * from tba; + MogDB=# select * from tba; name ----- A @@ -737,7 +737,7 @@ date: 2021-04-20 D (4 rows) - mogdb=# select last(name) from tba; + MogDB=# select last(name) from tba; last ----- D @@ -753,12 +753,12 @@ date: 2021-04-20 示例: ```sql - mogdb=# select mode() within group (order by value) from (values(1, 'a'), (2, 'b'), (2, 'c')) v(value, tag); + MogDB=# select mode() within group (order by value) from (values(1, 'a'), (2, 'b'), (2, 'c')) v(value, tag); mode ------ 2 (1 row) - mogdb=# select mode() within group (order by tag) from (values(1, 'a'), (2, 'b'), (2, 'c')) v(value, tag); + MogDB=# select mode() within group (order by tag) from (values(1, 'a'), (2, 'b'), (2, 'c')) v(value, tag); mode ------ a @@ -774,7 +774,7 @@ date: 2021-04-20 示例: ``` - mogdb=# select * from classes; + MogDB=# select * from classes; name | score -----+------- A | 2 @@ -785,7 +785,7 @@ date: 2021-04-20 ``` ``` - mogdb=# select name, json_agg(score) score from classes group by name order by name; + MogDB=# select name, json_agg(score) score from classes group by name order by name; name | score -----+----------------- A | [2, 3] @@ -803,7 +803,7 @@ date: 2021-04-20 示例: ``` - mogdb=# select * from classes; + MogDB=# select * from classes; name | score -----+------- A | 2 @@ -814,7 +814,7 @@ date: 2021-04-20 ``` ``` - mogdb=# select json_object_agg(name, score) from classes group by name order by name; + MogDB=# select json_object_agg(name, score) from classes group by name order by name; json_object_agg ------------------------- { "A" : 2, "A" : 3 } diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/18-window-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/18-window-functions.md index 15f65f01..909589fd 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/18-window-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/18-window-functions.md @@ -23,7 +23,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT d_moy, d_fy_week_seq, rank() OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; + MogDB=# SELECT d_moy, d_fy_week_seq, rank() OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; d_moy | d_fy_week_seq | rank -------+---------------+------ 1 | 1 | 1 @@ -80,7 +80,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT d_moy, d_fy_week_seq, Row_number() OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; + MogDB=# SELECT d_moy, d_fy_week_seq, Row_number() OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; d_moy | d_fy_week_seq | row_number -------+---------------+------------ 1 | 1 | 1 @@ -137,7 +137,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT d_moy, d_fy_week_seq, dense_rank() OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; + MogDB=# SELECT d_moy, d_fy_week_seq, dense_rank() OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; d_moy | d_fy_week_seq | dense_rank -------+---------------+------------ 1 | 1 | 1 @@ -194,7 +194,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT d_moy, d_fy_week_seq, percent_rank() OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; + MogDB=# SELECT d_moy, d_fy_week_seq, percent_rank() OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; d_moy | d_fy_week_seq | percent_rank -------+---------------+------------------ 1 | 1 | 0 @@ -251,7 +251,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT d_moy, d_fy_week_seq, cume_dist() OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim e_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; + MogDB=# SELECT d_moy, d_fy_week_seq, cume_dist() OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim e_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; d_moy | d_fy_week_seq | cume_dist -------+---------------+------------------ 1 | 1 | .233333333333333 @@ -308,7 +308,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT d_moy, d_fy_week_seq, ntile(3) OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; + MogDB=# SELECT d_moy, d_fy_week_seq, ntile(3) OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; d_moy | d_fy_week_seq | ntile -------+---------------+------- 1 | 1 | 1 @@ -365,7 +365,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT d_moy, d_fy_week_seq, lag(d_moy,3,null) OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; + MogDB=# SELECT d_moy, d_fy_week_seq, lag(d_moy,3,null) OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; d_moy | d_fy_week_seq | lag -------+---------------+----- 1 | 1 | @@ -422,7 +422,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT d_moy, d_fy_week_seq, lead(d_fy_week_seq,2) OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; + MogDB=# SELECT d_moy, d_fy_week_seq, lead(d_fy_week_seq,2) OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; d_moy | d_fy_week_seq | lead -------+---------------+------ 1 | 1 | 1 @@ -479,7 +479,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT d_moy, d_fy_week_seq, first_value(d_fy_week_seq) OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; + MogDB=# SELECT d_moy, d_fy_week_seq, first_value(d_fy_week_seq) OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2; d_moy | d_fy_week_seq | first_value -------+---------------+------------- 1 | 1 | 1 @@ -536,7 +536,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT d_moy, d_fy_week_seq, last_value(d_moy) OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 6 ORDER BY 1,2; + MogDB=# SELECT d_moy, d_fy_week_seq, last_value(d_moy) OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 6 ORDER BY 1,2; d_moy | d_fy_week_seq | last_value -------+---------------+------------ 1 | 1 | 1 @@ -587,7 +587,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT d_moy, d_fy_week_seq, nth_value(d_fy_week_seq,6) OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 6 ORDER BY 1,2; + MogDB=# SELECT d_moy, d_fy_week_seq, nth_value(d_fy_week_seq,6) OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 6 ORDER BY 1,2; d_moy | d_fy_week_seq | nth_value -------+---------------+----------- 1 | 1 | 1 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/19-security-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/19-security-functions.md index 2c7948b8..a3ebca47 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/19-security-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/19-security-functions.md @@ -18,7 +18,7 @@ date: 2021-04-20 示例: ```sql -mogdb=# SELECT gs_encrypt_aes128('MPPDB','Asdf1234'); +MogDB=# SELECT gs_encrypt_aes128('MPPDB','Asdf1234'); gs_encrypt_aes128 ------------------------------------------------------------------------------------- @@ -39,7 +39,7 @@ mogdb=# SELECT gs_encrypt_aes128('MPPDB','Asdf1234'); 示例: ```sql -mogdb=# SELECT gs_encrypt('MPPDB','Asdf1234','sm4'); +MogDB=# SELECT gs_encrypt('MPPDB','Asdf1234','sm4'); gs_encrypt ------------------------------ ZBzOmaGA4Bb+coyucJ0B8AkIShqc @@ -63,7 +63,7 @@ mogdb=# SELECT gs_encrypt('MPPDB','Asdf1234','sm4'); 示例: ```sql -mogdb=# SELECT gs_decrypt_aes128('gwditQLQG8NhFw4OuoKhhQJoXojhFlYkjeG0aYdSCtLCnIUgkNwvYI04KbuhmcGZp8jWizBdR1vU9CspjuzI0lbz12A=','1234'); +MogDB=# SELECT gs_decrypt_aes128('gwditQLQG8NhFw4OuoKhhQJoXojhFlYkjeG0aYdSCtLCnIUgkNwvYI04KbuhmcGZp8jWizBdR1vU9CspjuzI0lbz12A=','1234'); gs_decrypt_aes128 ------------------- MPPDB @@ -85,7 +85,7 @@ mogdb=# SELECT gs_decrypt_aes128('gwditQLQG8NhFw4OuoKhhQJoXojhFlYkjeG0aYdSCtLCnI 示例: ```sql -mogdb=# select gs_decrypt('ZBzOmaGA4Bb+coyucJ0B8AkIShqc','Asdf1234','sm4'); +MogDB=# select gs_decrypt('ZBzOmaGA4Bb+coyucJ0B8AkIShqc','Asdf1234','sm4'); gs_decrypt ------------ MPPDB @@ -105,7 +105,7 @@ mogdb=# select gs_decrypt('ZBzOmaGA4Bb+coyucJ0B8AkIShqc','Asdf1234','sm4'); 示例: ```sql - mogdb=# SELECT gs_password_deadline(); + MogDB=# SELECT gs_password_deadline(); gs_password_deadline ------------------------- 83 days 17:44:32.196094 @@ -205,7 +205,7 @@ mogdb=# select gs_decrypt('ZBzOmaGA4Bb+coyucJ0B8AkIShqc','Asdf1234','sm4'); 示例: ```sql -mogdb=# SELECT inet_server_addr(); +MogDB=# SELECT inet_server_addr(); inet_server_addr ------------------ 10.10.0.13 @@ -226,7 +226,7 @@ mogdb=# SELECT inet_server_addr(); 示例: ```sql -mogdb=# SELECT inet_client_addr(); +MogDB=# SELECT inet_client_addr(); inet_client_addr ------------------ 10.10.0.50 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/20-encrypted-equality-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/20-encrypted-equality-functions.md index e1dbdcf5..d2926b8a 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/20-encrypted-equality-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/20-encrypted-equality-functions.md @@ -170,17 +170,17 @@ date: 2021-04-20 由于byteawithoutorderwithequalcolin的实现会对cek进行查找,并且判断是否为正常加密后的数据类型。因此用户直接使用的时候会报错。 ```sql - mogdb=# SELECT * FROM byteawithoutorderwithequalcolsend('\x907219912381298461289346129'::byteawithoutorderwithequalcol); + MogDB=# SELECT * FROM byteawithoutorderwithequalcolsend('\x907219912381298461289346129'::byteawithoutorderwithequalcol); ERROR: cek with OID 596711794 not found LINE 1: SELECT * FROM byteawithoutorderwithequalcolsend('\x907219912... ^ - mogdb=# SELECT * FROM byteawithoutordercolout('\x90721901999999999999912381298461289346129'); + MogDB=# SELECT * FROM byteawithoutordercolout('\x90721901999999999999912381298461289346129'); ERROR: cek with OID 2566986098 not found LINE 1: SELECT * FROM byteawithoutordercolout('\x9072190199999999999... SELECT * FROM byteawithoutorderwithequalcolrecv('\x90721901999999999999912381298461289346129'::byteawithoutorderwithequalcol); ERROR: cek with OID 2566986098 not found ^ - mogdb=# SELECT * FROM byteawithoutorderwithequalcolsend('\x90721901999999999999912381298461289346129'::byteawithoutorderwithequalcol); + MogDB=# SELECT * FROM byteawithoutorderwithequalcolsend('\x90721901999999999999912381298461289346129'::byteawithoutorderwithequalcol); ERROR: cek with OID 2566986098 not found LINE 1: SELECT * FROM byteawithoutorderwithequalcolsend('\x907219019... ^ diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/21-set-returning-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/21-set-returning-functions.md index 6baeb400..0409eebf 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/21-set-returning-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/21-set-returning-functions.md @@ -38,7 +38,7 @@ date: 2021-04-20 示例: ```sql -mogdb=# SELECT * FROM generate_series(2,4); +MogDB=# SELECT * FROM generate_series(2,4); generate_series ----------------- 2 @@ -46,7 +46,7 @@ mogdb=# SELECT * FROM generate_series(2,4); 4 (3 rows) -mogdb=# SELECT * FROM generate_series(5,1,-2); +MogDB=# SELECT * FROM generate_series(5,1,-2); generate_series ----------------- 5 @@ -54,13 +54,13 @@ mogdb=# SELECT * FROM generate_series(5,1,-2); 1 (3 rows) -mogdb=# SELECT * FROM generate_series(4,3); +MogDB=# SELECT * FROM generate_series(4,3); generate_series ----------------- (0 rows) --这个示例应用于date-plus-integer操作符。 -mogdb=# SELECT current_date + s.a AS dates FROM generate_series(0,14,7) AS s(a); +MogDB=# SELECT current_date + s.a AS dates FROM generate_series(0,14,7) AS s(a); dates ------------ 2017-06-02 @@ -68,7 +68,7 @@ mogdb=# SELECT current_date + s.a AS dates FROM generate_series(0,14,7) AS s(a); 2017-06-16 (3 rows) -mogdb=# SELECT * FROM generate_series('2008-03-01 00:00'::timestamp, '2008-03-04 12:00', '10 hours'); +MogDB=# SELECT * FROM generate_series('2008-03-01 00:00'::timestamp, '2008-03-04 12:00', '10 hours'); generate_series --------------------- 2008-03-01 00:00:00 @@ -101,7 +101,7 @@ generate_subscripts是一个为给定数组中的指定维度生成有效下标 ```sql --基本用法。 -mogdb=# SELECT generate_subscripts('{NULL,1,NULL,2}'::int[], 1) AS s; +MogDB=# SELECT generate_subscripts('{NULL,1,NULL,2}'::int[], 1) AS s; s --- 1 @@ -110,14 +110,14 @@ mogdb=# SELECT generate_subscripts('{NULL,1,NULL,2}'::int[], 1) AS s; 4 (4 rows) --unnest一个2D数组。 -mogdb=# CREATE OR REPLACE FUNCTION unnest2(anyarray) +MogDB=# CREATE OR REPLACE FUNCTION unnest2(anyarray) RETURNS SETOF anyelement AS $$ SELECT $1[i][j] FROM generate_subscripts($1,1) g1(i), generate_subscripts($1,2) g2(j); $$ LANGUAGE sql IMMUTABLE; -mogdb=# SELECT * FROM unnest2(ARRAY[[1,2],[3,4]]); +MogDB=# SELECT * FROM unnest2(ARRAY[[1,2],[3,4]]); unnest2 --------- 1 @@ -127,5 +127,5 @@ mogdb=# SELECT * FROM unnest2(ARRAY[[1,2],[3,4]]); (4 rows) --删除函数。 -mogdb=# DROP FUNCTION unnest2; +MogDB=# DROP FUNCTION unnest2; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/22-conditional-expressions-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/22-conditional-expressions-functions.md index 059a9df7..844b024d 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/22-conditional-expressions-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/22-conditional-expressions-functions.md @@ -18,7 +18,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT coalesce(NULL,'hello'); + MogDB=# SELECT coalesce(NULL,'hello'); coalesce ---------- hello @@ -38,7 +38,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT decode('A','A',1,'B',2,0); + MogDB=# SELECT decode('A','A',1,'B',2,0); case ------ 1 @@ -54,7 +54,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT nullif('hello','world'); + MogDB=# SELECT nullif('hello','world'); nullif -------- hello @@ -68,7 +68,7 @@ date: 2021-04-20 - 若两种数据类型之间存在隐式转换,则以其中优先级较高的数据类型为基准将另一个参数隐式转换成该类型,转换成功则进行计算,转换失败则返回错误。如: ```sql - mogdb=# SELECT nullif('1234'::VARCHAR,123::INT4); + MogDB=# SELECT nullif('1234'::VARCHAR,123::INT4); nullif -------- 1234 @@ -76,14 +76,14 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT nullif('1234'::VARCHAR,'2012-12-24'::DATE); + MogDB=# SELECT nullif('1234'::VARCHAR,'2012-12-24'::DATE); ERROR: invalid input syntax for type timestamp: "1234" ``` - 若两种数据类型之间不存在隐式转换,则返回错误 。如: ```sql - mogdb=# SELECT nullif(TRUE::BOOLEAN,'2012-12-24'::DATE); + MogDB=# SELECT nullif(TRUE::BOOLEAN,'2012-12-24'::DATE); ERROR: operator does not exist: boolean = timestamp without time zone LINE 1: SELECT nullif(TRUE::BOOLEAN,'2012-12-24'::DATE) FROM sys_dummy; ^ @@ -100,7 +100,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT nvl('hello','world'); + MogDB=# SELECT nvl('hello','world'); nvl ------- hello @@ -118,7 +118,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT greatest(1*2,2-3,4-1); + MogDB=# SELECT greatest(1*2,2-3,4-1); greatest ---------- 3 @@ -126,7 +126,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT greatest('HARRY', 'HARRIOT', 'HAROLD'); + MogDB=# SELECT greatest('HARRY', 'HARRIOT', 'HAROLD'); greatest ---------- HARRY @@ -140,7 +140,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT least(1*2,2-3,4-1); + MogDB=# SELECT least(1*2,2-3,4-1); least ------- -1 @@ -148,7 +148,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT least('HARRY','HARRIOT','HAROLD'); + MogDB=# SELECT least('HARRY','HARRIOT','HAROLD'); least -------- HAROLD @@ -165,11 +165,11 @@ date: 2021-04-20 ```sql --新建表 - mogdb=# CREATE TABLE blob_tb(b blob,id int); + MogDB=# CREATE TABLE blob_tb(b blob,id int); --插入数据 - mogdb=# INSERT INTO blob_tb VALUES (empty_blob(),1); + MogDB=# INSERT INTO blob_tb VALUES (empty_blob(),1); --删除表 - mogdb=# DROP TABLE blob_tb; + MogDB=# DROP TABLE blob_tb; ``` 备注:使用DBE_LOB.GET_LENGTH求得的长度为0。 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/23-system-information-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/23-system-information-functions.md index 1cc52a0e..a1679934 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/23-system-information-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/23-system-information-functions.md @@ -18,7 +18,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT current_catalog; + MogDB=# SELECT current_catalog; current_database ------------------ mogdb @@ -34,7 +34,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT current_database(); + MogDB=# SELECT current_database(); current_database ------------------ mogdb @@ -50,7 +50,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT current_query(); + MogDB=# SELECT current_query(); current_query ------------------------- SELECT current_query(); @@ -66,7 +66,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT current_schema(); + MogDB=# SELECT current_schema(); current_schema ---------------- public @@ -84,7 +84,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT current_schemas(true); + MogDB=# SELECT current_schemas(true); current_schemas --------------------- {pg_catalog,public} @@ -110,7 +110,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT current_user; + MogDB=# SELECT current_user; current_user -------------- omm @@ -128,7 +128,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT definer_current_user(); + MogDB=# SELECT definer_current_user(); definer_current_user ---------------------- omm @@ -144,7 +144,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pg_current_sessionid(); + MogDB=# SELECT pg_current_sessionid(); pg_current_sessionid ---------------------------- 1579228402.140190434944768 @@ -162,7 +162,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select pg_current_sessid(); + MogDB=# select pg_current_sessid(); pg_current_sessid ------------------- 140308875015936 @@ -178,7 +178,7 @@ date: 2021-04-20 返回值类型:text ```sql - mogdb=# SELECT pg_current_userid(); + MogDB=# SELECT pg_current_userid(); pg_current_userid ------------------- 10 @@ -194,7 +194,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT working_version_num(); + MogDB=# SELECT working_version_num(); working_version_num --------------------- 92231 @@ -211,7 +211,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select tablespace_oid_name(1663); + MogDB=# select tablespace_oid_name(1663); tablespace_oid_name --------------------- pg_default @@ -229,7 +229,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet_client_addr(); + MogDB=# SELECT inet_client_addr(); inet_client_addr ------------------ 10.10.0.50 @@ -247,7 +247,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet_client_port(); + MogDB=# SELECT inet_client_port(); inet_client_port ------------------ 33143 @@ -265,7 +265,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet_server_addr(); + MogDB=# SELECT inet_server_addr(); inet_server_addr ------------------ 10.10.0.13 @@ -283,7 +283,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT inet_server_port(); + MogDB=# SELECT inet_server_port(); inet_server_port ------------------ 8000 @@ -299,7 +299,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pg_backend_pid(); + MogDB=# SELECT pg_backend_pid(); pg_backend_pid ----------------- 140229352617744 @@ -315,7 +315,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pg_conf_load_time(); + MogDB=# SELECT pg_conf_load_time(); pg_conf_load_time ------------------------------ 2017-09-01 16:05:23.89868+08 @@ -331,7 +331,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pg_my_temp_schema(); + MogDB=# SELECT pg_my_temp_schema(); pg_my_temp_schema ------------------- 0 @@ -349,7 +349,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pg_is_other_temp_schema(25356); + MogDB=# SELECT pg_is_other_temp_schema(25356); pg_is_other_temp_schema ------------------------- f @@ -365,7 +365,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pg_listening_channels(); + MogDB=# SELECT pg_listening_channels(); pg_listening_channels ----------------------- (0 rows) @@ -382,7 +382,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pg_postmaster_start_time(); + MogDB=# SELECT pg_postmaster_start_time(); pg_postmaster_start_time ------------------------------ 2017-08-30 16:02:54.99854+08 @@ -398,7 +398,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select * from pg_get_ruledef(24828); + MogDB=# select * from pg_get_ruledef(24828); pg_get_ruledef ------------------------------------------------------------------- CREATE RULE t1_ins AS ON INSERT TO t1 DO INSTEAD INSERT INTO t2 (id) VALUES (new.id); @@ -414,7 +414,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select sessionid2pid(sessid::cstring) from gs_session_stat limit 2; + MogDB=# select sessionid2pid(sessid::cstring) from gs_session_stat limit 2; sessionid2pid ----------------- 139973107902208 @@ -431,7 +431,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pg_trigger_depth(); + MogDB=# SELECT pg_trigger_depth(); pg_trigger_depth ------------------ 0 @@ -447,7 +447,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT session_user; + MogDB=# SELECT session_user; session_user -------------- omm @@ -465,7 +465,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT user; + MogDB=# SELECT user; current_user -------------- omm @@ -481,7 +481,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select getpgusername(); + MogDB=# select getpgusername(); getpgusername --------------- GaussDB_userna @@ -497,7 +497,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select getdatabaseencoding(); + MogDB=# select getdatabaseencoding(); getdatabaseencoding --------------------- SQL_ASCII @@ -513,7 +513,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select version(); + MogDB=# select version(); version ------------------------------------------------------------------------------------------------------------------------------------------------------------- (mogdb 2.1.1 build 24abfc73) compiled at 2021-04-16 19:39:59 commit 0 last mr 305 debug on x86_64-unknown-linux-gnu, compiled by g++ (GCC) 7.3.0, 64-bit @@ -529,7 +529,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select opengauss_version(); + MogDB=# select opengauss_version(); opengauss_version ------------------- 2.1.0 @@ -545,7 +545,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select gs_deployment(); + MogDB=# select gs_deployment(); gs_deployment ----------------------- OpenSourceCentralized @@ -561,7 +561,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT get_hostname(); + MogDB=# SELECT get_hostname(); get_hostname -------------- linux-user @@ -577,7 +577,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT get_nodename(); + MogDB=# SELECT get_nodename(); get_nodename -------------- datanode1 @@ -593,7 +593,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT get_schema_oid('public'); + MogDB=# SELECT get_schema_oid('public'); get_schema_oid ---------------- 2200 @@ -860,13 +860,13 @@ DDL类权限ALTER、DROP、COMMENT、INDEX、VACUUM属于所有者固有的权 示例: ```sql - mogdb=# SELECT has_table_privilege('tpcds.web_site', 'select'); + MogDB=# SELECT has_table_privilege('tpcds.web_site', 'select'); has_table_privilege --------------------- t (1 row) - mogdb=# SELECT has_table_privilege('omm', 'tpcds.web_site', 'select,INSERT WITH GRANT OPTION '); + MogDB=# SELECT has_table_privilege('omm', 'tpcds.web_site', 'select,INSERT WITH GRANT OPTION '); has_table_privilege --------------------- t @@ -923,7 +923,7 @@ DDL类权限ALTER、DROP、COMMENT、INDEX、VACUUM属于所有者固有的权 比如,如果一个表所在的模式在搜索路径中,并且在前面的搜索路径中没有同名的表,则这个表是可见的。它等效于表可以不带明确模式修饰进行引用。比如,要列出所有可见表的名称: ```sql -mogdb=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid); +MogDB=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid); ``` - pg_collation_is_visible(collation_oid) @@ -1009,7 +1009,7 @@ mogdb=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid); 备注:format_type通过某个数据类型的类型OID以及可能的类型修饰词,返回其SQL名称。如果不知道具体的修饰词,则在类型修饰词的位置传入NULL。类型修饰词一般只对有长度限制的数据类型有意义。format_type所返回的SQL名称中包含数据类型的长度值,其大小是:实际存储长度len - sizeof(int32),单位字节。原因是数据存储时需要32位的空间来存储用户对数据类型的自定义长度信息,即实际存储长度要比用户定义长度多4个字节。在下例中,format_type返回的SQL名称为“character varying(6)”,6表示varchar类型的长度值是6字节,因此该类型的实际存储长度为10字节。 ```sql - mogdb=# SELECT format_type((SELECT oid FROM pg_type WHERE typname='varchar'), 10); + MogDB=# SELECT format_type((SELECT oid FROM pg_type WHERE typname='varchar'), 10); format_type ---------------------- character varying(6) @@ -1029,7 +1029,7 @@ mogdb=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid); 示例: ```sql - mogdb=# select pg_check_authid(1); + MogDB=# select pg_check_authid(1); pg_check_authid ----------------- f @@ -1081,7 +1081,7 @@ mogdb=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid); 示例: ```sql - mogdb=# select * from pg_get_functiondef(598); + MogDB=# select * from pg_get_functiondef(598); headerlines | definition -------------+---------------------------------------------------- 4 | CREATE OR REPLACE FUNCTION pg_catalog.abbrev(inet)+ @@ -1126,7 +1126,7 @@ mogdb=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid); 示例: ```sql - mogdb=# select * from pg_get_indexdef(16416); + MogDB=# select * from pg_get_indexdef(16416); pg_get_indexdef ------------------------------------------------------------------------- CREATE INDEX test3_b_idx ON test3 USING btree (b) TABLESPACE pg_default @@ -1142,37 +1142,37 @@ mogdb=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid); 示例: ```sql - mogdb=# CREATE TABLE sales + MogDB=# CREATE TABLE sales mogdb-# (prod_id NUMBER(6), - mogdb(# cust_id NUMBER, - mogdb(# time_id DATE, - mogdb(# channel_id CHAR(1), - mogdb(# promo_id NUMBER(6), - mogdb(# quantity_sold NUMBER(3), - mogdb(# amount_sold NUMBER(10,2) - mogdb(# ) + MogDB(# cust_id NUMBER, + MogDB(# time_id DATE, + MogDB(# channel_id CHAR(1), + MogDB(# promo_id NUMBER(6), + MogDB(# quantity_sold NUMBER(3), + MogDB(# amount_sold NUMBER(10,2) + MogDB(# ) PARTITION BY RANGE( time_id) INTERVAL('1 day') mogdb-# mogdb-# ( - mogdb(# partition p1 VALUES LESS THAN ('2019-02-01 00:00:00'), - mogdb(# partition p2 VALUES LESS THAN ('2019-02-02 00:00:00') - mogdb(# ); + MogDB(# partition p1 VALUES LESS THAN ('2019-02-01 00:00:00'), + MogDB(# partition p2 VALUES LESS THAN ('2019-02-02 00:00:00') + MogDB(# ); CREATE TABLE - mogdb=# create index index_sales on sales(prod_id) local (PARTITION idx_p1 ,PARTITION idx_p2); + MogDB=# create index index_sales on sales(prod_id) local (PARTITION idx_p1 ,PARTITION idx_p2); CREATE INDEX - mogdb=# -- 插入数据没有匹配的分区,新创建一个分区,并将数据插入该分区 - mogdb=# INSERT INTO sales VALUES(1, 12, '2019-02-05 00:00:00', 'a', 1, 1, 1); + MogDB=# -- 插入数据没有匹配的分区,新创建一个分区,并将数据插入该分区 + MogDB=# INSERT INTO sales VALUES(1, 12, '2019-02-05 00:00:00', 'a', 1, 1, 1); INSERT 0 1 - mogdb=# select oid from pg_class where relname = 'index_sales'; + MogDB=# select oid from pg_class where relname = 'index_sales'; oid ------- 24632 (1 row) - mogdb=# select * from pg_get_indexdef(24632, true); + MogDB=# select * from pg_get_indexdef(24632, true); pg_get_indexdef -------------------------------------------------------------------------------------------------------------------------- CREATE INDEX index_sales ON sales USING btree (prod_id) LOCAL(PARTITION idx_p1, PARTITION idx_p2) TABLESPACE pg_default (1 row) - mogdb=# select * from pg_get_indexdef(24632, false); + MogDB=# select * from pg_get_indexdef(24632, false); pg_get_indexdef ------------------------------------------------------------------------------------------------------------------------------------ @@ -1189,12 +1189,12 @@ mogdb=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid); 示例: ```sql - mogdb=# select * from pg_get_indexdef(16416, 0, false); + MogDB=# select * from pg_get_indexdef(16416, 0, false); pg_get_indexdef ------------------------------------------------------------------------- CREATE INDEX test3_b_idx ON test3 USING btree (b) TABLESPACE pg_default (1 row) - mogdb=# select * from pg_get_indexdef(16416, 1, false); + MogDB=# select * from pg_get_indexdef(16416, 1, false); pg_get_indexdef ----------------- b @@ -1230,7 +1230,7 @@ mogdb=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid); 示例: ```sql - mogdb=# select pg_check_authid(20); + MogDB=# select pg_check_authid(20); pg_check_authid ----------------- f @@ -1276,7 +1276,7 @@ mogdb=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid); 示例: ```sql - mogdb=# select * from pg_get_tabledef(16384); + MogDB=# select * from pg_get_tabledef(16384); pg_get_tabledef ------------------------------------------------------- SET search_path = public; + @@ -1297,7 +1297,7 @@ mogdb=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid); 示例: ```sql - mogdb=# select * from pg_get_tabledef('t1'); + MogDB=# select * from pg_get_tabledef('t1'); pg_get_tabledef ------------------------------------------------------- SET search_path = public; + @@ -1346,13 +1346,13 @@ mogdb=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid); 示例: ```sql - mogdb=# SELECT pg_typeof(33); + MogDB=# SELECT pg_typeof(33); pg_typeof ----------- integer (1 row) - mogdb=# SELECT typlen FROM pg_type WHERE oid = pg_typeof(33); + MogDB=# SELECT typlen FROM pg_type WHERE oid = pg_typeof(33); typlen -------- 4 @@ -1370,7 +1370,7 @@ mogdb=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid); 示例: ```sql - mogdb=# SELECT collation for (description) FROM pg_description LIMIT 1; + MogDB=# SELECT collation for (description) FROM pg_description LIMIT 1; pg_collation_for ------------------ "default" @@ -1394,7 +1394,7 @@ mogdb=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid); 示例: ```sql - mogdb=# select * from pg_get_serial_sequence('t1', 'c1'); + MogDB=# select * from pg_get_serial_sequence('t1', 'c1'); pg_get_serial_sequence ------------------------ public.serial @@ -1410,7 +1410,7 @@ mogdb=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid); 示例: ```sql - mogdb=# select * from pg_sequence_parameters(16420); + MogDB=# select * from pg_sequence_parameters(16420); start_value | minimum_value | maximum_value | increment | cycle_option -------------+---------------+---------------------+-----------+-------------- 101 | 1 | 9223372036854775807 | 1 | f @@ -1552,7 +1552,7 @@ txid_snapshot的文本表示为:xmin:xmax:xip_list。 示例: ```sql - mogdb=# select slice('a=>1,b=>2,c=>3'::hstore, ARRAY['b','c','x']); + MogDB=# select slice('a=>1,b=>2,c=>3'::hstore, ARRAY['b','c','x']); slice -------------------- "b"=>"2", "c"=>"3" @@ -1568,7 +1568,7 @@ txid_snapshot的文本表示为:xmin:xmax:xip_list。 示例: ```sql - mogdb=# select slice_array('a=>1,b=>2,c=>3'::hstore, ARRAY['b','c','x']); + MogDB=# select slice_array('a=>1,b=>2,c=>3'::hstore, ARRAY['b','c','x']); slice_array ------------- {2,3,NULL} @@ -1584,7 +1584,7 @@ txid_snapshot的文本表示为:xmin:xmax:xip_list。 示例: ```sql - mogdb=# select skeys('a=>1,b=>2'); + MogDB=# select skeys('a=>1,b=>2'); skeys ------- a @@ -1783,7 +1783,7 @@ txid_snapshot的文本表示为:xmin:xmax:xip_list。 示例: ```sql - mogdb=# select sys_guid(); + MogDB=# select sys_guid(); sys_guid ---------------------------------- 0005D3DE87AB3147177B0300B2E3FED6 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/1-configuration-settings-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/1-configuration-settings-functions.md index 67b5d4b9..6d7755b1 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/1-configuration-settings-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/1-configuration-settings-functions.md @@ -18,7 +18,7 @@ date: 2021-04-20 备注: current_setting用于以查询形式获取setting_name的当前值。和SQL语句SHOW是等效的。比如: ```sql - mogdb=# SELECT current_setting('datestyle'); + MogDB=# SELECT current_setting('datestyle'); current_setting ----------------- @@ -53,7 +53,7 @@ date: 2021-04-20 备注: set_config将参数setting_name设置为new_value。如果is_local为true,则new_value将只应用于当前事务。如果希望new_value应用于当前会话,可以使用false,和SQL语句SET是等效的。比如: ```sql - mogdb=# SELECT set_config('log_statement_stats', 'off', false); + MogDB=# SELECT set_config('log_statement_stats', 'off', false); set_config ------------ diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/2-universal-file-access-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/2-universal-file-access-functions.md index f3fc9a03..60d31d35 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/2-universal-file-access-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/2-universal-file-access-functions.md @@ -20,7 +20,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pg_ls_dir('./'); + MogDB=# SELECT pg_ls_dir('./'); pg_ls_dir ---------------------- .postgresql.conf.swp @@ -69,7 +69,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pg_read_file('postmaster.pid',0,100); + MogDB=# SELECT pg_read_file('postmaster.pid',0,100); pg_read_file --------------------------------------- 53078 + @@ -91,7 +91,7 @@ date: 2021-04-20 备注: pg_read_binary_file的功能与pg_read_file类似,除了结果的返回值为bytea类型不一致,相应地不会执行编码检查。与convert_from函数结合,这个函数可以用来读取用指定编码的一个文件。 ```sql - mogdb=# SELECT convert_from(pg_read_binary_file('filename'), 'UTF8'); + MogDB=# SELECT convert_from(pg_read_binary_file('filename'), 'UTF8'); ``` - pg_stat_file(filename text) @@ -103,17 +103,17 @@ date: 2021-04-20 备注: pg_stat_file返回一条记录,其中包含: 文件大小、最后访问时间戳、最后更改时间戳、最后文件状态修改时间戳以及标识传入参数是否为目录的Boolean值。典型的用法: ```sql - mogdb=# SELECT * FROM pg_stat_file('filename'); + MogDB=# SELECT * FROM pg_stat_file('filename'); ``` ```sql - mogdb=# SELECT (pg_stat_file('filename')).modification; + MogDB=# SELECT (pg_stat_file('filename')).modification; ``` 示例: ```sql - mogdb=# SELECT convert_from(pg_read_binary_file('postmaster.pid'), 'UTF8'); + MogDB=# SELECT convert_from(pg_read_binary_file('postmaster.pid'), 'UTF8'); convert_from -------------------------------------- 4881 + @@ -128,7 +128,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT * FROM pg_stat_file('postmaster.pid'); + MogDB=# SELECT * FROM pg_stat_file('postmaster.pid'); size | access | modification | change | creation | isdir @@ -140,7 +140,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT (pg_stat_file('postmaster.pid')).modification; + MogDB=# SELECT (pg_stat_file('postmaster.pid')).modification; modification ------------------------ 2017-06-01 17:18:08+08 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/3-server-signal-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/3-server-signal-functions.md index fb4deb33..1e3f06ab 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/3-server-signal-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/3-server-signal-functions.md @@ -44,13 +44,13 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pid from pg_stat_activity; + MogDB=# SELECT pid from pg_stat_activity; pid ----------------- 140657876268816 (1 rows) - mogdb=# SELECT pg_terminate_backend(140657876268816); + MogDB=# SELECT pg_terminate_backend(140657876268816); pg_terminate_backend ---------------------- t diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/4-backup-and-restoration-control-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/4-backup-and-restoration-control-functions.md index d7c2cd47..688e4d15 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/4-backup-and-restoration-control-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/4-backup-and-restoration-control-functions.md @@ -52,7 +52,7 @@ date: 2021-04-20 备注: pg_start_backup接受一个用户定义的备份标签(通常这是备份转储文件存放地点的名称)。这个函数向MogDB的数据目录写入一个备份标签文件,然后以文本方式返回备份的事务日志起始位置。 ```sql - mogdb=# SELECT pg_start_backup('label_goes_here'); + MogDB=# SELECT pg_start_backup('label_goes_here'); pg_start_backup ----------------- 0/3000020 @@ -92,7 +92,7 @@ date: 2021-04-20 备注: 可以使用pg_xlogfile_name_offset从前述函数的返回结果中抽取相应的事务日志文件名称和字节偏移量。例如: ```sql - mogdb=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup()); + MogDB=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup()); NOTICE: pg_stop_backup cleanup done, waiting for required WAL segments to be archived NOTICE: pg_stop_backup complete, all required WAL segments have been archived file_name | file_offset diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/6-database-object-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/6-database-object-functions.md index 9edcdfca..e065ed55 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/6-database-object-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/6-database-object-functions.md @@ -20,7 +20,7 @@ date: 2021-04-20 备注: pg_column_size显示用于存储某个独立数据值的空间。 ```sql - mogdb=# SELECT pg_column_size(1); + MogDB=# SELECT pg_column_size(1); pg_column_size ---------------- 4 @@ -44,7 +44,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pg_database_size('mogdb'); + MogDB=# SELECT pg_database_size('mogdb'); pg_database_size ------------------ 51590112 @@ -68,9 +68,9 @@ date: 2021-04-20 示例: ```sql - mogdb=# analyze; + MogDB=# analyze; ANALYZE - mogdb=# select get_db_source_datasize(); + MogDB=# select get_db_source_datasize(); get_db_source_datasize ------------------------ 35384925667 @@ -194,7 +194,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT datalength(1); + MogDB=# SELECT datalength(1); datalength ------------ 4 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/9-other-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/9-other-functions.md index a26512f0..9fbcf725 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/9-other-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/24-system-management-functions/9-other-functions.md @@ -22,7 +22,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select pg_stat_get_env(); + MogDB=# select pg_stat_get_env(); pg_stat_get_env --------------------------------------------------------------------------------------------------------------------------------------- (coordinator1,localhost,144773,49100,/data1/GaussDB_Kernel_TRUNK/install,/data1/GaussDB_Kernel_TRUNK/install/data/coordinator1,pg_log) @@ -324,7 +324,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select gs_create_log_tables(); + MogDB=# select gs_create_log_tables(); gs_create_log_tables ---------------------- diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/25-statistics-information-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/25-statistics-information-functions.md index e62a749a..78e70286 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/25-statistics-information-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/25-statistics-information-functions.md @@ -232,7 +232,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select pg_stat_get_role_name(10); + MogDB=# select pg_stat_get_role_name(10); pg_stat_get_role_name ----------------------- aabbcc @@ -516,7 +516,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select * from pg_stat_get_activity(139754904483584); + MogDB=# select * from pg_stat_get_activity(139754904483584); datid | pid | sessionid | usesysid | application_name | state | query | waiting | xact_start | query_start | backend_start | state_cha nge | client_addr | client_hostname | client_port | enqueue | query_id | srespool | global_sessionid -------+-----------------+-----------------+----------+------------------+-------+----------------------------------------------+---------+------------+-------------------------------+-------------------------------+------------------ diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/26-trigger-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/26-trigger-functions.md index bc63c6b7..5a88a5ee 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/26-trigger-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/26-trigger-functions.md @@ -18,7 +18,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select pg_get_triggerdef(oid) from pg_trigger; + MogDB=# select pg_get_triggerdef(oid) from pg_trigger; pg_get_triggerdef -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER tg1 BEFORE INSERT ON gtest26 FOR EACH STATEMENT EXECUTE PROCEDURE gtest_trigger_func() @@ -39,14 +39,14 @@ date: 2021-04-20 示例: ```sql - mogdb=# select pg_get_triggerdef(oid,true) from pg_trigger; + MogDB=# select pg_get_triggerdef(oid,true) from pg_trigger; pg_get_triggerdef -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER tg1 BEFORE INSERT ON gtest26 FOR EACH STATEMENT EXECUTE PROCEDURE gtest_trigger_func() CREATE TRIGGER tg03 AFTER INSERT ON gtest26 FOR EACH ROW WHEN (new.a IS NOT NULL) EXECUTE PROCEDURE gtest_trigger_func() (2 rows) - mogdb=# select pg_get_triggerdef(oid,false) from pg_trigger; + MogDB=# select pg_get_triggerdef(oid,false) from pg_trigger; pg_get_triggerdef -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER tg1 BEFORE INSERT ON gtest26 FOR EACH STATEMENT EXECUTE PROCEDURE gtest_trigger_func() diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/27-global-temporary-table-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/27-global-temporary-table-functions.md index a6156515..6085b97d 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/27-global-temporary-table-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/27-global-temporary-table-functions.md @@ -18,7 +18,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select * from pg_get_gtt_relstats(74069); + MogDB=# select * from pg_get_gtt_relstats(74069); relfilenode | relpages | reltuples | relallvisible | relfrozenxid | relminmxid -------------+----------+-----------+---------------+--------------+------------ 74069 | 58 | 13000 | 0 | 11151 | 0 @@ -36,7 +36,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select * from pg_get_gtt_statistics(74069,1,''::text); + MogDB=# select * from pg_get_gtt_statistics(74069,1,''::text); starelid | starelkind | staattnum | stainherit | stanullfrac | stawidth | stadistinct | stakind1 | stakind2 | stakind3 | stakind4 | stakind5 | staop1 | staop2 | staop3 | staop4 | staop5 | stanumbers1 | stanumbers2 | stanumbers3 | stanu mbers4 | stanumbers5 | stavalues1 @@ -63,7 +63,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select * from pg_gtt_attached_pid(74069); + MogDB=# select * from pg_gtt_attached_pid(74069); relid | pid -------+----------------- 74069 | 139648170456832 @@ -122,7 +122,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select * from pg_list_gtt_relfrozenxids(); + MogDB=# select * from pg_list_gtt_relfrozenxids(); pid | relfrozenxid -----------------+-------------- 139648123270912 | 11151 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/27.1-hash-function.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/27.1-hash-function.md index 9d0f636f..67f511e3 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/27.1-hash-function.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/27.1-hash-function.md @@ -18,7 +18,7 @@ date: 2021-10-28 示例: ```sql - mogdb=# select bucketabstime('2011-10-01 10:10:10.112',1); + MogDB=# select bucketabstime('2011-10-01 10:10:10.112',1); bucketabstime --------------- 13954 @@ -36,12 +36,12 @@ date: 2021-10-28 示例: ```sql - mogdb=# select bucketbool(true,1); + MogDB=# select bucketbool(true,1); bucketbool ------------ 1 (1 row) - mogdb=# select bucketbool(false,1); + MogDB=# select bucketbool(false,1); bucketbool ------------ 0 @@ -59,7 +59,7 @@ date: 2021-10-28 示例: ```sql - mogdb=# select bucketbpchar('test',1); + MogDB=# select bucketbpchar('test',1); bucketbpchar -------------- 9761 @@ -77,7 +77,7 @@ date: 2021-10-28 示例: ```sql - mogdb=# select bucketbytea('test',1); + MogDB=# select bucketbytea('test',1); bucketbytea ------------- 9761 @@ -95,7 +95,7 @@ date: 2021-10-28 示例: ```sql - mogdb=# select bucketcash(10::money,1); + MogDB=# select bucketcash(10::money,1); bucketcash ------------ 8468 @@ -117,25 +117,25 @@ date: 2021-10-28 示例: ```sql - mogdb=# select getbucket(10,'H'); + MogDB=# select getbucket(10,'H'); getbucket ----------- 14535 (1 row) - mogdb=# select getbucket(11,'H'); + MogDB=# select getbucket(11,'H'); getbucket ----------- 13449 (1 row) - mogdb=# select getbucket(11,'R'); + MogDB=# select getbucket(11,'R'); getbucket ----------- 13449 (1 row) - mogdb=# select getbucket(12,'R'); + MogDB=# select getbucket(12,'R'); getbucket ----------- 9412 @@ -154,7 +154,7 @@ date: 2021-10-28 示例: ```sql - mogdb=# select hash_array(ARRAY[[1,2,3],[1,2,3]]); + MogDB=# select hash_array(ARRAY[[1,2,3],[1,2,3]]); hash_array ------------ -382888479 @@ -173,33 +173,33 @@ date: 2021-10-28 ```sql 按照步骤依次执行。 - mogdb=# CREATE TABLE tt(a int, b int,c int,d int); + MogDB=# CREATE TABLE tt(a int, b int,c int,d int); NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'a' as the distribution column by default. HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. CREATE TABLE - mogdb=# select * from tt; + MogDB=# select * from tt; a | b | c | d ---+---+---+--- (0 rows) - mogdb=# insert into tt values(1,2,3,4); + MogDB=# insert into tt values(1,2,3,4); INSERT 0 1 - mogdb=# select * from tt; + MogDB=# select * from tt; a | b | c | d ---+---+---+--- 1 | 2 | 3 | 4 (1 row) - mogdb=# insert into tt values(5,6,7,8); + MogDB=# insert into tt values(5,6,7,8); INSERT 0 1 - mogdb=# select * from tt; + MogDB=# select * from tt; a | b | c | d ---+---+---+--- 1 | 2 | 3 | 4 5 | 6 | 7 | 8 (2 rows) - mogdb=# select hash_group(a,b) from tt where a=1 and b=2; + MogDB=# select hash_group(a,b) from tt where a=1 and b=2; hash_group ------------ 990882385 @@ -217,7 +217,7 @@ date: 2021-10-28 示例: ```sql - mogdb=# select hash_numeric(30); + MogDB=# select hash_numeric(30); hash_numeric -------------- -282860963 @@ -235,7 +235,7 @@ date: 2021-10-28 示例: ```sql - mogdb=# select hash_range(numrange(1.1,2.2)); + MogDB=# select hash_range(numrange(1.1,2.2)); hash_range ------------ 683508754 @@ -253,7 +253,7 @@ date: 2021-10-28 示例: ```sql - mogdb=# select hashbpchar('hello'); + MogDB=# select hashbpchar('hello'); hashbpchar ------------- -1870292951 @@ -271,13 +271,13 @@ date: 2021-10-28 示例: ```sql - mogdb=# select hashbpchar('hello'); + MogDB=# select hashbpchar('hello'); hashbpchar ------------- -1870292951 (1 row) - mogdb=# select hashchar('true'); + MogDB=# select hashchar('true'); hashchar ------------ 1686226652 @@ -295,9 +295,9 @@ date: 2021-10-28 示例: ```sql - mogdb=# CREATE TYPE b1 AS ENUM('good', 'bad', 'ugly'); + MogDB=# CREATE TYPE b1 AS ENUM('good', 'bad', 'ugly'); CREATE TYPE - mogdb=# call hashenum('good'::b1); + MogDB=# call hashenum('good'::b1); hashenum ------------ 1821213359 @@ -315,7 +315,7 @@ date: 2021-10-28 示例: ```sql - mogdb=# select hashfloat4(12.1234); + MogDB=# select hashfloat4(12.1234); hashfloat4 ------------ 1398514061 @@ -333,7 +333,7 @@ date: 2021-10-28 示例: ```sql - mogdb=# select hashfloat8(123456.1234); + MogDB=# select hashfloat8(123456.1234); hashfloat8 ------------ 1673665593 @@ -351,7 +351,7 @@ date: 2021-10-28 示例: ```sql - mogdb=# select hashinet('127.0.0.1'::inet); + MogDB=# select hashinet('127.0.0.1'::inet); hashinet ------------- -1435793109 @@ -369,7 +369,7 @@ date: 2021-10-28 示例: ```sql - mogdb=# select hashint1(20); + MogDB=# select hashint1(20); hashint1 ------------- -2014641093 @@ -387,7 +387,7 @@ date: 2021-10-28 示例: ```sql - mogdb=# select hashint2(20000); + MogDB=# select hashint2(20000); hashint2 ------------ -863179081 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/4-binary-string-functions-and-operators.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/4-binary-string-functions-and-operators.md index d9d1fb83..9d71a64b 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/4-binary-string-functions-and-operators.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/4-binary-string-functions-and-operators.md @@ -20,7 +20,7 @@ SQL定义了一些字符串函数,在这些函数里使用关键字而不是 示例: ```sql - mogdb=# SELECT octet_length(E'jo\\000se'::bytea) AS RESULT; + MogDB=# SELECT octet_length(E'jo\\000se'::bytea) AS RESULT; result -------- 5 @@ -36,7 +36,7 @@ SQL定义了一些字符串函数,在这些函数里使用关键字而不是 示例: ```sql - mogdb=# SELECT overlay(E'Th\\000omas'::bytea placing E'\\002\\003'::bytea from 2 for 3) AS RESULT; + MogDB=# SELECT overlay(E'Th\\000omas'::bytea placing E'\\002\\003'::bytea from 2 for 3) AS RESULT; result ---------------- \x5402036d6173 @@ -52,7 +52,7 @@ SQL定义了一些字符串函数,在这些函数里使用关键字而不是 示例: ```sql - mogdb=# SELECT position(E'\\000om'::bytea in E'Th\\000omas'::bytea) AS RESULT; + MogDB=# SELECT position(E'\\000om'::bytea in E'Th\\000omas'::bytea) AS RESULT; result -------- 3 @@ -68,7 +68,7 @@ SQL定义了一些字符串函数,在这些函数里使用关键字而不是 示例: ```sql - mogdb=# SELECT substr(E'Th\\000omas'::bytea,2, 3) as result; + MogDB=# SELECT substr(E'Th\\000omas'::bytea,2, 3) as result; result ---------- \x68006f @@ -84,7 +84,7 @@ SQL定义了一些字符串函数,在这些函数里使用关键字而不是 示例: ```sql - mogdb=# SELECT substr(E'Th\\000omas'::bytea from 2 for 3) AS RESULT; + MogDB=# SELECT substr(E'Th\\000omas'::bytea from 2 for 3) AS RESULT; result ---------- \x68006f @@ -100,7 +100,7 @@ SQL定义了一些字符串函数,在这些函数里使用关键字而不是 示例: ```sql - mogdb=# SELECT trim(E'\\000'::bytea from E'\\000Tom\\000'::bytea) AS RESULT; + MogDB=# SELECT trim(E'\\000'::bytea from E'\\000Tom\\000'::bytea) AS RESULT; result ---------- \x546f6d @@ -120,7 +120,7 @@ MogDB也提供了函数调用所使用的常用语法。 示例: ```sql - mogdb=# SELECT btrim(E'\\000trim\\000'::bytea, E'\\000'::bytea) AS RESULT; + MogDB=# SELECT btrim(E'\\000trim\\000'::bytea, E'\\000'::bytea) AS RESULT; result ------------ \x7472696d @@ -136,7 +136,7 @@ MogDB也提供了函数调用所使用的常用语法。 示例: ```sql - mogdb=# SELECT get_bit(E'Th\\000omas'::bytea, 45) AS RESULT; + MogDB=# SELECT get_bit(E'Th\\000omas'::bytea, 45) AS RESULT; result -------- 1 @@ -152,7 +152,7 @@ MogDB也提供了函数调用所使用的常用语法。 示例: ```sql - mogdb=# SELECT get_byte(E'Th\\000omas'::bytea, 4) AS RESULT; + MogDB=# SELECT get_byte(E'Th\\000omas'::bytea, 4) AS RESULT; result -------- 109 @@ -168,7 +168,7 @@ MogDB也提供了函数调用所使用的常用语法。 示例: ```sql - mogdb=# SELECT set_bit(E'Th\\000omas'::bytea, 45, 0) AS RESULT; + MogDB=# SELECT set_bit(E'Th\\000omas'::bytea, 45, 0) AS RESULT; result ------------------ \x5468006f6d4173 @@ -184,7 +184,7 @@ MogDB也提供了函数调用所使用的常用语法。 示例: ```sql - mogdb=# SELECT set_byte(E'Th\\000omas'::bytea, 4, 64) AS RESULT; + MogDB=# SELECT set_byte(E'Th\\000omas'::bytea, 4, 64) AS RESULT; result ------------------ \x5468006f406173 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/5-bit-string-functions-and-operators.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/5-bit-string-functions-and-operators.md index de6a6c9a..9e236107 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/5-bit-string-functions-and-operators.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/5-bit-string-functions-and-operators.md @@ -18,7 +18,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT B'10001' || B'011' AS RESULT; + MogDB=# SELECT B'10001' || B'011' AS RESULT; result ---------- 10001011 @@ -36,7 +36,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT B'10001' & B'01101' AS RESULT; + MogDB=# SELECT B'10001' & B'01101' AS RESULT; result -------- 00001 @@ -50,7 +50,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT B'10001' | B'01101' AS RESULT; + MogDB=# SELECT B'10001' | B'01101' AS RESULT; result -------- 11101 @@ -64,7 +64,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT B'10001' # B'01101' AS RESULT; + MogDB=# SELECT B'10001' # B'01101' AS RESULT; result -------- 11100 @@ -78,7 +78,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ~B'10001'AS RESULT; + MogDB=# SELECT ~B'10001'AS RESULT; result ---------- 01110 @@ -92,7 +92,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT B'10001' << 3 AS RESULT; + MogDB=# SELECT B'10001' << 3 AS RESULT; result ---------- 01000 @@ -106,7 +106,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT B'10001' >> 2 AS RESULT; + MogDB=# SELECT B'10001' >> 2 AS RESULT; result ---------- 00100 @@ -120,31 +120,31 @@ date: 2021-04-20 另外,可以在整数和bit之间来回转换。示例: ```sql -mogdb=# SELECT 44::bit(10) AS RESULT; +MogDB=# SELECT 44::bit(10) AS RESULT; result ------------ 0000101100 (1 row) -mogdb=# SELECT 44::bit(3) AS RESULT; +MogDB=# SELECT 44::bit(3) AS RESULT; result -------- 100 (1 row) -mogdb=# SELECT cast(-44 as bit(12)) AS RESULT; +MogDB=# SELECT cast(-44 as bit(12)) AS RESULT; result -------------- 111111010100 (1 row) -mogdb=# SELECT '1110'::bit(4)::integer AS RESULT; +MogDB=# SELECT '1110'::bit(4)::integer AS RESULT; result -------- 14 (1 row) -mogdb=# select substring('10101111'::bit(8), 2); +MogDB=# select substring('10101111'::bit(8), 2); substring ----------- 0101111 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/6-mode-matching-operators.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/6-mode-matching-operators.md index c2321688..38b421df 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/6-mode-matching-operators.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/6-mode-matching-operators.md @@ -35,22 +35,22 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 'abc' LIKE 'abc' AS RESULT; + MogDB=# SELECT 'abc' LIKE 'abc' AS RESULT; result ----------- t (1 row) - mogdb=# SELECT 'abc' LIKE 'a%' AS RESULT; + MogDB=# SELECT 'abc' LIKE 'a%' AS RESULT; result ----------- t (1 row) - mogdb=# SELECT 'abc' LIKE '_b_' AS RESULT; + MogDB=# SELECT 'abc' LIKE '_b_' AS RESULT; result ----------- t (1 row) - mogdb=# SELECT 'abc' LIKE 'c' AS RESULT; + MogDB=# SELECT 'abc' LIKE 'c' AS RESULT; result ----------- f @@ -90,7 +90,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 'abc' SIMILAR TO 'abc' AS RESULT; + MogDB=# SELECT 'abc' SIMILAR TO 'abc' AS RESULT; result ----------- t @@ -98,7 +98,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT 'abc' SIMILAR TO 'a' AS RESULT; + MogDB=# SELECT 'abc' SIMILAR TO 'a' AS RESULT; result ----------- f @@ -106,7 +106,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT 'abc' SIMILAR TO '%(b|d)%' AS RESULT; + MogDB=# SELECT 'abc' SIMILAR TO '%(b|d)%' AS RESULT; result ----------- t @@ -114,7 +114,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT 'abc' SIMILAR TO '(b|c)%' AS RESULT; + MogDB=# SELECT 'abc' SIMILAR TO '(b|c)%' AS RESULT; result ----------- f @@ -172,7 +172,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 'abc' ~ 'Abc' AS RESULT; + MogDB=# SELECT 'abc' ~ 'Abc' AS RESULT; result -------- f @@ -180,7 +180,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT 'abc' ~* 'Abc' AS RESULT; + MogDB=# SELECT 'abc' ~* 'Abc' AS RESULT; result -------- t @@ -188,7 +188,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT 'abc' !~ 'Abc' AS RESULT; + MogDB=# SELECT 'abc' !~ 'Abc' AS RESULT; result -------- t @@ -196,7 +196,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT 'abc'!~* 'Abc' AS RESULT; + MogDB=# SELECT 'abc'!~* 'Abc' AS RESULT; result -------- f @@ -204,7 +204,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT 'abc' ~ '^a' AS RESULT; + MogDB=# SELECT 'abc' ~ '^a' AS RESULT; result -------- t @@ -212,7 +212,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT 'abc' ~ '(b|d)'AS RESULT; + MogDB=# SELECT 'abc' ~ '(b|d)'AS RESULT; result -------- t @@ -220,7 +220,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT 'abc' ~ '^(b|c)'AS RESULT; + MogDB=# SELECT 'abc' ~ '^(b|c)'AS RESULT; result -------- f diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/7-mathematical-functions-and-operators.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/7-mathematical-functions-and-operators.md index e5955ffc..e452ae89 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/7-mathematical-functions-and-operators.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/7-mathematical-functions-and-operators.md @@ -16,7 +16,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 2+3 AS RESULT; + MogDB=# SELECT 2+3 AS RESULT; result -------- 5 @@ -30,7 +30,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 2-3 AS RESULT; + MogDB=# SELECT 2-3 AS RESULT; result -------- -1 @@ -44,7 +44,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 2*3 AS RESULT; + MogDB=# SELECT 2*3 AS RESULT; result -------- 6 @@ -58,7 +58,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 4/2 AS RESULT; + MogDB=# SELECT 4/2 AS RESULT; result -------- 2 @@ -66,7 +66,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT 4/3 AS RESULT; + MogDB=# SELECT 4/3 AS RESULT; result ------------------ 1.33333333333333 @@ -80,7 +80,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT -2 AS RESULT; + MogDB=# SELECT -2 AS RESULT; result -------- -2 @@ -94,7 +94,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 5%4 AS RESULT; + MogDB=# SELECT 5%4 AS RESULT; result -------- 1 @@ -108,7 +108,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT @ -5.0 AS RESULT; + MogDB=# SELECT @ -5.0 AS RESULT; result -------- 5.0 @@ -122,7 +122,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 2.0^3.0 AS RESULT; + MogDB=# SELECT 2.0^3.0 AS RESULT; result -------------------- 8.0000000000000000 @@ -136,7 +136,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT |/ 25.0 AS RESULT; + MogDB=# SELECT |/ 25.0 AS RESULT; result -------- 5 @@ -150,7 +150,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ||/ 27.0 AS RESULT; + MogDB=# SELECT ||/ 27.0 AS RESULT; result -------- 3 @@ -164,7 +164,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 5! AS RESULT; + MogDB=# SELECT 5! AS RESULT; result -------- 120 @@ -178,7 +178,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT !!5 AS RESULT; + MogDB=# SELECT !!5 AS RESULT; result -------- 120 @@ -192,7 +192,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 91&15 AS RESULT; + MogDB=# SELECT 91&15 AS RESULT; result -------- 11 @@ -206,7 +206,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 32|3 AS RESULT; + MogDB=# SELECT 32|3 AS RESULT; result -------- 35 @@ -220,7 +220,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 17#5 AS RESULT; + MogDB=# SELECT 17#5 AS RESULT; result -------- 20 @@ -234,7 +234,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ~1 AS RESULT; + MogDB=# SELECT ~1 AS RESULT; result -------- -2 @@ -248,7 +248,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 1<<4 AS RESULT; + MogDB=# SELECT 1<<4 AS RESULT; result -------- 16 @@ -262,7 +262,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT 8>>2 AS RESULT; + MogDB=# SELECT 8>>2 AS RESULT; result -------- 2 @@ -280,7 +280,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT abs(-17.4); + MogDB=# SELECT abs(-17.4); abs ------ 17.4 @@ -296,7 +296,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT acos(-1); + MogDB=# SELECT acos(-1); acos ------------------ 3.14159265358979 @@ -312,7 +312,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT asin(0.5); + MogDB=# SELECT asin(0.5); asin ------------------ .523598775598299 @@ -328,7 +328,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT atan(1); + MogDB=# SELECT atan(1); atan ------------------ .785398163397448 @@ -344,7 +344,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT atan2(2, 1); + MogDB=# SELECT atan2(2, 1); atan2 ------------------ 1.10714871779409 @@ -360,7 +360,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT bitand(127, 63); + MogDB=# SELECT bitand(127, 63); bitand -------- 63 @@ -376,7 +376,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT cbrt(27.0); + MogDB=# SELECT cbrt(27.0); cbrt ------ 3 @@ -392,7 +392,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ceil(-42.8); + MogDB=# SELECT ceil(-42.8); ceil ------ -42 @@ -408,7 +408,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ceiling(-95.3); + MogDB=# SELECT ceiling(-95.3); ceiling --------- -95 @@ -424,7 +424,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT cos(-3.1415927); + MogDB=# SELECT cos(-3.1415927); cos ------------------- -.999999999999999 @@ -440,7 +440,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT cot(1); + MogDB=# SELECT cot(1); cot ------------------ .642092615934331 @@ -456,7 +456,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT degrees(0.5); + MogDB=# SELECT degrees(0.5); degrees ------------------ 28.6478897565412 @@ -472,7 +472,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT div(9,4); + MogDB=# SELECT div(9,4); div ----- 2 @@ -488,7 +488,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT exp(1.0); + MogDB=# SELECT exp(1.0); exp -------------------- 2.7182818284590452 @@ -504,7 +504,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT floor(-42.8); + MogDB=# SELECT floor(-42.8); floor ------- -43 @@ -520,12 +520,12 @@ date: 2021-04-20 示例: ```sql - mogdb=# select int1('123'); + MogDB=# select int1('123'); int1 ------ 123 (1 row) - mogdb=# select int1('a'); + MogDB=# select int1('a'); int1 ------ 0 @@ -543,12 +543,12 @@ date: 2021-04-20 示例: ```sql - mogdb=# select int2('1234'); + MogDB=# select int2('1234'); int2 ------ 1234 (1 row) - mogdb=# select int2(25.3); + MogDB=# select int2(25.3); int2 ------ 25 @@ -566,12 +566,12 @@ date: 2021-04-20 示例: ```sql - mogdb=# select int4('789'); + MogDB=# select int4('789'); int4 ------ 789 (1 row) - mogdb=# select int4(99.9); + MogDB=# select int4(99.9); int4 ------ 99 @@ -681,7 +681,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT radians(45.0); + MogDB=# SELECT radians(45.0); radians ------------------ .785398163397448 @@ -697,7 +697,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT random(); + MogDB=# SELECT random(); random ------------------ .824823560658842 @@ -713,12 +713,12 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT multiply(9.0, '3.0'); + MogDB=# SELECT multiply(9.0, '3.0'); multiply ------------------- 27 (1 row) - mogdb=# SELECT multiply('9.0', 3.0); + MogDB=# SELECT multiply('9.0', 3.0); multiply ------------------- 27 @@ -734,7 +734,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT ln(2.0); + MogDB=# SELECT ln(2.0); ln ------------------- .6931471805599453 @@ -750,7 +750,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT log(100.0); + MogDB=# SELECT log(100.0); log -------------------- 2.0000000000000000 @@ -766,7 +766,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT log(2.0, 64.0); + MogDB=# SELECT log(2.0, 64.0); log -------------------- 6.0000000000000000 @@ -782,7 +782,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT mod(9,4); + MogDB=# SELECT mod(9,4); mod ----- 1 @@ -790,7 +790,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT mod(9,0); + MogDB=# SELECT mod(9,0); mod ----- 9 @@ -806,7 +806,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pi(); + MogDB=# SELECT pi(); pi ------------------ 3.14159265358979 @@ -822,7 +822,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT power(9.0, 3.0); + MogDB=# SELECT power(9.0, 3.0); power ---------------------- 729.0000000000000000 @@ -838,13 +838,13 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT round(42.4); + MogDB=# SELECT round(42.4); round ------- 42 (1 row) - mogdb=# SELECT round(42.6); + MogDB=# SELECT round(42.6); round ------- 43 @@ -860,7 +860,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT round(42.4382, 2); + MogDB=# SELECT round(42.4382, 2); round ------- 42.44 @@ -876,7 +876,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT setseed(0.54823); + MogDB=# SELECT setseed(0.54823); setseed --------- @@ -892,7 +892,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT sign(-8.4); + MogDB=# SELECT sign(-8.4); sign ------ -1 @@ -908,7 +908,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT sin(1.57079); + MogDB=# SELECT sin(1.57079); sin ------------------ .999999999979986 @@ -924,7 +924,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT sqrt(2.0); + MogDB=# SELECT sqrt(2.0); sqrt ------------------- 1.414213562373095 @@ -940,7 +940,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT tan(20); + MogDB=# SELECT tan(20); tan ------------------ 2.23716094422474 @@ -956,7 +956,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT trunc(42.8); + MogDB=# SELECT trunc(42.8); trunc ------- 42 @@ -972,7 +972,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT trunc(42.4382, 2); + MogDB=# SELECT trunc(42.4382, 2); trunc ------- 42.43 @@ -1192,7 +1192,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT width_bucket(5.35, 0.024, 10.06, 5); + MogDB=# SELECT width_bucket(5.35, 0.024, 10.06, 5); width_bucket -------------- 3 @@ -1208,7 +1208,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT width_bucket(5.35, 0.024, 10.06, 5); + MogDB=# SELECT width_bucket(5.35, 0.024, 10.06, 5); width_bucket -------------- 3 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/8-date-and-time-processing-functions-and-operators.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/8-date-and-time-processing-functions-and-operators.md index 788bab0c..2cc633b6 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/8-date-and-time-processing-functions-and-operators.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/8-date-and-time-processing-functions-and-operators.md @@ -21,24 +21,24 @@ date: 2021-04-20 | 操作符 | 示例 | | ------ | ------------------------------------------------------------ | -| + | mogdb=# SELECT date '2001-09-28' + integer '7' AS RESULT;
result
-----------------
2001-10-05
(1 row) | -| | mogdb=# SELECT date '2001-09-28' + interval '1 hour' AS RESULT;
result
-----------------------------
2001-09-28 01:00:00
(1 row) | -| | mogdb=# SELECT date '2001-09-28' + time '03:00' AS RESULT;
result
-------------------------------
2001-09-28 03:00:00
(1 row) | -| | mogdb=# SELECT interval '1 day' + interval '1 hour' AS RESULT;
result
----------------------
1 day 01:00:00
(1 row) | -| | mogdb=# SELECT timestamp '2001-09-28 01:00' + interval '23 hours' AS RESULT;
result
------------------------------
2001-09-29 00:00:00
(1 row) | -| | mogdb=# SELECT time '01:00' + interval '3 hours' AS RESULT;
result
-------------
04:00:00
(1 row) | -| - | mogdb=# SELECT date '2001-10-01' - date '2001-09-28' AS RESULT;
result
----------
3days
(1 row) | -| | mogdb=# SELECT date '2001-10-01' - integer '7' AS RESULT;
result
-------------------------------
2001-09-24 00:00:00
(1 row) | -| | mogdb=# SELECT date '2001-09-28' - interval '1 hour' AS RESULT;
result
--------------------------------
2001-09-27 23:00:00
(1 row) | -| | mogdb=# SELECT time '05:00' - time '03:00' AS RESULT;
result
-------------
02:00:00
(1 row) | -| | mogdb=# SELECT time '05:00' - interval '2 hours' AS RESULT;
result
-------------
03:00:00
(1 row) | -| | mogdb=# SELECT timestamp '2001-09-28 23:00' - interval '23 hours' AS RESULT;
result
-------------------------------
2001-09-28 00:00:00
(1 row) | -| | mogdb=# SELECT interval '1 day' - interval '1 hour' AS RESULT;
result
-------------
23:00:00
(1 row) | -| | mogdb=# SELECT timestamp '2001-09-29 03:00' - timestamp '2001-09-27 12:00' AS RESULT;
result
---------------------
1 day 15:00:00
(1 row) | -| * | mogdb=# SELECT 900 * interval '1 second' AS RESULT;
result
--------------
00:15:00
(1 row) | -| | mogdb=# SELECT 21 * interval '1 day' AS RESULT;
result
-------------
21 days
(1 row) | -| | mogdb=# SELECT double precision '3.5' * interval '1 hour' AS RESULT;
result
--------------
03:30:00
(1 row) | -| / | mogdb=# SELECT interval '1 hour' / double precision '1.5' AS RESULT;
result
-------------
00:40:00
(1 row) | +| + | MogDB=# SELECT date '2001-09-28' + integer '7' AS RESULT;
result
-----------------
2001-10-05
(1 row) | +| | MogDB=# SELECT date '2001-09-28' + interval '1 hour' AS RESULT;
result
-----------------------------
2001-09-28 01:00:00
(1 row) | +| | MogDB=# SELECT date '2001-09-28' + time '03:00' AS RESULT;
result
-------------------------------
2001-09-28 03:00:00
(1 row) | +| | MogDB=# SELECT interval '1 day' + interval '1 hour' AS RESULT;
result
----------------------
1 day 01:00:00
(1 row) | +| | MogDB=# SELECT timestamp '2001-09-28 01:00' + interval '23 hours' AS RESULT;
result
------------------------------
2001-09-29 00:00:00
(1 row) | +| | MogDB=# SELECT time '01:00' + interval '3 hours' AS RESULT;
result
-------------
04:00:00
(1 row) | +| - | MogDB=# SELECT date '2001-10-01' - date '2001-09-28' AS RESULT;
result
----------
3days
(1 row) | +| | MogDB=# SELECT date '2001-10-01' - integer '7' AS RESULT;
result
-------------------------------
2001-09-24 00:00:00
(1 row) | +| | MogDB=# SELECT date '2001-09-28' - interval '1 hour' AS RESULT;
result
--------------------------------
2001-09-27 23:00:00
(1 row) | +| | MogDB=# SELECT time '05:00' - time '03:00' AS RESULT;
result
-------------
02:00:00
(1 row) | +| | MogDB=# SELECT time '05:00' - interval '2 hours' AS RESULT;
result
-------------
03:00:00
(1 row) | +| | MogDB=# SELECT timestamp '2001-09-28 23:00' - interval '23 hours' AS RESULT;
result
-------------------------------
2001-09-28 00:00:00
(1 row) | +| | MogDB=# SELECT interval '1 day' - interval '1 hour' AS RESULT;
result
-------------
23:00:00
(1 row) | +| | MogDB=# SELECT timestamp '2001-09-29 03:00' - timestamp '2001-09-27 12:00' AS RESULT;
result
---------------------
1 day 15:00:00
(1 row) | +| * | MogDB=# SELECT 900 * interval '1 second' AS RESULT;
result
--------------
00:15:00
(1 row) | +| | MogDB=# SELECT 21 * interval '1 day' AS RESULT;
result
-------------
21 days
(1 row) | +| | MogDB=# SELECT double precision '3.5' * interval '1 hour' AS RESULT;
result
--------------
03:30:00
(1 row) | +| / | MogDB=# SELECT interval '1 hour' / double precision '1.5' AS RESULT;
result
-------------
00:40:00
(1 row) | ## 时间/日期函数 @@ -51,7 +51,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT age(timestamp '2001-04-10', timestamp '1957-06-13'); + MogDB=# SELECT age(timestamp '2001-04-10', timestamp '1957-06-13'); age ------------------------- 43 years 9 mons 27 days @@ -67,7 +67,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT age(timestamp '1957-06-13'); + MogDB=# SELECT age(timestamp '1957-06-13'); age ------------------------- 60 years 2 mons 18 days @@ -83,7 +83,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT clock_timestamp(); + MogDB=# SELECT clock_timestamp(); clock_timestamp ------------------------------- 2017-09-01 16:57:36.636205+08 @@ -99,7 +99,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT current_date; + MogDB=# SELECT current_date; date ------------ 2017-09-01 @@ -115,7 +115,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT current_time; + MogDB=# SELECT current_time; timetz -------------------- 16:58:07.086215+08 @@ -131,7 +131,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT current_timestamp; + MogDB=# SELECT current_timestamp; pg_systimestamp ------------------------------ 2017-09-01 16:58:19.22173+08 @@ -147,7 +147,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select systimestamp; + MogDB=# select systimestamp; pg_systimestamp ----------------------------- 2021-12-24 14:34:24.6903+08 @@ -165,7 +165,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT date_part('hour', timestamp '2001-02-16 20:38:40'); + MogDB=# SELECT date_part('hour', timestamp '2001-02-16 20:38:40'); date_part 20 (1 row) @@ -180,7 +180,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT date_part('month', interval '2 years 3 months'); + MogDB=# SELECT date_part('month', interval '2 years 3 months'); date_part ----------- 3 @@ -196,7 +196,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT date_trunc('hour', timestamp '2001-02-16 20:38:40'); + MogDB=# SELECT date_trunc('hour', timestamp '2001-02-16 20:38:40'); date_trunc --------------------- 2001-02-16 20:00:00 @@ -210,7 +210,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT trunc(timestamp '2001-02-16 20:38:40'); trunc + MogDB=# SELECT trunc(timestamp '2001-02-16 20:38:40'); trunc --------------------- 2001-02-16 00:00:00 (1 row) @@ -225,7 +225,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select daterange('2000-05-06','2000-08-08'); + MogDB=# select daterange('2000-05-06','2000-08-08'); daterange ------------------------- [2000-05-06,2000-08-08) @@ -241,7 +241,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select daterange('2000-05-06','2000-08-08','[]'); + MogDB=# select daterange('2000-05-06','2000-08-08','[]'); daterange ------------------------- [2000-05-06,2000-08-09) @@ -257,7 +257,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT extract(hour from timestamp '2001-02-16 20:38:40'); + MogDB=# SELECT extract(hour from timestamp '2001-02-16 20:38:40'); date_part ----------- 20 @@ -273,7 +273,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT extract(month from interval '2 years 3 months'); + MogDB=# SELECT extract(month from interval '2 years 3 months'); date_part ----------- 3 @@ -289,7 +289,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT isfinite(date '2001-02-16'); + MogDB=# SELECT isfinite(date '2001-02-16'); isfinite ---------- t @@ -305,7 +305,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT isfinite(timestamp '2001-02-16 21:28:30'); + MogDB=# SELECT isfinite(timestamp '2001-02-16 21:28:30'); isfinite ---------- t @@ -321,7 +321,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT isfinite(interval '4 hours'); + MogDB=# SELECT isfinite(interval '4 hours'); isfinite ---------- t @@ -337,7 +337,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT justify_days(interval '35 days'); + MogDB=# SELECT justify_days(interval '35 days'); justify_days -------------- 1 mon 5 days @@ -353,7 +353,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT JUSTIFY_HOURS(INTERVAL '27 HOURS'); + MogDB=# SELECT JUSTIFY_HOURS(INTERVAL '27 HOURS'); justify_hours ---------------- 1 day 03:00:00 @@ -369,7 +369,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT JUSTIFY_INTERVAL(INTERVAL '1 MON -1 HOUR'); + MogDB=# SELECT JUSTIFY_INTERVAL(INTERVAL '1 MON -1 HOUR'); justify_interval ------------------ 29 days 23:00:00 @@ -385,7 +385,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT localtime AS RESULT; + MogDB=# SELECT localtime AS RESULT; result ---------------- 16:05:55.664681 @@ -401,7 +401,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT localtimestamp; + MogDB=# SELECT localtimestamp; timestamp ---------------------------- 2017-09-01 17:03:30.781902 @@ -417,7 +417,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT now(); + MogDB=# SELECT now(); now ------------------------------- 2017-09-01 17:03:42.549426+08 @@ -433,7 +433,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select timenow(); + MogDB=# select timenow(); timenow ------------------------ 2020-06-23 20:36:56+08 @@ -449,15 +449,15 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT numtodsinterval(100, 'HOUR'); + MogDB=# SELECT numtodsinterval(100, 'HOUR'); numtodsinterval ----------------- 100:00:00 (1 row) - mogdb=# SET intervalstyle = a; + MogDB=# SET intervalstyle = a; SET - mogdb=# SELECT numtodsinterval(100, 'HOUR'); + MogDB=# SELECT numtodsinterval(100, 'HOUR'); numtodsinterval ------------------------------- +000000004 04:00:00.000000000 @@ -473,7 +473,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pg_sleep(10); + MogDB=# SELECT pg_sleep(10); pg_sleep ---------- @@ -489,7 +489,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT statement_timestamp(); + MogDB=# SELECT statement_timestamp(); statement_timestamp ------------------------------- 2017-09-01 17:04:39.119267+08 @@ -505,7 +505,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT sysdate; + MogDB=# SELECT sysdate; sysdate --------------------- 2017-09-01 17:04:49 @@ -521,7 +521,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT timeofday(); + MogDB=# SELECT timeofday(); timeofday ------------------------------------- Fri Sep 01 17:05:01.167506 2017 CST @@ -537,7 +537,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT transaction_timestamp(); + MogDB=# SELECT transaction_timestamp(); transaction_timestamp ------------------------------- 2017-09-01 17:05:13.534454+08 @@ -553,7 +553,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT add_months(to_date('2017-5-29', 'yyyy-mm-dd'), 11) FROM dual; + MogDB=# SELECT add_months(to_date('2017-5-29', 'yyyy-mm-dd'), 11) FROM dual; add_months --------------------- 2018-04-29 00:00:00 @@ -569,7 +569,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select last_day(to_date('2017-01-01', 'YYYY-MM-DD')) AS cal_result; + MogDB=# select last_day(to_date('2017-01-01', 'YYYY-MM-DD')) AS cal_result; cal_result --------------------- 2017-01-31 00:00:00 @@ -585,7 +585,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select next_day(timestamp '2017-05-25 00:00:00','Sunday')AS cal_result; + MogDB=# select next_day(timestamp '2017-05-25 00:00:00','Sunday')AS cal_result; cal_result --------------------- 2017-05-28 00:00:00 @@ -601,7 +601,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# call tinterval(abstime 'May 10, 1947 23:59:12', abstime 'Mon May 1 00:30:30 1995'); + MogDB=# call tinterval(abstime 'May 10, 1947 23:59:12', abstime 'Mon May 1 00:30:30 1995'); tinterval ----------------------------------------------------- ["1947-05-10 23:59:12+09" "1995-05-01 00:30:30+08"] @@ -617,7 +617,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select tintervalend('["Sep 4, 1983 23:59:12" "Oct4, 1983 23:59:12"]'); + MogDB=# select tintervalend('["Sep 4, 1983 23:59:12" "Oct4, 1983 23:59:12"]'); tintervalend ------------------------ 1983-10-04 23:59:12+08 @@ -633,7 +633,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# select tintervalrel('["Sep 4, 1983 23:59:12" "Oct4, 1983 23:59:12"]'); + MogDB=# select tintervalrel('["Sep 4, 1983 23:59:12" "Oct4, 1983 23:59:12"]'); tintervalrel -------------- 1 mon @@ -830,7 +830,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 年份。 ```sql - mogdb=# SELECT TIMESTAMPDIFF(YEAR, '2018-01-01', '2020-01-01'); + MogDB=# SELECT TIMESTAMPDIFF(YEAR, '2018-01-01', '2020-01-01'); timestamp_diff ---------------- 2 @@ -842,7 +842,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 季度。 ```sql - mogdb=# SELECT TIMESTAMPDIFF(QUARTER, '2018-01-01', '2020-01-01'); + MogDB=# SELECT TIMESTAMPDIFF(QUARTER, '2018-01-01', '2020-01-01'); timestamp_diff ---------------- 8 @@ -854,7 +854,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 月份。 ```sql - mogdb=# SELECT TIMESTAMPDIFF(MONTH, '2018-01-01', '2020-01-01'); + MogDB=# SELECT TIMESTAMPDIFF(MONTH, '2018-01-01', '2020-01-01'); timestamp_diff ---------------- 24 @@ -866,7 +866,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 星期。 ```sql - mogdb=# SELECT TIMESTAMPDIFF(WEEK, '2018-01-01', '2020-01-01'); + MogDB=# SELECT TIMESTAMPDIFF(WEEK, '2018-01-01', '2020-01-01'); timestamp_diff ---------------- 104 @@ -878,7 +878,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 天。 ```sql - mogdb=# SELECT TIMESTAMPDIFF(DAY, '2018-01-01', '2020-01-01'); + MogDB=# SELECT TIMESTAMPDIFF(DAY, '2018-01-01', '2020-01-01'); timestamp_diff ---------------- 730 @@ -890,7 +890,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 小时。 ```sql - mogdb=# SELECT TIMESTAMPDIFF(HOUR, '2020-01-01 10:10:10', '2020-01-01 11:11:11'); + MogDB=# SELECT TIMESTAMPDIFF(HOUR, '2020-01-01 10:10:10', '2020-01-01 11:11:11'); timestamp_diff ---------------- 1 @@ -903,7 +903,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 分钟。 ```sql - mogdb=# SELECT TIMESTAMPDIFF(MINUTE, '2020-01-01 10:10:10', '2020-01-01 11:11:11'); + MogDB=# SELECT TIMESTAMPDIFF(MINUTE, '2020-01-01 10:10:10', '2020-01-01 11:11:11'); timestamp_diff ---------------- 61 @@ -916,7 +916,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 秒。 ```sql - mogdb=# SELECT TIMESTAMPDIFF(SECOND, '2020-01-01 10:10:10', '2020-01-01 11:11:11'); + MogDB=# SELECT TIMESTAMPDIFF(SECOND, '2020-01-01 10:10:10', '2020-01-01 11:11:11'); timestamp_diff ---------------- 3661 @@ -929,7 +929,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 秒域(包括小数部分)乘以1,000,000。 ```sql - mogdb=# SELECT TIMESTAMPDIFF(MICROSECOND, '2020-01-01 10:10:10.000000', '2020-01-01 10:10:10.111111'); + MogDB=# SELECT TIMESTAMPDIFF(MICROSECOND, '2020-01-01 10:10:10.000000', '2020-01-01 10:10:10.111111'); timestamp_diff ---------------- 111111 @@ -940,7 +940,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e - timestamp_expr含有时区 ```sql - mogdb=# SELECT TIMESTAMPDIFF(HOUR,'2020-05-01 10:10:10-01','2020-05-01 10:10:10-03'); + MogDB=# SELECT TIMESTAMPDIFF(HOUR,'2020-05-01 10:10:10-01','2020-05-01 10:10:10-03'); timestamp_diff ---------------- 2 @@ -962,7 +962,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 示例: ```sql - mogdb=# SELECT EXTRACT(CENTURY FROM TIMESTAMP '2000-12-16 12:21:13'); + MogDB=# SELECT EXTRACT(CENTURY FROM TIMESTAMP '2000-12-16 12:21:13'); date_part ----------- 20 @@ -974,7 +974,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e - 如果source为timestamp,表示月份里的日期(1-31)。 ```sql - mogdb=# SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40'); + MogDB=# SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40'); date_part ----------- 16 @@ -984,7 +984,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e - 如果source为interval,表示天数。 ```sql - mogdb=# SELECT EXTRACT(DAY FROM INTERVAL '40 days 1 minute'); + MogDB=# SELECT EXTRACT(DAY FROM INTERVAL '40 days 1 minute'); date_part ----------- 40 @@ -996,7 +996,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 年份除以10。 ```sql - mogdb=# SELECT EXTRACT(DECADE FROM TIMESTAMP '2001-02-16 20:38:40'); + MogDB=# SELECT EXTRACT(DECADE FROM TIMESTAMP '2001-02-16 20:38:40'); date_part ----------- 200 @@ -1008,7 +1008,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 每周的星期几,星期天(0)到星期六(6)。 ```sql - mogdb=# SELECT EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40'); + MogDB=# SELECT EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40'); date_part ----------- 5 @@ -1020,7 +1020,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 一年的第几天(1~365/366)。 ```sql - mogdb=# SELECT EXTRACT(DOY FROM TIMESTAMP '2001-02-16 20:38:40'); + MogDB=# SELECT EXTRACT(DOY FROM TIMESTAMP '2001-02-16 20:38:40'); date_part ----------- 47 @@ -1036,7 +1036,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 如果source为interval,表示时间间隔的总秒数。 ```sql - mogdb=# SELECT EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40.12-08'); + MogDB=# SELECT EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40.12-08'); date_part -------------- 982384720.12 @@ -1044,7 +1044,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e ``` ```sql - mogdb=# SELECT EXTRACT(EPOCH FROM INTERVAL '5 days 3 hours'); + MogDB=# SELECT EXTRACT(EPOCH FROM INTERVAL '5 days 3 hours'); date_part ----------- 442800 @@ -1054,7 +1054,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e - 将epoch值转换为时间戳的方法。 ```sql - mogdb=# SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 982384720.12 * INTERVAL '1 second' AS RESULT; + MogDB=# SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 982384720.12 * INTERVAL '1 second' AS RESULT; result --------------------------- 2001-02-17 12:38:40.12+08 @@ -1066,7 +1066,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 小时域(0-23)。 ```sql - mogdb=# SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40'); + MogDB=# SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40'); date_part ----------- 20 @@ -1083,7 +1083,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e > 除了星期天外,都与dow相同。 ```sql - mogdb=# SELECT EXTRACT(ISODOW FROM TIMESTAMP '2001-02-18 20:38:40'); + MogDB=# SELECT EXTRACT(ISODOW FROM TIMESTAMP '2001-02-18 20:38:40'); date_part ----------- 7 @@ -1097,7 +1097,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 每个带有星期一开始的周中包含1月4日的ISO年,所以在年初的1月或12月下旬的ISO年可能会不同于阳历的年。详细信息请参见后续的week描述。 ```sql - mogdb=# SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-01'); + MogDB=# SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-01'); date_part ----------- 2005 @@ -1105,7 +1105,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e ``` ```sql - mogdb=# SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-02'); + MogDB=# SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-02'); date_part ----------- 2006 @@ -1117,7 +1117,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 秒域(包括小数部分)乘以1,000,000。 ```sql - mogdb=# SELECT EXTRACT(MICROSECONDS FROM TIME '17:12:28.5'); + MogDB=# SELECT EXTRACT(MICROSECONDS FROM TIME '17:12:28.5'); date_part ----------- 28500000 @@ -1131,7 +1131,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 20世纪(19xx年)里面的年份在第二个千年里。第三个千年从2001年1月1日零时开始。 ```sql - mogdb=# SELECT EXTRACT(MILLENNIUM FROM TIMESTAMP '2001-02-16 20:38:40'); + MogDB=# SELECT EXTRACT(MILLENNIUM FROM TIMESTAMP '2001-02-16 20:38:40'); date_part ----------- 3 @@ -1143,7 +1143,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 秒域(包括小数部分)乘以1000。请注意它包括完整的秒。 ```sql - mogdb=# SELECT EXTRACT(MILLISECONDS FROM TIME '17:12:28.5'); + MogDB=# SELECT EXTRACT(MILLISECONDS FROM TIME '17:12:28.5'); date_part ----------- 28500 @@ -1155,7 +1155,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 分钟域(0-59)。 ```sql - mogdb=# SELECT EXTRACT(MINUTE FROM TIMESTAMP '2001-02-16 20:38:40'); + MogDB=# SELECT EXTRACT(MINUTE FROM TIMESTAMP '2001-02-16 20:38:40'); date_part ----------- 38 @@ -1167,7 +1167,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 如果source为timestamp,表示一年里的月份数(1-12)。 ```sql - mogdb=# SELECT EXTRACT(MONTH FROM TIMESTAMP '2001-02-16 20:38:40'); + MogDB=# SELECT EXTRACT(MONTH FROM TIMESTAMP '2001-02-16 20:38:40'); date_part ----------- 2 @@ -1177,7 +1177,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 如果source为interval,表示月的数目,然后对12取模(0-11)。 ```sql - mogdb=# SELECT EXTRACT(MONTH FROM INTERVAL '2 years 13 months'); + MogDB=# SELECT EXTRACT(MONTH FROM INTERVAL '2 years 13 months'); date_part ----------- 1 @@ -1189,7 +1189,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 该天所在的该年的季度(1-4)。 ```sql - mogdb=# SELECT EXTRACT(QUARTER FROM TIMESTAMP '2001-02-16 20:38:40'); + MogDB=# SELECT EXTRACT(QUARTER FROM TIMESTAMP '2001-02-16 20:38:40'); date_part ----------- 1 @@ -1201,7 +1201,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 秒域,包括小数部分(0-59)。 ```sql - mogdb=# SELECT EXTRACT(SECOND FROM TIME '17:12:28.5'); + MogDB=# SELECT EXTRACT(SECOND FROM TIME '17:12:28.5'); date_part ----------- 28.5 @@ -1227,7 +1227,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 在ISO定义里,一月的头几天可能是前一年的第52或者第53周,十二月的后几天可能是下一年第一周。比如,2005-01-01是2004年的第53周,而2006-01-01是2005年的第52周,2012-12-31是2013年的第一周。建议isoyear字段和week一起使用以得到一致的结果。 ```sql - mogdb=# SELECT EXTRACT(WEEK FROM TIMESTAMP '2001-02-16 20:38:40'); + MogDB=# SELECT EXTRACT(WEEK FROM TIMESTAMP '2001-02-16 20:38:40'); date_part ----------- 7 @@ -1239,7 +1239,7 @@ timestampdiff函数是计算两个日期时间之间(timestamp_expr2-timestamp_e 年份域。 ```sql - mogdb=# SELECT EXTRACT(YEAR FROM TIMESTAMP '2001-02-16 20:38:40'); + MogDB=# SELECT EXTRACT(YEAR FROM TIMESTAMP '2001-02-16 20:38:40'); date_part ----------- 2001 @@ -1257,12 +1257,12 @@ date_part函数是在传统的Ingres函数的基础上制作的(该函数等 示例: ```sql -mogdb=# SELECT date_part('day', TIMESTAMP '2001-02-16 20:38:40'); +MogDB=# SELECT date_part('day', TIMESTAMP '2001-02-16 20:38:40'); date_part ----------- 16 (1 row) -mogdb=# SELECT date_part('hour', INTERVAL '4 hours 3 minutes'); +MogDB=# SELECT date_part('hour', INTERVAL '4 hours 3 minutes'); date_part ----------- 4 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/9-type-conversion-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/9-type-conversion-functions.md index cc499697..c30c8ba1 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/9-type-conversion-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/functions-and-operators/9-type-conversion-functions.md @@ -14,7 +14,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT cash_words('1.23'); + MogDB=# SELECT cash_words('1.23'); cash_words ----------------------------------- One dollar and twenty three cents @@ -28,7 +28,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT cast('22-oct-1997' as timestamp); + MogDB=# SELECT cast('22-oct-1997' as timestamp); timestamp --------------------- 1997-10-22 00:00:00 @@ -44,7 +44,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT hextoraw('7D'); + MogDB=# SELECT hextoraw('7D'); hextoraw ---------- 7D @@ -60,7 +60,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT numtoday(2); + MogDB=# SELECT numtoday(2); numtoday ---------- 2 days @@ -76,7 +76,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT pg_systimestamp(); + MogDB=# SELECT pg_systimestamp(); pg_systimestamp ------------------------------- 2015-10-14 11:21:28.317367+08 @@ -94,7 +94,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT rawtohex('1234567'); + MogDB=# SELECT rawtohex('1234567'); rawtohex ---------------- 31323334353637 @@ -110,7 +110,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_bigint('123364545554455'); + MogDB=# SELECT to_bigint('123364545554455'); to_bigint ---------------- 123364545554455 @@ -130,7 +130,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_char(current_timestamp,'HH12:MI:SS'); + MogDB=# SELECT to_char(current_timestamp,'HH12:MI:SS'); to_char ---------- 10:19:26 @@ -138,7 +138,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT to_char(current_timestamp,'FMHH12:FMMI:FMSS'); + MogDB=# SELECT to_char(current_timestamp,'FMHH12:FMMI:FMSS'); to_char ---------- 10:19:46 @@ -147,25 +147,25 @@ date: 2021-04-20 ```sql - mogdb=# select to_char(systimestamp, 'TZH'); + MogDB=# select to_char(systimestamp, 'TZH'); to_char --------- +08 (1 row) - mogdb=# select to_char(systimestamp, 'TZM'); + MogDB=# select to_char(systimestamp, 'TZM'); to_char --------- 00 (1 row) - mogdb=# select to_char(systimestamp, 'TZD'); + MogDB=# select to_char(systimestamp, 'TZD'); to_char --------- CST (1 row) - mogdb=# select to_char(systimestamp, 'TZR'); + MogDB=# select to_char(systimestamp, 'TZR'); to_char --------------- Asia/Shanghai @@ -239,7 +239,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_char(125.8::real, '999D99'); + MogDB=# SELECT to_char(125.8::real, '999D99'); to_char --------- 125.80 @@ -259,7 +259,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_char(1485,'9,999'); + MogDB=# SELECT to_char(1485,'9,999'); to_char --------- 1,485 @@ -267,7 +267,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT to_char( 1148.5,'9,999.999'); + MogDB=# SELECT to_char( 1148.5,'9,999.999'); to_char ------------ 1,148.500 @@ -275,7 +275,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT to_char(148.5,'990999.909'); + MogDB=# SELECT to_char(148.5,'990999.909'); to_char ------------- 0148.500 @@ -283,7 +283,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT to_char(123,'XXX'); + MogDB=# SELECT to_char(123,'XXX'); to_char --------- 7B @@ -299,7 +299,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_char(interval '15h 2m 12s', 'HH24:MI:SS'); + MogDB=# SELECT to_char(interval '15h 2m 12s', 'HH24:MI:SS'); to_char ---------- 15:02:12 @@ -315,7 +315,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_char(125, '999'); + MogDB=# SELECT to_char(125, '999'); to_char --------- 125 @@ -331,7 +331,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_char(-125.8, '999D99S'); + MogDB=# SELECT to_char(-125.8, '999D99S'); to_char --------- 125.80- @@ -349,7 +349,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_char('01110'); + MogDB=# SELECT to_char('01110'); to_char --------- 01110 @@ -365,7 +365,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_char(current_timestamp, 'HH12:MI:SS'); + MogDB=# SELECT to_char(current_timestamp, 'HH12:MI:SS'); to_char ---------- 10:55:59 @@ -381,7 +381,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_clob('ABCDEF'::RAW(10)); + MogDB=# SELECT to_clob('ABCDEF'::RAW(10)); to_clob --------- ABCDEF @@ -389,7 +389,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT to_clob('hello111'::CHAR(15)); + MogDB=# SELECT to_clob('hello111'::CHAR(15)); to_clob ---------- hello111 @@ -397,7 +397,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT to_clob('gauss123'::NCHAR(10)); + MogDB=# SELECT to_clob('gauss123'::NCHAR(10)); to_clob ---------- gauss123 @@ -405,7 +405,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT to_clob('gauss234'::VARCHAR(10)); + MogDB=# SELECT to_clob('gauss234'::VARCHAR(10)); to_clob ---------- gauss234 @@ -413,7 +413,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT to_clob('gauss345'::VARCHAR2(10)); + MogDB=# SELECT to_clob('gauss345'::VARCHAR2(10)); to_clob ---------- gauss345 @@ -421,7 +421,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT to_clob('gauss456'::NVARCHAR2(10)); + MogDB=# SELECT to_clob('gauss456'::NVARCHAR2(10)); to_clob ---------- gauss456 @@ -429,7 +429,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT to_clob('World222!'::TEXT); + MogDB=# SELECT to_clob('World222!'::TEXT); to_clob ----------- World222! @@ -449,7 +449,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_date('2015-08-14'); + MogDB=# SELECT to_date('2015-08-14'); to_date --------------------- 2015-08-14 00:00:00 @@ -465,7 +465,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_date('05 Dec 2000', 'DD Mon YYYY'); + MogDB=# SELECT to_date('05 Dec 2000', 'DD Mon YYYY'); to_date --------------------- 2000-12-05 00:00:00 @@ -487,7 +487,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_number('12,454.8-', '99G999D9S'); + MogDB=# SELECT to_number('12,454.8-', '99G999D9S'); to_number ----------- -12454.8 @@ -503,7 +503,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_number('12,454.8-', '99G999D9S'); + MogDB=# SELECT to_number('12,454.8-', '99G999D9S'); to_number ----------- -12454.8 @@ -519,7 +519,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_timestamp(1284352323); + MogDB=# SELECT to_timestamp(1284352323); to_timestamp ------------------------ 2010-09-13 12:32:03+08 @@ -542,13 +542,13 @@ date: 2021-04-20 示例: ```sql - mogdb=# SHOW nls_timestamp_format; + MogDB=# SHOW nls_timestamp_format; nls_timestamp_format ---------------------------- DD-Mon-YYYY HH:MI:SS.FF AM (1 row) - mogdb=# SELECT to_timestamp('12-sep-2014'); + MogDB=# SELECT to_timestamp('12-sep-2014'); to_timestamp --------------------- 2014-09-12 00:00:00 @@ -556,7 +556,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT to_timestamp('12-Sep-10 14:10:10.123000','DD-Mon-YY HH24:MI:SS.FF'); + MogDB=# SELECT to_timestamp('12-Sep-10 14:10:10.123000','DD-Mon-YY HH24:MI:SS.FF'); to_timestamp ------------------------- 2010-09-12 14:10:10.123 @@ -564,7 +564,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT to_timestamp('-1','SYYYY'); + MogDB=# SELECT to_timestamp('-1','SYYYY'); to_timestamp ------------------------ 0001-01-01 00:00:00 BC @@ -572,7 +572,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT to_timestamp('98','RR'); + MogDB=# SELECT to_timestamp('98','RR'); to_timestamp --------------------- 1998-01-01 00:00:00 @@ -580,7 +580,7 @@ date: 2021-04-20 ``` ```sql - mogdb=# SELECT to_timestamp('01','RR'); + MogDB=# SELECT to_timestamp('01','RR'); to_timestamp --------------------- 2001-01-01 00:00:00 @@ -596,7 +596,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT to_timestamp('05 Dec 2000', 'DD Mon YYYY'); + MogDB=# SELECT to_timestamp('05 Dec 2000', 'DD Mon YYYY'); to_timestamp --------------------- 2000-12-05 00:00:00 @@ -1410,7 +1410,7 @@ date: 2021-04-20 示例: ```sql - mogdb=# SELECT convert_to_nocase('12345', 'GBK'); + MogDB=# SELECT convert_to_nocase('12345', 'GBK'); convert_to_nocase ------------------- \x3132333435 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/10-error-reporting-and-logging/3-logging-content.md b/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/10-error-reporting-and-logging/3-logging-content.md index 1049c318..d5f3b5ea 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/10-error-reporting-and-logging/3-logging-content.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/10-error-reporting-and-logging/3-logging-content.md @@ -267,7 +267,7 @@ date: 2021-04-20 **设置方法**:首先,可以通过SHOW logging_module来查看哪些模块是支持可控制的。例如,查询输出结果为: ```sql -mogdb=# show logging_module; +MogDB=# show logging_module; logging_module ---------------------------------------------------- ALL,on(),off(DFS,GUC,ORC,SLRU,MEM_CTL,AUTOVAC,CACHE,ADIO,SSL,TBLSPC,WLM,EXECUTOR,VEC_EXECUTOR,LLVM,OPT,OPT_REWRITE,OPT_JOIN,OPT_AGG,OPT_SUBPLAN,OPT_SETOP,OPT_SKEW,UDF,COOP_ANALYZE,WLMCP,ACCELERATE,T,PLANHINT,SNAPSHOT,XACT,HANDLE,CLOG,EC,REMOTE,CN_RETRY,PLSQL,TEXTSEARCH,SEQ,REDO,FUNCTION,PARSER,INSTR,INCRE_CKPT,DBL_WRT,RTO,HEARTBEAT) @@ -277,9 +277,9 @@ ALL,on(),off(DFS,GUC,ORC,SLRU,MEM_CTL,AUTOVAC,CACHE,ADIO,SSL,TBLSPC,WLM,EXECUTOR 支持可控制的模块使用大写来标识,特殊标识ALL用于对所有模块日志进行设置。可以使用on/off来控制模块日志的输出。设置SSL模块日志为可输出,使用如下命令: ```sql -mogdb=# set logging_module='on(SSL)'; +MogDB=# set logging_module='on(SSL)'; SET -mogdb=# show logging_module; +MogDB=# show logging_module; logging_module --------------------------------------------------------------------- ALL,on(SSL),off(DFS,GUC,ORC,SLRU,MEM_CTL,AUTOVAC,CACHE,ADIO,TBLSPC,WLM,EXECUTOR,VEC_EXECUTOR,LLVM,OPT,OPT_REWRITE,OPT_JOIN,OPT_AGG,OPT_SUBPLAN,OPT_SETOP,OPT_SKEW,UDF,COOP_ANALYZE,WLMCP,ACCELERATE,,PLANHINT,SNAPSHOT,XACT,HANDLE,CLOG,EC,REMOTE,CN_RETRY,PLSQL,TEXTSEARCH,SEQ,REDO,FUNCTION,PARSER,INSTR,INCRE_CKPT,DBL_WRT,RTO,HEARTBEAT,COMM_IPC,COMM_PARAM) @@ -291,17 +291,17 @@ ALL,on(SSL),off(DFS,GUC,ORC,SLRU,MEM_CTL,AUTOVAC,CACHE,ADIO,TBLSPC,WLM,EXECUTOR, ALL标识是相当于一个快捷操作,即对所有模块的日志可输出进行开启或关闭。 ```sql -mogdb=# set logging_module='off(ALL)'; +MogDB=# set logging_module='off(ALL)'; SET -mogdb=# show logging_module; +MogDB=# show logging_module; logging_module ------------------------------------- ALL,on(),off(DFS,GUC,ORC,SLRU,MEM_CTL,AUTOVAC,CACHE,ADIO,SSL,TBLSPC,WLM,EXECUTOR,VEC_EXECUTOR,LLVM,OPT,OPT_REWRITE,OPT_JOIN,OPT_AGG,OPT_SUBPLAN,OPT_SETOP,OPT_SKEW,UDF,COOP_ANALYZE,WLMCP,ACCELERATE,PLANHINT,SNAPSHOT,XACT,HANDLE,CLOG,EC,REMOTE,CN_RETRY,PLSQL,TEXTSEARCH,SEQ,REDO,FUNCTION,PARSER,INSTR,INCRE_CKPT,DBL_WRT,RTO,HEARTBEAT) (1 row) -mogdb=# set logging_module='on(ALL)'; +MogDB=# set logging_module='on(ALL)'; SET -mogdb=# show logging_module; +MogDB=# show logging_module; logging_module ----------------------------------------- ALL,on(DFS,GUC,ORC,SLRU,MEM_CTL,AUTOVAC,CACHE,ADIO,SSL,TBLSPC,WLM,EXECUTOR,VEC_EXECUTOR,LLVM,OPT,OPT_REWRITE,OPT_JOIN,OPT_AGG,OPT_SUBPLAN,OPT_SETOP,OPT_SKEW,UDF,COOP_ANALYZE,WLMCP,ACCELERATE,PLANHINT,SNAPSHOT,XACT,HANDLE,CLOG,EC,REMOTE,CN_RETRY,PLSQL,TEXTSEARCH,SEQ,REDO,FUNCTION,PARSER,INSTR,INCRE_CKPT,DBL_WRT,RTO,HEARTBEAT),off() diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/17-version-and-platform-compatibility/2-platform-and-client-compatibility.md b/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/17-version-and-platform-compatibility/2-platform-and-client-compatibility.md index 504d8edb..8e9778c4 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/17-version-and-platform-compatibility/2-platform-and-client-compatibility.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/guc-parameters/17-version-and-platform-compatibility/2-platform-and-client-compatibility.md @@ -115,14 +115,14 @@ date: 2021-04-20 | **兼容性配置项** | **兼容性行为控制** | | :------------------------------ | :----------------------------------------------------------- | | display_leading_zero | 浮点数显示配置项。
- 不设置此配置项时,对于-1\~0和0\~1之间的小数,不显示小数点前的0。比如,0.25显示为.25。
- 设置此配置项时,对于-1\~0和0\~1之间的小数,显示小数点前的0。比如,0.25显示为0.25。 | -| end_month_calculate | add_months函数计算逻辑配置项。
假定函数add_months的两个参数分别为param1和param2,param1的月份和param2的和为月份result。
- 不设置此配置项时,如果param1的日期(Day字段)为月末,并且param1的日期(Day字段)比result月份的月末日期小,计算结果中的日期字段(Day字段)和param1的日期字段保持一致。比如,
`mogdb=# select add_months('2018-02-28',3) from sys_dummy; add_months ---------------------- 2018-05-28 00:00:00 (1 row)`
- 设置此配置项时,如果param1的日期(Day字段)为月末,并且param1的日期(Day字段)比result月份的月末日期比小,计算结果中的日期字段(Day字段)和result的月末日期保持一致。比如,
`mogdb=# select add_months('2018-02-28',3) from sys_dummy; add_months ---------------------- 2018-05-31 00:00:00 (1 row)` | +| end_month_calculate | add_months函数计算逻辑配置项。
假定函数add_months的两个参数分别为param1和param2,param1的月份和param2的和为月份result。
- 不设置此配置项时,如果param1的日期(Day字段)为月末,并且param1的日期(Day字段)比result月份的月末日期小,计算结果中的日期字段(Day字段)和param1的日期字段保持一致。比如,
`MogDB=# select add_months('2018-02-28',3) from sys_dummy; add_months ---------------------- 2018-05-28 00:00:00 (1 row)`
- 设置此配置项时,如果param1的日期(Day字段)为月末,并且param1的日期(Day字段)比result月份的月末日期比小,计算结果中的日期字段(Day字段)和result的月末日期保持一致。比如,
`MogDB=# select add_months('2018-02-28',3) from sys_dummy; add_months ---------------------- 2018-05-31 00:00:00 (1 row)` | | compat_analyze_sample | analyze采样行为配置项。
设置此配置项时,会优化analyze的采样行为,主要体现在analyze时全局采样会更精确的控制在3万条左右,更好的控制analyze时DBnode端的内存消耗,保证analyze性能的稳定性。 | | bind_schema_tablespace | 绑定模式与同名表空间配置项。
如果存在与模式名sche_name相同的表空间名,那么如果设置search_path为sche_name, default_tablespace也会同步切换到sche_name。 | | bind_procedure_searchpath | 未指定模式名的数据库对象的搜索路径配置项。
在存储过程中如果不显示指定模式名,会优先在存储过程所属的模式下搜索。
如果找不到,则有两种情况:
- 若不设置此参数,报错退出。
- 若设置此参数,按照search_path中指定的顺序继续搜索。如果还是找不到,报错退出。 | | correct_to_number | 控制to_number()结果兼容性的配置项。
若设置此配置项,则to_number()函数结果与pg11保持一致,否则默认与O db保持一致。 | | unbind_dive_bound | 控制对整数除法的结果进行范围校验。
若设置此配置项,则不需要对除法结果做范围校验,例如,INT_MIN/(-1)可以得到输出结果为INT_MAX+1,反之,则会因为超过结果大于INT_MAX而报越界错误。 | | merge_update_multi | 控制merge into匹配多行时是否进行update操作。
若设置此配置项,匹配多行时update不报错,否则默认与a db保持一致,报错。 | -| return_null_string | 控制函数lpad()和rpad()结果为空字符串”的显示配置项。
- 不设置此配置项时,空字符串显示为NULL。
`mogdb=# select length(lpad('123',0,'*')) from sys_dummy; length ----------------------- (1 row)*`
- 设置此配置项时,空字符串显示为”。
`mogdb=# select length(lpad('123',0,'*')) from sys_dummy; length ----------------------- 0 (1 row)` | +| return_null_string | 控制函数lpad()和rpad()结果为空字符串”的显示配置项。
- 不设置此配置项时,空字符串显示为NULL。
`MogDB=# select length(lpad('123',0,'*')) from sys_dummy; length ----------------------- (1 row)*`
- 设置此配置项时,空字符串显示为”。
`MogDB=# select length(lpad('123',0,'*')) from sys_dummy; length ----------------------- 0 (1 row)` | | compat_concat_variadic | 控制函数concat()和concat_ws()对variadic类型结果兼容性的配置项。
若设置此配置项,当concat函数参数为variadic类型时,保留a db和Teradata兼容模式下不同的结果形式;否则默认a db和Teradata兼容模式下结果相同,且与a db保持一致。由于MY无variadic类型,所以该选项对MY无影响。 | | merge_update_multi | 控制在使用MERGE INTO … WHEN MATCHED THEN UPDATE(参考[MERGE INTO](MERGE-INTO)) 和INSERT … ON DUPLICATE KEY UPDATE(参考[INSERT](INSERT))时,当目标表中一条目标数据与多条源数据冲突时UPDATE行为。
若设置此配置项,当存在上述场景时,该冲突行将会多次执行UPDATE;否则(默认)报错,即MERGE或INSERT操作失败。 | | hide_tailing_zero | numeric显示配置项。不设置此项时,numeric按照指定精度显示。设置此项时,隐藏小数点后的末尾0。
`set behavior_compat_options='hide_tailing_zero'; select cast(123.123 as numeric(15,10)); numeric ---- 123.123 (1 row)` | diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/oracle-plugins/pg_prewarm-user-guide.md b/product/zh/docs-mogdb/v3.0/reference-guide/oracle-plugins/pg_prewarm-user-guide.md index 4636593b..f918ef34 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/oracle-plugins/pg_prewarm-user-guide.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/oracle-plugins/pg_prewarm-user-guide.md @@ -51,7 +51,7 @@ pg_prewarm模块提供一种方便的方法把关系数据载入到操作系统 4. 查看数据表大小。 ```sql - mogdb=# select pg_size_pretty(pg_relation_size('test_pre')); + MogDB=# select pg_size_pretty(pg_relation_size('test_pre')); pg_size_pretty ---------------- 5136 kB @@ -61,7 +61,7 @@ pg_prewarm模块提供一种方便的方法把关系数据载入到操作系统 5. 加载数据到数据库缓存。这里可以看到pg_prewarm把所有数据分为了642块。 ```sql - mogdb=# select pg_prewarm('test_pre','buffer'); + MogDB=# select pg_prewarm('test_pre','buffer'); pg_prewarm ------------ 642 @@ -71,7 +71,7 @@ pg_prewarm模块提供一种方便的方法把关系数据载入到操作系统 6. 查块大小。 ```sql - mogdb=# select current_setting('block_size'); + MogDB=# select current_setting('block_size'); current_setting ----------------- 8192 @@ -81,7 +81,7 @@ pg_prewarm模块提供一种方便的方法把关系数据载入到操作系统 MogDB默认每个数据块的大小为8KB。 ```sql - mogdb=# select 642*8; + MogDB=# select 642*8; ?column? ---------- 5136 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/DBE_PERF_overview.md b/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/DBE_PERF_overview.md index af1d447d..0950d359 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/DBE_PERF_overview.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/DBE_PERF_overview.md @@ -33,7 +33,7 @@ ERROR: only system/monitor admin can query unique sql view 使用omm用户将需要访问dbe_perf模式的用户更改为监控管理员,如: ```sql -mogdb=# ALTER USER mogdb_usr MONADMIN; +MogDB=# ALTER USER mogdb_usr MONADMIN; ALTER ROLE ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/session-thread/GLOBAL_SESSION_STAT_ACTIVITY.md b/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/session-thread/GLOBAL_SESSION_STAT_ACTIVITY.md index 8ae78b77..a02d6e91 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/session-thread/GLOBAL_SESSION_STAT_ACTIVITY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/session-thread/GLOBAL_SESSION_STAT_ACTIVITY.md @@ -29,7 +29,7 @@ date: 2021-04-19 | state_change | timestampwith time zone | 上次状态改变的时间。 | | waiting | boolean | 如果后台当前正等待锁则为true。 | | enqueue | text | 该字段不支持。 | -| state | text | 该后台当前总体状态。可能值是:
- active:后台正在执行一个查询。
- idle:后台正在等待一个新的客户端命令。
- idle in transaction:后台在事务中,但是目前无法执行查询。
- idle in transaction (aborted):这个状态除说明事务中有某个语句导致了错误外,类似于idle in transaction。
- fastpath function call:后台正在执行一个fast-path函数。
- disabled:如果后台禁用track_activities,则报告这个状态。
说明:
普通用户只能查看到自己帐户所对应的会话状态。即其他帐户的state信息为空。例如以judy用户连接数据库后,在pg_stat_activity中查看到的普通用户joe及初始用户omm的state信息为空。
mogdb=# SELECT datname, usename, usesysid,state,pid FROM pg_stat_activity;
datname \| usename \| usesysid \| state \| pid
----+---+----+---+------
postgres \| omm \| 10 \| \|139968752121616
postgres \| omm \| 10 \| \|139968903116560
db_tpcds \| judy \| 16398 \| active \|139968391403280
postgres \| omm \| 10 \| \|139968643069712
postgres \| omm \| 10 \| \|139968680818448
postgres \| joe \| 16390 \| \|139968563377936
(6 rows) | +| state | text | 该后台当前总体状态。可能值是:
- active:后台正在执行一个查询。
- idle:后台正在等待一个新的客户端命令。
- idle in transaction:后台在事务中,但是目前无法执行查询。
- idle in transaction (aborted):这个状态除说明事务中有某个语句导致了错误外,类似于idle in transaction。
- fastpath function call:后台正在执行一个fast-path函数。
- disabled:如果后台禁用track_activities,则报告这个状态。
说明:
普通用户只能查看到自己帐户所对应的会话状态。即其他帐户的state信息为空。例如以judy用户连接数据库后,在pg_stat_activity中查看到的普通用户joe及初始用户omm的state信息为空。
MogDB=# SELECT datname, usename, usesysid,state,pid FROM pg_stat_activity;
datname \| usename \| usesysid \| state \| pid
----+---+----+---+------
postgres \| omm \| 10 \| \|139968752121616
postgres \| omm \| 10 \| \|139968903116560
db_tpcds \| judy \| 16398 \| active \|139968391403280
postgres \| omm \| 10 \| \|139968643069712
postgres \| omm \| 10 \| \|139968680818448
postgres \| joe \| 16390 \| \|139968563377936
(6 rows) | | resource_pool | name | 用户使用的资源池。 | | query_id | bigint | 查询语句的ID。 | | query | text | 该后台的最新查询。如果state状态是active(活跃的),此字段显示当前正在执行的查询。所有其他情况表示上一个查询。 | diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/session-thread/SESSION_STAT_ACTIVITY.md b/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/session-thread/SESSION_STAT_ACTIVITY.md index 9cb24f1c..55bb3f26 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/session-thread/SESSION_STAT_ACTIVITY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PERF/session-thread/SESSION_STAT_ACTIVITY.md @@ -28,7 +28,7 @@ date: 2021-04-19 | state_change | timestampwith time zone | 上次状态改变的时间。 | | waiting | boolean | 如果后台当前正等待锁则为true。 | | enqueue | text | 该字段不支持。 | -| state | text | 该后台当前总体状态。可能值是:
- active:后台正在执行一个查询。
- idle:后台正在等待一个新的客户端命令。
- idle in transaction:后台在事务中,但是目前无法执行查询。
- idle in transaction (aborted):这个状态除说明事务中有某个语句导致了错误外,类似于idle in transaction。
- fastpath function call:后台正在执行一个fast-path函数。
- disabled:如果后台禁用track_activities,则报告这个状态。
说明:
普通用户只能查看到自己帐户所对应的会话状态。即其他帐户的state信息为空。例如以judy用户连接数据库后,在pg_stat_activity中查看到的普通用户joe及初始用户omm的stat信息为空。
mogdb=# SELECT datname, usename, usesysid,state,pid FROM pg_stat_activity;
datname \| usename \| usesysid \| state \| pid
----+---+----+---+------
postgres \| omm \| 10 \| \|139968752121616
postgres \| omm \| 10 \| \|139968903116560
db_tpcds \| judy \| 16398 \| active \|139968391403280
postgres \| omm \| 10 \| \|139968643069712
postgres \| omm \| 10 \| \|139968680818448
postgres \| joe \| 16390 \| \|139968563377936
(6 rows) | +| state | text | 该后台当前总体状态。可能值是:
- active:后台正在执行一个查询。
- idle:后台正在等待一个新的客户端命令。
- idle in transaction:后台在事务中,但是目前无法执行查询。
- idle in transaction (aborted):这个状态除说明事务中有某个语句导致了错误外,类似于idle in transaction。
- fastpath function call:后台正在执行一个fast-path函数。
- disabled:如果后台禁用track_activities,则报告这个状态。
说明:
普通用户只能查看到自己帐户所对应的会话状态。即其他帐户的state信息为空。例如以judy用户连接数据库后,在pg_stat_activity中查看到的普通用户joe及初始用户omm的stat信息为空。
MogDB=# SELECT datname, usename, usesysid,state,pid FROM pg_stat_activity;
datname \| usename \| usesysid \| state \| pid
----+---+----+---+------
postgres \| omm \| 10 \| \|139968752121616
postgres \| omm \| 10 \| \|139968903116560
db_tpcds \| judy \| 16398 \| active \|139968391403280
postgres \| omm \| 10 \| \|139968643069712
postgres \| omm \| 10 \| \|139968680818448
postgres \| joe \| 16390 \| \|139968563377936
(6 rows) | | resource_pool | name | 用户使用的资源池。 | | query_id | bigint | 查询语句的ID。 | | query | text | 该后台的最新查询。如果state状态是active(活跃的),此字段显示当前正在执行的查询。所有其他情况表示上一个查询。 | diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PLDEBUGGER-schema/overview-of-DBE_PLDEBUGGER-schema.md b/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PLDEBUGGER-schema/overview-of-DBE_PLDEBUGGER-schema.md index 4ba6aa21..adc81d33 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PLDEBUGGER-schema/overview-of-DBE_PLDEBUGGER-schema.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/schema/DBE_PLDEBUGGER-schema/overview-of-DBE_PLDEBUGGER-schema.md @@ -24,7 +24,7 @@ GRANT gs_role_pldebugger to user; 通过PG_PROC,查找到待调试存储过程的oid,并执行DBE_PLDEBUGGER.turn_on(oid)。本客户端就会作为server端使用。 ```sql - mogdb=# CREATE OR REPLACE PROCEDURE test_debug ( IN x INT) + MogDB=# CREATE OR REPLACE PROCEDURE test_debug ( IN x INT) AS BEGIN INSERT INTO t1 (a) VALUES (x); @@ -32,12 +32,12 @@ GRANT gs_role_pldebugger to user; END; / CREATE PROCEDURE - mogdb=# SELECT OID FROM PG_PROC WHERE PRONAME='test_debug'; + MogDB=# SELECT OID FROM PG_PROC WHERE PRONAME='test_debug'; oid ------- 16389 (1 row) - mogdb=# SELECT * FROM DBE_PLDEBUGGER.turn_on(16389); + MogDB=# SELECT * FROM DBE_PLDEBUGGER.turn_on(16389); nodename | port ----------+------ datanode | 0 @@ -49,13 +49,13 @@ GRANT gs_role_pldebugger to user; server端执行存储过程,会在存储过程内第一条SQL语句前hang住,等待debug端发送的调试消息。仅支持直接执行存储过程的调试,不支持通过trigger调用执行的存储过程调试。 ```sql - mogdb=# call test_debug(1); + MogDB=# call test_debug(1); ``` 再起一个客户端,作为debug端,通过turn_on返回的数据,调用DBE_PLDEBUGGER.attach关联到该存储过程上进行调试。 ```sql - mogdb=# SELECT * FROM DBE_PLDEBUGGER.attach('datanode',0); + MogDB=# SELECT * FROM DBE_PLDEBUGGER.attach('datanode',0); funcoid | funcname | lineno | query ---------+------------+--------+---------------------------------- 16389 | test_debug | 3 | INSERT INTO t1 (a) VALUES (x); @@ -65,7 +65,7 @@ GRANT gs_role_pldebugger to user; 在执行attach的客户端调试,执行下一条statement。 ```sql - mogdb=# SELECT * FROM DBE_PLDEBUGGER.next(); + MogDB=# SELECT * FROM DBE_PLDEBUGGER.next(); funcoid | funcname | lineno | query ---------+------------+--------+---------------------- 16389 | test_debug | 0 | [EXECUTION FINISHED] @@ -75,17 +75,17 @@ GRANT gs_role_pldebugger to user; 在执行attach的客户端调试,可以执行以下变量操作。 ```sql - mogdb=# SELECT * FROM DBE_PLDEBUGGER.info_locals(); --打印全部变量 + MogDB=# SELECT * FROM DBE_PLDEBUGGER.info_locals(); --打印全部变量 varname | vartype | value | package_name | isconst ---------+---------+-------+--------------+--------- x | int4 | 1 | | f (1 row) - mogdb=# SELECT * FROM DBE_PLDEBUGGER.set_var('x', 2); --变量赋值 + MogDB=# SELECT * FROM DBE_PLDEBUGGER.set_var('x', 2); --变量赋值 set_var --------- t (1 row) - mogdb=# SELECT * FROM DBE_PLDEBUGGER.print_var('x'); --打印单个变量 + MogDB=# SELECT * FROM DBE_PLDEBUGGER.print_var('x'); --打印单个变量 varname | vartype | value | package_name | isconst ---------+---------+-------+--------------+--------- x | int4 | 2 | | f @@ -95,7 +95,7 @@ GRANT gs_role_pldebugger to user; 直接执行完成当前正在调试的存储过程。 ```sql - mogdb=# SELECT * FROM DBE_PLDEBUGGER.continue(); + MogDB=# SELECT * FROM DBE_PLDEBUGGER.continue(); funcoid | funcname | lineno | query ---------+------------+--------+---------------------- 16389 | test_debug | 0 | [EXECUTION FINISHED] @@ -105,7 +105,7 @@ GRANT gs_role_pldebugger to user; 直接退出当前正在调试的存储过程,不执行尚未执行的语句。 ```sql - mogdb=# SELECT * FROM DBE_PLDEBUGGER.abort(); + MogDB=# SELECT * FROM DBE_PLDEBUGGER.abort(); abort ------- t diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/3-constant-and-macro.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/3-constant-and-macro.md index 6afdb0e1..2f213d83 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/3-constant-and-macro.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/3-constant-and-macro.md @@ -13,12 +13,12 @@ MogDB支持的常量和宏请参见[表1](#constants)。 | 参数 | 描述 | 示例 | | :------------------ | :-------------- | :----------------------------------------- | -| CURRENT_CATALOG | 当前数据库 | `mogdb=# SELECT CURRENT_CATALOG; current_database ------------------- postgres (1 row)` | -| CURRENT_ROLE | 当前用户 | `mogdb=# SELECT CURRENT_ROLE; current_user ------------------- omm (1 row)` | -| CURRENT_SCHEMA | 当前数据库模式 | `mogdb=# SELECT CURRENT_SCHEMA; current_schema ------------------- public (1 row)` | -| CURRENT_USER | 当前用户 | `mogdb=# SELECT CURRENT_USER; current_user ------------------- omm (1 row)` | -| LOCALTIMESTAMP | 当前会话时间(无时区) | `mogdb=# SELECT LOCALTIMESTAMP; timestamp ------------------- 2015-10-10 15:37:30.968538 (1 row)` | +| CURRENT_CATALOG | 当前数据库 | `MogDB=# SELECT CURRENT_CATALOG; current_database ------------------- postgres (1 row)` | +| CURRENT_ROLE | 当前用户 | `MogDB=# SELECT CURRENT_ROLE; current_user ------------------- omm (1 row)` | +| CURRENT_SCHEMA | 当前数据库模式 | `MogDB=# SELECT CURRENT_SCHEMA; current_schema ------------------- public (1 row)` | +| CURRENT_USER | 当前用户 | `MogDB=# SELECT CURRENT_USER; current_user ------------------- omm (1 row)` | +| LOCALTIMESTAMP | 当前会话时间(无时区) | `MogDB=# SELECT LOCALTIMESTAMP; timestamp ------------------- 2015-10-10 15:37:30.968538 (1 row)` | | NULL | 空值 | - | -| SESSION_USER | 当前系统用户 | `mogdb=# SELECT SESSION_USER; session_user ------------------- omm (1 row)` | -| SYSDATE | 当前系统日期 | `mogdb=# SELECT SYSDATE; sysdate ------------------- 2015-10-10 15:48:53 (1 row)` | -| USER | 当前用户,此用户为CURRENT_USER的别名。 | `mogdb=# SELECT USER; current_user ------------------- omm (1 row)` | +| SESSION_USER | 当前系统用户 | `MogDB=# SELECT SESSION_USER; session_user ------------------- omm (1 row)` | +| SYSDATE | 当前系统日期 | `MogDB=# SELECT SYSDATE; sysdate ------------------- 2015-10-10 15:48:53 (1 row)` | +| USER | 当前用户,此用户为CURRENT_USER的别名。 | `MogDB=# SELECT USER; current_user ------------------- omm (1 row)` | diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/1-simple-expressions.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/1-simple-expressions.md index 71269c96..c13008a4 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/1-simple-expressions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/1-simple-expressions.md @@ -70,61 +70,61 @@ select * from Students where rownum <= 10; ## 示例 ```sql -mogdb=# SELECT 2 BETWEEN 1 AND 3 AS RESULT; +MogDB=# SELECT 2 BETWEEN 1 AND 3 AS RESULT; result ---------- t (1 row) -mogdb=# SELECT 2 >= 1 AND 2 <= 3 AS RESULT; +MogDB=# SELECT 2 >= 1 AND 2 <= 3 AS RESULT; result ---------- t (1 row) -mogdb=# SELECT 2 NOT BETWEEN 1 AND 3 AS RESULT; +MogDB=# SELECT 2 NOT BETWEEN 1 AND 3 AS RESULT; result ---------- f (1 row) -mogdb=# SELECT 2 < 1 OR 2 > 3 AS RESULT; +MogDB=# SELECT 2 < 1 OR 2 > 3 AS RESULT; result ---------- f (1 row) -mogdb=# SELECT 2+2 IS NULL AS RESULT; +MogDB=# SELECT 2+2 IS NULL AS RESULT; result ---------- f (1 row) -mogdb=# SELECT 2+2 IS NOT NULL AS RESULT; +MogDB=# SELECT 2+2 IS NOT NULL AS RESULT; result ---------- t (1 row) -mogdb=# SELECT 2+2 ISNULL AS RESULT; +MogDB=# SELECT 2+2 ISNULL AS RESULT; result ---------- f (1 row) -mogdb=# SELECT 2+2 NOTNULL AS RESULT; +MogDB=# SELECT 2+2 NOTNULL AS RESULT; result ---------- t (1 row) -mogdb=# SELECT 2+2 IS DISTINCT FROM NULL AS RESULT; +MogDB=# SELECT 2+2 IS DISTINCT FROM NULL AS RESULT; result ---------- t (1 row) -mogdb=# SELECT 2+2 IS NOT DISTINCT FROM NULL AS RESULT; +MogDB=# SELECT 2+2 IS NOT DISTINCT FROM NULL AS RESULT; result ---------- f diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/2-condition-expressions.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/2-condition-expressions.md index 895a8aca..fa41d928 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/2-condition-expressions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/2-condition-expressions.md @@ -30,11 +30,11 @@ date: 2021-05-17 示例: ```sql - mogdb=# CREATE TABLE tpcds.case_when_t1(CW_COL1 INT); + MogDB=# CREATE TABLE tpcds.case_when_t1(CW_COL1 INT); - mogdb=# INSERT INTO tpcds.case_when_t1 VALUES (1), (2), (3); + MogDB=# INSERT INTO tpcds.case_when_t1 VALUES (1), (2), (3); - mogdb=# SELECT * FROM tpcds.case_when_t1; + MogDB=# SELECT * FROM tpcds.case_when_t1; cw_col1 ------- 1 @@ -42,7 +42,7 @@ date: 2021-05-17 3 (3 rows) - mogdb=# SELECT CW_COL1, CASE WHEN CW_COL1=1 THEN 'one' WHEN CW_COL1=2 THEN 'two' ELSE 'other' END FROM tpcds.case_when_t1 ORDER BY 1; + MogDB=# SELECT CW_COL1, CASE WHEN CW_COL1=1 THEN 'one' WHEN CW_COL1=2 THEN 'two' ELSE 'other' END FROM tpcds.case_when_t1 ORDER BY 1; cw_col1 | case ---------+------- 1 | one @@ -50,7 +50,7 @@ date: 2021-05-17 3 | other (3 rows) - mogdb=# DROP TABLE tpcds.case_when_t1; + MogDB=# DROP TABLE tpcds.case_when_t1; ``` - DECODE @@ -66,7 +66,7 @@ date: 2021-05-17 示例请参见[条件表达式函数](22-conditional-expressions-functions)。 ```sql - mogdb=# SELECT DECODE('A','A',1,'B',2,0); + MogDB=# SELECT DECODE('A','A',1,'B',2,0); case ------ 1 @@ -86,15 +86,15 @@ date: 2021-05-17 示例 ```sql - mogdb=# CREATE TABLE tpcds.c_tabl(description varchar(10), short_description varchar(10), last_value varchar(10)) + MogDB=# CREATE TABLE tpcds.c_tabl(description varchar(10), short_description varchar(10), last_value varchar(10)) ; - mogdb=# INSERT INTO tpcds.c_tabl VALUES('abc', 'efg', '123'); - mogdb=# INSERT INTO tpcds.c_tabl VALUES(NULL, 'efg', '123'); + MogDB=# INSERT INTO tpcds.c_tabl VALUES('abc', 'efg', '123'); + MogDB=# INSERT INTO tpcds.c_tabl VALUES(NULL, 'efg', '123'); - mogdb=# INSERT INTO tpcds.c_tabl VALUES(NULL, NULL, '123'); + MogDB=# INSERT INTO tpcds.c_tabl VALUES(NULL, NULL, '123'); - mogdb=# SELECT description, short_description, last_value, COALESCE(description, short_description, last_value) FROM tpcds.c_tabl ORDER BY 1, 2, 3, 4; + MogDB=# SELECT description, short_description, last_value, COALESCE(description, short_description, last_value) FROM tpcds.c_tabl ORDER BY 1, 2, 3, 4; description | short_description | last_value | coalesce -------------+-------------------+------------+---------- abc | efg | 123 | abc @@ -102,13 +102,13 @@ date: 2021-05-17 | | 123 | 123 (3 rows) - mogdb=# DROP TABLE tpcds.c_tabl; + MogDB=# DROP TABLE tpcds.c_tabl; ``` 如果description不为NULL,则返回description的值,否则计算下一个参数short_description;如果short_description不为NULL,则返回short_description的值,否则计算下一个参数last_value;如果last_value不为NULL,则返回last_value的值,否则返回(none)。 ```sql - mogdb=# SELECT COALESCE(NULL,'Hello World'); + MogDB=# SELECT COALESCE(NULL,'Hello World'); coalesce --------------- Hello World @@ -128,28 +128,28 @@ date: 2021-05-17 示例 ```sql - mogdb=# CREATE TABLE tpcds.null_if_t1 ( + MogDB=# CREATE TABLE tpcds.null_if_t1 ( NI_VALUE1 VARCHAR(10), NI_VALUE2 VARCHAR(10) ); - mogdb=# INSERT INTO tpcds.null_if_t1 VALUES('abc', 'abc'); - mogdb=# INSERT INTO tpcds.null_if_t1 VALUES('abc', 'efg'); + MogDB=# INSERT INTO tpcds.null_if_t1 VALUES('abc', 'abc'); + MogDB=# INSERT INTO tpcds.null_if_t1 VALUES('abc', 'efg'); - mogdb=# SELECT NI_VALUE1, NI_VALUE2, NULLIF(NI_VALUE1, NI_VALUE2) FROM tpcds.null_if_t1 ORDER BY 1, 2, 3; + MogDB=# SELECT NI_VALUE1, NI_VALUE2, NULLIF(NI_VALUE1, NI_VALUE2) FROM tpcds.null_if_t1 ORDER BY 1, 2, 3; ni_value1 | ni_value2 | nullif -----------+-----------+-------- abc | abc | abc | efg | abc (2 rows) - mogdb=# DROP TABLE tpcds.null_if_t1; + MogDB=# DROP TABLE tpcds.null_if_t1; ``` 如果value1等于value2则返回NULL,否则返回value1。 ```sql - mogdb=# SELECT NULLIF('Hello','Hello World'); + MogDB=# SELECT NULLIF('Hello','Hello World'); nullif -------- Hello @@ -167,7 +167,7 @@ date: 2021-05-17 从一个任意数字表达式的列表里选取最大的数值。 ```sql - mogdb=# SELECT greatest(9000,155555,2.01); + MogDB=# SELECT greatest(9000,155555,2.01); greatest ---------- 155555 @@ -186,7 +186,7 @@ date: 2021-05-17 列表中的NULL值将被忽略。只有所有表达式的结果都是NULL的时候,结果才是NULL。 ```sql - mogdb=# SELECT least(9000,2); + MogDB=# SELECT least(9000,2); least ------- 2 @@ -208,7 +208,7 @@ date: 2021-05-17 示例: ```sql - mogdb=# SELECT nvl(null,1); + MogDB=# SELECT nvl(null,1); nvl ----- 1 @@ -217,7 +217,7 @@ date: 2021-05-17 ``` ```sql - mogdb=# SELECT nvl ('Hello World' ,1); + MogDB=# SELECT nvl ('Hello World' ,1); nvl --------------- Hello World diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/3-subquery-expressions.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/3-subquery-expressions.md index 9696d1de..8858895f 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/3-subquery-expressions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/3-subquery-expressions.md @@ -24,7 +24,7 @@ date: 2021-05-17 示例: ```sql - mogdb=# SELECT sr_reason_sk,sr_customer_sk FROM tpcds.store_returns WHERE EXISTS (SELECT d_dom FROM tpcds.date_dim WHERE d_dom = store_returns.sr_reason_sk and sr_customer_sk <10); + MogDB=# SELECT sr_reason_sk,sr_customer_sk FROM tpcds.store_returns WHERE EXISTS (SELECT d_dom FROM tpcds.date_dim WHERE d_dom = store_returns.sr_reason_sk and sr_customer_sk <10); sr_reason_sk | sr_customer_sk --------------+---------------- 13 | 2 @@ -60,7 +60,7 @@ date: 2021-05-17 示例: ```sql - mogdb=# SELECT sr_reason_sk,sr_customer_sk FROM tpcds.store_returns WHERE sr_customer_sk IN (SELECT d_dom FROM tpcds.date_dim WHERE d_dom < 10); + MogDB=# SELECT sr_reason_sk,sr_customer_sk FROM tpcds.store_returns WHERE sr_customer_sk IN (SELECT d_dom FROM tpcds.date_dim WHERE d_dom < 10); sr_reason_sk | sr_customer_sk --------------+---------------- 10 | 3 @@ -98,7 +98,7 @@ date: 2021-05-17 示例: ```sql - mogdb=# SELECT sr_reason_sk,sr_customer_sk FROM tpcds.store_returns WHERE sr_customer_sk < ANY (SELECT d_dom FROM tpcds.date_dim WHERE d_dom < 10); + MogDB=# SELECT sr_reason_sk,sr_customer_sk FROM tpcds.store_returns WHERE sr_customer_sk < ANY (SELECT d_dom FROM tpcds.date_dim WHERE d_dom < 10); sr_reason_sk | sr_customer_sk --------------+---------------- 26 | 3 @@ -136,7 +136,7 @@ date: 2021-05-17 示例: ```sql - mogdb=# SELECT sr_reason_sk,sr_customer_sk FROM tpcds.store_returns WHERE sr_customer_sk < all(SELECT d_dom FROM tpcds.date_dim WHERE d_dom < 10); + MogDB=# SELECT sr_reason_sk,sr_customer_sk FROM tpcds.store_returns WHERE sr_customer_sk < all(SELECT d_dom FROM tpcds.date_dim WHERE d_dom < 10); sr_reason_sk | sr_customer_sk --------------+---------------- (0 rows) diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/4-array-expressions.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/4-array-expressions.md index a08bf6f0..ba703d78 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/4-array-expressions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/4-array-expressions.md @@ -16,7 +16,7 @@ expression **IN** (value [, …]) 示例如下: ```sql -mogdb=# SELECT 8000+500 IN (10000, 9000) AS RESULT; +MogDB=# SELECT 8000+500 IN (10000, 9000) AS RESULT; result ---------- f @@ -34,7 +34,7 @@ expression **NOT IN** (value [, …]) 示例如下: ```sql -mogdb=# SELECT 8000+500 NOT IN (10000, 9000) AS RESULT; +MogDB=# SELECT 8000+500 NOT IN (10000, 9000) AS RESULT; result ---------- t @@ -52,12 +52,12 @@ expression operator **ANY** (array expression)_ expression operator **SOME** (array expression)_ ```sql -mogdb=# SELECT 8000+500 < SOME (array[10000,9000]) AS RESULT; +MogDB=# SELECT 8000+500 < SOME (array[10000,9000]) AS RESULT; result ---------- t (1 row) -mogdb=# SELECT 8000+500 < ANY (array[10000,9000]) AS RESULT; +MogDB=# SELECT 8000+500 < ANY (array[10000,9000]) AS RESULT; result ---------- t @@ -85,7 +85,7 @@ expression operator **ALL** (array expression) - 如果数组表达式产生一个NULL数组,则ALL的结果为NULL。如果左边表达式的值为NULL ,则ALL的结果通常也为NULL(某些不严格的比较操作符可能得到不同的结果)。另外,如果右边的数组表达式中包含null元素并且比较结果没有假值,则ALL的结果将是NULL(某些不严格的比较操作符可能得到不同的结果), 而不是真。这样的处理方式和SQL返回空值的布尔组合规则是一致的。 ```sql - mogdb=# SELECT 8000+500 < ALL (array[10000,9000]) AS RESULT; + MogDB=# SELECT 8000+500 < ALL (array[10000,9000]) AS RESULT; result ---------- t diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/5-row-expressions.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/5-row-expressions.md index 0d322821..8e82d445 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/5-row-expressions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/4-expressions/5-row-expressions.md @@ -20,7 +20,7 @@ date: 2021-05-17 示例: ```sql -mogdb=# SELECT ROW(1,2,NULL) < ROW(1,3,0) AS RESULT; +MogDB=# SELECT ROW(1,2,NULL) < ROW(1,3,0) AS RESULT; result ---------- t diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/1-type-conversion-overview.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/1-type-conversion-overview.md index b94bc7f5..4cee96e2 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/1-type-conversion-overview.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/1-type-conversion-overview.md @@ -14,7 +14,7 @@ date: 2021-05-17 MogDB扫描/分析器只将词法元素分解成五个基本种类:整数、浮点数、字符串、标识符和关键字。大多数非数字类型首先表现为字符串。SQL语言的定义允许将常量字符串声明为具体的类型。例,下面查询: ```sql -mogdb=# SELECT text 'Origin' AS "label", point '(0,0)' AS "value"; +MogDB=# SELECT text 'Origin' AS "label", point '(0,0)' AS "value"; label | value --------+------- Origin | (0,0) diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/2-operators.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/2-operators.md index 5812536c..3e735a24 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/2-operators.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/2-operators.md @@ -27,7 +27,7 @@ date: 2021-05-17 示例1:阶乘操作符类型解析。在系统表中里只有一个阶乘操作符(后缀!),它以bigint作为参数。扫描器给下面查询表达式的参数赋予bigint的初始类型: ```sql -mogdb=# SELECT 40 ! AS "40 factorial"; +MogDB=# SELECT 40 ! AS "40 factorial"; 40 factorial -------------------------------------------------- @@ -38,13 +38,13 @@ mogdb=# SELECT 40 ! AS "40 factorial"; 分析器对参数做类型转换,查询等效于: ```sql -mogdb=# SELECT CAST(40 AS bigint) ! AS "40 factorial"; +MogDB=# SELECT CAST(40 AS bigint) ! AS "40 factorial"; ``` 示例2:字符串连接操作符类型分析。一种字符串风格的语法既可以用于字符串也可以用于复杂的扩展类型。未声明类型的字符串将被所有可能的候选操作符匹配。有一个未声明的参数的例子: ```sql -mogdb=# SELECT text 'abc' || 'def' AS "text and unknown"; +MogDB=# SELECT text 'abc' || 'def' AS "text and unknown"; text and unknown ------------------ abcdef @@ -56,7 +56,7 @@ mogdb=# SELECT text 'abc' || 'def' AS "text and unknown"; 下面是连接两个未声明类型的值: ```sql -mogdb=# SELECT 'abc' || 'def' AS "unspecified"; +MogDB=# SELECT 'abc' || 'def' AS "unspecified"; unspecified ------------- abcdef @@ -69,7 +69,7 @@ mogdb=# SELECT 'abc' || 'def' AS "unspecified"; 示例3:绝对值和取反操作符类型分析。MogDB操作符表里面有几条记录对应于前缀操作符@,它们都用于为各种数值类型实现绝对值操作。其中之一用于float8类型,它是数值类型范畴中的首选类型。因此,在面对unknown输入的时候, MogDB会使用该类型: ```sql -mogdb=# SELECT @ '-4.5' AS "abs"; +MogDB=# SELECT @ '-4.5' AS "abs"; abs ----- 4.5 @@ -81,7 +81,7 @@ mogdb=# SELECT @ '-4.5' AS "abs"; 示例4:数组包含操作符类型分析。这里是解决一个操作符带有一个已知和一个未知类型输入的例子: ```sql -mogdb=# SELECT array[1,2] <@ '{1,2,3}' as "is subset"; +MogDB=# SELECT array[1,2] <@ '{1,2,3}' as "is subset"; is subset ----------- t diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/3-functions.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/3-functions.md index d94e7cd0..1dc39d08 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/3-functions.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/3-functions.md @@ -34,7 +34,7 @@ date: 2021-05-17 示例1:圆整函数参数类型解析。只有一个round函数有两个参数(第一个是numeric,第二个是integer)。所以下面的查询自动把第一个类型为integer的参数转换成numeric类型。 ```sql -mogdb=# SELECT round(4, 4); +MogDB=# SELECT round(4, 4); round -------- 4.0000 @@ -44,19 +44,19 @@ mogdb=# SELECT round(4, 4); 实际上它被分析器转换成: ```sql -mogdb=# SELECT round(CAST (4 AS numeric), 4); +MogDB=# SELECT round(CAST (4 AS numeric), 4); ``` 因为带小数点的数值常量初始时被赋予numeric类型,因此下面的查询将不需要类型转换,并且可能会略微高效一些: ```sql -mogdb=# SELECT round(4.0, 4); +MogDB=# SELECT round(4.0, 4); ``` 示例2:子字符串函数类型解析。有好几个substr函数,其中一个接受text和integer类型。如果用一个未声明类型的字符串常量调用它,系统将选择接受string类型范畴的首选类型(也就是text类型)的候选函数。 ```sql -mogdb=# SELECT substr('1234', 3); +MogDB=# SELECT substr('1234', 3); substr -------- 34 @@ -66,7 +66,7 @@ mogdb=# SELECT substr('1234', 3); 如果该字符串声明为varchar类型,就像从表中取出来的数据一样,分析器将试着将其转换成text类型: ```sql -mogdb=# SELECT substr(varchar '1234', 3); +MogDB=# SELECT substr(varchar '1234', 3); substr -------- 34 @@ -76,7 +76,7 @@ mogdb=# SELECT substr(varchar '1234', 3); 被分析器转换后实际上变成: ```sql -mogdb=# SELECT substr(CAST (varchar '1234' AS text), 3); +MogDB=# SELECT substr(CAST (varchar '1234' AS text), 3); ``` > ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif) **说明:** @@ -85,7 +85,7 @@ mogdb=# SELECT substr(CAST (varchar '1234' AS text), 3); 而且,如果以integer为参数调用函数,分析器将试图将其转换成text类型: ```sql -mogdb=# SELECT substr(1234, 3); +MogDB=# SELECT substr(1234, 3); substr -------- 34 @@ -95,7 +95,7 @@ substr 被分析器转换后实际上变成: ```sql -mogdb=# SELECT substr(CAST (1234 AS text), 3); +MogDB=# SELECT substr(CAST (1234 AS text), 3); substr -------- 34 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/4-value-storage.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/4-value-storage.md index da6d1dd4..b9caa3db 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/4-value-storage.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/4-value-storage.md @@ -18,18 +18,18 @@ date: 2021-05-17 character存储类型转换。对一个目标列定义为character(20)的语句,下面的语句显示存储值的长度正确: ```sql -mogdb=# CREATE TABLE tpcds.value_storage_t1 ( +MogDB=# CREATE TABLE tpcds.value_storage_t1 ( VS_COL1 CHARACTER(20) ); -mogdb=# INSERT INTO tpcds.value_storage_t1 VALUES('abcdef'); -mogdb=# SELECT VS_COL1, octet_length(VS_COL1) FROM tpcds.value_storage_t1; +MogDB=# INSERT INTO tpcds.value_storage_t1 VALUES('abcdef'); +MogDB=# SELECT VS_COL1, octet_length(VS_COL1) FROM tpcds.value_storage_t1; vs_col1 | octet_length ----------------------+-------------- abcdef | 20 (1 row) ) -mogdb=# DROP TABLE tpcds.value_storage_t1; +MogDB=# DROP TABLE tpcds.value_storage_t1; ``` > ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif) **说明:** diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/5-union-case-and-related-constructs.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/5-union-case-and-related-constructs.md index 2fea7dbb..bfae9274 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/5-union-case-and-related-constructs.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/5-type-conversion/5-union-case-and-related-constructs.md @@ -65,7 +65,7 @@ ORA兼容模式,开启 set sql_beta_feature = 'a_style_coerce'; 参数的情 示例1:Union中的待定类型解析。这里,unknown类型文本'b'将被解析成text类型。 ```sql -mogdb=# SELECT text 'a' AS "text" UNION SELECT 'b'; +MogDB=# SELECT text 'a' AS "text" UNION SELECT 'b'; text ------ a @@ -76,7 +76,7 @@ mogdb=# SELECT text 'a' AS "text" UNION SELECT 'b'; 示例2:简单Union中的类型解析。文本1.2的类型为numeric,而且integer类型的1可以隐含地转换为numeric,因此使用这个类型。 ```sql -mogdb=# SELECT 1.2 AS "numeric" UNION SELECT 1; +MogDB=# SELECT 1.2 AS "numeric" UNION SELECT 1; numeric --------- 1 @@ -87,7 +87,7 @@ mogdb=# SELECT 1.2 AS "numeric" UNION SELECT 1; 示例3:转置Union中的类型解析。这里,因为类型real不能被隐含转换成integer,但是integer可以隐含转换成real,那么联合的结果类型将是real。 ```sql -mogdb=# SELECT 1 AS "real" UNION SELECT CAST('2.2' AS REAL); +MogDB=# SELECT 1 AS "real" UNION SELECT CAST('2.2' AS REAL); real ------ 1 @@ -99,10 +99,10 @@ mogdb=# SELECT 1 AS "real" UNION SELECT CAST('2.2' AS REAL); ```sql --在A模式下,创建A兼容模式的数据库a_1。 -mogdb=# CREATE DATABASE a_1 dbcompatibility = 'A'; +MogDB=# CREATE DATABASE a_1 dbcompatibility = 'A'; --切换数据库为a_1。 -mogdb=# \c a_1 +MogDB=# \c a_1 --创建表t1。 a_1=# CREATE TABLE t1(a int, b varchar(10)); @@ -121,10 +121,10 @@ a_1=# DROP TABLE t1; a_1=# \c mogdb --在TD模式下,创建TD兼容模式的数据库td_1。 -mogdb=# CREATE DATABASE td_1 dbcompatibility = 'C'; +MogDB=# CREATE DATABASE td_1 dbcompatibility = 'C'; --切换数据库为td_1。 -mogdb=# \c td_1 +MogDB=# \c td_1 --创建表t2。 td_1=# CREATE TABLE t2(a int, b varchar(10)); @@ -146,8 +146,8 @@ td_1=# DROP TABLE t2; td_1=# \c mogdb --删除A和TD模式的数据库。 -mogdb=# DROP DATABASE a_1; -mogdb=# DROP DATABASE td_1; +MogDB=# DROP DATABASE a_1; +MogDB=# DROP DATABASE td_1; ``` 示例5:ORA模式下,将整个表达式最终的返回值类型定为result1的数据类型,或者与result1同类型范畴的更高精度的数据类型。 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/1-introduction/2-what-is-a-document.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/1-introduction/2-what-is-a-document.md index 0f1388ec..98ac8088 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/1-introduction/2-what-is-a-document.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/1-introduction/2-what-is-a-document.md @@ -12,7 +12,7 @@ date: 2021-05-17 在MogDB中,文档通常是一个数据库表中一行的文本字段,或者这些字段的可能组合(级联)。文档可能存储在多个表中或者需动态获取。换句话说,一个文档由被索引化的不同部分构成,因此无法存储为一个整体。比如: ```sql -mogdb=# SELECT d_dow || '-' || d_dom || '-' || d_fy_week_seq AS identify_serials FROM tpcds.date_dim WHERE d_fy_week_seq = 1; +MogDB=# SELECT d_dow || '-' || d_dom || '-' || d_fy_week_seq AS identify_serials FROM tpcds.date_dim WHERE d_fy_week_seq = 1; identify_serials ------------------ 5-6-1 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/1-introduction/3-basic-text-matching.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/1-introduction/3-basic-text-matching.md index 06b2da5e..c03e9e24 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/1-introduction/3-basic-text-matching.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/1-introduction/3-basic-text-matching.md @@ -10,12 +10,12 @@ date: 2021-05-17 MogDB的全文检索基于匹配算子@@,当一个tsvector(document)匹配到一个tsquery(query)时,则返回true。其中,tsvector(document)和tsquery(query)两种数据类型可以任意排序。 ```sql -mogdb=# SELECT 'a fat cat sat on a mat and ate a fat rat'::tsvector @@ 'cat & rat'::tsquery AS RESULT; +MogDB=# SELECT 'a fat cat sat on a mat and ate a fat rat'::tsvector @@ 'cat & rat'::tsquery AS RESULT; result ---------- t (1 row) -mogdb=# SELECT 'fat & cow'::tsquery @@ 'a fat cat sat on a mat and ate a fat rat'::tsvector AS RESULT; +MogDB=# SELECT 'fat & cow'::tsquery @@ 'a fat cat sat on a mat and ate a fat rat'::tsvector AS RESULT; result ---------- f @@ -25,7 +25,7 @@ mogdb=# SELECT 'fat & cow'::tsquery @@ 'a fat cat sat on a mat and ate a fat rat 正如上面例子表明,tsquery不仅是文本,且比tsvector包含的要多。tsquery包含已经标注化为词条的搜索词,同时可能是使用AND、OR、或NOT操作符连接的多个术语。详细请参见[文本搜索类型](10-text-search-types)。函数to_tsquery和plainto_tsquery对于将用户书写文本转换成适合的tsquery是非常有用的,比如将文本中的词标准化。类似地,to_tsvector用于解析和标准化文档字符串。因此,实际中文本搜索匹配看起来更像这样: ```sql -mogdb=# SELECT to_tsvector('fat cats ate fat rats') @@ to_tsquery('fat & rat') AS RESULT; +MogDB=# SELECT to_tsvector('fat cats ate fat rats') @@ to_tsquery('fat & rat') AS RESULT; result ---------- t @@ -35,7 +35,7 @@ result 需要注意的是,下面这种方式是不可行的: ```sql -mogdb=# SELECT 'fat cats ate fat rats'::tsvector @@ to_tsquery('fat & rat')AS RESULT; +MogDB=# SELECT 'fat cats ate fat rats'::tsvector @@ to_tsquery('fat & rat')AS RESULT; result ---------- f diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/2-tables-and-indexes/1-searching-a-table.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/2-tables-and-indexes/1-searching-a-table.md index 465de5d2..2c46d858 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/2-tables-and-indexes/1-searching-a-table.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/2-tables-and-indexes/1-searching-a-table.md @@ -12,39 +12,39 @@ date: 2021-05-17 - 一个简单查询:将body字段中包含america的每一行打印出来。 ```sql - mogdb=# DROP SCHEMA IF EXISTS tsearch CASCADE; + MogDB=# DROP SCHEMA IF EXISTS tsearch CASCADE; - mogdb=# CREATE SCHEMA tsearch; + MogDB=# CREATE SCHEMA tsearch; - mogdb=# CREATE TABLE tsearch.pgweb(id int, body text, title text, last_mod_date date); + MogDB=# CREATE TABLE tsearch.pgweb(id int, body text, title text, last_mod_date date); - mogdb=# INSERT INTO tsearch.pgweb VALUES(1, 'China, officially the People''s Republic of China (PRC), located in Asia, is the world''s most populous state.', 'China', '2010-1-1'); + MogDB=# INSERT INTO tsearch.pgweb VALUES(1, 'China, officially the People''s Republic of China (PRC), located in Asia, is the world''s most populous state.', 'China', '2010-1-1'); - mogdb=# INSERT INTO tsearch.pgweb VALUES(2, 'America is a rock band, formed in England in 1970 by multi-instrumentalists Dewey Bunnell, Dan Peek, and Gerry Beckley.', 'America', '2010-1-1'); + MogDB=# INSERT INTO tsearch.pgweb VALUES(2, 'America is a rock band, formed in England in 1970 by multi-instrumentalists Dewey Bunnell, Dan Peek, and Gerry Beckley.', 'America', '2010-1-1'); - mogdb=# INSERT INTO tsearch.pgweb VALUES(3, 'England is a country that is part of the United Kingdom. It shares land borders with Scotland to the north and Wales to the west.', 'England', '2010-1-1'); + MogDB=# INSERT INTO tsearch.pgweb VALUES(3, 'England is a country that is part of the United Kingdom. It shares land borders with Scotland to the north and Wales to the west.', 'England', '2010-1-1'); - mogdb=# INSERT INTO tsearch.pgweb VALUES(4, 'Australia, officially the Commonwealth of Australia, is a country comprising the mainland of the Australian continent, the island of Tasmania, and numerous smaller islands.', 'Australia', '2010-1-1'); + MogDB=# INSERT INTO tsearch.pgweb VALUES(4, 'Australia, officially the Commonwealth of Australia, is a country comprising the mainland of the Australian continent, the island of Tasmania, and numerous smaller islands.', 'Australia', '2010-1-1'); - mogdb=# INSERT INTO tsearch.pgweb VALUES(5, 'Russia, also officially known as the Russian Federation, is a sovereign state in northern Eurasia.', 'Russia', '2010-1-1'); + MogDB=# INSERT INTO tsearch.pgweb VALUES(5, 'Russia, also officially known as the Russian Federation, is a sovereign state in northern Eurasia.', 'Russia', '2010-1-1'); - mogdb=# INSERT INTO tsearch.pgweb VALUES(6, 'Japan is an island country in East Asia.', 'Japan', '2010-1-1'); + MogDB=# INSERT INTO tsearch.pgweb VALUES(6, 'Japan is an island country in East Asia.', 'Japan', '2010-1-1'); - mogdb=# INSERT INTO tsearch.pgweb VALUES(7, 'Germany, officially the Federal Republic of Germany, is a sovereign state and federal parliamentary republic in central-western Europe.', 'Germany', '2010-1-1'); + MogDB=# INSERT INTO tsearch.pgweb VALUES(7, 'Germany, officially the Federal Republic of Germany, is a sovereign state and federal parliamentary republic in central-western Europe.', 'Germany', '2010-1-1'); - mogdb=# INSERT INTO tsearch.pgweb VALUES(8, 'France, is a sovereign state comprising territory in western Europe and several overseas regions and territories.', 'France', '2010-1-1'); + MogDB=# INSERT INTO tsearch.pgweb VALUES(8, 'France, is a sovereign state comprising territory in western Europe and several overseas regions and territories.', 'France', '2010-1-1'); - mogdb=# INSERT INTO tsearch.pgweb VALUES(9, 'Italy officially the Italian Republic, is a unitary parliamentary republic in Europe.', 'Italy', '2010-1-1'); + MogDB=# INSERT INTO tsearch.pgweb VALUES(9, 'Italy officially the Italian Republic, is a unitary parliamentary republic in Europe.', 'Italy', '2010-1-1'); - mogdb=# INSERT INTO tsearch.pgweb VALUES(10, 'India, officially the Republic of India, is a country in South Asia.', 'India', '2010-1-1'); + MogDB=# INSERT INTO tsearch.pgweb VALUES(10, 'India, officially the Republic of India, is a country in South Asia.', 'India', '2010-1-1'); - mogdb=# INSERT INTO tsearch.pgweb VALUES(11, 'Brazil, officially the Federative Republic of Brazil, is the largest country in both South America and Latin America.', 'Brazil', '2010-1-1'); + MogDB=# INSERT INTO tsearch.pgweb VALUES(11, 'Brazil, officially the Federative Republic of Brazil, is the largest country in both South America and Latin America.', 'Brazil', '2010-1-1'); - mogdb=# INSERT INTO tsearch.pgweb VALUES(12, 'Canada is a country in the northern half of North America.', 'Canada', '2010-1-1'); + MogDB=# INSERT INTO tsearch.pgweb VALUES(12, 'Canada is a country in the northern half of North America.', 'Canada', '2010-1-1'); - mogdb=# INSERT INTO tsearch.pgweb VALUES(13, 'Mexico, officially the United Mexican States, is a federal republic in the southern part of North America.', 'Mexico', '2010-1-1'); + MogDB=# INSERT INTO tsearch.pgweb VALUES(13, 'Mexico, officially the United Mexican States, is a federal republic in the southern part of North America.', 'Mexico', '2010-1-1'); - mogdb=# SELECT id, body, title FROM tsearch.pgweb WHERE to_tsvector('english', body) @@ to_tsquery('english', 'america'); + MogDB=# SELECT id, body, title FROM tsearch.pgweb WHERE to_tsvector('english', body) @@ to_tsquery('english', 'america'); id | body | title ----+-------------------------------------------------------------------------------------------------------------------------+--------- 2 | America is a rock band, formed in England in 1970 by multi-instrumentalists Dewey Bunnell, Dan Peek, and Gerry Beckley. | America @@ -59,13 +59,13 @@ date: 2021-05-17 上面的查询指定english配置来解析和规范化字符串。当然也可以省略此配置,通过default_text_search_config进行配置设置: ```sql - mogdb=# SHOW default_text_search_config; + MogDB=# SHOW default_text_search_config; default_text_search_config ---------------------------- pg_catalog.english (1 row) - mogdb=# SELECT id, body, title FROM tsearch.pgweb WHERE to_tsvector(body) @@ to_tsquery('america'); + MogDB=# SELECT id, body, title FROM tsearch.pgweb WHERE to_tsvector(body) @@ to_tsquery('america'); id | body | title ----+-------------------------------------------------------------------------------------------------------------------------+--------- 11 | Brazil, officially the Federative Republic of Brazil, is the largest country in both South America and Latin America. | Brazil @@ -78,7 +78,7 @@ date: 2021-05-17 - 一个复杂查询:检索出在title或者body字段中包含north和america的最近10篇文档: ```sql - mogdb=# SELECT title FROM tsearch.pgweb WHERE to_tsvector(title || ' ' || body) @@ to_tsquery('north & america') ORDER BY last_mod_date DESC LIMIT 10; + MogDB=# SELECT title FROM tsearch.pgweb WHERE to_tsvector(title || ' ' || body) @@ to_tsquery('north & america') ORDER BY last_mod_date DESC LIMIT 10; title -------- Mexico diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/2-tables-and-indexes/2-creating-an-index.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/2-tables-and-indexes/2-creating-an-index.md index 1873b3d8..df0544ee 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/2-tables-and-indexes/2-creating-an-index.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/2-tables-and-indexes/2-creating-an-index.md @@ -10,7 +10,7 @@ date: 2021-05-17 为了加速文本搜索,可以创建GIN索引。 ```sql -mogdb=# CREATE INDEX pgweb_idx_1 ON tsearch.pgweb USING gin(to_tsvector('english', body)); +MogDB=# CREATE INDEX pgweb_idx_1 ON tsearch.pgweb USING gin(to_tsvector('english', body)); ``` to_tsvector()函数有两个版本。只输一个参数的版本和输两个参数的版本。只输一个参数时,系统默认采用default_text_search_config所指定的分词器。 @@ -22,7 +22,7 @@ to_tsvector()函数有两个版本。只输一个参数的版本和输两个参 索引中的分词器名称由另一列指定时可以建立更复杂的表达式索引。例如: ```sql -mogdb=# CREATE INDEX pgweb_idx_2 ON tsearch.pgweb USING gin(to_tsvector('ngram', body)); +MogDB=# CREATE INDEX pgweb_idx_2 ON tsearch.pgweb USING gin(to_tsvector('ngram', body)); ``` 其中body是pgweb表中的一列。当对索引的各条目使用了哪个分词器进行记录时,允许在同一索引中存在混合分词器。在某些场景下这将是有用的。例如,文档集合中包含不同语言的文档时。再次强调,打算使用索引的查询必须措辞匹配,例如,WHERE to_tsvector(config_name, body) @@ 'a & b'与索引中的to_tsvector措辞匹配。 @@ -30,26 +30,26 @@ mogdb=# CREATE INDEX pgweb_idx_2 ON tsearch.pgweb USING gin(to_tsvector('ngram', 索引甚至可以连接列: ```sql -mogdb=# CREATE INDEX pgweb_idx_3 ON tsearch.pgweb USING gin(to_tsvector('english', title || ' ' || body)); +MogDB=# CREATE INDEX pgweb_idx_3 ON tsearch.pgweb USING gin(to_tsvector('english', title || ' ' || body)); ``` 另一个方法是创建一个单独的tsvector列控制to_tsvector的输出。下面的例子是title和body的连接, 当其它是NULL的时候,使用coalesce确保一个字段仍然会被索引: ```sql -mogdb=# ALTER TABLE tsearch.pgweb ADD COLUMN textsearchable_index_col tsvector; -mogdb=# UPDATE tsearch.pgweb SET textsearchable_index_col = to_tsvector('english', coalesce(title,'') || ' ' || coalesce(body,'')); +MogDB=# ALTER TABLE tsearch.pgweb ADD COLUMN textsearchable_index_col tsvector; +MogDB=# UPDATE tsearch.pgweb SET textsearchable_index_col = to_tsvector('english', coalesce(title,'') || ' ' || coalesce(body,'')); ``` 然后为加速搜索创建一个GIN索引: ```sql -mogdb=# CREATE INDEX textsearch_idx_4 ON tsearch.pgweb USING gin(textsearchable_index_col); +MogDB=# CREATE INDEX textsearch_idx_4 ON tsearch.pgweb USING gin(textsearchable_index_col); ``` 现在,就可以执行一个快速全文搜索了: ```sql -mogdb=# SELECT title +MogDB=# SELECT title FROM tsearch.pgweb WHERE textsearchable_index_col @@ to_tsquery('north & america') ORDER BY last_mod_date DESC diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/2-tables-and-indexes/3-constraints-on-index-use.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/2-tables-and-indexes/3-constraints-on-index-use.md index 561569ba..1e5e7be1 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/2-tables-and-indexes/3-constraints-on-index-use.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/2-tables-and-indexes/3-constraints-on-index-use.md @@ -10,18 +10,18 @@ date: 2021-05-17 下面是一个使用索引的例子: ```sql -mogdb=# create table table1 (c_int int,c_bigint bigint,c_varchar varchar,c_text text) with(orientation=row); +MogDB=# create table table1 (c_int int,c_bigint bigint,c_varchar varchar,c_text text) with(orientation=row); -mogdb=# create text search configuration ts_conf_1(parser=POUND); -mogdb=# create text search configuration ts_conf_2(parser=POUND) with(split_flag='%'); +MogDB=# create text search configuration ts_conf_1(parser=POUND); +MogDB=# create text search configuration ts_conf_2(parser=POUND) with(split_flag='%'); -mogdb=# set default_text_search_config='ts_conf_1'; -mogdb=# create index idx1 on table1 using gin(to_tsvector(c_text)); +MogDB=# set default_text_search_config='ts_conf_1'; +MogDB=# create index idx1 on table1 using gin(to_tsvector(c_text)); -mogdb=# set default_text_search_config='ts_conf_2'; -mogdb=# create index idx2 on table1 using gin(to_tsvector(c_text)); +MogDB=# set default_text_search_config='ts_conf_2'; +MogDB=# create index idx2 on table1 using gin(to_tsvector(c_text)); -mogdb=# select c_varchar,to_tsvector(c_varchar) from table1 where to_tsvector(c_text) @@ plainto_tsquery('¥#@……&**') and to_tsvector(c_text) @@ plainto_tsquery('某公司 ') and c_varchar is not null order by 1 desc limit 3; +MogDB=# select c_varchar,to_tsvector(c_varchar) from table1 where to_tsvector(c_text) @@ plainto_tsquery('¥#@……&**') and to_tsvector(c_text) @@ plainto_tsquery('某公司 ') and c_varchar is not null order by 1 desc limit 3; ``` 该例子的关键点是表table1的同一个列c_text上建立了两个gin索引:idx1和idx2,但这两个索引是在不同default_text_search_config的设置下建立的。该例子和同一张表的同一个列上建立普通索引的不同之处在于: diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/1-parsing-documents.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/1-parsing-documents.md index c7381d0d..ad687f0c 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/1-parsing-documents.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/1-parsing-documents.md @@ -16,7 +16,7 @@ to_tsvector([ config regconfig, ] document text) returns tsvector to_tsvector将文本文档解析为token,再将token简化到词素,并返回一个tsvector。其中tsvector中列出了词素及它们在文档中的位置。文档是根据指定的或默认的文本搜索分词器进行处理的。这里有一个简单的例子: ```sql -mogdb=# SELECT to_tsvector('english', 'a fat cat sat on a mat - it ate a fat rats'); +MogDB=# SELECT to_tsvector('english', 'a fat cat sat on a mat - it ate a fat rats'); to_tsvector ----------------------------------------------------- 'ate':9 'cat':3 'fat':2,11 'mat':7 'rat':12 'sat':4 @@ -37,16 +37,16 @@ to_tsvector函数内部调用一个解析器,将文档的文本分解成token 因为to_tsvector(NULL)会返回空,当字段可能是空的时候,建议使用coalesce。以下是推荐的为结构化文档创建tsvector的方法: ```sql -mogdb=# CREATE TABLE tsearch.tt (id int, title text, keyword text, abstract text, body text, ti tsvector); +MogDB=# CREATE TABLE tsearch.tt (id int, title text, keyword text, abstract text, body text, ti tsvector); -mogdb=# INSERT INTO tsearch.tt(id, title, keyword, abstract, body) VALUES (1, 'China', 'Beijing', 'China','China, officially the People''s Republic of China (PRC), located in Asia, is the world''s most populous state.'); +MogDB=# INSERT INTO tsearch.tt(id, title, keyword, abstract, body) VALUES (1, 'China', 'Beijing', 'China','China, officially the People''s Republic of China (PRC), located in Asia, is the world''s most populous state.'); -mogdb=# UPDATE tsearch.tt SET ti = +MogDB=# UPDATE tsearch.tt SET ti = setweight(to_tsvector(coalesce(title,'')), 'A') || setweight(to_tsvector(coalesce(keyword,'')), 'B') || setweight(to_tsvector(coalesce(abstract,'')), 'C') || setweight(to_tsvector(coalesce(body,'')), 'D'); -mogdb=# DROP TABLE tsearch.tt; +MogDB=# DROP TABLE tsearch.tt; ``` 上例使用setweight标记已完成的tsvector中的每个词的来源,并且使用tsvector连接操作符||合并标记过的tsvector值,[处理tsvector](1-manipulating-tsvector)一节详细介绍了这些操作。 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/2-parsing-queries.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/2-parsing-queries.md index f7a4e804..9a3a0884 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/2-parsing-queries.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/2-parsing-queries.md @@ -16,7 +16,7 @@ to_tsquery([ config regconfig, ] querytext text) returns tsquery to_tsquery从querytext中创建一个tsquery,querytext必须由布尔运算符&(AND),|(OR)和!(NOT)分割的单个token组成。这些运算符可以用圆括弧分组。换句话说,to_tsquery输入必须遵循tsquery输入的通用规则,具体请参见[文本搜索类型](10-text-search-types)。不同的是基本tsquery以token表面值作为输入,而to_tsquery使用指定或默认分词器将每个token标准化成词素,并依据分词器丢弃属于停用词的token。例如: ```sql -mogdb=# SELECT to_tsquery('english', 'The & Fat & Rats'); +MogDB=# SELECT to_tsquery('english', 'The & Fat & Rats'); to_tsquery --------------- 'fat' & 'rat' @@ -26,7 +26,7 @@ mogdb=# SELECT to_tsquery('english', 'The & Fat & Rats'); 像在基本tsquery中的输入一样,weight(s)可以附加到每个词素来限制它只匹配那些有相同weight(s)的tsvector词素。比如: ```sql -mogdb=# SELECT to_tsquery('english', 'Fat | Rats:AB'); +MogDB=# SELECT to_tsquery('english', 'Fat | Rats:AB'); to_tsquery ------------------ 'fat' | 'rat':AB @@ -36,7 +36,7 @@ mogdb=# SELECT to_tsquery('english', 'Fat | Rats:AB'); 同时,*也可以附加到词素来指定前缀匹配: ```sql -mogdb=# SELECT to_tsquery('supern:*A & star:A*B'); +MogDB=# SELECT to_tsquery('supern:*A & star:A*B'); to_tsquery -------------------------- 'supern':*A & 'star':*AB @@ -54,7 +54,7 @@ plainto_tsquery将未格式化的文本querytext变换为tsquery。类似于to_t 比如: ```sql -mogdb=# SELECT plainto_tsquery('english', 'The Fat Rats'); +MogDB=# SELECT plainto_tsquery('english', 'The Fat Rats'); plainto_tsquery ----------------- 'fat' & 'rat' @@ -64,7 +64,7 @@ mogdb=# SELECT plainto_tsquery('english', 'The Fat Rats'); 请注意,plainto_tsquery无法识别布尔运算符、权重标签,或在其输入中的前缀匹配标签: ```sql -mogdb=# SELECT plainto_tsquery('english', 'The Fat & Rats:C'); +MogDB=# SELECT plainto_tsquery('english', 'The Fat & Rats:C'); plainto_tsquery --------------------- 'fat' & 'rat' & 'c' diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/3-ranking-search-results.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/3-ranking-search-results.md index 4bc31f39..05e08f33 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/3-ranking-search-results.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/3-ranking-search-results.md @@ -50,7 +50,7 @@ ts_rank_cd([ weights float4[], ] vector tsvector, query tsquery [, normalization 下面是一个例子,仅选择排名前十的匹配: ```sql -mogdb=# SELECT id, title, ts_rank_cd(to_tsvector(body), query) AS rank +MogDB=# SELECT id, title, ts_rank_cd(to_tsvector(body), query) AS rank FROM tsearch.pgweb, to_tsquery('america') query WHERE query @@ to_tsvector(body) ORDER BY rank DESC @@ -67,7 +67,7 @@ LIMIT 10; 这是使用标准化排序的相同例子: ```sql -mogdb=# SELECT id, title, ts_rank_cd(to_tsvector(body), query, 32 /* rank/(rank+1) */ ) AS rank +MogDB=# SELECT id, title, ts_rank_cd(to_tsvector(body), query, 32 /* rank/(rank+1) */ ) AS rank FROM tsearch.pgweb, to_tsquery('america') query WHERE query @@ to_tsvector(body) ORDER BY rank DESC @@ -84,19 +84,19 @@ LIMIT 10; 下面是使用中文分词法排序查询的例子: ```sql -mogdb=# CREATE TABLE tsearch.ts_ngram(id int, body text); -mogdb=# INSERT INTO tsearch.ts_ngram VALUES(1, '中文'); -mogdb=# INSERT INTO tsearch.ts_ngram VALUES(2, '中文检索'); -mogdb=# INSERT INTO tsearch.ts_ngram VALUES(3, '检索中文'); +MogDB=# CREATE TABLE tsearch.ts_ngram(id int, body text); +MogDB=# INSERT INTO tsearch.ts_ngram VALUES(1, '中文'); +MogDB=# INSERT INTO tsearch.ts_ngram VALUES(2, '中文检索'); +MogDB=# INSERT INTO tsearch.ts_ngram VALUES(3, '检索中文'); --精确匹配 -mogdb=# SELECT id, body, ts_rank_cd(to_tsvector('ngram',body), query) AS rank FROM tsearch.ts_ngram, to_tsquery('中文') query WHERE query @@ to_tsvector(body); +MogDB=# SELECT id, body, ts_rank_cd(to_tsvector('ngram',body), query) AS rank FROM tsearch.ts_ngram, to_tsquery('中文') query WHERE query @@ to_tsvector(body); id | body | rank ----+------+------ 1 | 中文 | .1 (1 row) --模糊匹配 -mogdb=# SELECT id, body, ts_rank_cd(to_tsvector('ngram',body), query) AS rank FROM tsearch.ts_ngram, to_tsquery('中文') query WHERE query @@ to_tsvector('ngram',body); +MogDB=# SELECT id, body, ts_rank_cd(to_tsvector('ngram',body), query) AS rank FROM tsearch.ts_ngram, to_tsquery('中文') query WHERE query @@ to_tsvector('ngram',body); id | body | rank ----+----------+------ 3 | 检索中文 | .1 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/4-highlighting-results.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/4-highlighting-results.md index 79399291..b9220d1f 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/4-highlighting-results.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/3-controlling-text-search/4-highlighting-results.md @@ -35,7 +35,7 @@ MaxFragments=0, FragmentDelimiter=" ... " 例如: ```sql -mogdb=# SELECT ts_headline('english', +MogDB=# SELECT ts_headline('english', 'The most common type of search is to find all documents containing given query terms and return them in order of their similarity to the @@ -48,7 +48,7 @@ to_tsquery('english', 'query & similarity')); query. (1 row) -mogdb=# SELECT ts_headline('english', +MogDB=# SELECT ts_headline('english', 'The most common type of search is to find all documents containing given query terms and return them in order of their similarity to the diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/4-additional-features/2-manipulating-queries.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/4-additional-features/2-manipulating-queries.md index 8e85ad65..c586e229 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/4-additional-features/2-manipulating-queries.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/4-additional-features/2-manipulating-queries.md @@ -26,14 +26,14 @@ MogDB提供了函数和操作符用来操作tsquery类型的查询。 返回tsquery中的节点数目(词素加操作符),这个函数在检查查询是否有效(返回值大于0),或者只包含停用词(返回值等于0)时,是有用的。例如: ```sql - mogdb=# SELECT numnode(plainto_tsquery('the any')); + MogDB=# SELECT numnode(plainto_tsquery('the any')); NOTICE: text-search query contains only stop words or doesn't contain lexemes, ignored CONTEXT: referenced column: numnode numnode --------- 0 - mogdb=# SELECT numnode('foo & bar'::tsquery); + MogDB=# SELECT numnode('foo & bar'::tsquery); numnode --------- 3 @@ -44,7 +44,7 @@ MogDB提供了函数和操作符用来操作tsquery类型的查询。 返回可用于索引搜索的tsquery部分,该函数对于检测非索引查询是有用的(例如只包含停用词或否定项)。例如: ```sql - mogdb=# SELECT querytree(to_tsquery('!defined')); + MogDB=# SELECT querytree(to_tsquery('!defined')); querytree ----------- T diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/4-additional-features/3-rewriting-queries.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/4-additional-features/3-rewriting-queries.md index 06712a09..93e46d61 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/4-additional-features/3-rewriting-queries.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/4-additional-features/3-rewriting-queries.md @@ -14,7 +14,7 @@ ts_rewrite函数族可以从tsquery中搜索一个特定的目标子查询,并 ts_rewrite的这种形式只适用于一个单一的重写规则:任何出现目标子查询的地方都被无条件替换。例如: ```sql - mogdb=# SELECT ts_rewrite('a & b'::tsquery, 'a'::tsquery, 'c'::tsquery); + MogDB=# SELECT ts_rewrite('a & b'::tsquery, 'a'::tsquery, 'c'::tsquery); ts_rewrite ------------ 'b' & 'c' @@ -30,11 +30,11 @@ ts_rewrite函数族可以从tsquery中搜索一个特定的目标子查询,并 例如:举一个现实生活中天文学上的例子。我们将使用表驱动的重写规则扩大supernovae的查询范围: ```sql - mogdb=# CREATE TABLE tsearch.aliases (id int, t tsquery, s tsquery); + MogDB=# CREATE TABLE tsearch.aliases (id int, t tsquery, s tsquery); - mogdb=# INSERT INTO tsearch.aliases VALUES(1, to_tsquery('supernovae'), to_tsquery('supernovae|sn')); + MogDB=# INSERT INTO tsearch.aliases VALUES(1, to_tsquery('supernovae'), to_tsquery('supernovae|sn')); - mogdb=# SELECT ts_rewrite(to_tsquery('supernovae & crab'), 'SELECT t, s FROM tsearch.aliases'); + MogDB=# SELECT ts_rewrite(to_tsquery('supernovae & crab'), 'SELECT t, s FROM tsearch.aliases'); ts_rewrite --------------------------------- @@ -44,11 +44,11 @@ ts_rewrite函数族可以从tsquery中搜索一个特定的目标子查询,并 可以通过更新表修改重写规则: ```sql - mogdb=# UPDATE tsearch.aliases + MogDB=# UPDATE tsearch.aliases SET s = to_tsquery('supernovae|sn & !nebulae') WHERE t = to_tsquery('supernovae'); - mogdb=# SELECT ts_rewrite(to_tsquery('supernovae & crab'), 'SELECT t, s FROM tsearch.aliases'); + MogDB=# SELECT ts_rewrite(to_tsquery('supernovae & crab'), 'SELECT t, s FROM tsearch.aliases'); ts_rewrite --------------------------------------------- @@ -58,11 +58,11 @@ ts_rewrite函数族可以从tsquery中搜索一个特定的目标子查询,并 需要重写的规则越多,重写操作就越慢。因为它要检查每一个可能匹配的规则。为了过滤明显的非候选规则,可以使用tsquery类型的操作符来实现。在下面的例子中, 我们只选择那些可能与原始查询匹配的规则: ```sql - mogdb=# SELECT ts_rewrite('a & b'::tsquery, 'SELECT t,s FROM tsearch.aliases WHERE ''a & b''::tsquery @> t'); + MogDB=# SELECT ts_rewrite('a & b'::tsquery, 'SELECT t,s FROM tsearch.aliases WHERE ''a & b''::tsquery @> t'); ts_rewrite ------------ 'b' & 'a' (1 row) - mogdb=# DROP TABLE tsearch.aliases; + MogDB=# DROP TABLE tsearch.aliases; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/4-additional-features/4-gathering-document-statistics.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/4-additional-features/4-gathering-document-statistics.md index ab3b71f2..e5cfd71c 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/4-additional-features/4-gathering-document-statistics.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/4-additional-features/4-gathering-document-statistics.md @@ -24,7 +24,7 @@ sqlquery是一个包含SQL查询语句的文本,该SQL查询将返回一个tsv 如果设置了权重条件,只有标记了对应权重的词素才会统计频率。例如,在一个文档集中检索使用频率最高的十个单词: ```sql -mogdb=# SELECT * FROM ts_stat('SELECT to_tsvector(''english'', sr_reason_sk) FROM tpcds.store_returns WHERE sr_customer_sk < 10') ORDER BY nentry DESC, ndoc DESC, word LIMIT 10; +MogDB=# SELECT * FROM ts_stat('SELECT to_tsvector(''english'', sr_reason_sk) FROM tpcds.store_returns WHERE sr_customer_sk < 10') ORDER BY nentry DESC, ndoc DESC, word LIMIT 10; word | ndoc | nentry ------+------+-------- 32 | 2 | 2 @@ -43,7 +43,7 @@ mogdb=# SELECT * FROM ts_stat('SELECT to_tsvector(''english'', sr_reason_sk) FRO 同样的情况,但是只计算权重为A或者B的单词使用频率: ```sql -mogdb=# SELECT * FROM ts_stat('SELECT to_tsvector(''english'', sr_reason_sk) FROM tpcds.store_returns WHERE sr_customer_sk < 10', 'a') ORDER BY nentry DESC, ndoc DESC, word LIMIT 10; +MogDB=# SELECT * FROM ts_stat('SELECT to_tsvector(''english'', sr_reason_sk) FROM tpcds.store_returns WHERE sr_customer_sk < 10', 'a') ORDER BY nentry DESC, ndoc DESC, word LIMIT 10; word | ndoc | nentry ------+------+-------- (0 rows) diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/5-parser.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/5-parser.md index bc7941a0..e8714998 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/5-parser.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/5-parser.md @@ -48,7 +48,7 @@ email不支持某些由RFC 5322定义的有效电子邮件字符。具体来说 解析器可能对同一内容进行重叠token。例如,包含连字符的单词将作为一个整体进行报告,其组件也会分别被报告: ```sql -mogdb=# SELECT alias, description, token FROM ts_debug('english','foo-bar-beta1'); +MogDB=# SELECT alias, description, token FROM ts_debug('english','foo-bar-beta1'); alias | description | token -----------------+------------------------------------------+--------------- numhword | Hyphenated word, letters and digits | foo-bar-beta1 @@ -62,7 +62,7 @@ mogdb=# SELECT alias, description, token FROM ts_debug('english','foo-bar-beta1' 这种行为是有必要的,因为它支持搜索整个复合词和各组件。这里是另一个例子: ```sql -mogdb=# SELECT alias, description, token FROM ts_debug('english','http://example.com/stuff/index.html'); +MogDB=# SELECT alias, description, token FROM ts_debug('english','http://example.com/stuff/index.html'); alias | description | token ----------+---------------+------------------------------ protocol | Protocol head | http:// diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/1-dictionaries-overview.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/1-dictionaries-overview.md index ca93cc87..4ac1ed8d 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/1-dictionaries-overview.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/1-dictionaries-overview.md @@ -29,7 +29,7 @@ MogDB提供了多种语言的预定义字典,同时提供了五种预定义的 - 配置字典列表的一般规则是,第一个位置放置一个应用范围最小的、最具体化定义的词典,其次是更一般化定义的词典, 最后是一个普适定义的词典,比如Snowball词干词典或Simple词典。在下面例子中,对于一个针对天文学的文本搜索配置astro_en,可以定义标记类型asciiword(ASCII词)对应的词典列表为:天文术语的Synonym同义词词典, Ispell英语词典和Snowball 英语词干词典。 ```sql - mogdb=# ALTER TEXT SEARCH CONFIGURATION astro_en + MogDB=# ALTER TEXT SEARCH CONFIGURATION astro_en ADD MAPPING FOR asciiword WITH astro_syn, english_ispell, english_stem; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/2-stop-words.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/2-stop-words.md index 19ca18fe..1b7a1fc5 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/2-stop-words.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/2-stop-words.md @@ -12,7 +12,7 @@ date: 2021-05-17 例如,每个英文文本包含像a和the的单词,因此没必要将它们存储在索引中。然而,停用词影响tsvector中的位置,同时位置也会影响相关度: ```sql -mogdb=# SELECT to_tsvector('english','in the list of stop words'); +MogDB=# SELECT to_tsvector('english','in the list of stop words'); to_tsvector ---------------------------- 'list':3 'stop':5 'word':6 @@ -21,12 +21,12 @@ mogdb=# SELECT to_tsvector('english','in the list of stop words'); 位置1、2、4是停用词,所以不显示。为包含和不包含停用词的文档计算出的排序是完全不同的: ```sql -mogdb=# SELECT ts_rank_cd (to_tsvector('english','in the list of stop words'), to_tsquery('list & stop')); +MogDB=# SELECT ts_rank_cd (to_tsvector('english','in the list of stop words'), to_tsquery('list & stop')); ts_rank_cd ------------ .05 -mogdb=# SELECT ts_rank_cd (to_tsvector('english','list stop words'), to_tsquery('list & stop')); +MogDB=# SELECT ts_rank_cd (to_tsvector('english','list stop words'), to_tsquery('list & stop')); ts_rank_cd ------------ .1 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/3-simple-dictionary.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/3-simple-dictionary.md index 77c78196..55ff6d51 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/3-simple-dictionary.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/3-simple-dictionary.md @@ -21,7 +21,7 @@ Simple词典首先将输入标记转换为小写字母,然后检查停用词 1. 创建Simple词典。 ```sql - mogdb=# CREATE TEXT SEARCH DICTIONARY public.simple_dict ( + MogDB=# CREATE TEXT SEARCH DICTIONARY public.simple_dict ( TEMPLATE = pg_catalog.simple, STOPWORDS = english ); @@ -32,13 +32,13 @@ Simple词典首先将输入标记转换为小写字母,然后检查停用词 2. 使用Simple词典。 ```sql - mogdb=# SELECT ts_lexize('public.simple_dict','YeS'); + MogDB=# SELECT ts_lexize('public.simple_dict','YeS'); ts_lexize ----------- {yes} (1 row) - mogdb=# SELECT ts_lexize('public.simple_dict','The'); + MogDB=# SELECT ts_lexize('public.simple_dict','The'); ts_lexize ----------- {} @@ -48,15 +48,15 @@ Simple词典首先将输入标记转换为小写字母,然后检查停用词 3. 设置参数ACCEPT=false,使Simple词典返回NULL,而不是返回非停用词的小写形式。 ```sql - mogdb=# ALTER TEXT SEARCH DICTIONARY public.simple_dict ( Accept = false ); + MogDB=# ALTER TEXT SEARCH DICTIONARY public.simple_dict ( Accept = false ); ALTER TEXT SEARCH DICTIONARY - mogdb=# SELECT ts_lexize('public.simple_dict','YeS'); + MogDB=# SELECT ts_lexize('public.simple_dict','YeS'); ts_lexize ----------- (1 row) - mogdb=# SELECT ts_lexize('public.simple_dict','The'); + MogDB=# SELECT ts_lexize('public.simple_dict','The'); ts_lexize ----------- {} diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/4-synonym-dictionary.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/4-synonym-dictionary.md index 29138633..1cb9d5a6 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/4-synonym-dictionary.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/4-synonym-dictionary.md @@ -14,43 +14,43 @@ Synonym词典用于定义、识别token的同义词并转化,不支持词组 - Synonym词典可用于解决语言学相关问题,例如,为避免使单词”Paris”变成”pari”,可在Synonym词典文件中定义一行”Paris paris”,并将该词典放置在预定义的english_stem词典之前。 ```sql - mogdb=# SELECT * FROM ts_debug('english', 'Paris'); + MogDB=# SELECT * FROM ts_debug('english', 'Paris'); alias | description | token | dictionaries | dictionary | lexemes -----------+-----------------+-------+----------------+--------------+--------- asciiword | Word, all ASCII | Paris | {english_stem} | english_stem | {pari} (1 row) - mogdb=# CREATE TEXT SEARCH DICTIONARY my_synonym ( + MogDB=# CREATE TEXT SEARCH DICTIONARY my_synonym ( TEMPLATE = synonym, SYNONYMS = my_synonyms, FILEPATH = 'file:///home/dicts/' ); - mogdb=# ALTER TEXT SEARCH CONFIGURATION english + MogDB=# ALTER TEXT SEARCH CONFIGURATION english ALTER MAPPING FOR asciiword WITH my_synonym, english_stem; - mogdb=# SELECT * FROM ts_debug('english', 'Paris'); + MogDB=# SELECT * FROM ts_debug('english', 'Paris'); alias | description | token | dictionaries | dictionary | lexemes -----------+-----------------+-------+---------------------------+------------+--------- asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris} (1 row) - mogdb=# SELECT * FROM ts_debug('english', 'paris'); + MogDB=# SELECT * FROM ts_debug('english', 'paris'); alias | description | token | dictionaries | dictionary | lexemes -----------+-----------------+-------+---------------------------+------------+--------- asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris} (1 row) - mogdb=# ALTER TEXT SEARCH DICTIONARY my_synonym ( CASESENSITIVE=true); + MogDB=# ALTER TEXT SEARCH DICTIONARY my_synonym ( CASESENSITIVE=true); - mogdb=# SELECT * FROM ts_debug('english', 'Paris'); + MogDB=# SELECT * FROM ts_debug('english', 'Paris'); alias | description | token | dictionaries | dictionary | lexemes -----------+-----------------+-------+---------------------------+------------+--------- asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {paris} (1 row) - mogdb=# SELECT * FROM ts_debug('english', 'paris'); + MogDB=# SELECT * FROM ts_debug('english', 'paris'); alias | description | token | dictionaries | dictionary | lexemes -----------+-----------------+-------+---------------------------+------------+--------- asciiword | Word, all ASCII | Paris | {my_synonym,english_stem} | my_synonym | {pari} @@ -75,40 +75,40 @@ Synonym词典用于定义、识别token的同义词并转化,不支持词组 创建并使用词典: ```sql - mogdb=# CREATE TEXT SEARCH DICTIONARY syn ( + MogDB=# CREATE TEXT SEARCH DICTIONARY syn ( TEMPLATE = synonym, SYNONYMS = synonym_sample ); - mogdb=# SELECT ts_lexize('syn','indices'); + MogDB=# SELECT ts_lexize('syn','indices'); ts_lexize ----------- {index} (1 row) - mogdb=# CREATE TEXT SEARCH CONFIGURATION tst (copy=simple); + MogDB=# CREATE TEXT SEARCH CONFIGURATION tst (copy=simple); - mogdb=# ALTER TEXT SEARCH CONFIGURATION tst ALTER MAPPING FOR asciiword WITH syn; + MogDB=# ALTER TEXT SEARCH CONFIGURATION tst ALTER MAPPING FOR asciiword WITH syn; - mogdb=# SELECT to_tsvector('tst','indices'); + MogDB=# SELECT to_tsvector('tst','indices'); to_tsvector ------------- 'index':1 (1 row) - mogdb=# SELECT to_tsquery('tst','indices'); + MogDB=# SELECT to_tsquery('tst','indices'); to_tsquery ------------ 'index':* (1 row) - mogdb=# SELECT 'indexes are very useful'::tsvector; + MogDB=# SELECT 'indexes are very useful'::tsvector; tsvector --------------------------------- 'are' 'indexes' 'useful' 'very' (1 row) - mogdb=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst','indices'); + MogDB=# SELECT 'indexes are very useful'::tsvector @@ to_tsquery('tst','indices'); ?column? ---------- t diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/5-thesaurus-dictionary.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/5-thesaurus-dictionary.md index b5e9db6b..2d6ad87e 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/5-thesaurus-dictionary.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/5-thesaurus-dictionary.md @@ -28,7 +28,7 @@ Thesaurus词典,也叫做分类词典(缩写为TZ),是一组定义了词 执行如下语句创建TZ词典: ```sql - mogdb=# CREATE TEXT SEARCH DICTIONARY thesaurus_astro ( + MogDB=# CREATE TEXT SEARCH DICTIONARY thesaurus_astro ( TEMPLATE = thesaurus, DictFile = thesaurus_astro, Dictionary = pg_catalog.english_stem, @@ -41,7 +41,7 @@ Thesaurus词典,也叫做分类词典(缩写为TZ),是一组定义了词 2. 创建词典后,将其绑定到对应文本搜索配置中需要处理的token类型上: ```sql - mogdb=# ALTER TEXT SEARCH CONFIGURATION russian + MogDB=# ALTER TEXT SEARCH CONFIGURATION russian ALTER MAPPING FOR asciiword, asciihword, hword_asciipart WITH thesaurus_astro, english_stem; ``` @@ -53,19 +53,19 @@ Thesaurus词典,也叫做分类词典(缩写为TZ),是一组定义了词 ts_lexize函数对于测试TZ词典作用不大,因为该函数是按照单个token处理输入。可以使用plainto_tsquery、to_tsvector、to_tsquery函数测试TZ词典,这些函数能够将输入分解成多个token(to_tsquery函数需要将输入加上引号)。 ```sql - mogdb=# SELECT plainto_tsquery('russian','supernova star'); + MogDB=# SELECT plainto_tsquery('russian','supernova star'); plainto_tsquery ----------------- 'sn' (1 row) - mogdb=# SELECT to_tsvector('russian','supernova star'); + MogDB=# SELECT to_tsvector('russian','supernova star'); to_tsvector ------------- 'sn':1 (1 row) - mogdb=# SELECT to_tsquery('russian','''supernova star'''); + MogDB=# SELECT to_tsquery('russian','''supernova star'''); to_tsquery ------------ 'sn' @@ -80,11 +80,11 @@ Thesaurus词典,也叫做分类词典(缩写为TZ),是一组定义了词 ```sql supernovae stars : sn supernovae stars - mogdb=# ALTER TEXT SEARCH DICTIONARY thesaurus_astro ( + MogDB=# ALTER TEXT SEARCH DICTIONARY thesaurus_astro ( DictFile = thesaurus_astro, FILEPATH = 'file:///home/dicts/'); - mogdb=# SELECT plainto_tsquery('russian','supernova star'); + MogDB=# SELECT plainto_tsquery('russian','supernova star'); plainto_tsquery ----------------------------- 'sn' & 'supernova' & 'star' diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/6-ispell-dictionary.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/6-ispell-dictionary.md index ca930256..baad3a7c 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/6-ispell-dictionary.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/6-dictionaries/6-ispell-dictionary.md @@ -25,7 +25,7 @@ MogDB不提供任何预定义的Ispell类型词典或词典文件。dict文件 2. 创建Ispell词典。 ```sql - mogdb=# CREATE TEXT SEARCH DICTIONARY norwegian_ispell ( + MogDB=# CREATE TEXT SEARCH DICTIONARY norwegian_ispell ( TEMPLATE = ispell, DictFile = nn_no, AffFile = nn_no, @@ -38,7 +38,7 @@ MogDB不提供任何预定义的Ispell类型词典或词典文件。dict文件 3. 使用Ispell词典进行复合词拆分。 ```sql - mogdb=# SELECT ts_lexize('norwegian_ispell', 'sjokoladefabrikk'); + MogDB=# SELECT ts_lexize('norwegian_ispell', 'sjokoladefabrikk'); ts_lexize --------------------- {sjokolade,fabrikk} diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/7-configuration-examples.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/7-configuration-examples.md index e379660e..319cb2d5 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/7-configuration-examples.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/7-configuration-examples.md @@ -21,7 +21,7 @@ MogDB中预定义有一些可用的文本搜索配置,用户也可创建自定 1. 创建一个文本搜索配置ts_conf,复制预定义的文本搜索配置english。 ```sql - mogdb=# CREATE TEXT SEARCH CONFIGURATION ts_conf ( COPY = pg_catalog.english ); + MogDB=# CREATE TEXT SEARCH CONFIGURATION ts_conf ( COPY = pg_catalog.english ); CREATE TEXT SEARCH CONFIGURATION ``` @@ -38,7 +38,7 @@ MogDB中预定义有一些可用的文本搜索配置,用户也可创建自定 执行如下语句创建Synonym词典: ```sql - mogdb=# CREATE TEXT SEARCH DICTIONARY pg_dict ( + MogDB=# CREATE TEXT SEARCH DICTIONARY pg_dict ( TEMPLATE = synonym, SYNONYMS = pg_dict, FILEPATH = 'file:///home/dicts' @@ -48,7 +48,7 @@ MogDB中预定义有一些可用的文本搜索配置,用户也可创建自定 3. 创建一个Ispell词典english_ispell(词典定义文件来自开源词典)。 ```sql - mogdb=# CREATE TEXT SEARCH DICTIONARY english_ispell ( + MogDB=# CREATE TEXT SEARCH DICTIONARY english_ispell ( TEMPLATE = ispell, DictFile = english, AffFile = english, @@ -60,7 +60,7 @@ MogDB中预定义有一些可用的文本搜索配置,用户也可创建自定 4. 设置文本搜索配置ts_conf,修改某些类型的token对应的词典列表。关于token类型的详细信息,请参见[解析器](5-parser)。 ```sql - mogdb=# ALTER TEXT SEARCH CONFIGURATION ts_conf + MogDB=# ALTER TEXT SEARCH CONFIGURATION ts_conf ALTER MAPPING FOR asciiword, asciihword, hword_asciipart, word, hword, hword_part WITH pg_dict, english_ispell, english_stem; @@ -69,14 +69,14 @@ MogDB中预定义有一些可用的文本搜索配置,用户也可创建自定 5. 在文本搜索配置中,选择设置不索引或搜索某些token类型。 ```sql - mogdb=# ALTER TEXT SEARCH CONFIGURATION ts_conf + MogDB=# ALTER TEXT SEARCH CONFIGURATION ts_conf DROP MAPPING FOR email, url, url_path, sfloat, float; ``` 6. 使用文本检索调测函数ts_debug()对所创建的词典配置ts_conf进行测试。 ```sql - mogdb=# SELECT * FROM ts_debug('ts_conf', ' + MogDB=# SELECT * FROM ts_debug('ts_conf', ' PostgreSQL, the highly scalable, SQL compliant, open source object-relational database management system, is now undergoing beta testing of the next version of our software. @@ -86,7 +86,7 @@ MogDB中预定义有一些可用的文本搜索配置,用户也可创建自定 7. 可以设置当前session使用ts_conf作为默认的文本搜索配置。此设置仅在当前session有效。 ```sql - mogdb=# \dF+ ts_conf + MogDB=# \dF+ ts_conf Text search configuration "public.ts_conf" Parser: "pg_catalog.default" Token | Dictionaries @@ -106,9 +106,9 @@ MogDB中预定义有一些可用的文本搜索配置,用户也可创建自定 version | simple word | pg_dict,english_ispell,english_stem - mogdb=# SET default_text_search_config = 'public.ts_conf'; + MogDB=# SET default_text_search_config = 'public.ts_conf'; SET - mogdb=# SHOW default_text_search_config; + MogDB=# SHOW default_text_search_config; default_text_search_config ---------------------------- public.ts_conf diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/8-testing-and-debugging-text-search/1-testing-a-configuration.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/8-testing-and-debugging-text-search/1-testing-a-configuration.md index 14f6838d..058c559c 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/8-testing-and-debugging-text-search/1-testing-a-configuration.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/8-testing-and-debugging-text-search/1-testing-a-configuration.md @@ -34,7 +34,7 @@ ts_debug为文本解析器标识的每个token返回一行记录。记录中的 一个简单的例子: ```sql -mogdb=# SELECT * FROM ts_debug('english','a fat cat sat on a mat - it ate a fat rats'); +MogDB=# SELECT * FROM ts_debug('english','a fat cat sat on a mat - it ate a fat rats'); alias | description | token | dictionaries | dictionary | lexemes -----------+-----------------+-------+----------------+--------------+--------- asciiword | Word, all ASCII | a | {english_stem} | english_stem | {} diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/8-testing-and-debugging-text-search/2-testing-a-parser.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/8-testing-and-debugging-text-search/2-testing-a-parser.md index 86965f36..3c9f1f4c 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/8-testing-and-debugging-text-search/2-testing-a-parser.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/8-testing-and-debugging-text-search/2-testing-a-parser.md @@ -17,7 +17,7 @@ ts_parse(parser_name text, document text, ts_parse解析指定的document并返回一系列的记录,一条记录代表一个解析生成的token。每条记录包括标识token类型的tokid及token文本。例如: ```sql -mogdb=# SELECT * FROM ts_parse('default', '123 - a number'); +MogDB=# SELECT * FROM ts_parse('default', '123 - a number'); tokid | token -------+-------- 22 | 123 @@ -44,7 +44,7 @@ ts_token_type返回一个表,这个表描述了指定解析器可以识别的 比如: ```sql -mogdb=# SELECT * FROM ts_token_type('default'); +MogDB=# SELECT * FROM ts_token_type('default'); tokid | alias | description -------+-----------------+------------------------------------------ 1 | asciiword | Word, all ASCII diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/8-testing-and-debugging-text-search/3-testing-a-dictionary.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/8-testing-and-debugging-text-search/3-testing-a-dictionary.md index 8e6d7d0f..6e23f0b6 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/8-testing-and-debugging-text-search/3-testing-a-dictionary.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-reference/6-full-text-search/8-testing-and-debugging-text-search/3-testing-a-dictionary.md @@ -14,12 +14,12 @@ ts_lexize(dict regdictionary, token text) returns text[]如果输入的token可 比如: ```sql -mogdb=# SELECT ts_lexize('english_stem', 'stars'); +MogDB=# SELECT ts_lexize('english_stem', 'stars'); ts_lexize ----------- {star} -mogdb=# SELECT ts_lexize('english_stem', 'a'); +MogDB=# SELECT ts_lexize('english_stem', 'a'); ts_lexize ----------- {} diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ABORT.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ABORT.md index b8d897fd..f39d432e 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ABORT.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ABORT.md @@ -33,7 +33,7 @@ Abort ::= ABORT [ WORK | TRANSACTION ]; ```sql --创建表customer_demographics_t1。 -mogdb=# CREATE TABLE customer_demographics_t1 +MogDB=# CREATE TABLE customer_demographics_t1 ( CD_DEMO_SK INTEGER NOT NULL, CD_GENDER CHAR(1) , @@ -49,26 +49,26 @@ WITH (ORIENTATION = COLUMN,COMPRESSION=MIDDLE) ; --插入记录。 -mogdb=# INSERT INTO customer_demographics_t1 VALUES(1920801,'M', 'U', 'DOCTOR DEGREE', 200, 'GOOD', 1, 0,0); +MogDB=# INSERT INTO customer_demographics_t1 VALUES(1920801,'M', 'U', 'DOCTOR DEGREE', 200, 'GOOD', 1, 0,0); --开启事务。 -mogdb=# START TRANSACTION; +MogDB=# START TRANSACTION; --更新字段值。 -mogdb=# UPDATE customer_demographics_t1 SET cd_education_status= 'Unknown'; +MogDB=# UPDATE customer_demographics_t1 SET cd_education_status= 'Unknown'; --终止事务,上面所执行的更新会被撤销掉。 -mogdb=# ABORT; +MogDB=# ABORT; --查询数据。 -mogdb=# SELECT * FROM customer_demographics_t1 WHERE cd_demo_sk = 1920801; +MogDB=# SELECT * FROM customer_demographics_t1 WHERE cd_demo_sk = 1920801; cd_demo_sk | cd_gender | cd_marital_status | cd_education_status | cd_purchase_estimate | cd_credit_rating | cd_dep_count | cd_dep_employed_count | cd_dep_college_count ------------+-----------+-------------------+----------------------+----------------------+------------------+--------------+-----------------------+---------------------- 1920801 | M | U | DOCTOR DEGREE | 200 | GOOD | 1 | 0 | 0 (1 row) --删除表。 -mogdb=# DROP TABLE customer_demographics_t1; +MogDB=# DROP TABLE customer_demographics_t1; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-DATA-SOURCE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-DATA-SOURCE.md index 7c8f1b4b..7a7e500f 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-DATA-SOURCE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-DATA-SOURCE.md @@ -82,31 +82,31 @@ AlterDataSource ::= ALTER DATA SOURCE src_name OWNER TO new_owner; ```sql --创建一个空Data Source对象。 -mogdb=# CREATE DATA SOURCE ds_test1; +MogDB=# CREATE DATA SOURCE ds_test1; --修改名称。 -mogdb=# ALTER DATA SOURCE ds_test1 RENAME TO ds_test; +MogDB=# ALTER DATA SOURCE ds_test1 RENAME TO ds_test; --修改属主。 -mogdb=# CREATE USER user_test1 IDENTIFIED BY 'Gs@123456'; -mogdb=# ALTER USER user_test1 WITH SYSADMIN; -mogdb=# ALTER DATA SOURCE ds_test OWNER TO user_test1; +MogDB=# CREATE USER user_test1 IDENTIFIED BY 'Gs@123456'; +MogDB=# ALTER USER user_test1 WITH SYSADMIN; +MogDB=# ALTER DATA SOURCE ds_test OWNER TO user_test1; --修改TYPE和VERSION。 -mogdb=# ALTER DATA SOURCE ds_test TYPE 'MPPDB_TYPE' VERSION 'XXX'; +MogDB=# ALTER DATA SOURCE ds_test TYPE 'MPPDB_TYPE' VERSION 'XXX'; --添加字段。 -mogdb=# ALTER DATA SOURCE ds_test OPTIONS (add dsn 'mogdb', username 'test_user'); +MogDB=# ALTER DATA SOURCE ds_test OPTIONS (add dsn 'mogdb', username 'test_user'); --修改字段。 -mogdb=# ALTER DATA SOURCE ds_test OPTIONS (set dsn 'unknown'); +MogDB=# ALTER DATA SOURCE ds_test OPTIONS (set dsn 'unknown'); --删除字段。 -mogdb=# ALTER DATA SOURCE ds_test OPTIONS (drop username); +MogDB=# ALTER DATA SOURCE ds_test OPTIONS (drop username); --删除Data Source和user对象。 -mogdb=# DROP DATA SOURCE ds_test; -mogdb=# DROP USER user_test1; +MogDB=# DROP DATA SOURCE ds_test; +MogDB=# DROP USER user_test1; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-DEFAULT-PRIVILEGES.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-DEFAULT-PRIVILEGES.md index 69ee8cc9..8126cd5f 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-DEFAULT-PRIVILEGES.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-DEFAULT-PRIVILEGES.md @@ -187,20 +187,20 @@ AlterDafaultPrivileges ::= ALTER DEFAULT PRIVILEGES ```sql --将创建在模式tpcds里的所有表(和视图)的SELECT权限授予每一个用户。 -mogdb=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds GRANT SELECT ON TABLES TO PUBLIC; +MogDB=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds GRANT SELECT ON TABLES TO PUBLIC; --创建用户普通用户jack。 -mogdb=# CREATE USER jack PASSWORD 'xxxxxxxxx'; +MogDB=# CREATE USER jack PASSWORD 'xxxxxxxxx'; --将tpcds下的所有表的插入权限授予用户jack。 -mogdb=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds GRANT INSERT ON TABLES TO jack; +MogDB=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds GRANT INSERT ON TABLES TO jack; --撤销上述权限。 -mogdb=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds REVOKE SELECT ON TABLES FROM PUBLIC; -mogdb=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds REVOKE INSERT ON TABLES FROM jack; +MogDB=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds REVOKE SELECT ON TABLES FROM PUBLIC; +MogDB=# ALTER DEFAULT PRIVILEGES IN SCHEMA tpcds REVOKE INSERT ON TABLES FROM jack; --删除用户jack。 -mogdb=# DROP USER jack; +MogDB=# DROP USER jack; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-DIRECTORY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-DIRECTORY.md index ae1bce80..8b485cbb 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-DIRECTORY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-DIRECTORY.md @@ -33,13 +33,13 @@ AlterDirectory ::= ALTER DIRECTORY directory_name ```sql --创建目录。 -mogdb=# CREATE OR REPLACE DIRECTORY dir as '/tmp/'; +MogDB=# CREATE OR REPLACE DIRECTORY dir as '/tmp/'; --修改目录的owner。 -mogdb=# ALTER DIRECTORY dir OWNER TO system; +MogDB=# ALTER DIRECTORY dir OWNER TO system; --删除目录。 -mogdb=# DROP DIRECTORY dir; +MogDB=# DROP DIRECTORY dir; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-GROUP.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-GROUP.md index 970af5e7..fd1a09dc 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-GROUP.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-GROUP.md @@ -46,13 +46,13 @@ ALTER GROUP是ALTER ROLE的别名,非SQL标准语法,不推荐使用,建 ```sql --向用户组中添加用户。 -mogdb=# ALTER GROUP super_users ADD USER lche, jim; +MogDB=# ALTER GROUP super_users ADD USER lche, jim; --从用户组中删除用户。 -mogdb=# ALTER GROUP super_users DROP USER jim; +MogDB=# ALTER GROUP super_users DROP USER jim; --修改用户组的名称。 -mogdb=# ALTER GROUP super_users RENAME TO normal_users; +MogDB=# ALTER GROUP super_users RENAME TO normal_users; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-MASKING-POLICY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-MASKING-POLICY.md index 19343a35..b0d0f268 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-MASKING-POLICY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-MASKING-POLICY.md @@ -98,41 +98,41 @@ date: 2021-06-07 ```sql --创建dev_mask和bob_mask用户。 -mogdb=# CREATE USER dev_mask PASSWORD 'dev@1234'; -mogdb=# CREATE USER bob_mask PASSWORD 'bob@1234'; +MogDB=# CREATE USER dev_mask PASSWORD 'dev@1234'; +MogDB=# CREATE USER bob_mask PASSWORD 'bob@1234'; --创建一个表tb_for_masking -mogdb=# CREATE TABLE tb_for_masking(col1 text, col2 text, col3 text); +MogDB=# CREATE TABLE tb_for_masking(col1 text, col2 text, col3 text); --创建资源标签标记敏感列col1 -mogdb=# CREATE RESOURCE LABEL mask_lb1 ADD COLUMN(tb_for_masking.col1); +MogDB=# CREATE RESOURCE LABEL mask_lb1 ADD COLUMN(tb_for_masking.col1); --创建资源标签标记敏感列col2 -mogdb=# CREATE RESOURCE LABEL mask_lb2 ADD COLUMN(tb_for_masking.col2); +MogDB=# CREATE RESOURCE LABEL mask_lb2 ADD COLUMN(tb_for_masking.col2); --对访问敏感列col1的操作创建脱敏策略 -mogdb=# CREATE MASKING POLICY maskpol1 maskall ON LABEL(mask_lb1); +MogDB=# CREATE MASKING POLICY maskpol1 maskall ON LABEL(mask_lb1); --为脱敏策略maskpol1添加描述 -mogdb=# ALTER MASKING POLICY maskpol1 COMMENTS 'masking policy for tb_for_masking.col1'; +MogDB=# ALTER MASKING POLICY maskpol1 COMMENTS 'masking policy for tb_for_masking.col1'; --修改脱敏策略maskpol1,新增一项脱敏方式 -mogdb=# ALTER MASKING POLICY maskpol1 ADD randommasking ON LABEL(mask_lb2); +MogDB=# ALTER MASKING POLICY maskpol1 ADD randommasking ON LABEL(mask_lb2); --修改脱敏策略maskpol1,移除一项脱敏方式 -mogdb=# ALTER MASKING POLICY maskpol1 REMOVE randommasking ON LABEL(mask_lb2); +MogDB=# ALTER MASKING POLICY maskpol1 REMOVE randommasking ON LABEL(mask_lb2); --修改脱敏策略maskpol1,修改一项脱敏方式 -mogdb=# ALTER MASKING POLICY maskpol1 MODIFY randommasking ON LABEL(mask_lb1); +MogDB=# ALTER MASKING POLICY maskpol1 MODIFY randommasking ON LABEL(mask_lb1); --修改脱敏策略maskpol1使之仅对用户dev_mask和bob_mask,客户端工具为psql和gsql,IP地址为'10.20.30.40', '127.0.0.0/24'场景生效。 -mogdb=# ALTER MASKING POLICY maskpol1 MODIFY (FILTER ON ROLES(dev_mask, bob_mask), APP(psql, gsql), IP('10.20.30.40', '127.0.0.0/24')); +MogDB=# ALTER MASKING POLICY maskpol1 MODIFY (FILTER ON ROLES(dev_mask, bob_mask), APP(psql, gsql), IP('10.20.30.40', '127.0.0.0/24')); --修改脱敏策略maskpol1,使之对所有用户场景生效 -mogdb=# ALTER MASKING POLICY maskpol1 DROP FILTER; +MogDB=# ALTER MASKING POLICY maskpol1 DROP FILTER; --禁用脱敏策略maskpol1 -mogdb=# ALTER MASKING POLICY maskpol1 DISABLE; +MogDB=# ALTER MASKING POLICY maskpol1 DISABLE; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-MATERIALIZED-VIEW.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-MATERIALIZED-VIEW.md index 9f695ed8..89959fa5 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-MATERIALIZED-VIEW.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-MATERIALIZED-VIEW.md @@ -71,7 +71,7 @@ date: 2021-05-17 ```sql --把物化视图foo重命名为bar。 -mogdb=# ALTER MATERIALIZED VIEW foo RENAME TO bar; +MogDB=# ALTER MATERIALIZED VIEW foo RENAME TO bar; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-RESOURCE-LABEL.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-RESOURCE-LABEL.md index 36fae3d4..845d4494 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-RESOURCE-LABEL.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-RESOURCE-LABEL.md @@ -54,16 +54,16 @@ AlterResourceLabel ::= ALTER RESOURCE LABEL label_name (ADD|REMOVE) ```sql --创建基本表table_for_label。 -mogdb=# CREATE TABLE table_for_label(col1 int, col2 text); +MogDB=# CREATE TABLE table_for_label(col1 int, col2 text); --创建资源标签table_label。 -mogdb=# CREATE RESOURCE LABEL table_label ADD COLUMN(table_for_label.col1); +MogDB=# CREATE RESOURCE LABEL table_label ADD COLUMN(table_for_label.col1); --将col2添加至资源标签table_label中 -mogdb=# ALTER RESOURCE LABEL table_label ADD COLUMN(table_for_label.col2) +MogDB=# ALTER RESOURCE LABEL table_label ADD COLUMN(table_for_label.col2) --将资源标签table_label中的一项移除 -mogdb=# ALTER RESOURCE LABEL table_label REMOVE COLUMN(table_for_label.col1); +MogDB=# ALTER RESOURCE LABEL table_label REMOVE COLUMN(table_for_label.col1); ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-RESOURCE-POOL.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-RESOURCE-POOL.md index d46c3811..86ba4455 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-RESOURCE-POOL.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-RESOURCE-POOL.md @@ -95,21 +95,21 @@ AlterResourcePool ::= ALTER RESOURCE POOL pool_name ```sql --创建一个资源池。 -mogdb=# CREATE RESOURCE POOL pool1; +MogDB=# CREATE RESOURCE POOL pool1; --更新一个资源池,其控制组指定为"DefaultClass"组下属的"High" Timeshare Workload控制组。 -mogdb=# ALTER RESOURCE POOL pool1 WITH (CONTROL_GROUP="High"); +MogDB=# ALTER RESOURCE POOL pool1 WITH (CONTROL_GROUP="High"); --更新一个资源池,其控制组指定为"class1"组下属的"Low" Timeshare Workload控制组。 -mogdb=# ALTER RESOURCE POOL pool1 WITH (CONTROL_GROUP="class1:Low"); +MogDB=# ALTER RESOURCE POOL pool1 WITH (CONTROL_GROUP="class1:Low"); --更新一个资源池,其控制组指定为"class1"组下属的"wg1" Workload控制组。 -mogdb=# ALTER RESOURCE POOL pool1 WITH (CONTROL_GROUP="class1:wg1"); +MogDB=# ALTER RESOURCE POOL pool1 WITH (CONTROL_GROUP="class1:wg1"); --更新一个资源池,其控制组指定为"class1"组下属的"wg2" Workload控制组。 -mogdb=# ALTER RESOURCE POOL pool1 WITH (CONTROL_GROUP="class1:wg2:3"); +MogDB=# ALTER RESOURCE POOL pool1 WITH (CONTROL_GROUP="class1:wg2:3"); --删除资源池pool1。 -mogdb=# DROP RESOURCE POOL pool1; +MogDB=# DROP RESOURCE POOL pool1; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-ROW-LEVEL-SECURITY-POLICY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-ROW-LEVEL-SECURITY-POLICY.md index 3f7d98da..020143db 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-ROW-LEVEL-SECURITY-POLICY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-ROW-LEVEL-SECURITY-POLICY.md @@ -53,11 +53,11 @@ AlterRowLevelSecurityPolicy ::= ALTER [ ROW LEVEL SECURITY ] POLICY policy_name ```sql --创建数据表all_data -mogdb=# CREATE TABLE all_data(id int, role varchar(100), data varchar(100)); +MogDB=# CREATE TABLE all_data(id int, role varchar(100), data varchar(100)); --创建行访问控制策略,当前用户只能查看用户自身的数据 -mogdb=# CREATE ROW LEVEL SECURITY POLICY all_data_rls ON all_data USING(role = CURRENT_USER); -mogdb=# \d+ all_data +MogDB=# CREATE ROW LEVEL SECURITY POLICY all_data_rls ON all_data USING(role = CURRENT_USER); +MogDB=# \d+ all_data Table "public.all_data" Column | Type | Modifiers | Storage | Stats target | Description --------+------------------------+-----------+----------+--------------+------------- @@ -72,11 +72,11 @@ Location Nodes: ALL DATANODES Options: orientation=row, compression=no --修改行访问控制all_data_rls的名称 -mogdb=# ALTER ROW LEVEL SECURITY POLICY all_data_rls ON all_data RENAME TO all_data_new_rls; +MogDB=# ALTER ROW LEVEL SECURITY POLICY all_data_rls ON all_data RENAME TO all_data_new_rls; --修改行访问控制策略影响的用户 -mogdb=# ALTER ROW LEVEL SECURITY POLICY all_data_new_rls ON all_data TO alice, bob; -mogdb=# \d+ all_data +MogDB=# ALTER ROW LEVEL SECURITY POLICY all_data_new_rls ON all_data TO alice, bob; +MogDB=# \d+ all_data Table "public.all_data" Column | Type | Modifiers | Storage | Stats target | Description --------+------------------------+-----------+----------+--------------+------------- @@ -92,8 +92,8 @@ Location Nodes: ALL DATANODES Options: orientation=row, compression=no, enable_rowsecurity=true --修改行访问控制策略表达式 -mogdb=# ALTER ROW LEVEL SECURITY POLICY all_data_new_rls ON all_data USING (id > 100 AND role = current_user); -mogdb=# \d+ all_data +MogDB=# ALTER ROW LEVEL SECURITY POLICY all_data_new_rls ON all_data USING (id > 100 AND role = current_user); +MogDB=# \d+ all_data Table "public.all_data" Column | Type | Modifiers | Storage | Stats target | Description --------+------------------------+-----------+----------+--------------+------------- diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SCHEMA.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SCHEMA.md index 132e5719..6a410b9e 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SCHEMA.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SCHEMA.md @@ -70,20 +70,20 @@ date: 2021-05-17 ```sql --创建模式ds。 -mogdb=# CREATE SCHEMA ds; +MogDB=# CREATE SCHEMA ds; --将当前模式ds更名为ds_new。 -mogdb=# ALTER SCHEMA ds RENAME TO ds_new; +MogDB=# ALTER SCHEMA ds RENAME TO ds_new; --创建用户jack。 -mogdb=# CREATE USER jack PASSWORD 'xxxxxxxxx'; +MogDB=# CREATE USER jack PASSWORD 'xxxxxxxxx'; --将DS_NEW的所有者修改为jack。 -mogdb=# ALTER SCHEMA ds_new OWNER TO jack; +MogDB=# ALTER SCHEMA ds_new OWNER TO jack; --删除用户jack和模式ds_new。 -mogdb=# DROP SCHEMA ds_new; -mogdb=# DROP USER jack; +MogDB=# DROP SCHEMA ds_new; +MogDB=# DROP USER jack; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SEQUENCE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SEQUENCE.md index 62bbab2b..72d6a3e9 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SEQUENCE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SEQUENCE.md @@ -74,21 +74,21 @@ date: 2021-05-17 ```sql -- 创建一个名为serial的递增序列,从101开始。 -mogdb=# CREATE SEQUENCE serial START 101; +MogDB=# CREATE SEQUENCE serial START 101; -- 创建一个表,定义默认值。 -mogdb=# CREATE TABLE T1(C1 bigint default nextval('serial')); +MogDB=# CREATE TABLE T1(C1 bigint default nextval('serial')); -- 将序列serial的归属列变为T1.C1。 -mogdb=# ALTER SEQUENCE serial OWNED BY T1.C1; +MogDB=# ALTER SEQUENCE serial OWNED BY T1.C1; -- 修改increment -mogdb=# ALTER SEQUENCE serial increment by 5; +MogDB=# ALTER SEQUENCE serial increment by 5; -- 删除序列和表。 -mogdb=# DROP SEQUENCE serial cascade; -mogdb=# DROP TABLE T1; +MogDB=# DROP SEQUENCE serial cascade; +MogDB=# DROP TABLE T1; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SESSION.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SESSION.md index f0c80daa..d0b30e5e 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SESSION.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SESSION.md @@ -48,41 +48,41 @@ ALTER SESSION命令用于定义或修改那些对当前会话有影响的条件 ```sql -- 创建模式ds。 -mogdb=# CREATE SCHEMA ds; +MogDB=# CREATE SCHEMA ds; --设置模式搜索路径。 -mogdb=# SET SEARCH_PATH TO ds, public; +MogDB=# SET SEARCH_PATH TO ds, public; --设置日期时间风格为传统的POSTGRES风格(日在月前)。 -mogdb=# SET DATESTYLE TO postgres, dmy; +MogDB=# SET DATESTYLE TO postgres, dmy; --设置当前会话的字符编码为UTF8。 -mogdb=# ALTER SESSION SET NAMES 'UTF8'; +MogDB=# ALTER SESSION SET NAMES 'UTF8'; --设置时区为加州伯克利。 -mogdb=# SET TIME ZONE 'PST8PDT'; +MogDB=# SET TIME ZONE 'PST8PDT'; --设置时区为意大利。 -mogdb=# SET TIME ZONE 'Europe/Rome'; +MogDB=# SET TIME ZONE 'Europe/Rome'; --设置当前模式。 -mogdb=# ALTER SESSION SET CURRENT_SCHEMA TO tpcds; +MogDB=# ALTER SESSION SET CURRENT_SCHEMA TO tpcds; --设置XML OPTION为DOCUMENT。 -mogdb=# ALTER SESSION SET XML OPTION DOCUMENT; +MogDB=# ALTER SESSION SET XML OPTION DOCUMENT; --创建角色joe,并设置会话的角色为joe。 -mogdb=# CREATE ROLE joe WITH PASSWORD 'xxxxxxxxx'; -mogdb=# ALTER SESSION SET SESSION AUTHORIZATION joe PASSWORD 'xxxxxxxxx'; +MogDB=# CREATE ROLE joe WITH PASSWORD 'xxxxxxxxx'; +MogDB=# ALTER SESSION SET SESSION AUTHORIZATION joe PASSWORD 'xxxxxxxxx'; --切换到默认用户。 mogdb=> ALTER SESSION SET SESSION AUTHORIZATION default; --删除ds模式。 -mogdb=# DROP SCHEMA ds; +MogDB=# DROP SCHEMA ds; --删除joe。 -mogdb=# DROP ROLE joe; +MogDB=# DROP ROLE joe; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SYNONYM.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SYNONYM.md index df746980..5377331c 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SYNONYM.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SYNONYM.md @@ -42,19 +42,19 @@ AlterSynonym ::= ALTER SYNONYM synonym_name ```sql --创建同义词t1。 -mogdb=# CREATE OR REPLACE SYNONYM t1 FOR ot.t1; +MogDB=# CREATE OR REPLACE SYNONYM t1 FOR ot.t1; --创建新用户u1。 -mogdb=# CREATE USER u1 PASSWORD 'user@111'; +MogDB=# CREATE USER u1 PASSWORD 'user@111'; --修改同义词t1的owner为u1。 -mogdb=# ALTER SYNONYM t1 OWNER TO u1; +MogDB=# ALTER SYNONYM t1 OWNER TO u1; --删除同义词t1。 -mogdb=# DROP SYNONYM t1; +MogDB=# DROP SYNONYM t1; --删除用户u1。 -mogdb=# DROP USER u1; +MogDB=# DROP USER u1; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SYSTEM-KILL-SESSION.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SYSTEM-KILL-SESSION.md index b820eabb..922e40e3 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SYSTEM-KILL-SESSION.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SYSTEM-KILL-SESSION.md @@ -35,7 +35,7 @@ AlterSystemKillSession ::= ALTER SYSTEM KILL SESSION 'session_sid, serial' [ IMM ```sql --查询会话信息。 -mogdb=# +MogDB=# SELECT sa.sessionid AS sid,0::integer AS serial#,ad.rolname AS username FROM pg_stat_get_activity(NULL) AS sa LEFT JOIN pg_authid ad ON(sa.usesysid = ad.oid)WHERE sa.application_name <> 'JobScheduler'; sid | serial# | username @@ -51,5 +51,5 @@ LEFT JOIN pg_authid ad ON(sa.usesysid = ad.oid)WHERE sa.application_name <> 'Job (8 rows) --结束SID为140131075880720的会话。 -mogdb=# ALTER SYSTEM KILL SESSION '140131075880720,0' IMMEDIATE; +MogDB=# ALTER SYSTEM KILL SESSION '140131075880720,0' IMMEDIATE; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SYSTEM-SET.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SYSTEM-SET.md index 9bfa75c7..3e3fe79b 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SYSTEM-SET.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-SYSTEM-SET.md @@ -64,16 +64,16 @@ AlterSystemSet ::= ALTER SYSTEM SET parameter TO value; ```sql --设置SIGHUP级别参数audit_enabled。 -mogdb=# alter system set audit_enabled to off; +MogDB=# alter system set audit_enabled to off; ALTER SYSTEM SET -mogdb=# show audit_enabled; +MogDB=# show audit_enabled; audit_enabled --------------- off (1 row) --设置POSTMASTER级别参数 enable_thread_pool,将在重启之后生效。 -mogdb=# alter system set enable_thread_pool to on; +MogDB=# alter system set enable_thread_pool to on; NOTICE: please restart the database for the POSTMASTER level parameter to take effect. ALTER SYSTEM SET ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-TEXT-SEARCH-CONFIGURATION.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-TEXT-SEARCH-CONFIGURATION.md index 8b244931..19ab73c6 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-TEXT-SEARCH-CONFIGURATION.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-TEXT-SEARCH-CONFIGURATION.md @@ -137,19 +137,19 @@ DROP MAPPING FOR选项会删除当前文本搜索配置中指定的字串类型 ```sql --创建文本搜索配置。 -mogdb=# CREATE TEXT SEARCH CONFIGURATION english_1 (parser=default); +MogDB=# CREATE TEXT SEARCH CONFIGURATION english_1 (parser=default); CREATE TEXT SEARCH CONFIGURATION --增加文本搜索配置字串类型映射语法。 -mogdb=# ALTER TEXT SEARCH CONFIGURATION english_1 ADD MAPPING FOR word WITH simple,english_stem; +MogDB=# ALTER TEXT SEARCH CONFIGURATION english_1 ADD MAPPING FOR word WITH simple,english_stem; ALTER TEXT SEARCH CONFIGURATION --增加文本搜索配置字串类型映射语法。 -mogdb=# ALTER TEXT SEARCH CONFIGURATION english_1 ADD MAPPING FOR email WITH english_stem, french_stem; +MogDB=# ALTER TEXT SEARCH CONFIGURATION english_1 ADD MAPPING FOR email WITH english_stem, french_stem; ALTER TEXT SEARCH CONFIGURATION --查询文本搜索配置相关信息。 -mogdb=# SELECT b.cfgname,a.maptokentype,a.mapseqno,a.mapdict,c.dictname FROM pg_ts_config_map a,pg_ts_config b, pg_ts_dict c WHERE a.mapcfg=b.oid AND a.mapdict=c.oid AND b.cfgname='english_1' ORDER BY 1,2,3,4,5; +MogDB=# SELECT b.cfgname,a.maptokentype,a.mapseqno,a.mapdict,c.dictname FROM pg_ts_config_map a,pg_ts_config b, pg_ts_dict c WHERE a.mapcfg=b.oid AND a.mapdict=c.oid AND b.cfgname='english_1' ORDER BY 1,2,3,4,5; cfgname | maptokentype | mapseqno | mapdict | dictname -----------+--------------+----------+---------+-------------- english_1 | 2 | 1 | 3765 | simple @@ -159,11 +159,11 @@ mogdb=# SELECT b.cfgname,a.maptokentype,a.mapseqno,a.mapdict,c.dictname FROM pg_ (4 rows) --增加文本搜索配置字串类型映射语法。 -mogdb=# ALTER TEXT SEARCH CONFIGURATION english_1 ALTER MAPPING REPLACE french_stem with german_stem; +MogDB=# ALTER TEXT SEARCH CONFIGURATION english_1 ALTER MAPPING REPLACE french_stem with german_stem; ALTER TEXT SEARCH CONFIGURATION --查询文本搜索配置相关信息。 -mogdb=# SELECT b.cfgname,a.maptokentype,a.mapseqno,a.mapdict,c.dictname FROM pg_ts_config_map a,pg_ts_config b, pg_ts_dict c WHERE a.mapcfg=b.oid AND a.mapdict=c.oid AND b.cfgname='english_1' ORDER BY 1,2,3,4,5; +MogDB=# SELECT b.cfgname,a.maptokentype,a.mapseqno,a.mapdict,c.dictname FROM pg_ts_config_map a,pg_ts_config b, pg_ts_dict c WHERE a.mapcfg=b.oid AND a.mapdict=c.oid AND b.cfgname='english_1' ORDER BY 1,2,3,4,5; cfgname | maptokentype | mapseqno | mapdict | dictname -----------+--------------+----------+---------+-------------- english_1 | 2 | 1 | 3765 | simple diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-TEXT-SEARCH-DICTIONARY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-TEXT-SEARCH-DICTIONARY.md index 0ae3e5be..86f57fce 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-TEXT-SEARCH-DICTIONARY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-TEXT-SEARCH-DICTIONARY.md @@ -91,13 +91,13 @@ date: 2021-05-17 ```sql --更改Snowball类型字典的停用词定义,其他参数保持不变。 -mogdb=# ALTER TEXT SEARCH DICTIONARY my_dict ( StopWords = newrussian, FilePath = 'file:///home/dicts' ); +MogDB=# ALTER TEXT SEARCH DICTIONARY my_dict ( StopWords = newrussian, FilePath = 'file:///home/dicts' ); --更改Snowball类型字典的Language参数,并删除停用词定义。 -mogdb=# ALTER TEXT SEARCH DICTIONARY my_dict ( Language = dutch, StopWords ); +MogDB=# ALTER TEXT SEARCH DICTIONARY my_dict ( Language = dutch, StopWords ); --更新词典定义,不实际更改任何内容。 -mogdb=# ALTER TEXT SEARCH DICTIONARY my_dict ( dummy ); +MogDB=# ALTER TEXT SEARCH DICTIONARY my_dict ( dummy ); ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-VIEW.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-VIEW.md index 2ce49f2f..e0b76db7 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-VIEW.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ALTER-VIEW.md @@ -115,18 +115,18 @@ ALTER VIEW更改视图的各种辅助属性。(如果用户是更改视图的 ```sql --创建一个由c_customer_sk小于150的内容组成的视图。 -mogdb=# CREATE VIEW tpcds.customer_details_view_v1 AS +MogDB=# CREATE VIEW tpcds.customer_details_view_v1 AS SELECT * FROM tpcds.customer WHERE c_customer_sk < 150; --修改视图名称。 -mogdb=# ALTER VIEW tpcds.customer_details_view_v1 RENAME TO customer_details_view_v2; +MogDB=# ALTER VIEW tpcds.customer_details_view_v1 RENAME TO customer_details_view_v2; --修改视图所属schema。 -mogdb=# ALTER VIEW tpcds.customer_details_view_v2 SET schema public; +MogDB=# ALTER VIEW tpcds.customer_details_view_v2 SET schema public; --删除视图。 -mogdb=# DROP VIEW public.customer_details_view_v2; +MogDB=# DROP VIEW public.customer_details_view_v2; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ANALYZE-ANALYSE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ANALYZE-ANALYSE.md index 4be3ed5c..128a3281 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ANALYZE-ANALYSE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ANALYZE-ANALYSE.md @@ -135,7 +135,7 @@ ANALYZE|ANALYSE VERIFY用于检测数据库中普通表(行存表、列存表 - 创建表。 ```sql -mogdb=# CREATE TABLE customer_info +MogDB=# CREATE TABLE customer_info ( WR_RETURNED_DATE_SK INTEGER , WR_RETURNED_TIME_SK INTEGER , @@ -148,7 +148,7 @@ WR_REFUNDED_CUSTOMER_SK INTEGER - 创建分区表。 ```sql -mogdb=# CREATE TABLE customer_par +MogDB=# CREATE TABLE customer_par ( WR_RETURNED_DATE_SK INTEGER , WR_RETURNED_TIME_SK INTEGER , @@ -168,14 +168,14 @@ ENABLE ROW MOVEMENT; - 使用ANALYZE语句更新统计信息。 ```sql -mogdb=# ANALYZE customer_info; -mogdb=# ANALYZE customer_par; +MogDB=# ANALYZE customer_info; +MogDB=# ANALYZE customer_par; ``` - 使用ANALYZE VERBOSE语句更新统计信息,并输出表的相关信息。 ```sql -mogdb=# ANALYZE VERBOSE customer_info; +MogDB=# ANALYZE VERBOSE customer_info; INFO: analyzing "cstore.pg_delta_3394584009"(cn_5002 pid=53078) INFO: analyzing "public.customer_info"(cn_5002 pid=53078) INFO: analyzing "public.customer_info" inheritance tree(cn_5002 pid=53078) @@ -187,6 +187,6 @@ ANALYZE - 删除表。 ```sql -mogdb=# DROP TABLE customer_info; -mogdb=# DROP TABLE customer_par; +MogDB=# DROP TABLE customer_info; +MogDB=# DROP TABLE customer_par; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CALL.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CALL.md index fccc9c46..c448fca0 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CALL.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CALL.md @@ -50,7 +50,7 @@ Call ::= CALL [schema'.'|package'.'] {func_name| procedure_name} ( param_expr ); ```sql --创建一个函数func_add_sql,计算两个整数的和,并返回结果。 -mogdb=# CREATE FUNCTION func_add_sql(num1 integer, num2 integer) RETURN integer +MogDB=# CREATE FUNCTION func_add_sql(num1 integer, num2 integer) RETURN integer AS BEGIN RETURN num1 + num2; @@ -58,17 +58,17 @@ END; / --按参数值传递。 -mogdb=# CALL func_add_sql(1, 3); +MogDB=# CALL func_add_sql(1, 3); --使用命名标记法传参。 -mogdb=# CALL func_add_sql(num1 => 1,num2 => 3); -mogdb=# CALL func_add_sql(num2 := 2, num1 := 3); +MogDB=# CALL func_add_sql(num1 => 1,num2 => 3); +MogDB=# CALL func_add_sql(num2 := 2, num1 := 3); --删除函数。 -mogdb=# DROP FUNCTION func_add_sql; +MogDB=# DROP FUNCTION func_add_sql; --创建带出参的函数。 -mogdb=# CREATE FUNCTION func_increment_sql(num1 IN integer, num2 IN integer, res OUT integer) +MogDB=# CREATE FUNCTION func_increment_sql(num1 IN integer, num2 IN integer, res OUT integer) RETURN integer AS BEGIN @@ -77,8 +77,8 @@ END; / --出参传入常量。 -mogdb=# CALL func_increment_sql(1,2,1); +MogDB=# CALL func_increment_sql(1,2,1); --删除函数。 -mogdb=# DROP FUNCTION func_increment_sql; +MogDB=# DROP FUNCTION func_increment_sql; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CHECKPOINT.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CHECKPOINT.md index be8bb583..0646a9f8 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CHECKPOINT.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CHECKPOINT.md @@ -32,5 +32,5 @@ Checkpoint ::= CHECKPOINT; ```sql --设置检查点。 -mogdb=# CHECKPOINT; +MogDB=# CHECKPOINT; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CLUSTER.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CLUSTER.md index 5600933a..0c8b31ec 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CLUSTER.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CLUSTER.md @@ -84,7 +84,7 @@ CLUSTER指定MogDB通过索引名指定的索引聚簇由表名指定的表。 ```sql -- 创建一个分区表。 -mogdb=# CREATE TABLE tpcds.inventory_p1 +MogDB=# CREATE TABLE tpcds.inventory_p1 ( INV_DATE_SK INTEGER NOT NULL, INV_ITEM_SK INTEGER NOT NULL, @@ -103,22 +103,22 @@ PARTITION BY RANGE(INV_DATE_SK) ); -- 创建索引ds_inventory_p1_index1。 -mogdb=# CREATE INDEX ds_inventory_p1_index1 ON tpcds.inventory_p1 (INV_ITEM_SK) LOCAL; +MogDB=# CREATE INDEX ds_inventory_p1_index1 ON tpcds.inventory_p1 (INV_ITEM_SK) LOCAL; -- 对表tpcds.inventory_p1进行聚集。 -mogdb=# CLUSTER tpcds.inventory_p1 USING ds_inventory_p1_index1; +MogDB=# CLUSTER tpcds.inventory_p1 USING ds_inventory_p1_index1; -- 对分区p3进行聚集。 -mogdb=# CLUSTER tpcds.inventory_p1 PARTITION (p3) USING ds_inventory_p1_index1; +MogDB=# CLUSTER tpcds.inventory_p1 PARTITION (p3) USING ds_inventory_p1_index1; -- 对数据库中可以进行聚集的表进聚集。 -mogdb=# CLUSTER; +MogDB=# CLUSTER; --删除索引。 -mogdb=# DROP INDEX tpcds.ds_inventory_p1_index1; +MogDB=# DROP INDEX tpcds.ds_inventory_p1_index1; --删除分区表。 -mogdb=# DROP TABLE tpcds.inventory_p1; +MogDB=# DROP TABLE tpcds.inventory_p1; ``` ## 优化建议 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COMMENT.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COMMENT.md index 11997c34..7262cafd 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COMMENT.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COMMENT.md @@ -124,7 +124,7 @@ Comment ::= COMMENT ON ## 示例 ```sql -mogdb=# CREATE TABLE tpcds.customer_demographics_t2 +MogDB=# CREATE TABLE tpcds.customer_demographics_t2 ( CD_DEMO_SK INTEGER NOT NULL, CD_GENDER CHAR(1) , @@ -140,20 +140,20 @@ WITH (ORIENTATION = COLUMN,COMPRESSION=MIDDLE) ; -- 为tpcds.customer_demographics_t2.cd_demo_sk列加注释。 -mogdb=# COMMENT ON COLUMN tpcds.customer_demographics_t2.cd_demo_sk IS 'Primary key of customer demographics table.'; +MogDB=# COMMENT ON COLUMN tpcds.customer_demographics_t2.cd_demo_sk IS 'Primary key of customer demographics table.'; --创建一个由c_customer_sk小于150的内容组成的视图。 -mogdb=# CREATE VIEW tpcds.customer_details_view_v2 AS +MogDB=# CREATE VIEW tpcds.customer_details_view_v2 AS SELECT * FROM tpcds.customer WHERE c_customer_sk < 150; -- 为tpcds.customer_details_view_v2视图加注释。 -mogdb=# COMMENT ON VIEW tpcds.customer_details_view_v2 IS 'View of customer detail'; +MogDB=# COMMENT ON VIEW tpcds.customer_details_view_v2 IS 'View of customer detail'; -- 删除view。 -mogdb=# DROP VIEW tpcds.customer_details_view_v2; +MogDB=# DROP VIEW tpcds.customer_details_view_v2; -- 删除tpcds.customer_demographics_t2。 -mogdb=# DROP TABLE tpcds.customer_demographics_t2; +MogDB=# DROP TABLE tpcds.customer_demographics_t2; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COMMIT-END.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COMMIT-END.md index ad8d285d..bd0e00d1 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COMMIT-END.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COMMIT-END.md @@ -35,7 +35,7 @@ CommitEnd ::= { COMMIT | END } [ WORK | TRANSACTION ] ; ```sql --创建表。 -mogdb=# CREATE TABLE tpcds.customer_demographics_t2 +MogDB=# CREATE TABLE tpcds.customer_demographics_t2 ( CD_DEMO_SK INTEGER NOT NULL, CD_GENDER CHAR(1) , @@ -51,20 +51,20 @@ WITH (ORIENTATION = COLUMN,COMPRESSION=MIDDLE) ; --开启事务。 -mogdb=# START TRANSACTION; +MogDB=# START TRANSACTION; --插入数据。 -mogdb=# INSERT INTO tpcds.customer_demographics_t2 VALUES(1,'M', 'U', 'DOCTOR DEGREE', 1200, 'GOOD', 1, 0, 0); -mogdb=# INSERT INTO tpcds.customer_demographics_t2 VALUES(2,'F', 'U', 'MASTER DEGREE', 300, 'BAD', 1, 0, 0); +MogDB=# INSERT INTO tpcds.customer_demographics_t2 VALUES(1,'M', 'U', 'DOCTOR DEGREE', 1200, 'GOOD', 1, 0, 0); +MogDB=# INSERT INTO tpcds.customer_demographics_t2 VALUES(2,'F', 'U', 'MASTER DEGREE', 300, 'BAD', 1, 0, 0); --提交事务,让所有更改永久化。 -mogdb=# COMMIT; +MogDB=# COMMIT; --查询数据。 -mogdb=# SELECT * FROM tpcds.customer_demographics_t2; +MogDB=# SELECT * FROM tpcds.customer_demographics_t2; --删除表tpcds.customer_demographics_t2。 -mogdb=# DROP TABLE tpcds.customer_demographics_t2; +MogDB=# DROP TABLE tpcds.customer_demographics_t2; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COMMIT-PREPARED.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COMMIT-PREPARED.md index 96d95350..919d51ec 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COMMIT-PREPARED.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COMMIT-PREPARED.md @@ -41,7 +41,7 @@ CommitPrepared ::= COMMIT PREPARED transaction_id WITH CSN; ```sql --提交标识符为的trans_test的事务。 -mogdb=# COMMIT PREPARED 'trans_test'; +MogDB=# COMMIT PREPARED 'trans_test'; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COPY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COPY.md index 5b1d7fbb..e7d7ce3c 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COPY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/COPY.md @@ -599,13 +599,13 @@ COPY FROM从一个文件拷贝数据到一个表,COPY TO把一个表的数据 ```sql --将tpcds.ship_mode中的数据拷贝到/home/omm/ds_ship_mode.dat文件中。 -mogdb=# COPY tpcds.ship_mode TO '/home/omm/ds_ship_mode.dat'; +MogDB=# COPY tpcds.ship_mode TO '/home/omm/ds_ship_mode.dat'; --将tpcds.ship_mode 输出到stdout。 -mogdb=# COPY tpcds.ship_mode TO stdout; +MogDB=# COPY tpcds.ship_mode TO stdout; --创建tpcds.ship_mode_t1表。 -mogdb=# CREATE TABLE tpcds.ship_mode_t1 +MogDB=# CREATE TABLE tpcds.ship_mode_t1 ( SM_SHIP_MODE_SK INTEGER NOT NULL, SM_SHIP_MODE_ID CHAR(16) NOT NULL, @@ -618,20 +618,20 @@ WITH (ORIENTATION = COLUMN,COMPRESSION=MIDDLE) ; --从stdin拷贝数据到表tpcds.ship_mode_t1。 -mogdb=# COPY tpcds.ship_mode_t1 FROM stdin; +MogDB=# COPY tpcds.ship_mode_t1 FROM stdin; --从/home/omm/ds_ship_mode.dat文件拷贝数据到表tpcds.ship_mode_t1。 -mogdb=# COPY tpcds.ship_mode_t1 FROM '/home/omm/ds_ship_mode.dat'; +MogDB=# COPY tpcds.ship_mode_t1 FROM '/home/omm/ds_ship_mode.dat'; --从/home/omm/ds_ship_mode.dat文件拷贝数据到表tpcds.ship_mode_t1,应用TRANSFORM表达式转换,取SM_TYPE列左边10个字符插入到表中。 -mogdb=# COPY tpcds.ship_mode_t1 FROM '/home/omm/ds_ship_mode.dat' TRANSFORM (SM_TYPE AS LEFT(SM_TYPE, 10)); +MogDB=# COPY tpcds.ship_mode_t1 FROM '/home/omm/ds_ship_mode.dat' TRANSFORM (SM_TYPE AS LEFT(SM_TYPE, 10)); --从/home/omm/ds_ship_mode.dat文件拷贝数据到表tpcds.ship_mode_t1,使用参数如下:导入格式为TEXT(format 'text'),分隔符为'\t'(delimiter E'\t'),忽略多余列(ignore_extra_data 'true'),不指定转义(noescaping 'true')。 -mogdb=# COPY tpcds.ship_mode_t1 FROM '/home/omm/ds_ship_mode.dat' WITH(format 'text', delimiter E'\t', ignore_extra_data 'true', noescaping 'true'); +MogDB=# COPY tpcds.ship_mode_t1 FROM '/home/omm/ds_ship_mode.dat' WITH(format 'text', delimiter E'\t', ignore_extra_data 'true', noescaping 'true'); --从/home/omm/ds_ship_mode.dat文件拷贝数据到表tpcds.ship_mode_t1,使用参数如下:导入格式为FIXED(FIXED),指定定长格式(FORMATTER(SM_SHIP_MODE_SK(0, 2), SM_SHIP_MODE_ID(2,16), SM_TYPE(18,30), SM_CODE(50,10), SM_CARRIER(61,20), SM_CONTRACT(82,20))),忽略多余列(ignore_extra_data),有数据头(header)。 -mogdb=# COPY tpcds.ship_mode_t1 FROM '/home/omm/ds_ship_mode.dat' FIXED FORMATTER(SM_SHIP_MODE_SK(0, 2), SM_SHIP_MODE_ID(2,16), SM_TYPE(18,30), SM_CODE(50,10), SM_CARRIER(61,20), SM_CONTRACT(82,20)) header ignore_extra_data; +MogDB=# COPY tpcds.ship_mode_t1 FROM '/home/omm/ds_ship_mode.dat' FIXED FORMATTER(SM_SHIP_MODE_SK(0, 2), SM_SHIP_MODE_ID(2,16), SM_TYPE(18,30), SM_CODE(50,10), SM_CARRIER(61,20), SM_CONTRACT(82,20)) header ignore_extra_data; --删除tpcds.ship_mode_t1。 -mogdb=# DROP TABLE tpcds.ship_mode_t1; +MogDB=# DROP TABLE tpcds.ship_mode_t1; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-AUDIT-POLICY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-AUDIT-POLICY.md index 51dab8f1..c1a63618 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-AUDIT-POLICY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-AUDIT-POLICY.md @@ -81,26 +81,26 @@ CreateAuditPolicy ::= CREATE AUDIT POLICY [ IF NOT EXISTS ] policy_name { { priv ```sql --创建dev_audit和bob_audit用户。 -mogdb=# CREATE USER dev_audit PASSWORD 'dev@1234'; -mogdb=# CREATE USER bob_audit password 'bob@1234'; +MogDB=# CREATE USER dev_audit PASSWORD 'dev@1234'; +MogDB=# CREATE USER bob_audit password 'bob@1234'; --创建一个表tb_for_audit -mogdb=# CREATE TABLE tb_for_audit(col1 text, col2 text, col3 text); +MogDB=# CREATE TABLE tb_for_audit(col1 text, col2 text, col3 text); --创建资源标签 -mogdb=# CREATE RESOURCE LABEL adt_lb0 add TABLE(tb_for_audit); +MogDB=# CREATE RESOURCE LABEL adt_lb0 add TABLE(tb_for_audit); --对数据库执行create操作创建审计策略 -mogdb=# CREATE AUDIT POLICY adt1 PRIVILEGES CREATE; +MogDB=# CREATE AUDIT POLICY adt1 PRIVILEGES CREATE; --对数据库执行select操作创建审计策略 -mogdb=# CREATE AUDIT POLICY adt2 ACCESS SELECT; +MogDB=# CREATE AUDIT POLICY adt2 ACCESS SELECT; --仅审计记录用户dev_audit和bob_audit在执行针对adt_lb0资源进行的create操作数据库创建审计策略 -mogdb=# CREATE AUDIT POLICY adt3 PRIVILEGES CREATE ON LABEL(adt_lb0) FILTER ON ROLES(dev_audit, bob_audit); +MogDB=# CREATE AUDIT POLICY adt3 PRIVILEGES CREATE ON LABEL(adt_lb0) FILTER ON ROLES(dev_audit, bob_audit); --仅审计记录用户dev_audit和bob_audit,客户端工具为psql和gsql,IP地址为'10.20.30.40', '127.0.0.0/24',在执行针对adt_lb0资源进行的select、insert、delete操作数据库创建审计策略。 -mogdb=# CREATE AUDIT POLICY adt4 ACCESS SELECT ON LABEL(adt_lb0), INSERT ON LABEL(adt_lb0), DELETE FILTER ON ROLES(dev_audit, bob_audit), APP(psql, gsql), IP('10.20.30.40', '127.0.0.0/24'); +MogDB=# CREATE AUDIT POLICY adt4 ACCESS SELECT ON LABEL(adt_lb0), INSERT ON LABEL(adt_lb0), DELETE FILTER ON ROLES(dev_audit, bob_audit), APP(psql, gsql), IP('10.20.30.40', '127.0.0.0/24'); ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-DATA-SOURCE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-DATA-SOURCE.md index f3c0b60d..0dc0b595 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-DATA-SOURCE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-DATA-SOURCE.md @@ -73,22 +73,22 @@ CreateDataSource ::= CREATE DATA SOURCE src_name ```sql --创建一个空的Data Source对象,不含任何信息。 -mogdb=# CREATE DATA SOURCE ds_test1; +MogDB=# CREATE DATA SOURCE ds_test1; --创建一个Data Source对象,含TYPE信息,VERSION为NULL。 -mogdb=# CREATE DATA SOURCE ds_test2 TYPE 'MPPDB' VERSION NULL; +MogDB=# CREATE DATA SOURCE ds_test2 TYPE 'MPPDB' VERSION NULL; --创建一个Data Source对象,仅含OPTIONS。 -mogdb=# CREATE DATA SOURCE ds_test3 OPTIONS (dsn 'MogDB', encoding 'utf8'); +MogDB=# CREATE DATA SOURCE ds_test3 OPTIONS (dsn 'MogDB', encoding 'utf8'); --创建一个Data Source对象,含TYPE, VERSION, OPTIONS。 -mogdb=# CREATE DATA SOURCE ds_test4 TYPE 'unknown' VERSION '11.2.3' OPTIONS (dsn 'MogDB', username 'userid', password 'pwd@123456', encoding ''); +MogDB=# CREATE DATA SOURCE ds_test4 TYPE 'unknown' VERSION '11.2.3' OPTIONS (dsn 'MogDB', username 'userid', password 'pwd@123456', encoding ''); --删除Data Source对象。 -mogdb=# DROP DATA SOURCE ds_test1; -mogdb=# DROP DATA SOURCE ds_test2; -mogdb=# DROP DATA SOURCE ds_test3; -mogdb=# DROP DATA SOURCE ds_test4; +MogDB=# DROP DATA SOURCE ds_test1; +MogDB=# DROP DATA SOURCE ds_test2; +MogDB=# DROP DATA SOURCE ds_test3; +MogDB=# DROP DATA SOURCE ds_test4; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-DATABASE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-DATABASE.md index fa0b4f9d..6fdab4c1 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-DATABASE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-DATABASE.md @@ -165,54 +165,54 @@ CreateDatabase ::= CREATE DATABASE database_name ```sql --创建jim和tom用户。 -mogdb=# CREATE USER jim PASSWORD 'xxxxxxxxx'; -mogdb=# CREATE USER tom PASSWORD 'xxxxxxxxx'; +MogDB=# CREATE USER jim PASSWORD 'xxxxxxxxx'; +MogDB=# CREATE USER tom PASSWORD 'xxxxxxxxx'; --创建一个GBK编码的数据库music(本地环境的编码格式必须也为GBK)。 -mogdb=# CREATE DATABASE music ENCODING 'GBK' template = template0; +MogDB=# CREATE DATABASE music ENCODING 'GBK' template = template0; --创建数据库music2,并指定所有者为jim。 -mogdb=# CREATE DATABASE music2 OWNER jim; +MogDB=# CREATE DATABASE music2 OWNER jim; --用模板template0创建数据库music3,并指定所有者为jim。 -mogdb=# CREATE DATABASE music3 OWNER jim TEMPLATE template0; +MogDB=# CREATE DATABASE music3 OWNER jim TEMPLATE template0; --设置music数据库的连接数为10。 -mogdb=# ALTER DATABASE music CONNECTION LIMIT= 10; +MogDB=# ALTER DATABASE music CONNECTION LIMIT= 10; --将music名称改为music4。 -mogdb=# ALTER DATABASE music RENAME TO music4; +MogDB=# ALTER DATABASE music RENAME TO music4; --将数据库music2的所属者改为tom。 -mogdb=# ALTER DATABASE music2 OWNER TO tom; +MogDB=# ALTER DATABASE music2 OWNER TO tom; --设置music3的表空间为PG_DEFAULT。 -mogdb=# ALTER DATABASE music3 SET TABLESPACE PG_DEFAULT; +MogDB=# ALTER DATABASE music3 SET TABLESPACE PG_DEFAULT; --关闭在数据库music3上缺省的索引扫描。 -mogdb=# ALTER DATABASE music3 SET enable_indexscan TO off; +MogDB=# ALTER DATABASE music3 SET enable_indexscan TO off; --重置enable_indexscan参数。 -mogdb=# ALTER DATABASE music3 RESET enable_indexscan; +MogDB=# ALTER DATABASE music3 RESET enable_indexscan; --删除数据库。 -mogdb=# DROP DATABASE music2; -mogdb=# DROP DATABASE music3; -mogdb=# DROP DATABASE music4; +MogDB=# DROP DATABASE music2; +MogDB=# DROP DATABASE music3; +MogDB=# DROP DATABASE music4; --删除jim和tom用户。 -mogdb=# DROP USER jim; -mogdb=# DROP USER tom; +MogDB=# DROP USER jim; +MogDB=# DROP USER tom; --创建兼容PG格式的数据库。 -mogdb=# CREATE DATABASE pg_compatible_db DBCOMPATIBILITY 'C'; +MogDB=# CREATE DATABASE pg_compatible_db DBCOMPATIBILITY 'C'; --创建兼容Oracle的数据库。 -mogdb=# CREATE DATABASE ora_compatible_db DBCOMPATIBILITY 'A'; +MogDB=# CREATE DATABASE ora_compatible_db DBCOMPATIBILITY 'A'; --删除兼容PG、Oracle格式的数据库。 -mogdb=# DROP DATABASE pg_compatible_db; -mogdb=# DROP DATABASE ora_compatible_db; +MogDB=# DROP DATABASE pg_compatible_db; +MogDB=# DROP DATABASE ora_compatible_db; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-DIRECTORY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-DIRECTORY.md index bd6f7a0a..a07b67b4 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-DIRECTORY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-DIRECTORY.md @@ -50,7 +50,7 @@ AS 'path_name'; ```sql --创建目录。 -mogdb=# CREATE OR REPLACE DIRECTORY dir as '/tmp/'; +MogDB=# CREATE OR REPLACE DIRECTORY dir as '/tmp/'; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-FUNCTION.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-FUNCTION.md index 6ac8bc9d..ce48ff82 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-FUNCTION.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-FUNCTION.md @@ -259,21 +259,21 @@ date: 2021-05-10 ```sql --定义函数为SQL查询。 -mogdb=# CREATE FUNCTION func_add_sql(integer, integer) RETURNS integer +MogDB=# CREATE FUNCTION func_add_sql(integer, integer) RETURNS integer AS 'select $1 + $2;' LANGUAGE SQL IMMUTABLE RETURNS NULL ON NULL INPUT; --利用参数名用 PL/pgSQL 自增一个整数。 -mogdb=# CREATE OR REPLACE FUNCTION func_increment_plsql(i integer) RETURNS integer AS $$ +MogDB=# CREATE OR REPLACE FUNCTION func_increment_plsql(i integer) RETURNS integer AS $$ BEGIN RETURN i + 1; END; $$ LANGUAGE plpgsql; --返回RECORD类型 -mogdb=# CREATE OR REPLACE FUNCTION func_increment_sql(i int, out result_1 bigint, out result_2 bigint) +MogDB=# CREATE OR REPLACE FUNCTION func_increment_sql(i int, out result_1 bigint, out result_2 bigint) returns SETOF RECORD as $$ begin @@ -284,34 +284,34 @@ end; $$language plpgsql; --返回一个包含多个输出参数的记录。 -mogdb=# CREATE FUNCTION func_dup_sql(in int, out f1 int, out f2 text) +MogDB=# CREATE FUNCTION func_dup_sql(in int, out f1 int, out f2 text) AS $$ SELECT $1, CAST($1 AS text) || ' is text' $$ LANGUAGE SQL; -mogdb=# SELECT * FROM func_dup_sql(42); +MogDB=# SELECT * FROM func_dup_sql(42); --计算两个整数的和,并返回结果。如果输入为null,则返回null。 -mogdb=# CREATE FUNCTION func_add_sql2(num1 integer, num2 integer) RETURN integer +MogDB=# CREATE FUNCTION func_add_sql2(num1 integer, num2 integer) RETURN integer AS BEGIN RETURN num1 + num2; END; / --修改函数func_add_sql2的执行规则为IMMUTABLE,即参数不变时返回相同结果。 -mogdb=# ALTER FUNCTION func_add_sql2(INTEGER, INTEGER) IMMUTABLE; +MogDB=# ALTER FUNCTION func_add_sql2(INTEGER, INTEGER) IMMUTABLE; --将函数func_add_sql2的名称修改为add_two_number。 -mogdb=# ALTER FUNCTION func_add_sql2(INTEGER, INTEGER) RENAME TO add_two_number; +MogDB=# ALTER FUNCTION func_add_sql2(INTEGER, INTEGER) RENAME TO add_two_number; --将函数add_two_number的属者改为omm。 -mogdb=# ALTER FUNCTION add_two_number(INTEGER, INTEGER) OWNER TO omm; +MogDB=# ALTER FUNCTION add_two_number(INTEGER, INTEGER) OWNER TO omm; --删除函数。 -mogdb=# DROP FUNCTION add_two_number; -mogdb=# DROP FUNCTION func_increment_sql; -mogdb=# DROP FUNCTION func_dup_sql; -mogdb=# DROP FUNCTION func_increment_plsql; -mogdb=# DROP FUNCTION func_add_sql; +MogDB=# DROP FUNCTION add_two_number; +MogDB=# DROP FUNCTION func_increment_sql; +MogDB=# DROP FUNCTION func_dup_sql; +MogDB=# DROP FUNCTION func_increment_plsql; +MogDB=# DROP FUNCTION func_add_sql; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-INCREMENTAL-MATERIALIZED-VIEW.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-INCREMENTAL-MATERIALIZED-VIEW.md index 640d605d..d557e35d 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-INCREMENTAL-MATERIALIZED-VIEW.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-INCREMENTAL-MATERIALIZED-VIEW.md @@ -57,13 +57,13 @@ CreateIncrementalMaterializedView ::= CREATE INCREMENTAL MATERIALIZED VIEW mv_na ```sql --创建一个普通表 -mogdb=# CREATE TABLE my_table (c1 int, c2 int); +MogDB=# CREATE TABLE my_table (c1 int, c2 int); --创建增量物化视图 -mogdb=# CREATE INCREMENTAL MATERIALIZED VIEW my_imv AS SELECT * FROM my_table; +MogDB=# CREATE INCREMENTAL MATERIALIZED VIEW my_imv AS SELECT * FROM my_table; --基表写入数据 -mogdb=# INSERT INTO my_table VALUES(1,1),(2,2); +MogDB=# INSERT INTO my_table VALUES(1,1),(2,2); --对增量物化视图my_imv进行增量刷新 -mogdb=# REFRESH INCREMENTAL MATERIALIZED VIEW my_imv; +MogDB=# REFRESH INCREMENTAL MATERIALIZED VIEW my_imv; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-INDEX.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-INDEX.md index 6f3159b0..8933ede3 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-INDEX.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-INDEX.md @@ -286,8 +286,8 @@ date: 2021-05-10 ```sql --创建表tpcds.ship_mode_t1。 -mogdb=# create schema tpcds; -mogdb=# CREATE TABLE tpcds.ship_mode_t1 +MogDB=# create schema tpcds; +MogDB=# CREATE TABLE tpcds.ship_mode_t1 ( SM_SHIP_MODE_SK INTEGER NOT NULL, SM_SHIP_MODE_ID CHAR(16) NOT NULL, @@ -299,39 +299,39 @@ mogdb=# CREATE TABLE tpcds.ship_mode_t1 ; --在表tpcds.ship_mode_t1上的SM_SHIP_MODE_SK字段上创建普通的唯一索引。 -mogdb=# CREATE UNIQUE INDEX ds_ship_mode_t1_index1 ON tpcds.ship_mode_t1(SM_SHIP_MODE_SK); +MogDB=# CREATE UNIQUE INDEX ds_ship_mode_t1_index1 ON tpcds.ship_mode_t1(SM_SHIP_MODE_SK); --在表tpcds.ship_mode_t1上的SM_SHIP_MODE_SK字段上创建指定B-tree索引。 -mogdb=# CREATE INDEX ds_ship_mode_t1_index4 ON tpcds.ship_mode_t1 USING btree(SM_SHIP_MODE_SK); +MogDB=# CREATE INDEX ds_ship_mode_t1_index4 ON tpcds.ship_mode_t1 USING btree(SM_SHIP_MODE_SK); --在表tpcds.ship_mode_t1上SM_CODE字段上创建表达式索引。 -mogdb=# CREATE INDEX ds_ship_mode_t1_index2 ON tpcds.ship_mode_t1(SUBSTR(SM_CODE,1 ,4)); +MogDB=# CREATE INDEX ds_ship_mode_t1_index2 ON tpcds.ship_mode_t1(SUBSTR(SM_CODE,1 ,4)); --在表tpcds.ship_mode_t1上的SM_SHIP_MODE_SK字段上创建SM_SHIP_MODE_SK大于10的部分索引。 -mogdb=# CREATE UNIQUE INDEX ds_ship_mode_t1_index3 ON tpcds.ship_mode_t1(SM_SHIP_MODE_SK) WHERE SM_SHIP_MODE_SK>10; +MogDB=# CREATE UNIQUE INDEX ds_ship_mode_t1_index3 ON tpcds.ship_mode_t1(SM_SHIP_MODE_SK) WHERE SM_SHIP_MODE_SK>10; --重命名一个现有的索引。 -mogdb=# ALTER INDEX tpcds.ds_ship_mode_t1_index1 RENAME TO ds_ship_mode_t1_index5; +MogDB=# ALTER INDEX tpcds.ds_ship_mode_t1_index1 RENAME TO ds_ship_mode_t1_index5; --设置索引不可用。 -mogdb=# ALTER INDEX tpcds.ds_ship_mode_t1_index2 UNUSABLE; +MogDB=# ALTER INDEX tpcds.ds_ship_mode_t1_index2 UNUSABLE; --重建索引。 -mogdb=# ALTER INDEX tpcds.ds_ship_mode_t1_index2 REBUILD; +MogDB=# ALTER INDEX tpcds.ds_ship_mode_t1_index2 REBUILD; --删除一个现有的索引。 -mogdb=# DROP INDEX tpcds.ds_ship_mode_t1_index2; +MogDB=# DROP INDEX tpcds.ds_ship_mode_t1_index2; --删除表。 -mogdb=# DROP TABLE tpcds.ship_mode_t1; +MogDB=# DROP TABLE tpcds.ship_mode_t1; --创建表空间。 -mogdb=# CREATE TABLESPACE example1 RELATIVE LOCATION 'tablespace1/tablespace_1'; -mogdb=# CREATE TABLESPACE example2 RELATIVE LOCATION 'tablespace2/tablespace_2'; -mogdb=# CREATE TABLESPACE example3 RELATIVE LOCATION 'tablespace3/tablespace_3'; -mogdb=# CREATE TABLESPACE example4 RELATIVE LOCATION 'tablespace4/tablespace_4'; +MogDB=# CREATE TABLESPACE example1 RELATIVE LOCATION 'tablespace1/tablespace_1'; +MogDB=# CREATE TABLESPACE example2 RELATIVE LOCATION 'tablespace2/tablespace_2'; +MogDB=# CREATE TABLESPACE example3 RELATIVE LOCATION 'tablespace3/tablespace_3'; +MogDB=# CREATE TABLESPACE example4 RELATIVE LOCATION 'tablespace4/tablespace_4'; --创建表tpcds.customer_address_p1。 -mogdb=# CREATE TABLE tpcds.customer_address_p1 +MogDB=# CREATE TABLE tpcds.customer_address_p1 ( CA_ADDRESS_SK INTEGER NOT NULL, CA_ADDRESS_ID CHAR(16) NOT NULL, @@ -356,9 +356,9 @@ PARTITION BY RANGE(CA_ADDRESS_SK) ) ENABLE ROW MOVEMENT; --创建分区表索引ds_customer_address_p1_index1,不指定索引分区的名称。 -mogdb=# CREATE INDEX ds_customer_address_p1_index1 ON tpcds.customer_address_p1(CA_ADDRESS_SK) LOCAL; +MogDB=# CREATE INDEX ds_customer_address_p1_index1 ON tpcds.customer_address_p1(CA_ADDRESS_SK) LOCAL; --创建分区表索引ds_customer_address_p1_index2,并指定索引分区的名称。 -mogdb=# CREATE INDEX ds_customer_address_p1_index2 ON tpcds.customer_address_p1(CA_ADDRESS_SK) LOCAL +MogDB=# CREATE INDEX ds_customer_address_p1_index2 ON tpcds.customer_address_p1(CA_ADDRESS_SK) LOCAL ( PARTITION CA_ADDRESS_SK_index1, PARTITION CA_ADDRESS_SK_index2 TABLESPACE example3, @@ -373,28 +373,28 @@ mogdb=CREATE INDEX ds_customer_address_p1_index3 ON tpcds.customer_address_p1(CA mogdb=CREATE INDEX ds_customer_address_p1_index4 ON tpcds.customer_address_p1(CA_ADDRESS_ID); --修改分区表索引CA_ADDRESS_SK_index2的表空间为example1。 -mogdb=# ALTER INDEX tpcds.ds_customer_address_p1_index2 MOVE PARTITION CA_ADDRESS_SK_index2 TABLESPACE example1; +MogDB=# ALTER INDEX tpcds.ds_customer_address_p1_index2 MOVE PARTITION CA_ADDRESS_SK_index2 TABLESPACE example1; --修改分区表索引CA_ADDRESS_SK_index3的表空间为example2。 -mogdb=# ALTER INDEX tpcds.ds_customer_address_p1_index2 MOVE PARTITION CA_ADDRESS_SK_index3 TABLESPACE example2; +MogDB=# ALTER INDEX tpcds.ds_customer_address_p1_index2 MOVE PARTITION CA_ADDRESS_SK_index3 TABLESPACE example2; --重命名分区表索引。 -mogdb=# ALTER INDEX tpcds.ds_customer_address_p1_index2 RENAME PARTITION CA_ADDRESS_SK_index1 TO CA_ADDRESS_SK_index4; +MogDB=# ALTER INDEX tpcds.ds_customer_address_p1_index2 RENAME PARTITION CA_ADDRESS_SK_index1 TO CA_ADDRESS_SK_index4; --删除索引和分区表。 -mogdb=# DROP INDEX tpcds.ds_customer_address_p1_index1; -mogdb=# DROP INDEX tpcds.ds_customer_address_p1_index2; -mogdb=# DROP TABLE tpcds.customer_address_p1; +MogDB=# DROP INDEX tpcds.ds_customer_address_p1_index1; +MogDB=# DROP INDEX tpcds.ds_customer_address_p1_index2; +MogDB=# DROP TABLE tpcds.customer_address_p1; --删除表空间。 -mogdb=# DROP TABLESPACE example1; -mogdb=# DROP TABLESPACE example2; -mogdb=# DROP TABLESPACE example3; -mogdb=# DROP TABLESPACE example4; +MogDB=# DROP TABLESPACE example1; +MogDB=# DROP TABLESPACE example2; +MogDB=# DROP TABLESPACE example3; +MogDB=# DROP TABLESPACE example4; --创建列存表以及列存表GIN索引。 -mogdb=# create table cgin_create_test(a int, b text) with (orientation = column); +MogDB=# create table cgin_create_test(a int, b text) with (orientation = column); CREATE TABLE -mogdb=# create index cgin_test on cgin_create_test using gin(to_tsvector('ngram', b)); +MogDB=# create index cgin_test on cgin_create_test using gin(to_tsvector('ngram', b)); CREATE INDEX ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-MASKING-POLICY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-MASKING-POLICY.md index f8ec77d1..67913e3f 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-MASKING-POLICY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-MASKING-POLICY.md @@ -87,23 +87,23 @@ CreateMaskingPolicy ::= CREATE MASKING POLICY policy_name masking_clause[, ...]* ```sql --创建dev_mask和bob_mask用户。 -mogdb=# CREATE USER dev_mask PASSWORD 'dev@1234'; -mogdb=# CREATE USER bob_mask PASSWORD 'bob@1234'; +MogDB=# CREATE USER dev_mask PASSWORD 'dev@1234'; +MogDB=# CREATE USER bob_mask PASSWORD 'bob@1234'; --创建一个表tb_for_masking -mogdb=# CREATE TABLE tb_for_masking(col1 text, col2 text, col3 text); +MogDB=# CREATE TABLE tb_for_masking(col1 text, col2 text, col3 text); --创建资源标签标记敏感列col1 -mogdb=# CREATE RESOURCE LABEL mask_lb1 ADD COLUMN(tb_for_masking.col1); +MogDB=# CREATE RESOURCE LABEL mask_lb1 ADD COLUMN(tb_for_masking.col1); --创建资源标签标记敏感列col2 -mogdb=# CREATE RESOURCE LABEL mask_lb2 ADD COLUMN(tb_for_masking.col2); +MogDB=# CREATE RESOURCE LABEL mask_lb2 ADD COLUMN(tb_for_masking.col2); --对访问敏感列col1的操作创建脱敏策略 -mogdb=# CREATE MASKING POLICY maskpol1 maskall ON LABEL(mask_lb1); +MogDB=# CREATE MASKING POLICY maskpol1 maskall ON LABEL(mask_lb1); --创建仅对用户dev_mask和bob_mask,客户端工具为psql和gsql,IP地址为'10.20.30.40', '127.0.0.0/24'场景下生效的脱敏策略。 -mogdb=# CREATE MASKING POLICY maskpol2 randommasking ON LABEL(mask_lb2) FILTER ON ROLES(dev_mask, bob_mask), APP(psql, gsql), IP('10.20.30.40', '127.0.0.0/24'); +MogDB=# CREATE MASKING POLICY maskpol2 randommasking ON LABEL(mask_lb2) FILTER ON ROLES(dev_mask, bob_mask), APP(psql, gsql), IP('10.20.30.40', '127.0.0.0/24'); ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-MATERIALIZED-VIEW.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-MATERIALIZED-VIEW.md index ee440723..8c599406 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-MATERIALIZED-VIEW.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-MATERIALIZED-VIEW.md @@ -63,13 +63,13 @@ CreateMaterializedView ::= CREATE MATERIALIZED VIEW mv_name ```sql --创建一个普通表 -mogdb=# CREATE TABLE my_table (c1 int, c2 int); +MogDB=# CREATE TABLE my_table (c1 int, c2 int); --创建全量物化视图 -mogdb=# CREATE MATERIALIZED VIEW my_mv AS SELECT * FROM my_table; +MogDB=# CREATE MATERIALIZED VIEW my_mv AS SELECT * FROM my_table; --基表写入数据 -mogdb=# INSERT INTO my_table VALUES(1,1),(2,2); +MogDB=# INSERT INTO my_table VALUES(1,1),(2,2); --对全量物化视图my_mv进行全量刷新 -mogdb=# REFRESH MATERIALIZED VIEW my_mv; +MogDB=# REFRESH MATERIALIZED VIEW my_mv; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-RESOURCE-LABEL.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-RESOURCE-LABEL.md index f16e0f88..473f1786 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-RESOURCE-LABEL.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-RESOURCE-LABEL.md @@ -53,31 +53,31 @@ CreateResourceLabel ::= CREATE RESOURCE LABEL [IF NOT EXISTS] label_name ADD lab ```sql --创建一个表tb_for_label -mogdb=# CREATE TABLE tb_for_label(col1 text, col2 text, col3 text); +MogDB=# CREATE TABLE tb_for_label(col1 text, col2 text, col3 text); --创建一个模式schema_for_label -mogdb=# CREATE SCHEMA schema_for_label; +MogDB=# CREATE SCHEMA schema_for_label; --创建一个视图view_for_label -mogdb=# CREATE VIEW view_for_label AS SELECT 1; +MogDB=# CREATE VIEW view_for_label AS SELECT 1; --创建一个函数func_for_label -mogdb=# CREATE FUNCTION func_for_label RETURNS TEXT AS $$ SELECT col1 FROM tb_for_label; $$ LANGUAGE SQL; +MogDB=# CREATE FUNCTION func_for_label RETURNS TEXT AS $$ SELECT col1 FROM tb_for_label; $$ LANGUAGE SQL; --基于表创建资源标签 -mogdb=# CREATE RESOURCE LABEL IF NOT EXISTS table_label add TABLE(public.tb_for_label); +MogDB=# CREATE RESOURCE LABEL IF NOT EXISTS table_label add TABLE(public.tb_for_label); --基于列创建资源标签 -mogdb=# CREATE RESOURCE LABEL IF NOT EXISTS column_label add COLUMN(public.tb_for_label.col1); +MogDB=# CREATE RESOURCE LABEL IF NOT EXISTS column_label add COLUMN(public.tb_for_label.col1); --基于模式创建资源标签 -mogdb=# CREATE RESOURCE LABEL IF NOT EXISTS schema_label add SCHEMA(schema_for_label); +MogDB=# CREATE RESOURCE LABEL IF NOT EXISTS schema_label add SCHEMA(schema_for_label); --基于视图创建资源标签 -mogdb=# CREATE RESOURCE LABEL IF NOT EXISTS view_label add VIEW(view_for_label); +MogDB=# CREATE RESOURCE LABEL IF NOT EXISTS view_label add VIEW(view_for_label); --基于函数创建资源标签 -mogdb=# CREATE RESOURCE LABEL IF NOT EXISTS func_label add FUNCTION(func_for_label); +MogDB=# CREATE RESOURCE LABEL IF NOT EXISTS func_label add FUNCTION(func_for_label); ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-RESOURCE-POOL.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-RESOURCE-POOL.md index 2e52fc17..57a48fc2 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-RESOURCE-POOL.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-RESOURCE-POOL.md @@ -109,26 +109,26 @@ CreateResourcePool ::= CREATE RESOURCE POOL pool_name ```sql --创建一个默认资源池,其控制组为"DefaultClass"组下属的"Medium" Timeshare Workload控制组。 -mogdb=# CREATE RESOURCE POOL pool1; +MogDB=# CREATE RESOURCE POOL pool1; -- 创建一个资源池,其控制组指定为"DefaultClass"组下属的"High" Timeshare Workload控制组。 -mogdb=# CREATE RESOURCE POOL pool2 WITH (CONTROL_GROUP="High"); +MogDB=# CREATE RESOURCE POOL pool2 WITH (CONTROL_GROUP="High"); -- 创建一个资源池,其控制组指定为"class1"组下属的"Low" Timeshare Workload控制组。 -mogdb=# CREATE RESOURCE POOL pool3 WITH (CONTROL_GROUP="class1:Low"); +MogDB=# CREATE RESOURCE POOL pool3 WITH (CONTROL_GROUP="class1:Low"); -- 创建一个资源池,其控制组指定为"class1"组下属的"wg1" Workload控制组。 -mogdb=# CREATE RESOURCE POOL pool4 WITH (CONTROL_GROUP="class1:wg1"); +MogDB=# CREATE RESOURCE POOL pool4 WITH (CONTROL_GROUP="class1:wg1"); -- 创建一个资源池,其控制组指定为"class1"组下属的"wg2" Workload控制组。 -mogdb=# CREATE RESOURCE POOL pool5 WITH (CONTROL_GROUP="class1:wg2:3"); +MogDB=# CREATE RESOURCE POOL pool5 WITH (CONTROL_GROUP="class1:wg2:3"); --删除资源池。 -mogdb=# DROP RESOURCE POOL pool1; -mogdb=# DROP RESOURCE POOL pool2; -mogdb=# DROP RESOURCE POOL pool3; -mogdb=# DROP RESOURCE POOL pool4; -mogdb=# DROP RESOURCE POOL pool5; +MogDB=# DROP RESOURCE POOL pool1; +MogDB=# DROP RESOURCE POOL pool2; +MogDB=# DROP RESOURCE POOL pool3; +MogDB=# DROP RESOURCE POOL pool4; +MogDB=# DROP RESOURCE POOL pool5; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-ROLE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-ROLE.md index 79ebcc5d..3ecb5ab7 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-ROLE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-ROLE.md @@ -255,31 +255,31 @@ option ::= {SYSADMIN | NOSYSADMIN} ```sql --创建一个角色,名为manager,密码为xxxxxxxxx。 -mogdb=# CREATE ROLE manager IDENTIFIED BY 'xxxxxxxxx'; +MogDB=# CREATE ROLE manager IDENTIFIED BY 'xxxxxxxxx'; --创建一个角色,从2015年1月1日开始生效,到2026年1月1日失效。 -mogdb=# CREATE ROLE miriam WITH LOGIN PASSWORD 'xxxxxxxxx' VALID BEGIN '2015-01-01' VALID UNTIL '2026-01-01'; +MogDB=# CREATE ROLE miriam WITH LOGIN PASSWORD 'xxxxxxxxx' VALID BEGIN '2015-01-01' VALID UNTIL '2026-01-01'; --修改角色manager的密码为abcd@123。 -mogdb=# ALTER ROLE manager IDENTIFIED BY 'abcd@123' REPLACE 'xxxxxxxxx'; +MogDB=# ALTER ROLE manager IDENTIFIED BY 'abcd@123' REPLACE 'xxxxxxxxx'; --修改角色manager为系统管理员。 -mogdb=# ALTER ROLE manager SYSADMIN; +MogDB=# ALTER ROLE manager SYSADMIN; --删除角色manager。 -mogdb=# DROP ROLE manager; +MogDB=# DROP ROLE manager; --删除角色miriam。 -mogdb=# DROP ROLE miriam; +MogDB=# DROP ROLE miriam; --创建角色r1并设置用户使用空间大小为1k。 -mogdb=# CREATE ROLE r1 PERM SPACE '1k' IDENTIFIED BY "Enmo@123"; +MogDB=# CREATE ROLE r1 PERM SPACE '1k' IDENTIFIED BY "Enmo@123"; --创建角色r2并设置用户临时表存储空间限额为1k。 -mogdb=# CREATE ROLE r2 TEMP SPACE '1k' IDENTIFIED BY "Enmo@123"; +MogDB=# CREATE ROLE r2 TEMP SPACE '1k' IDENTIFIED BY "Enmo@123"; --创建角色r3并设置用户算子落盘空间限额为1M。 -mogdb=# CREATE ROLE r3 SPILL SPACE '1M' IDENTIFIED BY "Enmo@123"; +MogDB=# CREATE ROLE r3 SPILL SPACE '1M' IDENTIFIED BY "Enmo@123"; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-ROW-LEVEL-SECURITY-POLICY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-ROW-LEVEL-SECURITY-POLICY.md index 8182909c..54576f48 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-ROW-LEVEL-SECURITY-POLICY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-ROW-LEVEL-SECURITY-POLICY.md @@ -103,30 +103,30 @@ CreateRowLevelSecurityPolicy ::= CREATE [ ROW LEVEL SECURITY ] POLICY policy_nam ```sql --创建用户alice -mogdb=# CREATE USER alice PASSWORD 'xxxxxxxxx'; +MogDB=# CREATE USER alice PASSWORD 'xxxxxxxxx'; --创建用户bob -mogdb=# CREATE USER bob PASSWORD 'xxxxxxxxx'; +MogDB=# CREATE USER bob PASSWORD 'xxxxxxxxx'; --创建数据表all_data -mogdb=# CREATE TABLE all_data(id int, role varchar(100), data varchar(100)); +MogDB=# CREATE TABLE all_data(id int, role varchar(100), data varchar(100)); --向数据表插入数据 -mogdb=# INSERT INTO all_data VALUES(1, 'alice', 'alice data'); -mogdb=# INSERT INTO all_data VALUES(2, 'bob', 'bob data'); -mogdb=# INSERT INTO all_data VALUES(3, 'peter', 'peter data'); +MogDB=# INSERT INTO all_data VALUES(1, 'alice', 'alice data'); +MogDB=# INSERT INTO all_data VALUES(2, 'bob', 'bob data'); +MogDB=# INSERT INTO all_data VALUES(3, 'peter', 'peter data'); --将表all_data的读取权限赋予alice和bob用户 -mogdb=# GRANT SELECT ON all_data TO alice, bob; +MogDB=# GRANT SELECT ON all_data TO alice, bob; --打开行访问控制策略开关 -mogdb=# ALTER TABLE all_data ENABLE ROW LEVEL SECURITY; +MogDB=# ALTER TABLE all_data ENABLE ROW LEVEL SECURITY; --创建行访问控制策略,当前用户只能查看用户自身的数据 -mogdb=# CREATE ROW LEVEL SECURITY POLICY all_data_rls ON all_data USING(role = CURRENT_USER); +MogDB=# CREATE ROW LEVEL SECURITY POLICY all_data_rls ON all_data USING(role = CURRENT_USER); --查看表all_data相关信息 -mogdb=# \d+ all_data +MogDB=# \d+ all_data Table "public.all_data" Column | Type | Modifiers | Storage | Stats target | Description --------+------------------------+-----------+----------+--------------+------------- @@ -140,7 +140,7 @@ Has OIDs: no Options: orientation=row, compression=no, enable_rowsecurity=true --当前用户执行SELECT操作 -mogdb=# SELECT * FROM all_data; +MogDB=# SELECT * FROM all_data; id | role | data ----+-------+------------ 1 | alice | alice data @@ -148,20 +148,20 @@ mogdb=# SELECT * FROM all_data; 3 | peter | peter data (3 rows) -mogdb=# EXPLAIN(COSTS OFF) SELECT * FROM all_data; +MogDB=# EXPLAIN(COSTS OFF) SELECT * FROM all_data; QUERY PLAN ---------------------- Seq Scan on all_data (1 row) --切换至alice用户执行SELECT操作 -mogdb=# SELECT * FROM all_data; +MogDB=# SELECT * FROM all_data; id | role | data ----+-------+------------ 1 | alice | alice data (1 row) -mogdb=# EXPLAIN(COSTS OFF) SELECT * FROM all_data; +MogDB=# EXPLAIN(COSTS OFF) SELECT * FROM all_data; QUERY PLAN ---------------------------------------------------------------- Seq Scan on all_data diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SCHEMA.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SCHEMA.md index 7c55230e..3cdc9c4d 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SCHEMA.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SCHEMA.md @@ -70,18 +70,18 @@ date: 2021-05-10 ```sql --创建一个角色role1。 -mogdb=# CREATE ROLE role1 IDENTIFIED BY 'xxxxxx'; +MogDB=# CREATE ROLE role1 IDENTIFIED BY 'xxxxxx'; --为用户role1创建一个同名schema,子命令创建的表films和winners的拥有者为role1。 -mogdb=# CREATE SCHEMA AUTHORIZATION role1 +MogDB=# CREATE SCHEMA AUTHORIZATION role1 CREATE TABLE films (title text, release date, awards text[]) CREATE VIEW winners AS SELECT title, release FROM films WHERE awards IS NOT NULL; --删除schema。 -mogdb=# DROP SCHEMA role1 CASCADE; +MogDB=# DROP SCHEMA role1 CASCADE; --删除用户。 -mogdb=# DROP USER role1 CASCADE; +MogDB=# DROP USER role1 CASCADE; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SEQUENCE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SEQUENCE.md index 4d54129e..5f39c81d 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SEQUENCE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SEQUENCE.md @@ -89,7 +89,7 @@ CreateSequence ::= CREATE [ LARGE ] SEQUENCE name [ INCREMENT [ BY ] increment ] 创建一个名为serial的递增序列,从101开始: ```sql -mogdb=# CREATE SEQUENCE serial +MogDB=# CREATE SEQUENCE serial START 101 CACHE 20; ``` @@ -97,7 +97,7 @@ mogdb=# CREATE SEQUENCE serial 从序列中选出下一个数字: ```sql -mogdb=# SELECT nextval('serial'); +MogDB=# SELECT nextval('serial'); nextval --------- 101 @@ -106,7 +106,7 @@ mogdb=# SELECT nextval('serial'); 从序列中选出下一个数字: ```sql -mogdb=# SELECT nextval('serial'); +MogDB=# SELECT nextval('serial'); nextval --------- 102 @@ -115,7 +115,7 @@ mogdb=# SELECT nextval('serial'); 创建与表关联的序列: ```sql -mogdb=# CREATE TABLE customer_address +MogDB=# CREATE TABLE customer_address ( ca_address_sk integer not null, ca_address_id char(16) not null, @@ -132,14 +132,14 @@ mogdb=# CREATE TABLE customer_address ca_location_type char(20) ); -mogdb=# CREATE SEQUENCE serial1 +MogDB=# CREATE SEQUENCE serial1 START 101 CACHE 20 OWNED BY customer_address.ca_address_sk; --删除表和序列 -mogdb=# DROP TABLE customer_address; -mogdb=# DROP SEQUENCE serial cascade; -mogdb=# DROP SEQUENCE serial1 cascade; +MogDB=# DROP TABLE customer_address; +MogDB=# DROP SEQUENCE serial cascade; +MogDB=# DROP SEQUENCE serial1 cascade; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SERVER.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SERVER.md index 983b2d82..e651b0a5 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SERVER.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SERVER.md @@ -111,7 +111,7 @@ CreateServer ::= CREATE SERVER server_name 创建server。 ```sql -mogdb=# create server my_server foreign data wrapper log_fdw; +MogDB=# create server my_server foreign data wrapper log_fdw; CREATE SERVER ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SYNONYM.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SYNONYM.md index b93c35ac..7fff1d0f 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SYNONYM.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-SYNONYM.md @@ -49,45 +49,45 @@ CreateSynonym ::= CREATE [ OR REPLACE ] SYNONYM synonym_name ```sql --创建模式ot。 -mogdb=# CREATE SCHEMA ot; +MogDB=# CREATE SCHEMA ot; --创建表ot.t1及其同义词t1。 -mogdb=# CREATE TABLE ot.t1(id int, name varchar2(10)); -mogdb=# CREATE OR REPLACE SYNONYM t1 FOR ot.t1; +MogDB=# CREATE TABLE ot.t1(id int, name varchar2(10)); +MogDB=# CREATE OR REPLACE SYNONYM t1 FOR ot.t1; --使用同义词t1。 -mogdb=# SELECT * FROM t1; -mogdb=# INSERT INTO t1 VALUES (1, 'ada'), (2, 'bob'); -mogdb=# UPDATE t1 SET t1.name = 'cici' WHERE t1.id = 2; +MogDB=# SELECT * FROM t1; +MogDB=# INSERT INTO t1 VALUES (1, 'ada'), (2, 'bob'); +MogDB=# UPDATE t1 SET t1.name = 'cici' WHERE t1.id = 2; --创建同义词v1及其关联视图ot.v_t1。 -mogdb=# CREATE SYNONYM v1 FOR ot.v_t1; -mogdb=# CREATE VIEW ot.v_t1 AS SELECT * FROM ot.t1; +MogDB=# CREATE SYNONYM v1 FOR ot.v_t1; +MogDB=# CREATE VIEW ot.v_t1 AS SELECT * FROM ot.t1; --使用同义词v1。 -mogdb=# SELECT * FROM v1; +MogDB=# SELECT * FROM v1; --创建重载函数ot.add及其同义词add。 -mogdb=# CREATE OR REPLACE FUNCTION ot.add(a integer, b integer) RETURNS integer AS +MogDB=# CREATE OR REPLACE FUNCTION ot.add(a integer, b integer) RETURNS integer AS $$ SELECT $1 + $2 $$ LANGUAGE sql; -mogdb=# CREATE OR REPLACE FUNCTION ot.add(a decimal(5,2), b decimal(5,2)) RETURNS decimal(5,2) AS +MogDB=# CREATE OR REPLACE FUNCTION ot.add(a decimal(5,2), b decimal(5,2)) RETURNS decimal(5,2) AS $$ SELECT $1 + $2 $$ LANGUAGE sql; -mogdb=# CREATE OR REPLACE SYNONYM add FOR ot.add; +MogDB=# CREATE OR REPLACE SYNONYM add FOR ot.add; --使用同义词add。 -mogdb=# SELECT add(1,2); -mogdb=# SELECT add(1.2,2.3); +MogDB=# SELECT add(1,2); +MogDB=# SELECT add(1.2,2.3); --创建存储过程ot.register及其同义词register。 -mogdb=# CREATE PROCEDURE ot.register(n_id integer, n_name varchar2(10)) +MogDB=# CREATE PROCEDURE ot.register(n_id integer, n_name varchar2(10)) SECURITY INVOKER AS BEGIN @@ -95,17 +95,17 @@ BEGIN END; / -mogdb=# CREATE OR REPLACE SYNONYM register FOR ot.register; +MogDB=# CREATE OR REPLACE SYNONYM register FOR ot.register; --使用同义词register,调用存储过程。 -mogdb=# CALL register(3,'mia'); +MogDB=# CALL register(3,'mia'); --删除同义词。 -mogdb=# DROP SYNONYM t1; -mogdb=# DROP SYNONYM IF EXISTS v1; -mogdb=# DROP SYNONYM IF EXISTS add; -mogdb=# DROP SYNONYM register; -mogdb=# DROP SCHEMA ot CASCADE; +MogDB=# DROP SYNONYM t1; +MogDB=# DROP SYNONYM IF EXISTS v1; +MogDB=# DROP SYNONYM IF EXISTS add; +MogDB=# DROP SYNONYM register; +MogDB=# DROP SCHEMA ot CASCADE; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLE-AS.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLE-AS.md index 53bb18b4..0a9fa2e8 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLE-AS.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLE-AS.md @@ -137,7 +137,7 @@ CreateTableAs ::= CREATE [ [ GLOBAL | LOCAL ] [ TEMPORARY | TEMP ] | UNLOGGED ] ```SQL --创建一个表tpcds.store_returns表。 -mogdb=# CREATE TABLE tpcds.store_returns +MogDB=# CREATE TABLE tpcds.store_returns ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -145,15 +145,15 @@ mogdb=# CREATE TABLE tpcds.store_returns W_WAREHOUSE_SQ_FT INTEGER ); --创建一个表tpcds.store_returns_t1并插入tpcds.store_returns表中sr_item_sk字段中大于16的数值。 -mogdb=# CREATE TABLE tpcds.store_returns_t1 AS SELECT * FROM tpcds.store_returns WHERE sr_item_sk > '4795'; +MogDB=# CREATE TABLE tpcds.store_returns_t1 AS SELECT * FROM tpcds.store_returns WHERE sr_item_sk > '4795'; --使用tpcds.store_returns拷贝一个新表tpcds.store_returns_t2。 -mogdb=# CREATE TABLE tpcds.store_returns_t2 AS table tpcds.store_returns; +MogDB=# CREATE TABLE tpcds.store_returns_t2 AS table tpcds.store_returns; --删除表。 -mogdb=# DROP TABLE tpcds.store_returns_t1 ; -mogdb=# DROP TABLE tpcds.store_returns_t2 ; -mogdb=# DROP TABLE tpcds.store_returns; +MogDB=# DROP TABLE tpcds.store_returns_t1 ; +MogDB=# DROP TABLE tpcds.store_returns_t2 ; +MogDB=# DROP TABLE tpcds.store_returns; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLE-PARTITION.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLE-PARTITION.md index 8fc6f500..9c98e465 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLE-PARTITION.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLE-PARTITION.md @@ -435,7 +435,7 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name ```sql --创建表tpcds.web_returns。 - mogdb=# CREATE TABLE tpcds.web_returns + MogDB=# CREATE TABLE tpcds.web_returns ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -453,7 +453,7 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name W_GMT_OFFSET DECIMAL(5,2) ); --创建分区表tpcds.web_returns_p1。 - mogdb=# CREATE TABLE tpcds.web_returns_p1 + MogDB=# CREATE TABLE tpcds.web_returns_p1 ( WR_RETURNED_DATE_SK INTEGER , WR_RETURNED_TIME_SK INTEGER , @@ -494,35 +494,35 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name ); --从示例数据表导入数据。 - mogdb=# INSERT INTO tpcds.web_returns_p1 SELECT * FROM tpcds.web_returns; + MogDB=# INSERT INTO tpcds.web_returns_p1 SELECT * FROM tpcds.web_returns; --删除分区P8。 - mogdb=# ALTER TABLE tpcds.web_returns_p1 DROP PARTITION P8; + MogDB=# ALTER TABLE tpcds.web_returns_p1 DROP PARTITION P8; --增加分区WR_RETURNED_DATE_SK介于2453005和2453105之间。 - mogdb=# ALTER TABLE tpcds.web_returns_p1 ADD PARTITION P8 VALUES LESS THAN (2453105); + MogDB=# ALTER TABLE tpcds.web_returns_p1 ADD PARTITION P8 VALUES LESS THAN (2453105); --增加分区WR_RETURNED_DATE_SK介于2453105和MAXVALUE之间。 - mogdb=# ALTER TABLE tpcds.web_returns_p1 ADD PARTITION P9 VALUES LESS THAN (MAXVALUE); + MogDB=# ALTER TABLE tpcds.web_returns_p1 ADD PARTITION P9 VALUES LESS THAN (MAXVALUE); --删除分区P8。 - mogdb=# ALTER TABLE tpcds.web_returns_p1 DROP PARTITION FOR (2453005); + MogDB=# ALTER TABLE tpcds.web_returns_p1 DROP PARTITION FOR (2453005); --分区P7重命名为P10。 - mogdb=# ALTER TABLE tpcds.web_returns_p1 RENAME PARTITION P7 TO P10; + MogDB=# ALTER TABLE tpcds.web_returns_p1 RENAME PARTITION P7 TO P10; --分区P6重命名为P11。 - mogdb=# ALTER TABLE tpcds.web_returns_p1 RENAME PARTITION FOR (2452639) TO P11; + MogDB=# ALTER TABLE tpcds.web_returns_p1 RENAME PARTITION FOR (2452639) TO P11; --查询分区P10的行数。 - mogdb=# SELECT count(*) FROM tpcds.web_returns_p1 PARTITION (P10); + MogDB=# SELECT count(*) FROM tpcds.web_returns_p1 PARTITION (P10); count -------- 0 (1 row) --查询分区P1的行数。 - mogdb=# SELECT COUNT(*) FROM tpcds.web_returns_p1 PARTITION FOR (2450815); + MogDB=# SELECT COUNT(*) FROM tpcds.web_returns_p1 PARTITION FOR (2450815); count -------- 0 @@ -538,12 +538,12 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name 假定数据库节点的数据目录/pg_location/mount1/path1,数据库节点的数据目录/pg_location/mount2/path2,数据库节点的数据目录/pg_location/mount3/path3,数据库节点的数据目录/pg_location/mount4/path4是dwsadmin用户拥有读写权限的空目录。 ```sql - mogdb=# CREATE TABLESPACE example1 RELATIVE LOCATION 'tablespace1/tablespace_1'; - mogdb=# CREATE TABLESPACE example2 RELATIVE LOCATION 'tablespace2/tablespace_2'; - mogdb=# CREATE TABLESPACE example3 RELATIVE LOCATION 'tablespace3/tablespace_3'; - mogdb=# CREATE TABLESPACE example4 RELATIVE LOCATION 'tablespace4/tablespace_4'; + MogDB=# CREATE TABLESPACE example1 RELATIVE LOCATION 'tablespace1/tablespace_1'; + MogDB=# CREATE TABLESPACE example2 RELATIVE LOCATION 'tablespace2/tablespace_2'; + MogDB=# CREATE TABLESPACE example3 RELATIVE LOCATION 'tablespace3/tablespace_3'; + MogDB=# CREATE TABLESPACE example4 RELATIVE LOCATION 'tablespace4/tablespace_4'; - mogdb=# CREATE TABLE tpcds.web_returns_p2 + MogDB=# CREATE TABLE tpcds.web_returns_p2 ( WR_RETURNED_DATE_SK INTEGER , WR_RETURNED_TIME_SK INTEGER , @@ -585,34 +585,34 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name ENABLE ROW MOVEMENT; --以like方式创建一个分区表。 - mogdb=# CREATE TABLE tpcds.web_returns_p3 (LIKE tpcds.web_returns_p2 INCLUDING PARTITION); + MogDB=# CREATE TABLE tpcds.web_returns_p3 (LIKE tpcds.web_returns_p2 INCLUDING PARTITION); --修改分区P1的表空间为example2。 - mogdb=# ALTER TABLE tpcds.web_returns_p2 MOVE PARTITION P1 TABLESPACE example2; + MogDB=# ALTER TABLE tpcds.web_returns_p2 MOVE PARTITION P1 TABLESPACE example2; --修改分区P2的表空间为example3。 - mogdb=# ALTER TABLE tpcds.web_returns_p2 MOVE PARTITION P2 TABLESPACE example3; + MogDB=# ALTER TABLE tpcds.web_returns_p2 MOVE PARTITION P2 TABLESPACE example3; --以2453010为分割点切分P8。 - mogdb=# ALTER TABLE tpcds.web_returns_p2 SPLIT PARTITION P8 AT (2453010) INTO + MogDB=# ALTER TABLE tpcds.web_returns_p2 SPLIT PARTITION P8 AT (2453010) INTO ( PARTITION P9, PARTITION P10 ); --将P6,P7合并为一个分区。 - mogdb=# ALTER TABLE tpcds.web_returns_p2 MERGE PARTITIONS P6, P7 INTO PARTITION P8; + MogDB=# ALTER TABLE tpcds.web_returns_p2 MERGE PARTITIONS P6, P7 INTO PARTITION P8; --修改分区表迁移属性。 - mogdb=# ALTER TABLE tpcds.web_returns_p2 DISABLE ROW MOVEMENT; + MogDB=# ALTER TABLE tpcds.web_returns_p2 DISABLE ROW MOVEMENT; --删除表和表空间。 - mogdb=# DROP TABLE tpcds.web_returns_p1; - mogdb=# DROP TABLE tpcds.web_returns_p2; - mogdb=# DROP TABLE tpcds.web_returns_p3; - mogdb=# DROP TABLESPACE example1; - mogdb=# DROP TABLESPACE example2; - mogdb=# DROP TABLESPACE example3; - mogdb=# DROP TABLESPACE example4; + MogDB=# DROP TABLE tpcds.web_returns_p1; + MogDB=# DROP TABLE tpcds.web_returns_p2; + MogDB=# DROP TABLE tpcds.web_returns_p3; + MogDB=# DROP TABLESPACE example1; + MogDB=# DROP TABLESPACE example2; + MogDB=# DROP TABLESPACE example3; + MogDB=# DROP TABLESPACE example4; ``` - 示例3:START END语法创建、修改Range分区表。 @@ -621,17 +621,17 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name ```sql -- 创建表空间 - mogdb=# CREATE TABLESPACE startend_tbs1 LOCATION '/home/omm/startend_tbs1'; - mogdb=# CREATE TABLESPACE startend_tbs2 LOCATION '/home/omm/startend_tbs2'; - mogdb=# CREATE TABLESPACE startend_tbs3 LOCATION '/home/omm/startend_tbs3'; - mogdb=# CREATE TABLESPACE startend_tbs4 LOCATION '/home/omm/startend_tbs4'; + MogDB=# CREATE TABLESPACE startend_tbs1 LOCATION '/home/omm/startend_tbs1'; + MogDB=# CREATE TABLESPACE startend_tbs2 LOCATION '/home/omm/startend_tbs2'; + MogDB=# CREATE TABLESPACE startend_tbs3 LOCATION '/home/omm/startend_tbs3'; + MogDB=# CREATE TABLESPACE startend_tbs4 LOCATION '/home/omm/startend_tbs4'; -- 创建临时schema - mogdb=# CREATE SCHEMA tpcds; - mogdb=# SET CURRENT_SCHEMA TO tpcds; + MogDB=# CREATE SCHEMA tpcds; + MogDB=# SET CURRENT_SCHEMA TO tpcds; -- 创建分区表,分区键是integer类型 - mogdb=# CREATE TABLE tpcds.startend_pt (c1 INT, c2 INT) + MogDB=# CREATE TABLE tpcds.startend_pt (c1 INT, c2 INT) TABLESPACE startend_tbs1 PARTITION BY RANGE (c2) ( PARTITION p1 START(1) END(1000) EVERY(200) TABLESPACE startend_tbs2, @@ -643,7 +643,7 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name ENABLE ROW MOVEMENT; -- 查看分区表信息 - mogdb=# SELECT relname, boundaries, spcname FROM pg_partition p JOIN pg_tablespace t ON p.reltablespace=t.oid and p.parentid='tpcds.startend_pt'::regclass ORDER BY 1; + MogDB=# SELECT relname, boundaries, spcname FROM pg_partition p JOIN pg_tablespace t ON p.reltablespace=t.oid and p.parentid='tpcds.startend_pt'::regclass ORDER BY 1; relname | boundaries | spcname -------------+------------+--------------- p1_0 | {1} | startend_tbs2 @@ -661,42 +661,42 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name (12 rows) -- 导入数据,查看分区数据量 - mogdb=# INSERT INTO tpcds.startend_pt VALUES (GENERATE_SERIES(0, 4999), GENERATE_SERIES(0, 4999)); - mogdb=# SELECT COUNT(*) FROM tpcds.startend_pt PARTITION FOR (0); + MogDB=# INSERT INTO tpcds.startend_pt VALUES (GENERATE_SERIES(0, 4999), GENERATE_SERIES(0, 4999)); + MogDB=# SELECT COUNT(*) FROM tpcds.startend_pt PARTITION FOR (0); count ------- 1 (1 row) - mogdb=# SELECT COUNT(*) FROM tpcds.startend_pt PARTITION (p3); + MogDB=# SELECT COUNT(*) FROM tpcds.startend_pt PARTITION (p3); count ------- 500 (1 row) -- 增加分区: [5000, 5300), [5300, 5600), [5600, 5900), [5900, 6000) - mogdb=# ALTER TABLE tpcds.startend_pt ADD PARTITION p6 START(5000) END(6000) EVERY(300) TABLESPACE startend_tbs4; + MogDB=# ALTER TABLE tpcds.startend_pt ADD PARTITION p6 START(5000) END(6000) EVERY(300) TABLESPACE startend_tbs4; -- 增加MAXVALUE分区: p7 - mogdb=# ALTER TABLE tpcds.startend_pt ADD PARTITION p7 END(MAXVALUE); + MogDB=# ALTER TABLE tpcds.startend_pt ADD PARTITION p7 END(MAXVALUE); -- 重命名分区p7为p8 - mogdb=# ALTER TABLE tpcds.startend_pt RENAME PARTITION p7 TO p8; + MogDB=# ALTER TABLE tpcds.startend_pt RENAME PARTITION p7 TO p8; -- 删除分区p8 - mogdb=# ALTER TABLE tpcds.startend_pt DROP PARTITION p8; + MogDB=# ALTER TABLE tpcds.startend_pt DROP PARTITION p8; -- 重命名5950所在的分区为:p71 - mogdb=# ALTER TABLE tpcds.startend_pt RENAME PARTITION FOR(5950) TO p71; + MogDB=# ALTER TABLE tpcds.startend_pt RENAME PARTITION FOR(5950) TO p71; -- 分裂4500所在的分区[4000, 5000) - mogdb=# ALTER TABLE tpcds.startend_pt SPLIT PARTITION FOR(4500) INTO(PARTITION q1 START(4000) END(5000) EVERY(250) TABLESPACE startend_tbs3); + MogDB=# ALTER TABLE tpcds.startend_pt SPLIT PARTITION FOR(4500) INTO(PARTITION q1 START(4000) END(5000) EVERY(250) TABLESPACE startend_tbs3); -- 修改分区p2的表空间为startend_tbs4 - mogdb=# ALTER TABLE tpcds.startend_pt MOVE PARTITION p2 TABLESPACE startend_tbs4; + MogDB=# ALTER TABLE tpcds.startend_pt MOVE PARTITION p2 TABLESPACE startend_tbs4; -- 查看分区情形 - mogdb=# SELECT relname, boundaries, spcname FROM pg_partition p JOIN pg_tablespace t ON p.reltablespace=t.oid and p.parentid='tpcds.startend_pt'::regclass ORDER BY 1; + MogDB=# SELECT relname, boundaries, spcname FROM pg_partition p JOIN pg_tablespace t ON p.reltablespace=t.oid and p.parentid='tpcds.startend_pt'::regclass ORDER BY 1; relname | boundaries | spcname -------------+------------+--------------- p1_0 | {1} | startend_tbs2 @@ -721,11 +721,11 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name (19 rows) -- 删除表和表空间 - mogdb=# DROP SCHEMA tpcds CASCADE; - mogdb=# DROP TABLESPACE startend_tbs1; - mogdb=# DROP TABLESPACE startend_tbs2; - mogdb=# DROP TABLESPACE startend_tbs3; - mogdb=# DROP TABLESPACE startend_tbs4; + MogDB=# DROP SCHEMA tpcds CASCADE; + MogDB=# DROP TABLESPACE startend_tbs1; + MogDB=# DROP TABLESPACE startend_tbs2; + MogDB=# DROP TABLESPACE startend_tbs3; + MogDB=# DROP TABLESPACE startend_tbs4; ``` - 示例4:创建间隔分区表sales,初始包含2个分区,分区键为DATE类型。 分区的范围分别为:time_id < '2019-02-01 00:00:00', @@ -734,7 +734,7 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name ```sql --创建表sales - mogdb=# CREATE TABLE sales + MogDB=# CREATE TABLE sales (prod_id NUMBER(6), cust_id NUMBER, time_id DATE, @@ -750,13 +750,13 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name ); -- 数据插入分区p1 - mogdb=# INSERT INTO sales VALUES(1, 12, '2019-01-10 00:00:00', 'a', 1, 1, 1); + MogDB=# INSERT INTO sales VALUES(1, 12, '2019-01-10 00:00:00', 'a', 1, 1, 1); -- 数据插入分区p2 - mogdb=# INSERT INTO sales VALUES(1, 12, '2019-02-01 00:00:00', 'a', 1, 1, 1); + MogDB=# INSERT INTO sales VALUES(1, 12, '2019-02-01 00:00:00', 'a', 1, 1, 1); -- 查看分区信息 - mogdb=# SELECT t1.relname, partstrategy, boundaries FROM pg_partition t1, pg_class t2 WHERE t1.parentid = t2.oid AND t2.relname = 'sales' AND t1.parttype = 'p'; + MogDB=# SELECT t1.relname, partstrategy, boundaries FROM pg_partition t1, pg_class t2 WHERE t1.parentid = t2.oid AND t2.relname = 'sales' AND t1.parttype = 'p'; relname | partstrategy | boundaries ---------+--------------+------------------------- p1 | r | {"2019-02-01 00:00:00"} @@ -765,14 +765,14 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name -- 插入数据没有匹配的分区,新创建一个分区,并将数据插入该分区 -- 新分区的范围为 '2019-02-05 00:00:00' <= time_id < '2019-02-06 00:00:00' - mogdb=# INSERT INTO sales VALUES(1, 12, '2019-02-05 00:00:00', 'a', 1, 1, 1); + MogDB=# INSERT INTO sales VALUES(1, 12, '2019-02-05 00:00:00', 'a', 1, 1, 1); -- 插入数据没有匹配的分区,新创建一个分区,并将数据插入该分区 -- 新分区的范围为 '2019-02-03 00:00:00' <= time_id < '2019-02-04 00:00:00' - mogdb=# INSERT INTO sales VALUES(1, 12, '2019-02-03 00:00:00', 'a', 1, 1, 1); + MogDB=# INSERT INTO sales VALUES(1, 12, '2019-02-03 00:00:00', 'a', 1, 1, 1); -- 查看分区信息 - mogdb=# SELECT t1.relname, partstrategy, boundaries FROM pg_partition t1, pg_class t2 WHERE t1.parentid = t2.oid AND t2.relname = 'sales' AND t1.parttype = 'p'; + MogDB=# SELECT t1.relname, partstrategy, boundaries FROM pg_partition t1, pg_class t2 WHERE t1.parentid = t2.oid AND t2.relname = 'sales' AND t1.parttype = 'p'; relname | partstrategy | boundaries ---------+--------------+------------------------- sys_p1 | i | {"2019-02-06 00:00:00"} @@ -787,7 +787,7 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name ```sql --创建表test_list - mogdb=# create table test_list (col1 int, col2 int) + MogDB=# create table test_list (col1 int, col2 int) partition by list(col1) ( partition p1 values (2000), @@ -797,13 +797,13 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name ); -- 数据插入 - mogdb=# INSERT INTO test_list VALUES(2000, 2000); + MogDB=# INSERT INTO test_list VALUES(2000, 2000); INSERT 0 1 - mogdb=# INSERT INTO test_list VALUES(3000, 3000); + MogDB=# INSERT INTO test_list VALUES(3000, 3000); INSERT 0 1 -- 查看分区信息 - mogdb=# SELECT t1.relname, partstrategy, boundaries FROM pg_partition t1, pg_class t2 WHERE t1.parentid = t2.oid AND t2.relname = 'test_list' AND t1.parttype = 'p'; + MogDB=# SELECT t1.relname, partstrategy, boundaries FROM pg_partition t1, pg_class t2 WHERE t1.parentid = t2.oid AND t2.relname = 'test_list' AND t1.parttype = 'p'; relname | partstrategy | boundaries ---------+--------------+------------ p1 | l | {2000} @@ -813,13 +813,13 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name (4 rows) -- 插入数据没有匹配到分区,报错处理 - mogdb=# INSERT INTO test_list VALUES(6000, 6000); + MogDB=# INSERT INTO test_list VALUES(6000, 6000); ERROR: inserted partition key does not map to any table partition -- 添加分区 - mogdb=# alter table test_list add partition p5 values (6000); + MogDB=# alter table test_list add partition p5 values (6000); ALTER TABLE - mogdb=# SELECT t1.relname, partstrategy, boundaries FROM pg_partition t1, pg_class t2 WHERE t1.parentid = t2.oid AND t2.relname = 'test_list' AND t1.parttype = 'p'; + MogDB=# SELECT t1.relname, partstrategy, boundaries FROM pg_partition t1, pg_class t2 WHERE t1.parentid = t2.oid AND t2.relname = 'test_list' AND t1.parttype = 'p'; relname | partstrategy | boundaries ---------+--------------+------------ p5 | l | {6000} @@ -828,46 +828,46 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name p2 | l | {3000} p3 | l | {4000} (5 rows) - mogdb=# INSERT INTO test_list VALUES(6000, 6000); + MogDB=# INSERT INTO test_list VALUES(6000, 6000); INSERT 0 1 -- 分区表和普通表交换数据 - mogdb=# create table t1 (col1 int, col2 int); + MogDB=# create table t1 (col1 int, col2 int); CREATE TABLE - mogdb=# select * from test_list partition (p1); + MogDB=# select * from test_list partition (p1); col1 | col2 ------+------ 2000 | 2000 (1 row) - mogdb=# alter table test_list exchange partition (p1) with table t1; + MogDB=# alter table test_list exchange partition (p1) with table t1; ALTER TABLE - mogdb=# select * from test_list partition (p1); + MogDB=# select * from test_list partition (p1); col1 | col2 ------+------ (0 rows) - mogdb=# select * from t1; + MogDB=# select * from t1; col1 | col2 ------+------ 2000 | 2000 (1 row) -- truncate分区 - mogdb=# select * from test_list partition (p2); + MogDB=# select * from test_list partition (p2); col1 | col2 ------+------ 3000 | 3000 (1 row) - mogdb=# alter table test_list truncate partition p2; + MogDB=# alter table test_list truncate partition p2; ALTER TABLE - mogdb=# select * from test_list partition (p2); + MogDB=# select * from test_list partition (p2); col1 | col2 ------+------ (0 rows) -- 删除分区 - mogdb=# alter table test_list drop partition p5; + MogDB=# alter table test_list drop partition p5; ALTER TABLE - mogdb=# SELECT t1.relname, partstrategy, boundaries FROM pg_partition t1, pg_class t2 WHERE t1.parentid = t2.oid AND t2.relname = 'test_list' AND t1.parttype = 'p'; + MogDB=# SELECT t1.relname, partstrategy, boundaries FROM pg_partition t1, pg_class t2 WHERE t1.parentid = t2.oid AND t2.relname = 'test_list' AND t1.parttype = 'p'; relname | partstrategy | boundaries ---------+--------------+------------ p4 | l | {5000} @@ -876,18 +876,18 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name p3 | l | {4000} (4 rows) - mogdb=# INSERT INTO test_list VALUES(6000, 6000); + MogDB=# INSERT INTO test_list VALUES(6000, 6000); ERROR: inserted partition key does not map to any table partition -- 删除分区表 - mogdb=# drop table test_list; + MogDB=# drop table test_list; ``` - 示例6:创建HASH分区表test_hash,初始包含2个分区,分区键为INT类型。 ```sql --创建表test_hash - mogdb=# create table test_hash (col1 int, col2 int) + MogDB=# create table test_hash (col1 int, col2 int) partition by hash(col1) ( partition p1, @@ -895,17 +895,17 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name ); -- 数据插入 - mogdb=# INSERT INTO test_hash VALUES(1, 1); + MogDB=# INSERT INTO test_hash VALUES(1, 1); INSERT 0 1 - mogdb=# INSERT INTO test_hash VALUES(2, 2); + MogDB=# INSERT INTO test_hash VALUES(2, 2); INSERT 0 1 - mogdb=# INSERT INTO test_hash VALUES(3, 3); + MogDB=# INSERT INTO test_hash VALUES(3, 3); INSERT 0 1 - mogdb=# INSERT INTO test_hash VALUES(4, 4); + MogDB=# INSERT INTO test_hash VALUES(4, 4); INSERT 0 1 -- 查看分区信息 - mogdb=# SELECT t1.relname, partstrategy, boundaries FROM pg_partition t1, pg_class t2 WHERE t1.parentid = t2.oid AND t2.relname = 'test_hash' AND t1.parttype = 'p'; + MogDB=# SELECT t1.relname, partstrategy, boundaries FROM pg_partition t1, pg_class t2 WHERE t1.parentid = t2.oid AND t2.relname = 'test_hash' AND t1.parttype = 'p'; relname | partstrategy | boundaries ---------+--------------+------------ p1 | h | {0} @@ -913,14 +913,14 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name (2 rows) -- 查看数据 - mogdb=# select * from test_hash partition (p1); + MogDB=# select * from test_hash partition (p1); col1 | col2 ------+------ 3 | 3 4 | 4 (2 rows) - mogdb=# select * from test_hash partition (p2); + MogDB=# select * from test_hash partition (p2); col1 | col2 ------+------ 1 | 1 @@ -928,15 +928,15 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name (2 rows) -- 分区表和普通表交换数据 - mogdb=# create table t1 (col1 int, col2 int); + MogDB=# create table t1 (col1 int, col2 int); CREATE TABLE - mogdb=# alter table test_hash exchange partition (p1) with table t1; + MogDB=# alter table test_hash exchange partition (p1) with table t1; ALTER TABLE - mogdb=# select * from test_hash partition (p1); + MogDB=# select * from test_hash partition (p1); col1 | col2 ------+------ (0 rows) - mogdb=# select * from t1; + MogDB=# select * from t1; col1 | col2 ------+------ 3 | 3 @@ -944,15 +944,15 @@ CreateTablePartition ::= CREATE TABLE [ IF NOT EXISTS ] partition_table_name (2 rows) -- truncate分区 - mogdb=# alter table test_hash truncate partition p2; + MogDB=# alter table test_hash truncate partition p2; ALTER TABLE - mogdb=# select * from test_hash partition (p2); + MogDB=# select * from test_hash partition (p2); col1 | col2 ------+------ (0 rows) -- 删除分区表 - mogdb=# drop table test_hash; + MogDB=# drop table test_hash; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLE.md index b3f5aafd..58c0fcb7 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLE.md @@ -452,7 +452,7 @@ CreateTable ::= CREATE [ [ GLOBAL | LOCAL ] [ TEMPORARY | TEMP ] | UNLOGGED ] TA ```sql --创建简单的表。 -mogdb=# CREATE TABLE tpcds.warehouse_t1 +MogDB=# CREATE TABLE tpcds.warehouse_t1 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -470,7 +470,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t1 W_GMT_OFFSET DECIMAL(5,2) ); -mogdb=# CREATE TABLE tpcds.warehouse_t2 +MogDB=# CREATE TABLE tpcds.warehouse_t2 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -488,7 +488,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t2 W_GMT_OFFSET DECIMAL(5,2) ); --创建表,并指定W_STATE字段的缺省值为GA。 -mogdb=# CREATE TABLE tpcds.warehouse_t3 +MogDB=# CREATE TABLE tpcds.warehouse_t3 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -507,7 +507,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t3 ); --创建表,并在事务结束时检查W_WAREHOUSE_NAME字段是否有重复。 -mogdb=# CREATE TABLE tpcds.warehouse_t4 +MogDB=# CREATE TABLE tpcds.warehouse_t4 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -525,7 +525,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t4 W_GMT_OFFSET DECIMAL(5,2) ); --创建一个带有70%填充因子的表。 -mogdb=# CREATE TABLE tpcds.warehouse_t5 +MogDB=# CREATE TABLE tpcds.warehouse_t5 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -545,7 +545,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t5 ); --或者用下面的语法。 -mogdb=# CREATE TABLE tpcds.warehouse_t6 +MogDB=# CREATE TABLE tpcds.warehouse_t6 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -564,7 +564,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t6 ) WITH(fillfactor=70); --创建表,并指定该表数据不写入预写日志。 -mogdb=# CREATE UNLOGGED TABLE tpcds.warehouse_t7 +MogDB=# CREATE UNLOGGED TABLE tpcds.warehouse_t7 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -583,7 +583,7 @@ mogdb=# CREATE UNLOGGED TABLE tpcds.warehouse_t7 ); --创建临时表。 -mogdb=# CREATE TEMPORARY TABLE warehouse_t24 +MogDB=# CREATE TEMPORARY TABLE warehouse_t24 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -602,7 +602,7 @@ mogdb=# CREATE TEMPORARY TABLE warehouse_t24 ); --创建本地临时表,并指定提交事务时删除该临时表数据。 -mogdb=# CREATE TEMPORARY TABLE warehouse_t25 +MogDB=# CREATE TEMPORARY TABLE warehouse_t25 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -621,7 +621,7 @@ mogdb=# CREATE TEMPORARY TABLE warehouse_t25 ) ON COMMIT DELETE ROWS; --创建全局临时表,并指定会话结束时删除该临时表数据。 -mogdb=# CREATE GLOBAL TEMPORARY TABLE gtt1 +MogDB=# CREATE GLOBAL TEMPORARY TABLE gtt1 ( ID INTEGER NOT NULL, NAME CHAR(16) NOT NULL, @@ -630,7 +630,7 @@ mogdb=# CREATE GLOBAL TEMPORARY TABLE gtt1 ) ON COMMIT PRESERVE ROWS; --创建表时,不希望因为表已存在而报错。 -mogdb=# CREATE TABLE IF NOT EXISTS tpcds.warehouse_t8 +MogDB=# CREATE TABLE IF NOT EXISTS tpcds.warehouse_t8 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -649,9 +649,9 @@ mogdb=# CREATE TABLE IF NOT EXISTS tpcds.warehouse_t8 ); --创建普通表空间。 -mogdb=# CREATE TABLESPACE DS_TABLESPACE1 RELATIVE LOCATION 'tablespace/tablespace_1'; +MogDB=# CREATE TABLESPACE DS_TABLESPACE1 RELATIVE LOCATION 'tablespace/tablespace_1'; --创建表时,指定表空间。 -mogdb=# CREATE TABLE tpcds.warehouse_t9 +MogDB=# CREATE TABLE tpcds.warehouse_t9 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -670,7 +670,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t9 ) TABLESPACE DS_TABLESPACE1; --创建表时,单独指定W_WAREHOUSE_NAME的索引表空间。 -mogdb=# CREATE TABLE tpcds.warehouse_t10 +MogDB=# CREATE TABLE tpcds.warehouse_t10 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -688,7 +688,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t10 W_GMT_OFFSET DECIMAL(5,2) ); --创建一个有主键约束的表。 -mogdb=# CREATE TABLE tpcds.warehouse_t11 +MogDB=# CREATE TABLE tpcds.warehouse_t11 ( W_WAREHOUSE_SK INTEGER PRIMARY KEY, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -707,7 +707,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t11 ); ---或是用下面的语法,效果完全一样。 -mogdb=# CREATE TABLE tpcds.warehouse_t12 +MogDB=# CREATE TABLE tpcds.warehouse_t12 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -727,7 +727,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t12 ); --或是用下面的语法,指定约束的名称。 -mogdb=# CREATE TABLE tpcds.warehouse_t13 +MogDB=# CREATE TABLE tpcds.warehouse_t13 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -747,7 +747,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t13 ); --创建一个有复合主键约束的表。 -mogdb=# CREATE TABLE tpcds.warehouse_t14 +MogDB=# CREATE TABLE tpcds.warehouse_t14 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -766,7 +766,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t14 CONSTRAINT W_CSTR_KEY2 PRIMARY KEY(W_WAREHOUSE_SK, W_WAREHOUSE_ID) ); --创建列存表。 -mogdb=# CREATE TABLE tpcds.warehouse_t15 +MogDB=# CREATE TABLE tpcds.warehouse_t15 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -785,7 +785,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t15 ) WITH (ORIENTATION = COLUMN); --创建局部聚簇存储的列存表。 -mogdb=# CREATE TABLE tpcds.warehouse_t16 +MogDB=# CREATE TABLE tpcds.warehouse_t16 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -805,7 +805,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t16 ) WITH (ORIENTATION = COLUMN); --定义一个带压缩的列存表。 -mogdb=# CREATE TABLE tpcds.warehouse_t17 +MogDB=# CREATE TABLE tpcds.warehouse_t17 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -824,7 +824,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t17 ) WITH (ORIENTATION = COLUMN, COMPRESSION=HIGH); --定义一个带压缩的行存表。 -mogdb=# CREATE TABLE table_3213 +MogDB=# CREATE TABLE table_3213 ( c_w_id integer not null, c_d_id integer not null, @@ -850,7 +850,7 @@ mogdb=# CREATE TABLE table_3213 ) WITH (COMPRESSION = YES); --创建行压缩表时,指定列的mode。 -mogdb=# CREATE TABLE compress_18 +MogDB=# CREATE TABLE compress_18 ( a00 int DELTA, a01 int DICTIONARY, @@ -860,10 +860,10 @@ mogdb=# CREATE TABLE compress_18 ) WITH (COMPRESSION = YES); --对于通过WITH (COMPRESSION = YES)所创建的行压缩表,或者普通表通过SET COMPRESS改过之后的行压缩表,新增列可以通过下面的方式指定新增列的mode。 -mogdb=# ALTER TABLE test1 ADD COLUMN al char(5) PREFIX; +MogDB=# ALTER TABLE test1 ADD COLUMN al char(5) PREFIX; --定义一个检查列约束。 -mogdb=# CREATE TABLE tpcds.warehouse_t19 +MogDB=# CREATE TABLE tpcds.warehouse_t19 ( W_WAREHOUSE_SK INTEGER PRIMARY KEY CHECK (W_WAREHOUSE_SK > 0), W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -881,7 +881,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t19 W_GMT_OFFSET DECIMAL(5,2) ); -mogdb=# CREATE TABLE tpcds.warehouse_t20 +MogDB=# CREATE TABLE tpcds.warehouse_t20 ( W_WAREHOUSE_SK INTEGER PRIMARY KEY, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -901,12 +901,12 @@ mogdb=# CREATE TABLE tpcds.warehouse_t20 ); --创建一个有外键约束的表。 -mogdb=# CREATE TABLE tpcds.city_t23 +MogDB=# CREATE TABLE tpcds.city_t23 ( W_CITY VARCHAR(60) PRIMARY KEY, W_ADDRESS TEXT ); -mogdb=# CREATE TABLE tpcds.warehouse_t23 +MogDB=# CREATE TABLE tpcds.warehouse_t23 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -925,7 +925,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t23 ); --或是用下面的语法,效果完全一样。 -mogdb=# CREATE TABLE tpcds.warehouse_t23 +MogDB=# CREATE TABLE tpcds.warehouse_t23 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -945,7 +945,7 @@ mogdb=# CREATE TABLE tpcds.warehouse_t23 ); --或是用下面的语法,指定约束的名称。 -mogdb=# CREATE TABLE tpcds.warehouse_t23 +MogDB=# CREATE TABLE tpcds.warehouse_t23 ( W_WAREHOUSE_SK INTEGER NOT NULL, W_WAREHOUSE_ID CHAR(16) NOT NULL, @@ -965,30 +965,30 @@ mogdb=# CREATE TABLE tpcds.warehouse_t23 ); --向tpcds.warehouse_t19表中增加一个varchar列。 -mogdb=# ALTER TABLE tpcds.warehouse_t19 ADD W_GOODS_CATEGORY varchar(30); +MogDB=# ALTER TABLE tpcds.warehouse_t19 ADD W_GOODS_CATEGORY varchar(30); --给tpcds.warehouse_t19表增加一个检查约束。 -mogdb=# ALTER TABLE tpcds.warehouse_t19 ADD CONSTRAINT W_CONSTR_KEY4 CHECK (W_STATE IS NOT NULL); +MogDB=# ALTER TABLE tpcds.warehouse_t19 ADD CONSTRAINT W_CONSTR_KEY4 CHECK (W_STATE IS NOT NULL); --在一个操作中改变两个现存字段的类型。 -mogdb=# ALTER TABLE tpcds.warehouse_t19 +MogDB=# ALTER TABLE tpcds.warehouse_t19 ALTER COLUMN W_GOODS_CATEGORY TYPE varchar(80), ALTER COLUMN W_STREET_NAME TYPE varchar(100); --此语句与上面语句等效。 -mogdb=# ALTER TABLE tpcds.warehouse_t19 MODIFY (W_GOODS_CATEGORY varchar(30), W_STREET_NAME varchar(60)); +MogDB=# ALTER TABLE tpcds.warehouse_t19 MODIFY (W_GOODS_CATEGORY varchar(30), W_STREET_NAME varchar(60)); --给一个已存在字段添加非空约束。 -mogdb=# ALTER TABLE tpcds.warehouse_t19 ALTER COLUMN W_GOODS_CATEGORY SET NOT NULL; +MogDB=# ALTER TABLE tpcds.warehouse_t19 ALTER COLUMN W_GOODS_CATEGORY SET NOT NULL; --移除已存在字段的非空约束。 -mogdb=# ALTER TABLE tpcds.warehouse_t19 ALTER COLUMN W_GOODS_CATEGORY DROP NOT NULL; +MogDB=# ALTER TABLE tpcds.warehouse_t19 ALTER COLUMN W_GOODS_CATEGORY DROP NOT NULL; --如果列存表中还未指定局部聚簇,向在一个列存表中添加局部聚簇列。 -mogdb=# ALTER TABLE tpcds.warehouse_t17 ADD PARTIAL CLUSTER KEY(W_WAREHOUSE_SK); +MogDB=# ALTER TABLE tpcds.warehouse_t17 ADD PARTIAL CLUSTER KEY(W_WAREHOUSE_SK); --查看约束的名称,并删除一个列存表中的局部聚簇列。 -mogdb=# \d+ tpcds.warehouse_t17 +MogDB=# \d+ tpcds.warehouse_t17 Table "tpcds.warehouse_t17" Column | Type | Modifiers | Storage | Stats target | Description -------------------+-----------------------+-----------+----------+--------------+------------- @@ -1011,49 +1011,49 @@ Partial Cluster : Has OIDs: no Location Nodes: ALL DATANODES Options: compression=no, version=0.12 -mogdb=# ALTER TABLE tpcds.warehouse_t17 DROP CONSTRAINT warehouse_t17_cluster; +MogDB=# ALTER TABLE tpcds.warehouse_t17 DROP CONSTRAINT warehouse_t17_cluster; --将表移动到另一个表空间。 -mogdb=# ALTER TABLE tpcds.warehouse_t19 SET TABLESPACE PG_DEFAULT; +MogDB=# ALTER TABLE tpcds.warehouse_t19 SET TABLESPACE PG_DEFAULT; --创建模式joe。 -mogdb=# CREATE SCHEMA joe; +MogDB=# CREATE SCHEMA joe; --将表移动到另一个模式中。 -mogdb=# ALTER TABLE tpcds.warehouse_t19 SET SCHEMA joe; +MogDB=# ALTER TABLE tpcds.warehouse_t19 SET SCHEMA joe; --重命名已存在的表。 -mogdb=# ALTER TABLE joe.warehouse_t19 RENAME TO warehouse_t23; +MogDB=# ALTER TABLE joe.warehouse_t19 RENAME TO warehouse_t23; --从warehouse_t23表中删除一个字段。 -mogdb=# ALTER TABLE joe.warehouse_t23 DROP COLUMN W_STREET_NAME; +MogDB=# ALTER TABLE joe.warehouse_t23 DROP COLUMN W_STREET_NAME; --删除表空间、模式joe和模式表warehouse。 -mogdb=# DROP TABLE tpcds.warehouse_t1; -mogdb=# DROP TABLE tpcds.warehouse_t2; -mogdb=# DROP TABLE tpcds.warehouse_t3; -mogdb=# DROP TABLE tpcds.warehouse_t4; -mogdb=# DROP TABLE tpcds.warehouse_t5; -mogdb=# DROP TABLE tpcds.warehouse_t6; -mogdb=# DROP TABLE tpcds.warehouse_t7; -mogdb=# DROP TABLE tpcds.warehouse_t8; -mogdb=# DROP TABLE tpcds.warehouse_t9; -mogdb=# DROP TABLE tpcds.warehouse_t10; -mogdb=# DROP TABLE tpcds.warehouse_t11; -mogdb=# DROP TABLE tpcds.warehouse_t12; -mogdb=# DROP TABLE tpcds.warehouse_t13; -mogdb=# DROP TABLE tpcds.warehouse_t14; -mogdb=# DROP TABLE tpcds.warehouse_t15; -mogdb=# DROP TABLE tpcds.warehouse_t16; -mogdb=# DROP TABLE tpcds.warehouse_t17; -mogdb=# DROP TABLE tpcds.warehouse_t18; -mogdb=# DROP TABLE tpcds.warehouse_t20; -mogdb=# DROP TABLE tpcds.warehouse_t21; -mogdb=# DROP TABLE tpcds.warehouse_t22; -mogdb=# DROP TABLE joe.warehouse_t23; -mogdb=# DROP TABLE tpcds.warehouse_t24; -mogdb=# DROP TABLE tpcds.warehouse_t25; -mogdb=# DROP TABLESPACE DS_TABLESPACE1; -mogdb=# DROP SCHEMA IF EXISTS joe CASCADE; +MogDB=# DROP TABLE tpcds.warehouse_t1; +MogDB=# DROP TABLE tpcds.warehouse_t2; +MogDB=# DROP TABLE tpcds.warehouse_t3; +MogDB=# DROP TABLE tpcds.warehouse_t4; +MogDB=# DROP TABLE tpcds.warehouse_t5; +MogDB=# DROP TABLE tpcds.warehouse_t6; +MogDB=# DROP TABLE tpcds.warehouse_t7; +MogDB=# DROP TABLE tpcds.warehouse_t8; +MogDB=# DROP TABLE tpcds.warehouse_t9; +MogDB=# DROP TABLE tpcds.warehouse_t10; +MogDB=# DROP TABLE tpcds.warehouse_t11; +MogDB=# DROP TABLE tpcds.warehouse_t12; +MogDB=# DROP TABLE tpcds.warehouse_t13; +MogDB=# DROP TABLE tpcds.warehouse_t14; +MogDB=# DROP TABLE tpcds.warehouse_t15; +MogDB=# DROP TABLE tpcds.warehouse_t16; +MogDB=# DROP TABLE tpcds.warehouse_t17; +MogDB=# DROP TABLE tpcds.warehouse_t18; +MogDB=# DROP TABLE tpcds.warehouse_t20; +MogDB=# DROP TABLE tpcds.warehouse_t21; +MogDB=# DROP TABLE tpcds.warehouse_t22; +MogDB=# DROP TABLE joe.warehouse_t23; +MogDB=# DROP TABLE tpcds.warehouse_t24; +MogDB=# DROP TABLE tpcds.warehouse_t25; +MogDB=# DROP TABLESPACE DS_TABLESPACE1; +MogDB=# DROP SCHEMA IF EXISTS joe CASCADE; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLESPACE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLESPACE.md index b70971df..b197200b 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLESPACE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TABLESPACE.md @@ -99,30 +99,30 @@ with_option_clause ::= WITH ( {filesystem= { 'general'| "general" | general} | ```sql --创建表空间。 -mogdb=# CREATE TABLESPACE ds_location1 RELATIVE LOCATION 'tablespace/tablespace_1'; +MogDB=# CREATE TABLESPACE ds_location1 RELATIVE LOCATION 'tablespace/tablespace_1'; --创建用户joe。 -mogdb=# CREATE ROLE joe IDENTIFIED BY 'xxxxxxxxx'; +MogDB=# CREATE ROLE joe IDENTIFIED BY 'xxxxxxxxx'; --创建用户jay。 -mogdb=# CREATE ROLE jay IDENTIFIED BY 'xxxxxxxxx'; +MogDB=# CREATE ROLE jay IDENTIFIED BY 'xxxxxxxxx'; --创建表空间,且所有者指定为用户joe。 -mogdb=# CREATE TABLESPACE ds_location2 OWNER joe RELATIVE LOCATION 'tablespace/tablespace_1'; +MogDB=# CREATE TABLESPACE ds_location2 OWNER joe RELATIVE LOCATION 'tablespace/tablespace_1'; --把表空间ds_location1重命名为ds_location3。 -mogdb=# ALTER TABLESPACE ds_location1 RENAME TO ds_location3; +MogDB=# ALTER TABLESPACE ds_location1 RENAME TO ds_location3; --改变表空间ds_location2的所有者。 -mogdb=# ALTER TABLESPACE ds_location2 OWNER TO jay; +MogDB=# ALTER TABLESPACE ds_location2 OWNER TO jay; --删除表空间。 -mogdb=# DROP TABLESPACE ds_location2; -mogdb=# DROP TABLESPACE ds_location3; +MogDB=# DROP TABLESPACE ds_location2; +MogDB=# DROP TABLESPACE ds_location3; --删除用户。 -mogdb=# DROP ROLE joe; -mogdb=# DROP ROLE jay; +MogDB=# DROP ROLE joe; +MogDB=# DROP ROLE jay; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TEXT-SEARCH-CONFIGURATION.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TEXT-SEARCH-CONFIGURATION.md index abac59c0..5a0a21da 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TEXT-SEARCH-CONFIGURATION.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TEXT-SEARCH-CONFIGURATION.md @@ -59,36 +59,36 @@ CreateTextSearchConfiguration ::= CREATE TEXT SEARCH CONFIGURATION name ```sql --创建文本搜索配置。 -mogdb=# CREATE TEXT SEARCH CONFIGURATION ngram2 (parser=ngram) WITH (gram_size = 2, grapsymbol_ignore = false); +MogDB=# CREATE TEXT SEARCH CONFIGURATION ngram2 (parser=ngram) WITH (gram_size = 2, grapsymbol_ignore = false); --创建文本搜索配置。 -mogdb=# CREATE TEXT SEARCH CONFIGURATION ngram3 (copy=ngram2) WITH (gram_size = 2, grapsymbol_ignore = false); +MogDB=# CREATE TEXT SEARCH CONFIGURATION ngram3 (copy=ngram2) WITH (gram_size = 2, grapsymbol_ignore = false); --添加类型映射。 -mogdb=# ALTER TEXT SEARCH CONFIGURATION ngram2 ADD MAPPING FOR multisymbol WITH simple; +MogDB=# ALTER TEXT SEARCH CONFIGURATION ngram2 ADD MAPPING FOR multisymbol WITH simple; --创建用户joe。 -mogdb=# CREATE USER joe IDENTIFIED BY 'xxxxxx'; +MogDB=# CREATE USER joe IDENTIFIED BY 'xxxxxx'; --修改文本搜索配置的所有者。 -mogdb=# ALTER TEXT SEARCH CONFIGURATION ngram2 OWNER TO joe; +MogDB=# ALTER TEXT SEARCH CONFIGURATION ngram2 OWNER TO joe; --修改文本搜索配置的schema。 -mogdb=# ALTER TEXT SEARCH CONFIGURATION ngram2 SET SCHEMA joe; +MogDB=# ALTER TEXT SEARCH CONFIGURATION ngram2 SET SCHEMA joe; --重命名文本搜索配置。 -mogdb=# ALTER TEXT SEARCH CONFIGURATION joe.ngram2 RENAME TO ngram_2; +MogDB=# ALTER TEXT SEARCH CONFIGURATION joe.ngram2 RENAME TO ngram_2; --删除类型映射。 -mogdb=# ALTER TEXT SEARCH CONFIGURATION joe.ngram_2 DROP MAPPING IF EXISTS FOR multisymbol; +MogDB=# ALTER TEXT SEARCH CONFIGURATION joe.ngram_2 DROP MAPPING IF EXISTS FOR multisymbol; --删除文本搜索配置。 -mogdb=# DROP TEXT SEARCH CONFIGURATION joe.ngram_2; -mogdb=# DROP TEXT SEARCH CONFIGURATION ngram3; +MogDB=# DROP TEXT SEARCH CONFIGURATION joe.ngram_2; +MogDB=# DROP TEXT SEARCH CONFIGURATION ngram3; --删除Schema及用户joe。 -mogdb=# DROP SCHEMA IF EXISTS joe CASCADE; -mogdb=# DROP ROLE IF EXISTS joe; +MogDB=# DROP SCHEMA IF EXISTS joe CASCADE; +MogDB=# DROP ROLE IF EXISTS joe; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TRIGGER.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TRIGGER.md index c861cc7c..7557ca0e 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TRIGGER.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TRIGGER.md @@ -166,11 +166,11 @@ CreateTrigger ::= CREATE [ CONSTRAINT ] TRIGGER trigger_name { BEFORE | AFTER | ```sql --创建源表及触发表 -mogdb=# CREATE TABLE test_trigger_src_tbl(id1 INT, id2 INT, id3 INT); -mogdb=# CREATE TABLE test_trigger_des_tbl(id1 INT, id2 INT, id3 INT); +MogDB=# CREATE TABLE test_trigger_src_tbl(id1 INT, id2 INT, id3 INT); +MogDB=# CREATE TABLE test_trigger_des_tbl(id1 INT, id2 INT, id3 INT); --创建触发器函数 -mogdb=# CREATE OR REPLACE FUNCTION tri_insert_func() RETURNS TRIGGER AS +MogDB=# CREATE OR REPLACE FUNCTION tri_insert_func() RETURNS TRIGGER AS $$ DECLARE BEGIN @@ -179,7 +179,7 @@ mogdb=# CREATE OR REPLACE FUNCTION tri_insert_func() RETURNS TRIGGER AS END $$ LANGUAGE PLPGSQL; -mogdb=# CREATE OR REPLACE FUNCTION tri_update_func() RETURNS TRIGGER AS +MogDB=# CREATE OR REPLACE FUNCTION tri_update_func() RETURNS TRIGGER AS $$ DECLARE BEGIN @@ -188,7 +188,7 @@ mogdb=# CREATE OR REPLACE FUNCTION tri_update_func() RETURNS TRIGGER AS END $$ LANGUAGE PLPGSQL; -mogdb=# CREATE OR REPLACE FUNCTION TRI_DELETE_FUNC() RETURNS TRIGGER AS +MogDB=# CREATE OR REPLACE FUNCTION TRI_DELETE_FUNC() RETURNS TRIGGER AS $$ DECLARE BEGIN @@ -198,51 +198,51 @@ mogdb=# CREATE OR REPLACE FUNCTION TRI_DELETE_FUNC() RETURNS TRIGGER AS $$ LANGUAGE PLPGSQL; --创建INSERT触发器 -mogdb=# CREATE TRIGGER insert_trigger +MogDB=# CREATE TRIGGER insert_trigger BEFORE INSERT ON test_trigger_src_tbl FOR EACH ROW EXECUTE PROCEDURE tri_insert_func(); --创建UPDATE触发器 -mogdb=# CREATE TRIGGER update_trigger +MogDB=# CREATE TRIGGER update_trigger AFTER UPDATE ON test_trigger_src_tbl FOR EACH ROW EXECUTE PROCEDURE tri_update_func(); --创建DELETE触发器 -mogdb=# CREATE TRIGGER delete_trigger +MogDB=# CREATE TRIGGER delete_trigger BEFORE DELETE ON test_trigger_src_tbl FOR EACH ROW EXECUTE PROCEDURE tri_delete_func(); --执行INSERT触发事件并检查触发结果 -mogdb=# INSERT INTO test_trigger_src_tbl VALUES(100,200,300); -mogdb=# SELECT * FROM test_trigger_src_tbl; -mogdb=# SELECT * FROM test_trigger_des_tbl; //查看触发操作是否生效。 +MogDB=# INSERT INTO test_trigger_src_tbl VALUES(100,200,300); +MogDB=# SELECT * FROM test_trigger_src_tbl; +MogDB=# SELECT * FROM test_trigger_des_tbl; //查看触发操作是否生效。 --执行UPDATE触发事件并检查触发结果 -mogdb=# UPDATE test_trigger_src_tbl SET id3=400 WHERE id1=100; -mogdb=# SELECT * FROM test_trigger_src_tbl; -mogdb=# SELECT * FROM test_trigger_des_tbl; //查看触发操作是否生效 +MogDB=# UPDATE test_trigger_src_tbl SET id3=400 WHERE id1=100; +MogDB=# SELECT * FROM test_trigger_src_tbl; +MogDB=# SELECT * FROM test_trigger_des_tbl; //查看触发操作是否生效 --执行DELETE触发事件并检查触发结果 -mogdb=# DELETE FROM test_trigger_src_tbl WHERE id1=100; -mogdb=# SELECT * FROM test_trigger_src_tbl; -mogdb=# SELECT * FROM test_trigger_des_tbl; //查看触发操作是否生效 +MogDB=# DELETE FROM test_trigger_src_tbl WHERE id1=100; +MogDB=# SELECT * FROM test_trigger_src_tbl; +MogDB=# SELECT * FROM test_trigger_des_tbl; //查看触发操作是否生效 --修改触发器 -mogdb=# ALTER TRIGGER delete_trigger ON test_trigger_src_tbl RENAME TO delete_trigger_renamed; +MogDB=# ALTER TRIGGER delete_trigger ON test_trigger_src_tbl RENAME TO delete_trigger_renamed; --禁用insert_trigger触发器 -mogdb=# ALTER TABLE test_trigger_src_tbl DISABLE TRIGGER insert_trigger; +MogDB=# ALTER TABLE test_trigger_src_tbl DISABLE TRIGGER insert_trigger; --禁用当前表上所有触发器 -mogdb=# ALTER TABLE test_trigger_src_tbl DISABLE TRIGGER ALL; +MogDB=# ALTER TABLE test_trigger_src_tbl DISABLE TRIGGER ALL; --删除触发器 -mogdb=# DROP TRIGGER insert_trigger ON test_trigger_src_tbl; -mogdb=# DROP TRIGGER update_trigger ON test_trigger_src_tbl; -mogdb=# DROP TRIGGER delete_trigger_renamed ON test_trigger_src_tbl; +MogDB=# DROP TRIGGER insert_trigger ON test_trigger_src_tbl; +MogDB=# DROP TRIGGER update_trigger ON test_trigger_src_tbl; +MogDB=# DROP TRIGGER delete_trigger_renamed ON test_trigger_src_tbl; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TYPE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TYPE.md index 38fa2a78..3efe6044 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TYPE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-TYPE.md @@ -250,47 +250,47 @@ CreateType ::= CREATE TYPE name AS TABLE OF data_type ```sql --创建一种复合类型,建表并插入数据以及查询。 -mogdb=# CREATE TYPE compfoo AS (f1 int, f2 text); -mogdb=# CREATE TABLE t1_compfoo(a int, b compfoo); -mogdb=# CREATE TABLE t2_compfoo(a int, b compfoo); -mogdb=# INSERT INTO t1_compfoo values(1,(1,'demo')); -mogdb=# INSERT INTO t2_compfoo select * from t1_compfoo; -mogdb=# SELECT (b).f1 FROM t1_compfoo; -mogdb=# SELECT * FROM t1_compfoo t1 join t2_compfoo t2 on (t1.b).f1=(t1.b).f1; +MogDB=# CREATE TYPE compfoo AS (f1 int, f2 text); +MogDB=# CREATE TABLE t1_compfoo(a int, b compfoo); +MogDB=# CREATE TABLE t2_compfoo(a int, b compfoo); +MogDB=# INSERT INTO t1_compfoo values(1,(1,'demo')); +MogDB=# INSERT INTO t2_compfoo select * from t1_compfoo; +MogDB=# SELECT (b).f1 FROM t1_compfoo; +MogDB=# SELECT * FROM t1_compfoo t1 join t2_compfoo t2 on (t1.b).f1=(t1.b).f1; --重命名数据类型。 -mogdb=# ALTER TYPE compfoo RENAME TO compfoo1; +MogDB=# ALTER TYPE compfoo RENAME TO compfoo1; --要改变一个用户定义类型compfoo1的所有者为usr1。 -mogdb=# CREATE USER usr1 PASSWORD 'xxxxxxxxx'; -mogdb=# ALTER TYPE compfoo1 OWNER TO usr1; +MogDB=# CREATE USER usr1 PASSWORD 'xxxxxxxxx'; +MogDB=# ALTER TYPE compfoo1 OWNER TO usr1; --把用户定义类型compfoo1的模式改变为usr1。 -mogdb=# ALTER TYPE compfoo1 SET SCHEMA usr1; +MogDB=# ALTER TYPE compfoo1 SET SCHEMA usr1; --给一个数据类型增加一个新的属性。 -mogdb=# ALTER TYPE usr1.compfoo1 ADD ATTRIBUTE f3 int; +MogDB=# ALTER TYPE usr1.compfoo1 ADD ATTRIBUTE f3 int; --删除compfoo1类型。 -mogdb=# DROP TYPE usr1.compfoo1 cascade; +MogDB=# DROP TYPE usr1.compfoo1 cascade; --删除相关表和用户。 -mogdb=# DROP TABLE t1_compfoo; -mogdb=# DROP TABLE t2_compfoo; -mogdb=# DROP SCHEMA usr1; -mogdb=# DROP USER usr1; +MogDB=# DROP TABLE t1_compfoo; +MogDB=# DROP TABLE t2_compfoo; +MogDB=# DROP SCHEMA usr1; +MogDB=# DROP USER usr1; --创建一个枚举类型。 -mogdb=# CREATE TYPE bugstatus AS ENUM ('create', 'modify', 'closed'); +MogDB=# CREATE TYPE bugstatus AS ENUM ('create', 'modify', 'closed'); --添加一个标签值。 -mogdb=# ALTER TYPE bugstatus ADD VALUE IF NOT EXISTS 'regress' BEFORE 'closed'; +MogDB=# ALTER TYPE bugstatus ADD VALUE IF NOT EXISTS 'regress' BEFORE 'closed'; --重命名一个标签值。 -mogdb=# ALTER TYPE bugstatus RENAME VALUE 'create' TO 'new'; +MogDB=# ALTER TYPE bugstatus RENAME VALUE 'create' TO 'new'; --创建一个集合类型 -mogdb=# CREATE TYPE compfoo_table AS TABLE OF compfoo; +MogDB=# CREATE TYPE compfoo_table AS TABLE OF compfoo; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-USER.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-USER.md index 772849aa..c6c68e9b 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-USER.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-USER.md @@ -88,33 +88,33 @@ CREATE USER的其他参数值请参考[CREATE ROLE](CREATE-ROLE#参数说明)。 ```sql --创建用户jim,登录密码为xxxxxxxxx。 -mogdb=# CREATE USER jim PASSWORD 'xxxxxxxxx'; +MogDB=# CREATE USER jim PASSWORD 'xxxxxxxxx'; --下面语句与上面的等价。 -mogdb=# CREATE USER kim IDENTIFIED BY 'xxxxxxxxx'; +MogDB=# CREATE USER kim IDENTIFIED BY 'xxxxxxxxx'; --如果创建有“创建数据库”权限的用户,则需要加CREATEDB关键字。 -mogdb=# CREATE USER dim CREATEDB PASSWORD 'xxxxxxxxx'; +MogDB=# CREATE USER dim CREATEDB PASSWORD 'xxxxxxxxx'; --将用户jim的登录密码由xxxxxxxx修改为Abcd@123。 -mogdb=# ALTER USER jim IDENTIFIED BY 'Abcd@123' REPLACE 'xxxxxxxxx'; +MogDB=# ALTER USER jim IDENTIFIED BY 'Abcd@123' REPLACE 'xxxxxxxxx'; --为用户jim追加CREATEROLE权限。 -mogdb=# ALTER USER jim CREATEROLE; +MogDB=# ALTER USER jim CREATEROLE; --将enable_seqscan的值设置为on, 设置成功后,在下一会话中生效。 -mogdb=# ALTER USER jim SET enable_seqscan TO on; +MogDB=# ALTER USER jim SET enable_seqscan TO on; --重置jim的enable_seqscan参数。 -mogdb=# ALTER USER jim RESET enable_seqscan; +MogDB=# ALTER USER jim RESET enable_seqscan; --锁定jim帐户。 -mogdb=# ALTER USER jim ACCOUNT LOCK; +MogDB=# ALTER USER jim ACCOUNT LOCK; --删除用户。 -mogdb=# DROP USER kim CASCADE; -mogdb=# DROP USER jim CASCADE; -mogdb=# DROP USER dim CASCADE; +MogDB=# DROP USER kim CASCADE; +MogDB=# DROP USER jim CASCADE; +MogDB=# DROP USER dim CASCADE; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-VIEW.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-VIEW.md index dc829ec4..760ec16c 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-VIEW.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-VIEW.md @@ -66,14 +66,14 @@ CreateView ::= CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] VIEW view_name [ ( col ```sql --创建字段spcname为pg_default组成的视图。 -mogdb=# CREATE VIEW myView AS +MogDB=# CREATE VIEW myView AS SELECT * FROM pg_tablespace WHERE spcname = 'pg_default'; --查看视图。 -mogdb=# SELECT * FROM myView ; +MogDB=# SELECT * FROM myView ; --删除视图myView。 -mogdb=# DROP VIEW myView; +MogDB=# DROP VIEW myView; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-WEAK-PASSWORD-DICTIONARY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-WEAK-PASSWORD-DICTIONARY.md index 8badad7c..7b099c0f 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-WEAK-PASSWORD-DICTIONARY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/CREATE-WEAK-PASSWORD-DICTIONARY.md @@ -37,16 +37,16 @@ weak_password ```sql --向gs_global_config系统表中插入单个弱口令。 -mogdb=# CREATE WEAK PASSWORD DICTIONARY WITH VALUES ('password1'); +MogDB=# CREATE WEAK PASSWORD DICTIONARY WITH VALUES ('password1'); --向gs_global_config系统表中插入多个弱口令。 -mogdb=# CREATE WEAK PASSWORD DICTIONARY WITH VALUES ('password2'),('password3'); +MogDB=# CREATE WEAK PASSWORD DICTIONARY WITH VALUES ('password2'),('password3'); --清空gs_global_config系统表中所有弱口令。 -mogdb=# DROP WEAK PASSWORD DICTIONARY; +MogDB=# DROP WEAK PASSWORD DICTIONARY; --查看现有弱口令。 -mogdb=# SELECT * FROM gs_global_config WHERE NAME LIKE 'weak_password'; +MogDB=# SELECT * FROM gs_global_config WHERE NAME LIKE 'weak_password'; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DELETE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DELETE.md index 92daf9cd..29bc8979 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DELETE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DELETE.md @@ -103,16 +103,16 @@ DELETE [/*+ plan_hint */] [ FROM ] [ ONLY ] table_name [partition_clause] [ * ] ```sql --创建表tpcds.customer_address_bak。 -mogdb=# CREATE TABLE tpcds.customer_address_bak AS TABLE tpcds.customer_address; +MogDB=# CREATE TABLE tpcds.customer_address_bak AS TABLE tpcds.customer_address; --删除tpcds.customer_address_bak中ca_address_sk小于14888的职员。 -mogdb=# DELETE FROM tpcds.customer_address_bak WHERE ca_address_sk < 14888; +MogDB=# DELETE FROM tpcds.customer_address_bak WHERE ca_address_sk < 14888; --删除tpcds.customer_address_bak中所有数据。 -mogdb=# DELETE FROM tpcds.customer_address_bak; +MogDB=# DELETE FROM tpcds.customer_address_bak; --删除tpcds.customer_address_bak表。 -mogdb=# DROP TABLE tpcds.customer_address_bak; +MogDB=# DROP TABLE tpcds.customer_address_bak; ``` ## 优化建议 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DO.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DO.md index a807ef31..a4097193 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DO.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DO.md @@ -38,10 +38,10 @@ Do ::= DO [ LANGUAGE lang_name ] code; ```sql --创建用户webuser。 -mogdb=# CREATE USER webuser PASSWORD 'xxxxxx'; +MogDB=# CREATE USER webuser PASSWORD 'xxxxxx'; --授予用户webuser对模式tpcds下视图的所有操作权限。 -mogdb=# DO $$DECLARE r record; +MogDB=# DO $$DECLARE r record; BEGIN FOR r IN SELECT c.relname table_name,n.nspname table_schema FROM pg_class c,pg_namespace n WHERE c.relnamespace = n.oid AND n.nspname = 'tpcds' AND relkind IN ('r','v') @@ -51,5 +51,5 @@ BEGIN END$$; --删除用户webuser。 -mogdb=# DROP USER webuser CASCADE; +MogDB=# DROP USER webuser CASCADE; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-COLUMN-ENCRYPTION-KEY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-COLUMN-ENCRYPTION-KEY.md index 2dcd87d9..d1d200de 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-COLUMN-ENCRYPTION-KEY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-COLUMN-ENCRYPTION-KEY.md @@ -37,7 +37,7 @@ DropColumnEncryptionKey ::= DROP COLUMN ENCRYPTION KEY [ IF EXISTS ] column_encr ```sql --删除客户端加密主密钥对象。 -mogdb=# DROP COLUMN ENCRYPTION KEY ImgCEK CASCADE; +MogDB=# DROP COLUMN ENCRYPTION KEY ImgCEK CASCADE; ERROR: cannot drop column setting: imgcek cascadely because encrypted column depend on it. HINT: we have to drop encrypted column: name, ... before drop column setting: imgcek cascadely. ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-DATA-SOURCE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-DATA-SOURCE.md index 4c8afed9..1a759faf 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-DATA-SOURCE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-DATA-SOURCE.md @@ -45,11 +45,11 @@ DropDataSource ::= DROP DATA SOURCE [IF EXISTS] src_name [CASCADE | RESTRICT]; ```sql --创建Data Source对象。 -mogdb=# CREATE DATA SOURCE ds_tst1; +MogDB=# CREATE DATA SOURCE ds_tst1; --删除Data Source对象。 -mogdb=# DROP DATA SOURCE ds_tst1 CASCADE; -mogdb=# DROP DATA SOURCE IF EXISTS ds_tst1 RESTRICT; +MogDB=# DROP DATA SOURCE ds_tst1 CASCADE; +MogDB=# DROP DATA SOURCE IF EXISTS ds_tst1 RESTRICT; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-DIRECTORY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-DIRECTORY.md index a2e7398e..ce80771f 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-DIRECTORY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-DIRECTORY.md @@ -33,10 +33,10 @@ DropDictionary ::= DROP DIRECTORY [ IF EXISTS ] directory_name; ```sql --创建目录。 -mogdb=# CREATE OR REPLACE DIRECTORY dir as '/tmp/'; +MogDB=# CREATE OR REPLACE DIRECTORY dir as '/tmp/'; --删除目录。 -mogdb=# DROP DIRECTORY dir; +MogDB=# DROP DIRECTORY dir; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-MASKING-POLICY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-MASKING-POLICY.md index 7b625dfe..8f3ad17a 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-MASKING-POLICY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-MASKING-POLICY.md @@ -33,10 +33,10 @@ DropMaskingPolicy ::= DROP MASKING POLICY [IF EXISTS] policy_name; ```sql --删除一个脱敏策略。 -mogdb=# DROP MASKING POLICY IF EXISTS maskpol1; +MogDB=# DROP MASKING POLICY IF EXISTS maskpol1; --删除一组脱敏策略。 -mogdb=# DROP MASKING POLICY IF EXISTS maskpol1, maskpol2, maskpol3; +MogDB=# DROP MASKING POLICY IF EXISTS maskpol1, maskpol2, maskpol3; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-MATERIALIZED-VIEW.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-MATERIALIZED-VIEW.md index f7670cd1..4c92589d 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-MATERIALIZED-VIEW.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-MATERIALIZED-VIEW.md @@ -40,7 +40,7 @@ DropMaterializedView ::= DROP MATERIALIZED VIEW [ IF EXISTS ] mv_name [, ...] [ ```sql --删除名为my_mv的物化视图。 -mogdb=# DROP MATERIALIZED VIEW my_mv; +MogDB=# DROP MATERIALIZED VIEW my_mv; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-RESOURCE-LABEL.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-RESOURCE-LABEL.md index 9cbd21f0..1e6fab7a 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-RESOURCE-LABEL.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-RESOURCE-LABEL.md @@ -33,10 +33,10 @@ DropResourceLabel ::= DROP RESOURCE LABEL [IF EXISTS] policy_name[, ...]*; ```sql --删除一个资源标签。 -mogdb=# DROP RESOURCE LABEL IF EXISTS res_label1; +MogDB=# DROP RESOURCE LABEL IF EXISTS res_label1; --删除一组资源标签。 -mogdb=# DROP RESOURCE LABEL IF EXISTS res_label1, res_label2, res_label3; +MogDB=# DROP RESOURCE LABEL IF EXISTS res_label1, res_label2, res_label3; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-ROW-LEVEL-SECURITY-POLICY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-ROW-LEVEL-SECURITY-POLICY.md index dc16e678..7e501c58 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-ROW-LEVEL-SECURITY-POLICY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-ROW-LEVEL-SECURITY-POLICY.md @@ -43,13 +43,13 @@ DropRowLevelSecurityPolicy ::= DROP [ ROW LEVEL SECURITY ] POLICY [ IF EXISTS ] ```sql --创建数据表all_data -mogdb=# CREATE TABLE all_data(id int, role varchar(100), data varchar(100)); +MogDB=# CREATE TABLE all_data(id int, role varchar(100), data varchar(100)); --创建行访问控制策略 -mogdb=# CREATE ROW LEVEL SECURITY POLICY all_data_rls ON all_data USING(role = CURRENT_USER); +MogDB=# CREATE ROW LEVEL SECURITY POLICY all_data_rls ON all_data USING(role = CURRENT_USER); --删除行访问控制策略 -mogdb=# DROP ROW LEVEL SECURITY POLICY all_data_rls ON all_data; +MogDB=# DROP ROW LEVEL SECURITY POLICY all_data_rls ON all_data; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-SEQUENCE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-SEQUENCE.md index a6270c7c..96456e26 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-SEQUENCE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-SEQUENCE.md @@ -44,10 +44,10 @@ DropSequence ::= DROP [ LARGE ] SEQUENCE [ IF EXISTS ] {[schema'.']sequence_name ```sql --创建一个名为serial的递增序列,从101开始。 -mogdb=# CREATE SEQUENCE serial START 101; +MogDB=# CREATE SEQUENCE serial START 101; --删除序列。 -mogdb=# DROP SEQUENCE serial; +MogDB=# DROP SEQUENCE serial; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-TEXT-SEARCH-DICTIONARY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-TEXT-SEARCH-DICTIONARY.md index 626c8160..bcb56fdc 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-TEXT-SEARCH-DICTIONARY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/DROP-TEXT-SEARCH-DICTIONARY.md @@ -49,7 +49,7 @@ DropTextSearchDictionary ::= DROP TEXT SEARCH DICTIONARY [ IF EXISTS ] name [ CA ```sql --删除词典english -mogdb=# DROP TEXT SEARCH DICTIONARY english; +MogDB=# DROP TEXT SEARCH DICTIONARY english; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/EXECUTE-DIRECT.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/EXECUTE-DIRECT.md index f74ece64..3d0dadca 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/EXECUTE-DIRECT.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/EXECUTE-DIRECT.md @@ -56,7 +56,7 @@ EXECUTE DIRECT ON { COORDINATORS | DATANODES | ALL } query; ```sql --查询当前数据库实例的节点分布状态。 -mogdb=# SELECT * FROM pgxc_node; +MogDB=# SELECT * FROM pgxc_node; node_name | node_type | node_port | node_host | node_port1 | node_host1 | hostis_primary | nodeis_primary | nodeis_preferred | node_id | sctp_port | control_port | sctp_port1 | control_port1 --------------+-----------+-----------+----------------+------------+----------------+----------------+----------------+------------------+-------------+-----------+--------------+------------+--------------- cn_5001 | C | 8050 | 10.180.155.74 | 8050 | 10.180.155.74 | t | f | f | 1120683504 | 0 | 0 | 0 | 0 @@ -68,14 +68,14 @@ mogdb=# SELECT * FROM pgxc_node; (6 rows) --查询dn_6001_6002上tpcds.customer_address记录。 -mogdb=# EXECUTE DIRECT ON(dn_6001_6002) 'select count(*) from tpcds.customer_address'; +MogDB=# EXECUTE DIRECT ON(dn_6001_6002) 'select count(*) from tpcds.customer_address'; count ------- 16922 (1 row) --查询tpcds.customer_address所有记录。 -mogdb=# SELECT count(*) FROM tpcds.customer_address; +MogDB=# SELECT count(*) FROM tpcds.customer_address; count ------- 50000 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/EXECUTE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/EXECUTE.md index a31b19c6..4b9ea48b 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/EXECUTE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/EXECUTE.md @@ -35,7 +35,7 @@ Execute ::= EXECUTE name [ ( parameter [, ...] ) ]; ```sql --创建表reason。 -mogdb=# CREATE TABLE tpcds.reason ( +MogDB=# CREATE TABLE tpcds.reason ( CD_DEMO_SK INTEGER NOT NULL, CD_GENDER character(16) , CD_MARITAL_STATUS character(100) @@ -43,17 +43,17 @@ mogdb=# CREATE TABLE tpcds.reason ( ; --插入数据。 -mogdb=# INSERT INTO tpcds.reason VALUES(51, 'AAAAAAAADDAAAAAA', 'reason 51'); +MogDB=# INSERT INTO tpcds.reason VALUES(51, 'AAAAAAAADDAAAAAA', 'reason 51'); --创建表reason_t1。 -mogdb=# CREATE TABLE tpcds.reason_t1 AS TABLE tpcds.reason; +MogDB=# CREATE TABLE tpcds.reason_t1 AS TABLE tpcds.reason; --为一个INSERT语句创建一个预备语句然后执行它。 -mogdb=# PREPARE insert_reason(integer,character(16),character(100)) AS INSERT INTO tpcds.reason_t1 VALUES($1,$2,$3); +MogDB=# PREPARE insert_reason(integer,character(16),character(100)) AS INSERT INTO tpcds.reason_t1 VALUES($1,$2,$3); -mogdb=# EXECUTE insert_reason(52, 'AAAAAAAADDAAAAAA', 'reason 52'); +MogDB=# EXECUTE insert_reason(52, 'AAAAAAAADDAAAAAA', 'reason 52'); --删除表reason和reason_t1。 -mogdb=# DROP TABLE tpcds.reason; -mogdb=# DROP TABLE tpcds.reason_t1; +MogDB=# DROP TABLE tpcds.reason; +MogDB=# DROP TABLE tpcds.reason_t1; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/EXPLAIN.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/EXPLAIN.md index ed36d67e..b7241ae5 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/EXPLAIN.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/EXPLAIN.md @@ -30,11 +30,11 @@ date: 2021-05-18 - 由于参数DETAIL,NODES,NUM_NODES是分布式模式下的功能,在单机模式中是被禁止使用的。假如使用,会产生如下错误。 ``` - mogdb=# create table student(id int, name char(20)); + MogDB=# create table student(id int, name char(20)); CREATE TABLE - mogdb=# explain (nodes true) insert into student values(5,'a'),(6,'b'); + MogDB=# explain (nodes true) insert into student values(5,'a'),(6,'b'); ERROR: unrecognized EXPLAIN option "nodes" - mogdb=# explain (num_nodes true) insert into student values(5,'a'),(6,'b'); + MogDB=# explain (num_nodes true) insert into student values(5,'a'),(6,'b'); ERROR: unrecognized EXPLAIN option "num_nodes" ``` @@ -181,13 +181,13 @@ date: 2021-05-18 ``` --创建一个表tpcds.customer_address_p1。 -mogdb=# CREATE TABLE tpcds.customer_address_p1 AS TABLE tpcds.customer_address; +MogDB=# CREATE TABLE tpcds.customer_address_p1 AS TABLE tpcds.customer_address; --修改explain_perf_mode为normal -mogdb=# SET explain_perf_mode=normal; +MogDB=# SET explain_perf_mode=normal; --显示表简单查询的执行计划。 -mogdb=# EXPLAIN SELECT * FROM tpcds.customer_address_p1; +MogDB=# EXPLAIN SELECT * FROM tpcds.customer_address_p1; QUERY PLAN -------------------------------------------------- Data Node Scan (cost=0.00..0.00 rows=0 width=0) @@ -195,7 +195,7 @@ Node/s: All dbnodes (2 rows) --以JSON格式输出的执行计划(explain_perf_mode为normal时)。 -mogdb=# EXPLAIN(FORMAT JSON) SELECT * FROM tpcds.customer_address_p1; +MogDB=# EXPLAIN(FORMAT JSON) SELECT * FROM tpcds.customer_address_p1; QUERY PLAN -------------------------------------- [ + @@ -213,7 +213,7 @@ mogdb=# EXPLAIN(FORMAT JSON) SELECT * FROM tpcds.customer_address_p1; (1 row) --如果有一个索引,当使用一个带索引WHERE条件的查询,可能会显示一个不同的计划。 -mogdb=# EXPLAIN SELECT * FROM tpcds.customer_address_p1 WHERE ca_address_sk=10000; +MogDB=# EXPLAIN SELECT * FROM tpcds.customer_address_p1 WHERE ca_address_sk=10000; QUERY PLAN -------------------------------------------------- Data Node Scan (cost=0.00..0.00 rows=0 width=0) @@ -221,7 +221,7 @@ Node/s: dn_6005_6006 (2 rows) --以YAML格式输出的执行计划(explain_perf_mode为normal时)。 -mogdb=# EXPLAIN(FORMAT YAML) SELECT * FROM tpcds.customer_address_p1 WHERE ca_address_sk=10000; +MogDB=# EXPLAIN(FORMAT YAML) SELECT * FROM tpcds.customer_address_p1 WHERE ca_address_sk=10000; QUERY PLAN --------------------------------- - Plan: + @@ -234,7 +234,7 @@ mogdb=# EXPLAIN(FORMAT YAML) SELECT * FROM tpcds.customer_address_p1 WHERE ca_ad (1 row) --禁止开销估计的执行计划。 -mogdb=# EXPLAIN(COSTS FALSE)SELECT * FROM tpcds.customer_address_p1 WHERE ca_address_sk=10000; +MogDB=# EXPLAIN(COSTS FALSE)SELECT * FROM tpcds.customer_address_p1 WHERE ca_address_sk=10000; QUERY PLAN ------------------------ Data Node Scan @@ -242,7 +242,7 @@ mogdb=# EXPLAIN(COSTS FALSE)SELECT * FROM tpcds.customer_address_p1 WHERE ca_add (2 rows) --带有聚集函数查询的执行计划。 -mogdb=# EXPLAIN SELECT SUM(ca_address_sk) FROM tpcds.customer_address_p1 WHERE ca_address_sk<10000; +MogDB=# EXPLAIN SELECT SUM(ca_address_sk) FROM tpcds.customer_address_p1 WHERE ca_address_sk<10000; QUERY PLAN --------------------------------------------------------------------------------------- Aggregate (cost=18.19..14.32 rows=1 width=4) @@ -291,7 +291,7 @@ MogDB=# EXPLAIN SELECT * FROM range_list WHERE dept_code = '1'; (6 rows) --删除表tpcds.customer_address_p1。 -mogdb=# DROP TABLE tpcds.customer_address_p1; +MogDB=# DROP TABLE tpcds.customer_address_p1; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/FETCH.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/FETCH.md index 50287a86..b4ff41f2 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/FETCH.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/FETCH.md @@ -145,13 +145,13 @@ direction ::= NEXT ```sql --SELECT语句,用一个游标读取一个表。开始一个事务。 -mogdb=# START TRANSACTION; +MogDB=# START TRANSACTION; --建立一个名为cursor1的游标。 -mogdb=# CURSOR cursor1 FOR SELECT * FROM tpcds.customer_address ORDER BY 1; +MogDB=# CURSOR cursor1 FOR SELECT * FROM tpcds.customer_address ORDER BY 1; --抓取头3行到游标cursor1里。 -mogdb=# FETCH FORWARD 3 FROM cursor1; +MogDB=# FETCH FORWARD 3 FROM cursor1; ca_address_sk | ca_address_id | ca_street_number | ca_street_name | ca_street_type | ca_suite_number | ca_city | ca_county | ca_state | ca_zip | ca_country | ca_gmt_offset | ca_location_type ---------------+------------------+------------------+--------------------+-----------------+-----------------+-----------------+-----------------+----------+------------+---------------+---------------+---------------------- 1 | AAAAAAAABAAAAAAA | 18 | Jackson | Parkway | Suite 280 | Fairfield | Maricopa County | AZ | 86192 | United States | -7.00 | condo @@ -160,19 +160,19 @@ mogdb=# FETCH FORWARD 3 FROM cursor1; (3 rows) --关闭游标并提交事务。 -mogdb=# CLOSE cursor1; +MogDB=# CLOSE cursor1; --结束一个事务。 -mogdb=# END; +MogDB=# END; --VALUES子句,用一个游标读取VALUES子句中的内容。开始一个事务。 -mogdb=# START TRANSACTION; +MogDB=# START TRANSACTION; --建立一个名为cursor2的游标。 -mogdb=# CURSOR cursor2 FOR VALUES(1,2),(0,3) ORDER BY 1; +MogDB=# CURSOR cursor2 FOR VALUES(1,2),(0,3) ORDER BY 1; --抓取头2行到游标cursor2里。 -mogdb=# FETCH FORWARD 2 FROM cursor2; +MogDB=# FETCH FORWARD 2 FROM cursor2; column1 | column2 ---------+--------- 0 | 3 @@ -180,19 +180,19 @@ column1 | column2 (2 rows) --关闭游标并提交事务。 -mogdb=# CLOSE cursor2; +MogDB=# CLOSE cursor2; --结束一个事务。 -mogdb=# END; +MogDB=# END; --WITH HOLD游标的使用,开启事务。 -mogdb=# START TRANSACTION; +MogDB=# START TRANSACTION; --创建一个with hold游标。 -mogdb=# DECLARE cursor1 CURSOR WITH HOLD FOR SELECT * FROM tpcds.customer_address ORDER BY 1; +MogDB=# DECLARE cursor1 CURSOR WITH HOLD FOR SELECT * FROM tpcds.customer_address ORDER BY 1; --抓取头2行到游标cursor1里。 -mogdb=# FETCH FORWARD 2 FROM cursor1; +MogDB=# FETCH FORWARD 2 FROM cursor1; ca_address_sk | ca_address_id | ca_street_number | ca_street_name | ca_street_type | ca_suite_number | ca_city | ca_county | ca_state | ca_zip | ca_country | ca_gmt_offset | ca_location_type ---------------+------------------+------------------+--------------------+-----------------+-----------------+-----------------+-----------------+----------+------------+---------------+---------------+---------------------- 1 | AAAAAAAABAAAAAAA | 18 | Jackson | Parkway | Suite 280 | Fairfield | Maricopa County | AZ | 86192 | United States | -7.00 | condo @@ -200,17 +200,17 @@ mogdb=# FETCH FORWARD 2 FROM cursor1; (2 rows) --结束事务。 -mogdb=# END; +MogDB=# END; --抓取下一行到游标cursor1里。 -mogdb=# FETCH FORWARD 1 FROM cursor1; +MogDB=# FETCH FORWARD 1 FROM cursor1; ca_address_sk | ca_address_id | ca_street_number | ca_street_name | ca_street_type | ca_suite_number | ca_city | ca_county | ca_state | ca_zip | ca_country | ca_gmt_offset | ca_location_type ---------------+------------------+------------------+--------------------+-----------------+-----------------+-----------------+-----------------+----------+------------+---------------+---------------+---------------------- 3 | AAAAAAAADAAAAAAA | 585 | Dogwood Washington | Circle | Suite Q | Pleasant Valley | York County | PA | 12477 | United States | -5.00 | single family (1 row) --关闭游标。 -mogdb=# CLOSE cursor1; +MogDB=# CLOSE cursor1; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/GRANT.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/GRANT.md index ee5e8f38..119ce128 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/GRANT.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/GRANT.md @@ -490,8 +490,8 @@ GRANT的参数说明如下所示。 创建名为joe的用户,并将sysadmin权限授权给他。 ```sql -mogdb=# CREATE USER joe PASSWORD 'Bigdata@123'; -mogdb=# GRANT ALL PRIVILEGES TO joe; +MogDB=# CREATE USER joe PASSWORD 'Bigdata@123'; +MogDB=# GRANT ALL PRIVILEGES TO joe; ``` 授权成功后,用户joe会拥有sysadmin的所有权限。 @@ -501,9 +501,9 @@ mogdb=# GRANT ALL PRIVILEGES TO joe; 1. 撤销joe用户的sysadmin权限,然后将模式tpcds的使用权限和表tpcds.reason的所有权限授权给用户joe。 ```sql - mogdb=# REVOKE ALL PRIVILEGES FROM joe; - mogdb=# GRANT USAGE ON SCHEMA tpcds TO joe; - mogdb=# GRANT ALL PRIVILEGES ON tpcds.reason TO joe; + MogDB=# REVOKE ALL PRIVILEGES FROM joe; + MogDB=# GRANT USAGE ON SCHEMA tpcds TO joe; + MogDB=# GRANT ALL PRIVILEGES ON tpcds.reason TO joe; ``` 授权成功后,joe用户就拥有了tpcds.reason表的所有权限,包括增删改查等权限。 @@ -511,33 +511,33 @@ mogdb=# GRANT ALL PRIVILEGES TO joe; 2. 将tpcds.reason表中r_reason_sk、r_reason_id、r_reason_desc列的查询权限,r_reason_desc的更新权限授权给joe。 ```sql - mogdb=# GRANT select (r_reason_sk,r_reason_id,r_reason_desc),update (r_reason_desc) ON tpcds.reason TO joe; + MogDB=# GRANT select (r_reason_sk,r_reason_id,r_reason_desc),update (r_reason_desc) ON tpcds.reason TO joe; ``` 授权成功后,用户joe对tpcds.reason表中r_reason_sk,r_reason_id的查询权限会立即生效。如果joe用户需要拥有将这些权限授权给其他用户的权限,可以通过以下语法对joe用户进行授权。 ```sql - mogdb=# GRANT select (r_reason_sk, r_reason_id) ON tpcds.reason TO joe WITH GRANT OPTION; + MogDB=# GRANT select (r_reason_sk, r_reason_id) ON tpcds.reason TO joe WITH GRANT OPTION; ``` 将数据库mogdb的连接权限授权给用户joe,并给予其在mogdb中创建schema的权限,而且允许joe将此权限授权给其他用户。 ```sql - mogdb=# GRANT create,connect on database mogdb TO joe WITH GRANT OPTION; + MogDB=# GRANT create,connect on database mogdb TO joe WITH GRANT OPTION; ``` 创建角色tpcds_manager,将模式tpcds的访问权限授权给角色tpcds_manager,并授予该角色在tpcds下创建对象的权限,不允许该角色中的用户将权限授权给其他人。 ```sql - mogdb=# CREATE ROLE tpcds_manager PASSWORD 'Bigdata@123'; - mogdb=# GRANT USAGE,CREATE ON SCHEMA tpcds TO tpcds_manager; + MogDB=# CREATE ROLE tpcds_manager PASSWORD 'Bigdata@123'; + MogDB=# GRANT USAGE,CREATE ON SCHEMA tpcds TO tpcds_manager; ``` 将表空间tpcds_tbspc的所有权限授权给用户joe,但用户joe无法将权限继续授予其他用户。 ```sql - mogdb=# CREATE TABLESPACE tpcds_tbspc RELATIVE LOCATION 'tablespace/tablespace_1'; - mogdb=# GRANT ALL ON TABLESPACE tpcds_tbspc TO joe; + MogDB=# CREATE TABLESPACE tpcds_tbspc RELATIVE LOCATION 'tablespace/tablespace_1'; + MogDB=# GRANT ALL ON TABLESPACE tpcds_tbspc TO joe; ``` **示例:将用户或者角色的权限授权给其他用户或角色。** @@ -545,23 +545,23 @@ mogdb=# GRANT ALL PRIVILEGES TO joe; 1. 创建角色manager,将joe的权限授权给manager,并允许该角色将权限授权给其他人。 ```sql - mogdb=# CREATE ROLE manager PASSWORD 'Bigdata@123'; - mogdb=# GRANT joe TO manager WITH ADMIN OPTION; + MogDB=# CREATE ROLE manager PASSWORD 'Bigdata@123'; + MogDB=# GRANT joe TO manager WITH ADMIN OPTION; ``` 2. 创建用户senior_manager,将用户manager的权限授权给该用户。 ```sql - mogdb=# CREATE ROLE senior_manager PASSWORD 'Bigdata@123'; - mogdb=# GRANT manager TO senior_manager; + MogDB=# CREATE ROLE senior_manager PASSWORD 'Bigdata@123'; + MogDB=# GRANT manager TO senior_manager; ``` 3. 撤销权限,并清理用户。 ```sql - mogdb=# REVOKE manager FROM joe; - mogdb=# REVOKE senior_manager FROM manager; - mogdb=# DROP USER manager; + MogDB=# REVOKE manager FROM joe; + MogDB=# REVOKE senior_manager FROM manager; + MogDB=# DROP USER manager; ``` **示例:将CMK或者CEK的权限授权给其他用户或角色。** @@ -570,29 +570,29 @@ mogdb=# GRANT ALL PRIVILEGES TO joe; ```sql gsql -p 57101 mogdb -r -C - mogdb=# CREATE CLIENT MASTER KEY MyCMK1 WITH ( KEY_STORE = localkms , KEY_PATH = "key_path_value" , ALGORITHM = RSA_2048); + MogDB=# CREATE CLIENT MASTER KEY MyCMK1 WITH ( KEY_STORE = localkms , KEY_PATH = "key_path_value" , ALGORITHM = RSA_2048); CREATE CLIENT MASTER KEY - mogdb=# CREATE COLUMN ENCRYPTION KEY MyCEK1 WITH VALUES (CLIENT_MASTER_KEY = MyCMK1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); + MogDB=# CREATE COLUMN ENCRYPTION KEY MyCEK1 WITH VALUES (CLIENT_MASTER_KEY = MyCMK1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); CREATE COLUMN ENCRYPTION KEY ``` 2. 创建角色newuser,将密钥的权限授权给newuser。 ```sql - mogdb=# CREATE USER newuser PASSWORD 'gauss@123'; + MogDB=# CREATE USER newuser PASSWORD 'gauss@123'; CREATE ROLE - mogdb=# GRANT ALL ON SCHEMA public TO newuser; + MogDB=# GRANT ALL ON SCHEMA public TO newuser; GRANT - mogdb=# GRANT USAGE ON COLUMN_ENCRYPTION_KEY MyCEK1 to newuser; + MogDB=# GRANT USAGE ON COLUMN_ENCRYPTION_KEY MyCEK1 to newuser; GRANT - mogdb=# GRANT USAGE ON CLIENT_MASTER_KEY MyCMK1 to newuser; + MogDB=# GRANT USAGE ON CLIENT_MASTER_KEY MyCMK1 to newuser; GRANT ``` 3. 设置该用户连接数据库,使用该CEK创建加密表。 ```sql - mogdb=# SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; + MogDB=# SET SESSION AUTHORIZATION newuser PASSWORD 'gauss@123'; mogdb=> CREATE TABLE acltest1 (x int, x2 varchar(50) ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = MyCEK1, ENCRYPTION_TYPE = DETERMINISTIC)); NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'x' as the distribution column by default. HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. @@ -607,27 +607,27 @@ mogdb=# GRANT ALL PRIVILEGES TO joe; 4. 撤销权限,并清理用户。 ```sql - mogdb=# REVOKE USAGE ON COLUMN_ENCRYPTION_KEY MyCEK1 FROM newuser; - mogdb=# REVOKE USAGE ON CLIENT_MASTER_KEY MyCMK1 FROM newuser; - mogdb=# DROP TABLE newuser.acltest1; - mogdb=# DROP COLUMN ENCRYPTION KEY MyCEK1; - mogdb=# DROP CLIENT MASTER KEY MyCMK1; - mogdb=# DROP SCHEMA IF EXISTS newuser CASCADE; - mogdb=# REVOKE ALL ON SCHEMA public FROM newuser; - mogdb=# DROP ROLE IF EXISTS newuser; + MogDB=# REVOKE USAGE ON COLUMN_ENCRYPTION_KEY MyCEK1 FROM newuser; + MogDB=# REVOKE USAGE ON CLIENT_MASTER_KEY MyCMK1 FROM newuser; + MogDB=# DROP TABLE newuser.acltest1; + MogDB=# DROP COLUMN ENCRYPTION KEY MyCEK1; + MogDB=# DROP CLIENT MASTER KEY MyCMK1; + MogDB=# DROP SCHEMA IF EXISTS newuser CASCADE; + MogDB=# REVOKE ALL ON SCHEMA public FROM newuser; + MogDB=# DROP ROLE IF EXISTS newuser; ``` **示例:撤销上述授予的权限,并清理角色和用户。** ```sql -mogdb=# REVOKE ALL PRIVILEGES ON tpcds.reason FROM joe; -mogdb=# REVOKE ALL PRIVILEGES ON SCHEMA tpcds FROM joe; -mogdb=# REVOKE ALL ON TABLESPACE tpcds_tbspc FROM joe; -mogdb=# DROP TABLESPACE tpcds_tbspc; -mogdb=# REVOKE USAGE,CREATE ON SCHEMA tpcds FROM tpcds_manager; -mogdb=# DROP ROLE tpcds_manager; -mogdb=# DROP ROLE senior_manager; -mogdb=# DROP USER joe CASCADE; +MogDB=# REVOKE ALL PRIVILEGES ON tpcds.reason FROM joe; +MogDB=# REVOKE ALL PRIVILEGES ON SCHEMA tpcds FROM joe; +MogDB=# REVOKE ALL ON TABLESPACE tpcds_tbspc FROM joe; +MogDB=# DROP TABLESPACE tpcds_tbspc; +MogDB=# REVOKE USAGE,CREATE ON SCHEMA tpcds FROM tpcds_manager; +MogDB=# DROP ROLE tpcds_manager; +MogDB=# DROP ROLE senior_manager; +MogDB=# DROP USER joe CASCADE; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/INSERT.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/INSERT.md index 6bcaea06..4633fa03 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/INSERT.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/INSERT.md @@ -156,7 +156,7 @@ INSERT [/*+ plan_hint */] INTO table_name [partition_clause] [ AS alias ] [ ( co ```sql --创建表tpcds.reason_t2。 -mogdb=# CREATE TABLE tpcds.reason_t2 +MogDB=# CREATE TABLE tpcds.reason_t2 ( r_reason_sk integer, r_reason_id character(16), @@ -164,25 +164,25 @@ mogdb=# CREATE TABLE tpcds.reason_t2 ); --向表中插入一条记录。 -mogdb=# INSERT INTO tpcds.reason_t2(r_reason_sk, r_reason_id, r_reason_desc) VALUES (1, 'AAAAAAAABAAAAAAA', 'reason1'); +MogDB=# INSERT INTO tpcds.reason_t2(r_reason_sk, r_reason_id, r_reason_desc) VALUES (1, 'AAAAAAAABAAAAAAA', 'reason1'); --向表中插入一条记录,和上一条语法等效。 -mogdb=# INSERT INTO tpcds.reason_t2 VALUES (2, 'AAAAAAAABAAAAAAA', 'reason2'); +MogDB=# INSERT INTO tpcds.reason_t2 VALUES (2, 'AAAAAAAABAAAAAAA', 'reason2'); --向表中插入多条记录。 -mogdb=# INSERT INTO tpcds.reason_t2 VALUES (3, 'AAAAAAAACAAAAAAA','reason3'),(4, 'AAAAAAAADAAAAAAA', 'reason4'),(5, 'AAAAAAAAEAAAAAAA','reason5'); +MogDB=# INSERT INTO tpcds.reason_t2 VALUES (3, 'AAAAAAAACAAAAAAA','reason3'),(4, 'AAAAAAAADAAAAAAA', 'reason4'),(5, 'AAAAAAAAEAAAAAAA','reason5'); --向表中插入tpcds.reason中r_reason_sk小于5的记录。 -mogdb=# INSERT INTO tpcds.reason_t2 SELECT * FROM tpcds.reason WHERE r_reason_sk <5; +MogDB=# INSERT INTO tpcds.reason_t2 SELECT * FROM tpcds.reason WHERE r_reason_sk <5; --对表创建唯一索引 -mogdb=# CREATE UNIQUE INDEX reason_t2_u_index ON tpcds.reason_t2(r_reason_sk); +MogDB=# CREATE UNIQUE INDEX reason_t2_u_index ON tpcds.reason_t2(r_reason_sk); --向表中插入多条记录,如果冲突则更新冲突数据行中r_reason_id字段为'BBBBBBBBCAAAAAAA'。 -mogdb=# INSERT INTO tpcds.reason_t2 VALUES (5, 'BBBBBBBBCAAAAAAA','reason5'),(6, 'AAAAAAAADAAAAAAA', 'reason6') ON DUPLICATE KEY UPDATE r_reason_id = 'BBBBBBBBCAAAAAAA'; +MogDB=# INSERT INTO tpcds.reason_t2 VALUES (5, 'BBBBBBBBCAAAAAAA','reason5'),(6, 'AAAAAAAADAAAAAAA', 'reason6') ON DUPLICATE KEY UPDATE r_reason_id = 'BBBBBBBBCAAAAAAA'; --删除表tpcds.reason_t2。 -mogdb=# DROP TABLE tpcds.reason_t2; +MogDB=# DROP TABLE tpcds.reason_t2; ``` ## 优化建议 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/LOCK.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/LOCK.md index f26e9453..455b7db2 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/LOCK.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/LOCK.md @@ -119,18 +119,18 @@ LOCK的参数说明如下所示: ```sql --在执行删除操作时对一个有主键的表进行 SHARE ROW EXCLUSIVE 锁。 -mogdb=# CREATE TABLE tpcds.reason_t1 AS TABLE tpcds.reason; +MogDB=# CREATE TABLE tpcds.reason_t1 AS TABLE tpcds.reason; -mogdb=# START TRANSACTION; +MogDB=# START TRANSACTION; -mogdb=# LOCK TABLE tpcds.reason_t1 IN SHARE ROW EXCLUSIVE MODE; +MogDB=# LOCK TABLE tpcds.reason_t1 IN SHARE ROW EXCLUSIVE MODE; -mogdb=# DELETE FROM tpcds.reason_t1 WHERE r_reason_desc IN(SELECT r_reason_desc FROM tpcds.reason_t1 WHERE r_reason_sk < 6 ); +MogDB=# DELETE FROM tpcds.reason_t1 WHERE r_reason_desc IN(SELECT r_reason_desc FROM tpcds.reason_t1 WHERE r_reason_sk < 6 ); -mogdb=# DELETE FROM tpcds.reason_t1 WHERE r_reason_sk = 7; +MogDB=# DELETE FROM tpcds.reason_t1 WHERE r_reason_sk = 7; -mogdb=# COMMIT; +MogDB=# COMMIT; --删除表tpcds.reason_t1。 -mogdb=# DROP TABLE tpcds.reason_t1; +MogDB=# DROP TABLE tpcds.reason_t1; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/MERGE-INTO.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/MERGE-INTO.md index a79187d3..ce987274 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/MERGE-INTO.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/MERGE-INTO.md @@ -112,33 +112,33 @@ ON ( condition ) ```sql -- 创建目标表products和源表newproducts,并插入数据 -mogdb=# CREATE TABLE products +MogDB=# CREATE TABLE products ( product_id INTEGER, product_name VARCHAR2(60), category VARCHAR2(60) ); -mogdb=# INSERT INTO products VALUES (1501, 'vivitar 35mm', 'electrncs'); -mogdb=# INSERT INTO products VALUES (1502, 'olympus is50', 'electrncs'); -mogdb=# INSERT INTO products VALUES (1600, 'play gym', 'toys'); -mogdb=# INSERT INTO products VALUES (1601, 'lamaze', 'toys'); -mogdb=# INSERT INTO products VALUES (1666, 'harry potter', 'dvd'); +MogDB=# INSERT INTO products VALUES (1501, 'vivitar 35mm', 'electrncs'); +MogDB=# INSERT INTO products VALUES (1502, 'olympus is50', 'electrncs'); +MogDB=# INSERT INTO products VALUES (1600, 'play gym', 'toys'); +MogDB=# INSERT INTO products VALUES (1601, 'lamaze', 'toys'); +MogDB=# INSERT INTO products VALUES (1666, 'harry potter', 'dvd'); -mogdb=# CREATE TABLE newproducts +MogDB=# CREATE TABLE newproducts ( product_id INTEGER, product_name VARCHAR2(60), category VARCHAR2(60) ); -mogdb=# INSERT INTO newproducts VALUES (1502, 'olympus camera', 'electrncs'); -mogdb=# INSERT INTO newproducts VALUES (1601, 'lamaze', 'toys'); -mogdb=# INSERT INTO newproducts VALUES (1666, 'harry potter', 'toys'); -mogdb=# INSERT INTO newproducts VALUES (1700, 'wait interface', 'books'); +MogDB=# INSERT INTO newproducts VALUES (1502, 'olympus camera', 'electrncs'); +MogDB=# INSERT INTO newproducts VALUES (1601, 'lamaze', 'toys'); +MogDB=# INSERT INTO newproducts VALUES (1666, 'harry potter', 'toys'); +MogDB=# INSERT INTO newproducts VALUES (1700, 'wait interface', 'books'); -- 进行MERGE INTO操作 -mogdb=# MERGE INTO products p +MogDB=# MERGE INTO products p USING newproducts np ON (p.product_id = np.product_id) WHEN MATCHED THEN @@ -148,7 +148,7 @@ WHEN NOT MATCHED THEN MERGE 4 -- 查询更新后的结果 -mogdb=# SELECT * FROM products ORDER BY product_id; +MogDB=# SELECT * FROM products ORDER BY product_id; product_id | product_name | category ------------+----------------+----------- 1501 | vivitar 35mm | electrncs @@ -160,6 +160,6 @@ mogdb=# SELECT * FROM products ORDER BY product_id; (6 rows) -- 删除表 -mogdb=# DROP TABLE products; -mogdb=# DROP TABLE newproducts; +MogDB=# DROP TABLE products; +MogDB=# DROP TABLE newproducts; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/MOVE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/MOVE.md index 11b70e4f..19a4a675 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/MOVE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/MOVE.md @@ -51,16 +51,16 @@ MOVE命令的参数与FETCH的相同,详细请参见FETCH的参数说明。 ```sql --开始一个事务。 -mogdb=# START TRANSACTION; +MogDB=# START TRANSACTION; --定义一个名为cursor1的游标。 -mogdb=# CURSOR cursor1 FOR SELECT * FROM tpcds.reason; +MogDB=# CURSOR cursor1 FOR SELECT * FROM tpcds.reason; --忽略游标cursor1的前3行。 -mogdb=# MOVE FORWARD 3 FROM cursor1; +MogDB=# MOVE FORWARD 3 FROM cursor1; --抓取游标cursor1的前4行。 -mogdb=# FETCH 4 FROM cursor1; +MogDB=# FETCH 4 FROM cursor1; r_reason_sk | r_reason_id | r_reason_desc -------------+------------------+------------------------------------------------------------------------------------------------------ 4 | AAAAAAAAEAAAAAAA | Not the product that was ordred @@ -70,10 +70,10 @@ mogdb=# FETCH 4 FROM cursor1; (4 rows) --关闭游标。 -mogdb=# CLOSE cursor1; +MogDB=# CLOSE cursor1; --结束一个事务。 -mogdb=# END; +MogDB=# END; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/REFRESH-INCREMENTAL-MATERIALIZED-VIEW.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/REFRESH-INCREMENTAL-MATERIALIZED-VIEW.md index f8524a48..b4d43150 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/REFRESH-INCREMENTAL-MATERIALIZED-VIEW.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/REFRESH-INCREMENTAL-MATERIALIZED-VIEW.md @@ -32,13 +32,13 @@ RefreshIncrementalMaterializedView ::= REFRESH INCREMENTAL MATERIALIZED VIEW mv_ ```sql --创建一个普通表 -mogdb=# CREATE TABLE my_table (c1 int, c2 int); +MogDB=# CREATE TABLE my_table (c1 int, c2 int); --创建增量物化视图 -mogdb=# CREATE INCREMENTAL MATERIALIZED VIEW my_imv AS SELECT * FROM my_table; +MogDB=# CREATE INCREMENTAL MATERIALIZED VIEW my_imv AS SELECT * FROM my_table; --基表写入数据 -mogdb=# INSERT INTO my_table VALUES(1,1),(2,2); +MogDB=# INSERT INTO my_table VALUES(1,1),(2,2); --对增量物化视图my_imv进行增量刷新 -mogdb=# REFRESH INCREMENTAL MATERIALIZED VIEW my_imv; +MogDB=# REFRESH INCREMENTAL MATERIALIZED VIEW my_imv; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/REFRESH-MATERIALIZED-VIEW.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/REFRESH-MATERIALIZED-VIEW.md index 63723e29..42c71653 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/REFRESH-MATERIALIZED-VIEW.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/REFRESH-MATERIALIZED-VIEW.md @@ -32,17 +32,17 @@ RefreshMaterializedView ::= REFRESH MATERIALIZED VIEW mv_name; ``` --创建一个普通表 -mogdb=# CREATE TABLE my_table (c1 int, c2 int); +MogDB=# CREATE TABLE my_table (c1 int, c2 int); --创建全量物化视图 -mogdb=# CREATE MATERIALIZED VIEW my_mv AS SELECT * FROM my_table; +MogDB=# CREATE MATERIALIZED VIEW my_mv AS SELECT * FROM my_table; --创建增量物化视图 -mogdb=# CREATE INCREMENTAL MATERIALIZED VIEW my_imv AS SELECT * FROM my_table; +MogDB=# CREATE INCREMENTAL MATERIALIZED VIEW my_imv AS SELECT * FROM my_table; --基表写入数据 -mogdb=# INSERT INTO my_table VALUES(1,1),(2,2); +MogDB=# INSERT INTO my_table VALUES(1,1),(2,2); --对全量物化视图my_mv进行全量刷新 -mogdb=# REFRESH MATERIALIZED VIEW my_mv; +MogDB=# REFRESH MATERIALIZED VIEW my_mv; --对增量物化视图my_imv进行全量刷新 -mogdb=# REFRESH MATERIALIZED VIEW my_imv; +MogDB=# REFRESH MATERIALIZED VIEW my_imv; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/REINDEX.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/REINDEX.md index f4014d1f..b851e486 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/REINDEX.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/REINDEX.md @@ -114,7 +114,7 @@ REINDEX CONCURRENTLY这种形式的重建索引不能在事务块中执行。 ```sql --创建一个行存表tpcds.customer_t1,并在tpcds.customer_t1表上的c_customer_sk字段创建索引。 -mogdb=# CREATE TABLE tpcds.customer_t1 +MogDB=# CREATE TABLE tpcds.customer_t1 ( c_customer_sk integer not null, c_customer_id char(16) not null, @@ -137,24 +137,24 @@ mogdb=# CREATE TABLE tpcds.customer_t1 ) WITH (orientation = row); -mogdb=# CREATE INDEX tpcds_customer_index1 ON tpcds.customer_t1 (c_customer_sk); +MogDB=# CREATE INDEX tpcds_customer_index1 ON tpcds.customer_t1 (c_customer_sk); -mogdb=# INSERT INTO tpcds.customer_t1 SELECT * FROM tpcds.customer WHERE c_customer_sk < 10; +MogDB=# INSERT INTO tpcds.customer_t1 SELECT * FROM tpcds.customer WHERE c_customer_sk < 10; --重建一个单独索引。 -mogdb=# REINDEX INDEX tpcds.tpcds_customer_index1; +MogDB=# REINDEX INDEX tpcds.tpcds_customer_index1; --实时重建一个单独索引。 -mogdb=# REINDEX INDEX CONCURRENTLY tpcds.tpcds_customer_index1; +MogDB=# REINDEX INDEX CONCURRENTLY tpcds.tpcds_customer_index1; --重建表tpcds.customer_t1上的所有索引。 -mogdb=# REINDEX TABLE tpcds.customer_t1; +MogDB=# REINDEX TABLE tpcds.customer_t1; --实时重建表tpcds.customer_t1上的所有索引。 -mogdb=# REINDEX TABLE CONCURRENTLY tpcds.customer_t1; +MogDB=# REINDEX TABLE CONCURRENTLY tpcds.customer_t1; --删除tpcds.customer_t1表。 -mogdb=# DROP TABLE tpcds.customer_t1; +MogDB=# DROP TABLE tpcds.customer_t1; ``` ## 优化建议 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/RELEASE-SAVEPOINT.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/RELEASE-SAVEPOINT.md index 5cdf1780..9e4ef409 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/RELEASE-SAVEPOINT.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/RELEASE-SAVEPOINT.md @@ -37,31 +37,31 @@ ReleaseSavepoint ::= RELEASE [ SAVEPOINT ] savepoint_name; ```sql --创建一个新表。 -mogdb=# CREATE TABLE tpcds.table1(a int); +MogDB=# CREATE TABLE tpcds.table1(a int); --开启事务。 -mogdb=# START TRANSACTION; +MogDB=# START TRANSACTION; --插入数据。 -mogdb=# INSERT INTO tpcds.table1 VALUES (3); +MogDB=# INSERT INTO tpcds.table1 VALUES (3); --建立保存点。 -mogdb=# SAVEPOINT my_savepoint; +MogDB=# SAVEPOINT my_savepoint; --插入数据。 -mogdb=# INSERT INTO tpcds.table1 VALUES (4); +MogDB=# INSERT INTO tpcds.table1 VALUES (4); --删除保存点。 -mogdb=# RELEASE SAVEPOINT my_savepoint; +MogDB=# RELEASE SAVEPOINT my_savepoint; --提交事务。 -mogdb=# COMMIT; +MogDB=# COMMIT; --查询表的内容,会同时看到3和4。 -mogdb=# SELECT * FROM tpcds.table1; +MogDB=# SELECT * FROM tpcds.table1; --删除表。 -mogdb=# DROP TABLE tpcds.table1; +MogDB=# DROP TABLE tpcds.table1; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/RESET.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/RESET.md index 11c4eff8..49fd067d 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/RESET.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/RESET.md @@ -57,10 +57,10 @@ Reset ::= RESET {configuration_parameter | CURRENT_SCHEMA | TIME ZONE | TRANSACT ``` --把timezone设为缺省值。 -mogdb=# RESET timezone; +MogDB=# RESET timezone; --把所有参数设置为缺省值。 -mogdb=# RESET ALL; +MogDB=# RESET ALL; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ROLLBACK-TO-SAVEPOINT.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ROLLBACK-TO-SAVEPOINT.md index ecfe8f3e..834ebf8d 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ROLLBACK-TO-SAVEPOINT.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ROLLBACK-TO-SAVEPOINT.md @@ -35,23 +35,23 @@ savepoint_name ```sql --撤销 my_savepoint 建立之后执行的命令的影响。 -mogdb=# START TRANSACTION; -mogdb=# SAVEPOINT my_savepoint; -mogdb=# ROLLBACK TO SAVEPOINT my_savepoint; +MogDB=# START TRANSACTION; +MogDB=# SAVEPOINT my_savepoint; +MogDB=# ROLLBACK TO SAVEPOINT my_savepoint; --游标位置不受保存点回滚的影响。 -mogdb=# DECLARE foo CURSOR FOR SELECT 1 UNION SELECT 2; -mogdb=# SAVEPOINT foo; -mogdb=# FETCH 1 FROM foo; +MogDB=# DECLARE foo CURSOR FOR SELECT 1 UNION SELECT 2; +MogDB=# SAVEPOINT foo; +MogDB=# FETCH 1 FROM foo; ?column? ---------- 1 -mogdb=# ROLLBACK TO SAVEPOINT foo; -mogdb=# FETCH 1 FROM foo; +MogDB=# ROLLBACK TO SAVEPOINT foo; +MogDB=# FETCH 1 FROM foo; ?column? ---------- 2 -mogdb=# RELEASE SAVEPOINT my_savepoint; -mogdb=# COMMIT; +MogDB=# RELEASE SAVEPOINT my_savepoint; +MogDB=# COMMIT; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ROLLBACK.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ROLLBACK.md index 07d54fc4..bc047781 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ROLLBACK.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/ROLLBACK.md @@ -33,10 +33,10 @@ Rollback ::= ROLLBACK [ WORK | TRANSACTION ]; ```sql --开启一个事务 -mogdb=# START TRANSACTION; +MogDB=# START TRANSACTION; --取消所有更改 -mogdb=# ROLLBACK; +MogDB=# ROLLBACK; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SAVEPOINT.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SAVEPOINT.md index a7968565..5f5297a8 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SAVEPOINT.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SAVEPOINT.md @@ -36,61 +36,61 @@ savepoint_name ```sql --创建一个新表。 -mogdb=# CREATE TABLE table1(a int); +MogDB=# CREATE TABLE table1(a int); --开启事务。 -mogdb=# START TRANSACTION; +MogDB=# START TRANSACTION; --插入数据。 -mogdb=# INSERT INTO table1 VALUES (1); +MogDB=# INSERT INTO table1 VALUES (1); --建立保存点。 -mogdb=# SAVEPOINT my_savepoint; +MogDB=# SAVEPOINT my_savepoint; --插入数据。 -mogdb=# INSERT INTO table1 VALUES (2); +MogDB=# INSERT INTO table1 VALUES (2); --回滚保存点。 -mogdb=# ROLLBACK TO SAVEPOINT my_savepoint; +MogDB=# ROLLBACK TO SAVEPOINT my_savepoint; --插入数据。 -mogdb=# INSERT INTO table1 VALUES (3); +MogDB=# INSERT INTO table1 VALUES (3); --提交事务。 -mogdb=# COMMIT; +MogDB=# COMMIT; --查询表的内容,会同时看到1和3,不能看到2,因为2被回滚。 -mogdb=# SELECT * FROM table1; +MogDB=# SELECT * FROM table1; --删除表。 -mogdb=# DROP TABLE table1; +MogDB=# DROP TABLE table1; --创建一个新表。 -mogdb=# CREATE TABLE table2(a int); +MogDB=# CREATE TABLE table2(a int); --开启事务。 -mogdb=# START TRANSACTION; +MogDB=# START TRANSACTION; --插入数据。 -mogdb=# INSERT INTO table2 VALUES (3); +MogDB=# INSERT INTO table2 VALUES (3); --建立保存点。 -mogdb=# SAVEPOINT my_savepoint; +MogDB=# SAVEPOINT my_savepoint; --插入数据。 -mogdb=# INSERT INTO table2 VALUES (4); +MogDB=# INSERT INTO table2 VALUES (4); --回滚保存点。 -mogdb=# RELEASE SAVEPOINT my_savepoint; +MogDB=# RELEASE SAVEPOINT my_savepoint; --提交事务。 -mogdb=# COMMIT; +MogDB=# COMMIT; --查询表的内容,会同时看到3和4。 -mogdb=# SELECT * FROM table2; +MogDB=# SELECT * FROM table2; --删除表。 -mogdb=# DROP TABLE table2; +MogDB=# DROP TABLE table2; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SELECT-INTO.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SELECT-INTO.md index f7f4f0cf..4477dd0e 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SELECT-INTO.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SELECT-INTO.md @@ -78,11 +78,11 @@ new_table指定新建表的名称。 ```sql --将tpcds.reason表中r_reason_sk小于5的值加入到新建表中。 -mogdb=# SELECT * INTO tpcds.reason_t1 FROM tpcds.reason WHERE r_reason_sk < 5; +MogDB=# SELECT * INTO tpcds.reason_t1 FROM tpcds.reason WHERE r_reason_sk < 5; INSERT 0 6 s --删除tpcds.reason_t1表。 -mogdb=# DROP TABLE tpcds.reason_t1; +MogDB=# DROP TABLE tpcds.reason_t1; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SELECT.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SELECT.md index b3e39170..cf7b3c90 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SELECT.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SELECT.md @@ -493,34 +493,34 @@ SELECT语句就像叠加在数据库表上的过滤器,利用SQL关键字从 ```sql --先通过子查询得到一张临时表temp_t,然后查询表temp_t中的所有数据。 -mogdb=# WITH temp_t(name,isdba) AS (SELECT usename,usesuper FROM pg_user) SELECT * FROM temp_t; +MogDB=# WITH temp_t(name,isdba) AS (SELECT usename,usesuper FROM pg_user) SELECT * FROM temp_t; --查询tpcds.reason表的所有r_reason_sk记录,且去除重复。 -mogdb=# SELECT DISTINCT(r_reason_sk) FROM tpcds.reason; +MogDB=# SELECT DISTINCT(r_reason_sk) FROM tpcds.reason; --LIMIT子句示例:获取表中一条记录。 -mogdb=# SELECT * FROM tpcds.reason LIMIT 1; +MogDB=# SELECT * FROM tpcds.reason LIMIT 1; --查询所有记录,且按字母升序排列。 -mogdb=# SELECT r_reason_desc FROM tpcds.reason ORDER BY r_reason_desc; +MogDB=# SELECT r_reason_desc FROM tpcds.reason ORDER BY r_reason_desc; --通过表别名,从pg_user和pg_user_status这两张表中获取数据。 -mogdb=# SELECT a.usename,b.locktime FROM pg_user a,pg_user_status b WHERE a.usesysid=b.roloid; +MogDB=# SELECT a.usename,b.locktime FROM pg_user a,pg_user_status b WHERE a.usesysid=b.roloid; --FULL JOIN子句示例:将pg_user和pg_user_status这两张表的数据进行全连接显示,即数据的合集。 -mogdb=# SELECT a.usename,b.locktime,a.usesuper FROM pg_user a FULL JOIN pg_user_status b on a.usesysid=b.roloid; +MogDB=# SELECT a.usename,b.locktime,a.usesuper FROM pg_user a FULL JOIN pg_user_status b on a.usesysid=b.roloid; --GROUP BY子句示例:根据查询条件过滤,并对结果进行分组。 -mogdb=# SELECT r_reason_id, AVG(r_reason_sk) FROM tpcds.reason GROUP BY r_reason_id HAVING AVG(r_reason_sk) > 25; +MogDB=# SELECT r_reason_id, AVG(r_reason_sk) FROM tpcds.reason GROUP BY r_reason_id HAVING AVG(r_reason_sk) > 25; --GROUP BY CUBE子句示例:根据查询条件过滤,并对结果进行分组汇总。 -mogdb=# SELECT r_reason_id,AVG(r_reason_sk) FROM tpcds.reason GROUP BY CUBE(r_reason_id,r_reason_sk); +MogDB=# SELECT r_reason_id,AVG(r_reason_sk) FROM tpcds.reason GROUP BY CUBE(r_reason_id,r_reason_sk); --GROUP BY GROUPING SETS子句示例:根据查询条件过滤,并对结果进行分组汇总。 -mogdb=# SELECT r_reason_id,AVG(r_reason_sk) FROM tpcds.reason GROUP BY GROUPING SETS((r_reason_id,r_reason_sk),r_reason_sk); +MogDB=# SELECT r_reason_id,AVG(r_reason_sk) FROM tpcds.reason GROUP BY GROUPING SETS((r_reason_id,r_reason_sk),r_reason_sk); --UNION子句示例:将表tpcds.reason里r_reason_desc字段中的内容以W开头和以N开头的进行合并。 -mogdb=# SELECT r_reason_sk, tpcds.reason.r_reason_desc +MogDB=# SELECT r_reason_sk, tpcds.reason.r_reason_desc FROM tpcds.reason WHERE tpcds.reason.r_reason_desc LIKE 'W%' UNION @@ -529,13 +529,13 @@ SELECT r_reason_sk, tpcds.reason.r_reason_desc WHERE tpcds.reason.r_reason_desc LIKE 'N%'; --NLS_SORT子句示例:中文拼音排序。 -mogdb=# SELECT * FROM tpcds.reason ORDER BY NLSSORT( r_reason_desc, 'NLS_SORT = SCHINESE_PINYIN_M'); +MogDB=# SELECT * FROM tpcds.reason ORDER BY NLSSORT( r_reason_desc, 'NLS_SORT = SCHINESE_PINYIN_M'); --不区分大小写排序(可选,仅支持纯英文不区分大小写排序): -mogdb=# SELECT * FROM tpcds.reason ORDER BY NLSSORT( r_reason_desc, 'NLS_SORT = generic_m_ci'); +MogDB=# SELECT * FROM tpcds.reason ORDER BY NLSSORT( r_reason_desc, 'NLS_SORT = generic_m_ci'); --创建分区表tpcds.reason_p -mogdb=# CREATE TABLE tpcds.reason_p +MogDB=# CREATE TABLE tpcds.reason_p ( r_reason_sk integer, r_reason_id character(16), @@ -552,10 +552,10 @@ PARTITION BY RANGE (r_reason_sk) ; --插入数据。 -mogdb=# INSERT INTO tpcds.reason_p values(3,'AAAAAAAABAAAAAAA','reason 1'),(10,'AAAAAAAABAAAAAAA','reason 2'),(4,'AAAAAAAABAAAAAAA','reason 3'),(10,'AAAAAAAABAAAAAAA','reason 4'),(10,'AAAAAAAABAAAAAAA','reason 5'),(20,'AAAAAAAACAAAAAAA','reason 6'),(30,'AAAAAAAACAAAAAAA','reason 7'); +MogDB=# INSERT INTO tpcds.reason_p values(3,'AAAAAAAABAAAAAAA','reason 1'),(10,'AAAAAAAABAAAAAAA','reason 2'),(4,'AAAAAAAABAAAAAAA','reason 3'),(10,'AAAAAAAABAAAAAAA','reason 4'),(10,'AAAAAAAABAAAAAAA','reason 5'),(20,'AAAAAAAACAAAAAAA','reason 6'),(30,'AAAAAAAACAAAAAAA','reason 7'); --PARTITION子句示例:从tpcds.reason_p的表分区P_05_BEFORE中获取数据。 -mogdb=# SELECT * FROM tpcds.reason_p PARTITION (P_05_BEFORE); +MogDB=# SELECT * FROM tpcds.reason_p PARTITION (P_05_BEFORE); r_reason_sk | r_reason_id | r_reason_desc -------------+------------------+------------------------------------ 4 | AAAAAAAABAAAAAAA | reason 3 @@ -563,7 +563,7 @@ mogdb=# SELECT * FROM tpcds.reason_p PARTITION (P_05_BEFORE); (2 rows) --GROUP BY子句示例:按r_reason_id分组统计tpcds.reason_p表中的记录数。 -mogdb=# SELECT COUNT(*),r_reason_id FROM tpcds.reason_p GROUP BY r_reason_id; +MogDB=# SELECT COUNT(*),r_reason_id FROM tpcds.reason_p GROUP BY r_reason_id; count | r_reason_id -------+------------------ 2 | AAAAAAAACAAAAAAA @@ -571,27 +571,27 @@ mogdb=# SELECT COUNT(*),r_reason_id FROM tpcds.reason_p GROUP BY r_reason_id; (2 rows) --GROUP BY CUBE子句示例:根据查询条件过滤,并对查询结果分组汇总。 -mogdb=# SELECT * FROM tpcds.reason GROUP BY CUBE (r_reason_id,r_reason_sk,r_reason_desc); +MogDB=# SELECT * FROM tpcds.reason GROUP BY CUBE (r_reason_id,r_reason_sk,r_reason_desc); --GROUP BY GROUPING SETS子句示例:根据查询条件过滤,并对查询结果分组汇总。 -mogdb=# SELECT * FROM tpcds.reason GROUP BY GROUPING SETS ((r_reason_id,r_reason_sk),r_reason_desc); +MogDB=# SELECT * FROM tpcds.reason GROUP BY GROUPING SETS ((r_reason_id,r_reason_sk),r_reason_desc); --HAVING子句示例:按r_reason_id分组统计tpcds.reason_p表中的记录,并只显示r_reason_id个数大于2的信息。 -mogdb=# SELECT COUNT(*) c,r_reason_id FROM tpcds.reason_p GROUP BY r_reason_id HAVING c>2; +MogDB=# SELECT COUNT(*) c,r_reason_id FROM tpcds.reason_p GROUP BY r_reason_id HAVING c>2; c | r_reason_id ---+------------------ 5 | AAAAAAAABAAAAAAA (1 row) --IN子句示例:按r_reason_id分组统计tpcds.reason_p表中的r_reason_id个数,并只显示r_reason_id值为 AAAAAAAABAAAAAAA或AAAAAAAADAAAAAAA的个数。 -mogdb=# SELECT COUNT(*),r_reason_id FROM tpcds.reason_p GROUP BY r_reason_id HAVING r_reason_id IN('AAAAAAAABAAAAAAA','AAAAAAAADAAAAAAA'); +MogDB=# SELECT COUNT(*),r_reason_id FROM tpcds.reason_p GROUP BY r_reason_id HAVING r_reason_id IN('AAAAAAAABAAAAAAA','AAAAAAAADAAAAAAA'); count | r_reason_id -------+------------------ 5 | AAAAAAAABAAAAAAA (1 row) --INTERSECT子句示例:查询r_reason_id等于AAAAAAAABAAAAAAA,并且r_reason_sk小于5的信息。 -mogdb=# SELECT * FROM tpcds.reason_p WHERE r_reason_id='AAAAAAAABAAAAAAA' INTERSECT SELECT * FROM tpcds.reason_p WHERE r_reason_sk<5; +MogDB=# SELECT * FROM tpcds.reason_p WHERE r_reason_id='AAAAAAAABAAAAAAA' INTERSECT SELECT * FROM tpcds.reason_p WHERE r_reason_sk<5; r_reason_sk | r_reason_id | r_reason_desc -------------+------------------+------------------------------------ 4 | AAAAAAAABAAAAAAA | reason 3 @@ -599,7 +599,7 @@ mogdb=# SELECT * FROM tpcds.reason_p WHERE r_reason_id='AAAAAAAABAAAAAAA' INTERS (2 rows) --EXCEPT子句示例:查询r_reason_id等于AAAAAAAABAAAAAAA,并且去除r_reason_sk小于4的信息。 -mogdb=# SELECT * FROM tpcds.reason_p WHERE r_reason_id='AAAAAAAABAAAAAAA' EXCEPT SELECT * FROM tpcds.reason_p WHERE r_reason_sk<4; +MogDB=# SELECT * FROM tpcds.reason_p WHERE r_reason_id='AAAAAAAABAAAAAAA' EXCEPT SELECT * FROM tpcds.reason_p WHERE r_reason_sk<4; r_reason_sk | r_reason_id | r_reason_desc -------------+------------------+------------------------------------ 10 | AAAAAAAABAAAAAAA | reason 2 @@ -609,7 +609,7 @@ r_reason_sk | r_reason_id | r_reason_desc (4 rows) --通过在where子句中指定"(+)"来实现左连接。 -mogdb=# select t1.sr_item_sk ,t2.c_customer_id from store_returns t1, customer t2 where t1.sr_customer_sk = t2.c_customer_sk(+) +MogDB=# select t1.sr_item_sk ,t2.c_customer_id from store_returns t1, customer t2 where t1.sr_customer_sk = t2.c_customer_sk(+) order by 1 desc limit 1; sr_item_sk | c_customer_id ------------+--------------- @@ -617,7 +617,7 @@ order by 1 desc limit 1; (1 row) --通过在where子句中指定"(+)"来实现右连接。 -mogdb=# select t1.sr_item_sk ,t2.c_customer_id from store_returns t1, customer t2 where t1.sr_customer_sk(+) = t2.c_customer_sk +MogDB=# select t1.sr_item_sk ,t2.c_customer_id from store_returns t1, customer t2 where t1.sr_customer_sk(+) = t2.c_customer_sk order by 1 desc limit 1; sr_item_sk | c_customer_id ------------+------------------ @@ -625,38 +625,38 @@ order by 1 desc limit 1; (1 row) --通过在where子句中指定"(+)"来实现左连接,并且增加连接条件。 -mogdb=# select t1.sr_item_sk ,t2.c_customer_id from store_returns t1, customer t2 where t1.sr_customer_sk = t2.c_customer_sk(+) and t2.c_customer_sk(+) < 1 order by 1 limit 1; +MogDB=# select t1.sr_item_sk ,t2.c_customer_id from store_returns t1, customer t2 where t1.sr_customer_sk = t2.c_customer_sk(+) and t2.c_customer_sk(+) < 1 order by 1 limit 1; sr_item_sk | c_customer_id ------------+--------------- 1 | (1 row) --不支持在where子句中指定"(+)"的同时使用内层嵌套AND/OR的表达式。 -mogdb=# select t1.sr_item_sk ,t2.c_customer_id from store_returns t1, customer t2 where not(t1.sr_customer_sk = t2.c_customer_sk(+) and t2.c_customer_sk(+) < 1); +MogDB=# select t1.sr_item_sk ,t2.c_customer_id from store_returns t1, customer t2 where not(t1.sr_customer_sk = t2.c_customer_sk(+) and t2.c_customer_sk(+) < 1); ERROR: Operator "(+)" can not be used in nesting expression. LINE 1: ...tomer_id from store_returns t1, customer t2 where not(t1.sr_... ^ --where子句在不支持表达式宏指定"(+)"会报错。 -mogdb=# select t1.sr_item_sk ,t2.c_customer_id from store_returns t1, customer t2 where (t1.sr_customer_sk = t2.c_customer_sk(+))::bool; +MogDB=# select t1.sr_item_sk ,t2.c_customer_id from store_returns t1, customer t2 where (t1.sr_customer_sk = t2.c_customer_sk(+))::bool; ERROR: Operator "(+)" can only be used in common expression. --where子句在表达式的两边都指定"(+)"会报错。 -mogdb=# select t1.sr_item_sk ,t2.c_customer_id from store_returns t1, customer t2 where t1.sr_customer_sk(+) = t2.c_customer_sk(+); +MogDB=# select t1.sr_item_sk ,t2.c_customer_id from store_returns t1, customer t2 where t1.sr_customer_sk(+) = t2.c_customer_sk(+); ERROR: Operator "(+)" can't be specified on more than one relation in one join condition HINT: "t1", "t2"...are specified Operator "(+)" in one condition. --删除表。 -mogdb=# DROP TABLE tpcds.reason_p; +MogDB=# DROP TABLE tpcds.reason_p; --闪回查询示例 --创建表tpcds.time_table -mogdb=# create table tpcds.time_table(idx integer, snaptime timestamp, snapcsn bigint, timeDesc character(100)); +MogDB=# create table tpcds.time_table(idx integer, snaptime timestamp, snapcsn bigint, timeDesc character(100)); --向表tpcds.time_table中插入记录 -mogdb=# INSERT INTO tpcds.time_table select 1, now(),int8in(xidout(next_csn)), 'time1' from gs_get_next_xid_csn(); -mogdb=# INSERT INTO tpcds.time_table select 2, now(),int8in(xidout(next_csn)), 'time2' from gs_get_next_xid_csn(); -mogdb=# INSERT INTO tpcds.time_table select 3, now(),int8in(xidout(next_csn)), 'time3' from gs_get_next_xid_csn(); -mogdb=# INSERT INTO tpcds.time_table select 4, now(),int8in(xidout(next_csn)), 'time4' from gs_get_next_xid_csn(); -mogdb=# select * from tpcds.time_table; +MogDB=# INSERT INTO tpcds.time_table select 1, now(),int8in(xidout(next_csn)), 'time1' from gs_get_next_xid_csn(); +MogDB=# INSERT INTO tpcds.time_table select 2, now(),int8in(xidout(next_csn)), 'time2' from gs_get_next_xid_csn(); +MogDB=# INSERT INTO tpcds.time_table select 3, now(),int8in(xidout(next_csn)), 'time3' from gs_get_next_xid_csn(); +MogDB=# INSERT INTO tpcds.time_table select 4, now(),int8in(xidout(next_csn)), 'time4' from gs_get_next_xid_csn(); +MogDB=# select * from tpcds.time_table; idx | snaptime | snapcsn | timedesc -----+----------------------------+---------+------------------------------------------------------------------------------------------------------ @@ -665,16 +665,16 @@ mogdb=# select * from tpcds.time_table; 3 | 2021-04-25 17:50:16.12921 | 107327 | time3 4 | 2021-04-25 17:50:22.311176 | 107330 | time4 (4 rows) -mogdb=# delete tpcds.time_table; +MogDB=# delete tpcds.time_table; DELETE 4 -mogdb=# SELECT * FROM tpcds.time_table TIMECAPSULE TIMESTAMP to_timestamp('2021-04-25 17:50:22.311176','YYYY-MM-DD HH24:MI:SS.FF'); +MogDB=# SELECT * FROM tpcds.time_table TIMECAPSULE TIMESTAMP to_timestamp('2021-04-25 17:50:22.311176','YYYY-MM-DD HH24:MI:SS.FF'); idx | snaptime | snapcsn | timedesc -----+----------------------------+---------+------------------------------------------------------------------------------------------------------ 1 | 2021-04-25 17:50:05.360326 | 107322 | time1 2 | 2021-04-25 17:50:10.886848 | 107324 | time2 3 | 2021-04-25 17:50:16.12921 | 107327 | time3 (3 rows) -mogdb=# SELECT * FROM tpcds.time_table TIMECAPSULE CSN 107330; +MogDB=# SELECT * FROM tpcds.time_table TIMECAPSULE CSN 107330; idx | snaptime | snapcsn | timedesc -----+----------------------------+---------+------------------------------------------------------------------------------------------------------ 1 | 2021-04-25 17:50:05.360326 | 107322 | time1 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-CONSTRAINTS.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-CONSTRAINTS.md index aebb9bd0..2f10091e 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-CONSTRAINTS.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-CONSTRAINTS.md @@ -55,5 +55,5 @@ SetConstraints ::= SET CONSTRAINTS { ALL | { name } [, ...] } { DEFERRED ```sql --设置所有约束在事务提交时检查。 -mogdb=# SET CONSTRAINTS ALL DEFERRED; +MogDB=# SET CONSTRAINTS ALL DEFERRED; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-ROLE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-ROLE.md index 10da5298..111d795d 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-ROLE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-ROLE.md @@ -58,17 +58,17 @@ date: 2021-05-18 ```sql --创建角色paul。 -mogdb=# CREATE ROLE paul IDENTIFIED BY 'Bigdata@123'; +MogDB=# CREATE ROLE paul IDENTIFIED BY 'Bigdata@123'; --设置当前用户为paul。 -mogdb=# SET ROLE paul PASSWORD 'Bigdata@123'; +MogDB=# SET ROLE paul PASSWORD 'Bigdata@123'; --查看当前会话用户,当前用户。 -mogdb=# SELECT SESSION_USER, CURRENT_USER; +MogDB=# SELECT SESSION_USER, CURRENT_USER; --重置当前用户。 -mogdb=# RESET role; +MogDB=# RESET role; --删除用户。 -mogdb=# DROP USER paul; +MogDB=# DROP USER paul; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-SESSION-AUTHORIZATION.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-SESSION-AUTHORIZATION.md index 25c012d1..35e2da63 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-SESSION-AUTHORIZATION.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-SESSION-AUTHORIZATION.md @@ -58,19 +58,19 @@ date: 2021-05-18 ```sql --创建角色paul。 -mogdb=# CREATE ROLE paul IDENTIFIED BY 'Bigdata@123'; +MogDB=# CREATE ROLE paul IDENTIFIED BY 'Bigdata@123'; --设置当前用户为paul。 -mogdb=# SET SESSION AUTHORIZATION paul password 'Bigdata@123'; +MogDB=# SET SESSION AUTHORIZATION paul password 'Bigdata@123'; --查看当前会话用户,当前用户。 -mogdb=# SELECT SESSION_USER, CURRENT_USER; +MogDB=# SELECT SESSION_USER, CURRENT_USER; --重置当前用户。 -mogdb=# RESET SESSION AUTHORIZATION; +MogDB=# RESET SESSION AUTHORIZATION; --删除用户。 -mogdb=# DROP USER paul; +MogDB=# DROP USER paul; ``` ## 相关参考 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-TRANSACTION.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-TRANSACTION.md index 27aeffb4..89ebf03b 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-TRANSACTION.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET-TRANSACTION.md @@ -57,7 +57,7 @@ SetTransaction ::= { SET [ LOCAL ] TRANSACTION|SET SESSION CHARACTERISTICS AS TR ```sql --开启一个事务,设置事务的隔离级别为READ COMMITTED,访问模式为READ ONLY。 -mogdb=# START TRANSACTION; -mogdb=# SET LOCAL TRANSACTION ISOLATION LEVEL READ COMMITTED READ ONLY; -mogdb=# COMMIT; +MogDB=# START TRANSACTION; +MogDB=# SET LOCAL TRANSACTION ISOLATION LEVEL READ COMMITTED READ ONLY; +MogDB=# COMMIT; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET.md index db26ac05..a1e242cf 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SET.md @@ -111,10 +111,10 @@ date: 2021-05-18 ```sql --设置模式搜索路径。 -mogdb=# SET search_path TO tpcds, public; +MogDB=# SET search_path TO tpcds, public; --把日期时间风格设置为传统的 POSTGRES 风格(日在月前)。 -mogdb=# SET datestyle TO postgres,dym; +MogDB=# SET datestyle TO postgres,dym; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SHOW.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SHOW.md index ee7b2c58..53e08b42 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SHOW.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SHOW.md @@ -37,13 +37,13 @@ Show ::= SHOW ```sql --显示 timezone 参数值。 -mogdb=# SHOW timezone; +MogDB=# SHOW timezone; --显示所有参数。 -mogdb=# SHOW ALL; +MogDB=# SHOW ALL; --显示参数名中包含”var”的所有参数 -mogdb=# SHOW VARIABLES LIKE var; +MogDB=# SHOW VARIABLES LIKE var; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SHUTDOWN.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SHUTDOWN.md index 856ed03d..634841b6 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SHUTDOWN.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/SHUTDOWN.md @@ -43,8 +43,8 @@ Shutdown ::= SHUTDOWN ```sql --关闭当前数据库节点。 -mogdb=# SHUTDOWN; +MogDB=# SHUTDOWN; --使用fast模式关闭当前数据库节点。 -mogdb=# SHUTDOWN FAST; +MogDB=# SHUTDOWN FAST; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/START-TRANSACTION.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/START-TRANSACTION.md index d784b1b9..db24b039 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/START-TRANSACTION.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/START-TRANSACTION.md @@ -68,19 +68,19 @@ Begin ::= BEGIN [ WORK | TRANSACTION ] ```sql --以默认方式启动事务。 -mogdb=# START TRANSACTION; -mogdb=# SELECT * FROM tpcds.reason; -mogdb=# END; +MogDB=# START TRANSACTION; +MogDB=# SELECT * FROM tpcds.reason; +MogDB=# END; --以默认方式启动事务。 -mogdb=# BEGIN; -mogdb=# SELECT * FROM tpcds.reason; -mogdb=# END; +MogDB=# BEGIN; +MogDB=# SELECT * FROM tpcds.reason; +MogDB=# END; --以隔离级别为READ COMMITTED,读/写方式启动事务。 -mogdb=# START TRANSACTION ISOLATION LEVEL READ COMMITTED READ WRITE; -mogdb=# SELECT * FROM tpcds.reason; -mogdb=# COMMIT; +MogDB=# START TRANSACTION ISOLATION LEVEL READ COMMITTED READ WRITE; +MogDB=# SELECT * FROM tpcds.reason; +MogDB=# COMMIT; ``` ## 相关链接 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/TIMECAPSULE-TABLE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/TIMECAPSULE-TABLE.md index c631d268..61dee029 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/TIMECAPSULE-TABLE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/TIMECAPSULE-TABLE.md @@ -89,25 +89,25 @@ TimecapsuleTable ::= TIMECAPSULE TABLE [ schema'.']table_name TO {CSN expr | TIM -- 删除表tpcds.reason_t2 DROP TABLE IF EXISTS tpcds.reason_t2; -- 创建表tpcds.reason_t2 -mogdb=# CREATE TABLE tpcds.reason_t2 +MogDB=# CREATE TABLE tpcds.reason_t2 ( r_reason_sk integer, r_reason_id character(16), r_reason_desc character(100) ); --向表tpcds.reason_t2中插入记录 -mogdb=# INSERT INTO tpcds.reason_t2 VALUES (1, 'AA', 'reason1'),(2, 'AB', 'reason2'),(3, 'AC', 'reason3'); +MogDB=# INSERT INTO tpcds.reason_t2 VALUES (1, 'AA', 'reason1'),(2, 'AB', 'reason2'),(3, 'AC', 'reason3'); INSERT 0 3 --清空tpcds.reason_t2表中的数据 -mogdb=# TRUNCATE TABLE tpcds.reason_t2; +MogDB=# TRUNCATE TABLE tpcds.reason_t2; --查询tpcds.reason_t2表中的数据 -mogdb=# select * from tpcds.reason_t2; +MogDB=# select * from tpcds.reason_t2; r_reason_sk | r_reason_id | r_reason_desc -------------+-------------+--------------- (0 rows) --执行闪回TRUNCATE -mogdb=# TIMECAPSULE TABLE tpcds.reason_t2 to BEFORE TRUNCATE; -mogdb=# select * from tpcds.reason_t2; +MogDB=# TIMECAPSULE TABLE tpcds.reason_t2 to BEFORE TRUNCATE; +MogDB=# select * from tpcds.reason_t2; r_reason_sk | r_reason_id | r_reason_desc -------------+------------------+------------------------------------------------------------------------------------------------------ 1 | AA | reason1 @@ -115,8 +115,8 @@ mogdb=# select * from tpcds.reason_t2; 3 | AC | reason3 (3 rows) --删除表tpcds.reason_t2 -mogdb=# DROP TABLE tpcds.reason_t2; +MogDB=# DROP TABLE tpcds.reason_t2; --执行闪回DROP -mogdb=# TIMECAPSULE TABLE tpcds.reason_t2 to BEFORE DROP; +MogDB=# TIMECAPSULE TABLE tpcds.reason_t2 to BEFORE DROP; TimeCapsule Table ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/TRUNCATE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/TRUNCATE.md index aa401e80..7a9ea3ca 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/TRUNCATE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/TRUNCATE.md @@ -91,15 +91,15 @@ date: 2021-05-18 ```sql --创建表。 -mogdb=# CREATE TABLE tpcds.reason_t1 AS TABLE tpcds.reason; +MogDB=# CREATE TABLE tpcds.reason_t1 AS TABLE tpcds.reason; --清空表tpcds.reason_t1。 -mogdb=# TRUNCATE TABLE tpcds.reason_t1; +MogDB=# TRUNCATE TABLE tpcds.reason_t1; --删除表。 -mogdb=# DROP TABLE tpcds.reason_t1; +MogDB=# DROP TABLE tpcds.reason_t1; --创建分区表。 -mogdb=# CREATE TABLE tpcds.reason_p +MogDB=# CREATE TABLE tpcds.reason_p ( r_reason_sk integer, r_reason_id character(16), @@ -114,17 +114,17 @@ mogdb=# CREATE TABLE tpcds.reason_p ); --插入数据。 -mogdb=# INSERT INTO tpcds.reason_p SELECT * FROM tpcds.reason; +MogDB=# INSERT INTO tpcds.reason_p SELECT * FROM tpcds.reason; --清空分区p_05_before。 -mogdb=# ALTER TABLE tpcds.reason_p TRUNCATE PARTITION p_05_before; +MogDB=# ALTER TABLE tpcds.reason_p TRUNCATE PARTITION p_05_before; --清空分区p_15。 -mogdb=# ALTER TABLE tpcds.reason_p TRUNCATE PARTITION for (13); +MogDB=# ALTER TABLE tpcds.reason_p TRUNCATE PARTITION for (13); --清空分区表。 -mogdb=# TRUNCATE TABLE tpcds.reason_p; +MogDB=# TRUNCATE TABLE tpcds.reason_p; --删除表。 -mogdb=# DROP TABLE tpcds.reason_p; +MogDB=# DROP TABLE tpcds.reason_p; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/UPDATE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/UPDATE.md index 99399333..540ed181 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/UPDATE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/UPDATE.md @@ -123,26 +123,26 @@ sub_query ::= SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] ```sql --创建表student1。 -mogdb=# CREATE TABLE student1 +MogDB=# CREATE TABLE student1 ( stuno int, classno int ); --插入数据。 -mogdb=# INSERT INTO student1 VALUES(1,1); -mogdb=# INSERT INTO student1 VALUES(2,2); -mogdb=# INSERT INTO student1 VALUES(3,3); +MogDB=# INSERT INTO student1 VALUES(1,1); +MogDB=# INSERT INTO student1 VALUES(2,2); +MogDB=# INSERT INTO student1 VALUES(3,3); --查看数据。 -mogdb=# SELECT * FROM student1; +MogDB=# SELECT * FROM student1; --直接更新所有记录的值。 -mogdb=# UPDATE student1 SET classno = classno*2; +MogDB=# UPDATE student1 SET classno = classno*2; --查看数据。 -mogdb=# SELECT * FROM student1; +MogDB=# SELECT * FROM student1; --删除表。 -mogdb=# DROP TABLE student1; +MogDB=# DROP TABLE student1; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/VACUUM.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/VACUUM.md index 5109966d..13320f54 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/VACUUM.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/VACUUM.md @@ -103,14 +103,14 @@ VACUUM回收表或B-Tree索引中已经删除的行所占据的存储空间。 ```sql --在表tpcds.reason上创建索引。 -mogdb=# CREATE UNIQUE INDEX ds_reason_index1 ON tpcds.reason(r_reason_sk); +MogDB=# CREATE UNIQUE INDEX ds_reason_index1 ON tpcds.reason(r_reason_sk); --对带索引的表tpcds.reason执行VACUUM操作。 -mogdb=# VACUUM (VERBOSE, ANALYZE) tpcds.reason; +MogDB=# VACUUM (VERBOSE, ANALYZE) tpcds.reason; --删除索引。 -mogdb=# DROP INDEX ds_reason_index1 CASCADE; -mogdb=# DROP TABLE tpcds.reason; +MogDB=# DROP INDEX ds_reason_index1 CASCADE; +MogDB=# DROP TABLE tpcds.reason; ``` ## 优化建议 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/supported-data-types/5-binary-data-types.md b/product/zh/docs-mogdb/v3.0/reference-guide/supported-data-types/5-binary-data-types.md index c2666698..09fb7b8d 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/supported-data-types/5-binary-data-types.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/supported-data-types/5-binary-data-types.md @@ -30,7 +30,7 @@ MogDB支持的二进制类型请参见[表1](#biao1)。 ```sql --创建表。 -mogdb=# CREATE TABLE blob_type_t1 +MogDB=# CREATE TABLE blob_type_t1 ( BT_COL1 INTEGER, BT_COL2 BLOB, @@ -39,16 +39,16 @@ mogdb=# CREATE TABLE blob_type_t1 ) ; --插入数据。 -mogdb=# INSERT INTO blob_type_t1 VALUES(10,empty_blob(), +MogDB=# INSERT INTO blob_type_t1 VALUES(10,empty_blob(), HEXTORAW('DEADBEEF'),E'\\xDEADBEEF'); --查询表中的数据。 -mogdb=# SELECT * FROM blob_type_t1; +MogDB=# SELECT * FROM blob_type_t1; bt_col1 | bt_col2 | bt_col3 | bt_col4 ---------+---------+----------+------------ 10 | | DEADBEEF | \xdeadbeef (1 row) --删除表。 -mogdb=# DROP TABLE blob_type_t1; +MogDB=# DROP TABLE blob_type_t1; ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/tool-reference/client-tool/1-gsql.md b/product/zh/docs-mogdb/v3.0/reference-guide/tool-reference/client-tool/1-gsql.md index 722b53f1..0a0fbe38 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/tool-reference/client-tool/1-gsql.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/tool-reference/client-tool/1-gsql.md @@ -40,13 +40,13 @@ gsql的高级特性如[表1](#gsql)所示。 可以使用gsql元命令\\set设置一个变量。例如把变量foo的值设置为bar: ```sql - mogdb=# \set foo bar + MogDB=# \set foo bar ``` 要引用变量的值,在变量前面加冒号。例如查看变量的值: ```sql - mogdb=# \echo :foo + MogDB=# \echo :foo bar ``` @@ -81,8 +81,8 @@ gsql的高级特性如[表1](#gsql)所示。 像元命令的参数一样,gsql变量的一个关键特性是可以把gsql变量替换成正规的SQL语句。此外,gsql还提供为变量更换新的别名或其他标识符等功能。使用SQL代换方式替换一个变量的值可在变量前加冒号。例如: ```sql - mogdb=# \set foo 'HR.areaS' - mogdb=# select * from :foo; + MogDB=# \set foo 'HR.areaS' + MogDB=# select * from :foo; area_id | area_name ---------+------------------------ 4 | Middle East and Africa @@ -105,8 +105,8 @@ gsql的高级特性如[表1](#gsql)所示。 | 变量 | 描述 | 示例 | | :------ | :--------------------- | :------------------------ | | PROMPT1 | gsql请求一个新命令时使用的正常提示符。
PROMPT1的默认值为:
`%/%R%#` | 使用变量PROMPT1切换提示符:
- 提示符变为[local]:
`mogdb=> \set PROMPT1 %M [local:/tmp/gaussdba_mppdb]`
- 提示符变为name:
`mogdb=> \set PROMPT1 name name`
- 提示符变为=:
`mogdb=> \set PROMPT1 %R =` | - | PROMPT2 | 在一个命令输入期待更多输入时(例如,查询没有用一个分号结束或者引号不完整)显示的提示符。 | 使用变量PROMPT2显示提示符:
`mogdb=# \set PROMPT2 TEST`
`mogdb=# select * from HR.areaS TEST;`
`area_id | area_name`
`---------+-------------------`
`1 | Europe`
`2 | Americas`
`4 | Middle East and Africa`
`3 | Asia (4 rows))` | - | PROMPT3 | 当执行COPY命令,并期望在终端输入数据时(例如,COPY FROM STDIN),显示提示符。 | 使用变量PROMPT3显示COPY提示符:
`mogdb=# \set PROMPT3 '>>>>'`
`mogdb=# copy HR.areaS from STDIN;`
`Enter data to be copied followed by a newline.`
`End with a backslash and a period on a line by itself.`
`>>>>1 aa`
`>>>>2 bb`
`>>>>.` | + | PROMPT2 | 在一个命令输入期待更多输入时(例如,查询没有用一个分号结束或者引号不完整)显示的提示符。 | 使用变量PROMPT2显示提示符:
`MogDB=# \set PROMPT2 TEST`
`MogDB=# select * from HR.areaS TEST;`
`area_id | area_name`
`---------+-------------------`
`1 | Europe`
`2 | Americas`
`4 | Middle East and Africa`
`3 | Asia (4 rows))` | + | PROMPT3 | 当执行COPY命令,并期望在终端输入数据时(例如,COPY FROM STDIN),显示提示符。 | 使用变量PROMPT3显示COPY提示符:
`MogDB=# \set PROMPT3 '>>>>'`
`MogDB=# copy HR.areaS from STDIN;`
`Enter data to be copied followed by a newline.`
`End with a backslash and a period on a line by itself.`
`>>>>1 aa`
`>>>>2 bb`
`>>>>.` | 提示符变量的值是按实际字符显示的,但是,当设置提示符的命令中出现"%"时,变量的值根据"%"后的字符,替换为已定义的内容,已定义的提示符请参见[表4](#yidingyi)。 @@ -203,7 +203,7 @@ gsql的高级特性如[表1](#gsql)所示。 以列出MogDB中所有的数据库和描述信息为例。 ```sql - mogdb=# \l + MogDB=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges ----------------+----------+-----------+---------+-------+----------------------- @@ -224,31 +224,31 @@ gsql的高级特性如[表1](#gsql)所示。 首先要创建一个表空间EXAMPLE: ```sql -mogdb=# CREATE TABLESPACE EXAMPLE RELATIVE LOCATION 'tablespace1/tablespace_1'; +MogDB=# CREATE TABLESPACE EXAMPLE RELATIVE LOCATION 'tablespace1/tablespace_1'; CREATE TABLESPACE ``` 表空间创建成功后,创建schema HR: ```sql -mogdb=# CREATE schema HR; +MogDB=# CREATE schema HR; CREATE SCHEMA ``` 以把一个查询分成多行输入为例。注意提示符的变化: ```sql -mogdb=# CREATE TABLE HR.areaS( -mogdb(# area_ID NUMBER, -mogdb(# area_NAME VARCHAR2(25) -mogdb(# )tablespace EXAMPLE; +MogDB=# CREATE TABLE HR.areaS( +MogDB(# area_ID NUMBER, +MogDB(# area_NAME VARCHAR2(25) +MogDB(# )tablespace EXAMPLE; CREATE TABLE ``` 查看表的定义: ```sql -mogdb=# \d HR.areaS +MogDB=# \d HR.areaS Table "hr.areas" Column | Type | Modifiers -----------+-----------------------+----------- @@ -260,27 +260,27 @@ Tablespace: "example" 向HR.areaS表插入四行数据: ```sql -mogdb=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (1, 'Europe'); +MogDB=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (1, 'Europe'); INSERT 0 1 -mogdb=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (2, 'Americas'); +MogDB=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (2, 'Americas'); INSERT 0 1 -mogdb=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (3, 'Asia'); +MogDB=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (3, 'Asia'); INSERT 0 1 -mogdb=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (4, 'Middle East and Africa'); +MogDB=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (4, 'Middle East and Africa'); INSERT 0 1 ``` 切换提示符: ```sql -mogdb=# \set PROMPT1 '%n@%m %~%R%#' -omm@[local] mogdb=# +MogDB=# \set PROMPT1 '%n@%m %~%R%#' +omm@[local] MogDB=# ``` 查看表: ```sql -omm@[local] mogdb=#SELECT * FROM HR.areaS; +omm@[local] MogDB=#SELECT * FROM HR.areaS; area_id | area_name ---------+------------------------ 1 | Europe @@ -293,9 +293,9 @@ omm@[local] mogdb=#SELECT * FROM HR.areaS; 可以用\\pset命令以不同的方法显示表: ```sql -omm@[local] mogdb=#\pset border 2 +omm@[local] MogDB=#\pset border 2 Border style is 2. -omm@[local] mogdb=#SELECT * FROM HR.areaS; +omm@[local] MogDB=#SELECT * FROM HR.areaS; +---------+------------------------+ | area_id | area_name | +---------+------------------------+ @@ -305,9 +305,9 @@ omm@[local] mogdb=#SELECT * FROM HR.areaS; | 4 | Middle East and Africa | +---------+------------------------+ (4 rows) -omm@[local] mogdb=#\pset border 0 +omm@[local] MogDB=#\pset border 0 Border style is 0. -omm@[local] mogdb=#SELECT * FROM HR.areaS; +omm@[local] MogDB=#SELECT * FROM HR.areaS; area_id area_name ------- ---------------------- 1 Europe @@ -315,9 +315,9 @@ area_id area_name 3 Asia 4 Middle East and Africa (4 rows) -omm@[local] mogdb=#\pset border 2 +omm@[local] MogDB=#\pset border 2 Border style is 2. -omm@[local] mogdb=#SELECT * FROM HR.areaS; +omm@[local] MogDB=#SELECT * FROM HR.areaS; +---------+------------------------+ | area_id | area_name | +---------+------------------------+ @@ -327,9 +327,9 @@ omm@[local] mogdb=#SELECT * FROM HR.areaS; | 4 | Middle East and Africa | +---------+------------------------+ (4 rows) -omm@[local] mogdb=#\pset border 0 +omm@[local] MogDB=#\pset border 0 Border style is 0. -omm@[local] mogdb=#SELECT * FROM HR.areaS; +omm@[local] MogDB=#SELECT * FROM HR.areaS; area_id area_name ------- ---------------------- 1 Europe @@ -337,9 +337,9 @@ area_id area_name 3 Asia 4 Middle East and Africa (4 rows) -omm@[local] mogdb=#\pset border 2 +omm@[local] MogDB=#\pset border 2 Border style is 2. -omm@[local] mogdb=#SELECT * FROM HR.areaS; +omm@[local] MogDB=#SELECT * FROM HR.areaS; +---------+------------------------+ | area_id | area_name | +---------+------------------------+ @@ -349,9 +349,9 @@ omm@[local] mogdb=#SELECT * FROM HR.areaS; | 4 | Middle East and Africa | +---------+------------------------+ (4 rows) -omm@[local] mogdb=#\pset border 0 +omm@[local] MogDB=#\pset border 0 Border style is 0. -omm@[local] mogdb=#SELECT * FROM HR.areaS; +omm@[local] MogDB=#SELECT * FROM HR.areaS; area_id area_name ------- ---------------------- 1 Europe @@ -364,11 +364,11 @@ area_id area_name 使用元命令: ```sql -omm@[local] mogdb=#\a \t \x +omm@[local] MogDB=#\a \t \x Output format is unaligned. Showing only tuples. Expanded display is on. -omm@[local] mogdb=#SELECT * FROM HR.areaS; +omm@[local] MogDB=#SELECT * FROM HR.areaS; area_id|2 area_name|Americas @@ -380,7 +380,7 @@ area_name|Middle East and Africa area_id|3 area_name|Asia -omm@[local] mogdb=# +omm@[local] MogDB=# ``` ## 获取帮助 @@ -441,7 +441,7 @@ omm@[local] mogdb=# Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. - mogdb=# + MogDB=# ``` 2. 查看gsql的帮助信息。具体执行命令请参见[表6 使用gsql联机帮助](#shiyong)。 @@ -451,8 +451,8 @@ omm@[local] mogdb=# | 描述 | 示例 | | :--------------------------- | :----------------------------------------------------------- | | 查看版权信息 | `\copyright` | - | 查看MogDB支持的SQL语句的帮助 | 查看MogDB支持的SQL语句的帮助
例如,查看MogDB支持的所有SQL语句:
`mogdb=# \h`
`Available help:`
`ABORT`
`ALTER APP WORKLOAD GROUP`
`… …`
例如,查看CREATE DATABASE命令的参数可使用下面的命令:
`mogdb=# \help CREATE DATABASE`
`Command: CREATE DATABASE`
`Description: create a new database`
`Syntax:`
`CREATE DATABASE database_name`
`[ [ WITH ] {[ OWNER [=] user_name ]|`
`[ TEMPLATE [=] template ]|`
`[ ENCODING [=] encoding ]|`
`[ LC_COLLATE [=] lc_collate ]|`
`[ LC_CTYPE [=] lc_ctype ]|`
`[ DBCOMPATIBILITY [=] compatibility_type ]|`
`[ TABLESPACE [=] tablespace_name ]|`
`[ CONNECTION LIMIT [=] connlimit ]}[…] ];` | - | 查看gsql命令的帮助 | 例如,查看gsql支持的命令:
`mogdb=# \?`
`General`
`\copyright show FusionInsight LibrA usage and distribution terms`
`\g [FILE] or ; execute query (and send results to file or |pipe)`
`\h(\help) [NAME] help on syntax of SQL commands, * for all commands`
`\parallel [on [num]|off] toggle status of execute (currently off)`
`\q quit gsql`
`… …` | + | 查看MogDB支持的SQL语句的帮助 | 查看MogDB支持的SQL语句的帮助
例如,查看MogDB支持的所有SQL语句:
`MogDB=# \h`
`Available help:`
`ABORT`
`ALTER APP WORKLOAD GROUP`
`… …`
例如,查看CREATE DATABASE命令的参数可使用下面的命令:
`MogDB=# \help CREATE DATABASE`
`Command: CREATE DATABASE`
`Description: create a new database`
`Syntax:`
`CREATE DATABASE database_name`
`[ [ WITH ] {[ OWNER [=] user_name ]|`
`[ TEMPLATE [=] template ]|`
`[ ENCODING [=] encoding ]|`
`[ LC_COLLATE [=] lc_collate ]|`
`[ LC_CTYPE [=] lc_ctype ]|`
`[ DBCOMPATIBILITY [=] compatibility_type ]|`
`[ TABLESPACE [=] tablespace_name ]|`
`[ CONNECTION LIMIT [=] connlimit ]}[…] ];` | + | 查看gsql命令的帮助 | 例如,查看gsql支持的命令:
`MogDB=# \?`
`General`
`\copyright show FusionInsight LibrA usage and distribution terms`
`\g [FILE] or ; execute query (and send results to file or |pipe)`
`\h(\help) [NAME] help on syntax of SQL commands, * for all commands`
`\parallel [on [num]|off] toggle status of execute (currently off)`
`\q quit gsql`
`… …` | ## 命令参考 @@ -574,42 +574,42 @@ omm@[local] mogdb=# | 参数 | 参数说明 | 取值范围 | 示例 | | :---------------------------- | :------------------------| :--------------------------- | :---------------------------- | -| \\d[S+] | 列出当前search_path中模式下所有的表、视图和序列。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。 | - | 列出当前search_path中模式下所有的表、视图和序列。
`mogdb=# \d` | -| \\d[S+] NAME | 列出指定表、视图和索引的结构。 | - | 假设存在表a,列出指定表a的结构。
`mogdb=# \dtable+ a` | -| \\d+ [PATTERN] | 列出所有表、视图和索引。 | 如果声明了PATTERN,只显示名称匹配PATTERN的表、视图和索引。 | 列出所有名称以f开头的表、视图和索引。`mogdb=# \d+ f` | -| \\da[S] [PATTERN] | 列出所有可用的聚集函数以及它们操作的数据类型和返回值类型。 | 如果声明了PATTERN,只显示名称匹配PATTERN的聚集函数。 | 列出所有名称以f开头可用的聚集函数以及它们操作的数据类型和返回值类型。
`mogdb=# \da f` | -| \\db[+] [PATTERN] | 列出所有可用的表空间。 | 如果声明了PATTERN,只显示名称匹配PATTERN的表空间。 | 列出所有名称以p开头的可用表空间。
`mogdb=# \db p*` | -| \\dc[S+] [PATTERN] | 列出所有字符集之间的可用转换。 | 如果声明了PATTERN,只显示名称匹配PATTERN的转换。 | 列出所有字符集之间的可用转换。
`mogdb=# \dc` | -| \\dC[+] [PATTERN] | 列出所有类型转换。 | 如果声明了PATTERN,只显示名称匹配PATTERN的转换。 | 列出所有名称以c开头的类型转换。
`mogdb=# \dC c` | -| \\dd[S] [PATTERN] | 显示所有匹配PATTERN的描述。 | 如果没有给出参数,则显示所有可视对象。“对象”包括:聚集、函数、操作符、类型、关系(表、视图、索引、序列、大对象)、规则。 | 列出所有可视对象。
`mogdb=# \dd` | -| \\ddp [PATTERN] | 显示所有默认的使用权限。 | 如果指定了PATTERN,只显示名称匹配PATTERN的使用权限。 | 列出所有默认的使用权限。
`mogdb=# \ddp` | -| \\dD[S+] [PATTERN] | 列出所有可用域。 | 如果声明了PATTERN,只显示名称匹配PATTERN的域。 | 列出所有可用域。
`mogdb=# \dD` | -| \\ded[+] [PATTERN] | 列出所有的Data Source对象。 | 如果声明了PATTERN,只显示名称匹配PATTERN的对象。 | 列出所有的Data Source对象。
`mogdb=# \ded` | -| \\det[+] [PATTERN] | 列出所有的外部表。 | 如果声明了PATTERN,只显示名称匹配PATTERN的表。 | 列出所有的外部表。
`mogdb=# \det` | -| \\des[+] [PATTERN] | 列出所有的外部服务器。 | 如果声明了PATTERN,只显示名称匹配PATTERN的服务器。 | 列出所有的外部服务器。
`mogdb=# \des` | -| \\deu[+] [PATTERN] | 列出用户映射信息。 | 如果声明了PATTERN,只显示名称匹配PATTERN的信息。 | 列出用户映射信息。
`mogdb=# \deu` | -| \\dew[+] [PATTERN] | 列出封装的外部数据。 | 如果声明了PATTERN,只显示名称匹配PATTERN的数据。 | 列出封装的外部数据。
`mogdb=# \dew` | -| \\df[antw][S+] [PATTERN] | 列出所有可用函数以及它们的参数和返回的数据类型。a代表聚集函数,n代表普通函数,t代表触发器,w代表窗口函数。 | 如果声明了PATTERN,只显示名称匹配PATTERN的函数。 | 列出所有可用函数以及它们的参数和返回的数据类型。
`mogdb=# \df` | -| \\dF[+] [PATTERN] | 列出所有的文本搜索配置信息。 | 如果声明了PATTERN,只显示名称匹配PATTERN的配置信息。 | 列出所有的文本搜索配置信息。
`mogdb=# \dF+` | -| \\dFd[+] [PATTERN] | 列出所有的文本搜索字典。 | 如果声明了PATTERN,只显示名称匹配PATTERN的字典。 | 列出所有的文本搜索字典。
`mogdb=# \dFd` | -| \\dFp[+] [PATTERN] | 列出所有的文本搜索分析器。 | 如果声明了PATTERN,只显示名称匹配PATTERN的分析器。 | 列出所有的文本搜索分析器。
`mogdb=# \dFp` | -| \\dFt[+] [PATTERN] | 列出所有的文本搜索模板。 | 如果声明了PATTERN,只显示名称匹配PATTERN的模板。 | 列出所有的文本搜索模板。
`mogdb=# \dFt` | -| \\dg[+] [PATTERN] | 列出所有数据库角色。
说明:
因为用户和群组的概念被统一为角色,所以这个命令等价于\\du。为了和以前兼容,所以保留两个命令。 | 如果指定了PATTERN,只显示名称匹配PATTERN的角色。 | 列出名称为‘j_e’所有数据库角色。
`mogdb=# \dg j?e` | -| \\dl | \\lo_list的别名,显示一个大对象的列表。 | - | 列出所有的大对象。
`mogdb=# \dl` | -| \\dL[S+] [PATTERN] | 列出可用的程序语言。 | 如果指定了PATTERN,只列出名称匹配PATTERN的语言。 | 列出可用的程序语言。
`mogdb=# \dL` | -| \dm | 列出物化视图。 | 如果指定了PATTERN,只列出名称匹配PATTERN的物化视图。 | 列出物化视图。
`mogdb=# \dm` | -| \\dn[S+] [PATTERN] | 列出所有的模式(名称空间)。 | 如果声明了PATTERN,只列出名称匹配PATTERN的模式名。缺省时,只列出用户创建的模式。 | 列出所有名称以d开头的模式以及相关信息。
`mogdb=# \dn+ d*` | -| \\do[S] [PATTERN] | 列出所有可用的操作符以及它们的操作数和返回的数据类型。 | 如果声明了PATTERN,只列出名称匹配PATTERN的操作符。缺省时,只列出用户创建的操作符。 | 列出所有可用的操作符以及它们的操作数和返回的数据类型。
`mogdb=# \do` | -| \\dO[S+] [PATTERN] | 列出排序规则。 | 如果声明了PATTERN,只列出名称匹配PATTERN的规则。缺省时,只列出用户创建的规则。 | 列出排序规则。
`mogdb=# \dO` | -| \\dp [PATTERN] | 列出一列可用的表、视图以及相关的权限信息。
\\dp显示结果如下:
`rolename=xxxx/yyyy -赋予一个角色的权限`
`=xxxx/yyyy -赋予public的权限`
xxxx表示赋予的权限,yyyy表示授予这个权限的角色。权限的参数说明请参见[表15 权限的参数说明](#qianxiancanshu)。 | 如果指定了PATTERN,只列出名称匹配PATTERN的表、视图。 | 列出一列可用的表、视图以及相关的权限信息。
`mogdb=# \dp` | -| \\drds [PATTERN1 [PATTERN2]] | 列出所有修改过的配置参数。这些设置可以是针对角色的、针对数据库的或者同时针对两者的。PATTERN1和PATTERN2表示要列出的角色PATTERN和数据库PATTERN。 | 如果声明了PATTERN,只列出名称匹配PATTERN的规则。缺省或指定*时,则会列出所有设置。 | 列出mogdb数据库所有修改过的配置参数。
`mogdb=# \drds * mogdb` | -| \\dT[S+] [PATTERN] | 列出所有的数据类型。 | 如果指定了PATTERN,只列出名称匹配PATTERN的类型。 | 列出所有的数据类型。
`mogdb=# \dT` | -| \\du[+] [PATTERN] | 列出所有数据库角色。
说明:
因为用户和群组的概念被统一为角色,所以这个命令等价于\\dg。为了和以前兼容,所以保留两个命令。 | 如果指定了PATTERN,则只列出名称匹配PATTERN的角色。 | 列出所有数据库角色。
`mogdb=# \du` | -| \\dE[S+] [PATTERN]\\di[S+] [PATTERN]\\ds[S+] [PATTERN]\\dt[S+] [PATTERN]\\dv[S+] [PATTERN] | 这一组命令,字母E、i、s、t和v分别代表着外部表、索引、序列、表和视图。可以以任意顺序指定其中一个或者它们的组合来列出这些对象。例如:\\dit列出所有的索引和表。在命令名称后面追加+,则每一个对象的物理尺寸以及相关的描述也会被列出。 | 如果指定了PATTERN,只列出名称匹配该PATTERN的对象。默认情况下只会显示用户创建的对象。通过PATTERN或者S修饰符可以把系统对象包括在内。 | 列出所有的索引和视图。
`mogdb=# \div` | -| \\dx[+] [PATTERN] | 列出安装数据库的扩展信息。 | 如果指定了PATTERN,则只列出名称匹配PATTERN的扩展信息。 | 列出安装数据库的扩展信息。
`mogdb=# \dx` | -| \\l[+] | 列出服务器上所有数据库的名称、所有者、字符集编码以及使用权限。 | - | 列出服务器上所有数据库的名称、所有者、字符集编码以及使用权限。
`mogdb=# \l` | -| \\sf[+] FUNCNAME | 显示函数的定义。
说明:
对于带圆括号的函数名,需要在函数名两端添加双引号,并且在双引号后面加上参数类型列表。参数类型列表两端添加圆括号。 | - | 假设存在函数function_a和函数名带圆括号的函数func()name,列出函数的定义。
`mogdb=# \sf function_a`
`mogdb=# \sf “func()name”(argtype1, argtype2)` | -| \\z [PATTERN] | 列出数据库中所有表、视图和序列以及它们相关的访问特权。 | 如果给出任何pattern ,则被当成一个正则表达式,只显示匹配的表、视图、序列。 | 列出数据库中所有表、视图和序列以及它们相关的访问特权。
`mogdb=# \z` | +| \\d[S+] | 列出当前search_path中模式下所有的表、视图和序列。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。 | - | 列出当前search_path中模式下所有的表、视图和序列。
`MogDB=# \d` | +| \\d[S+] NAME | 列出指定表、视图和索引的结构。 | - | 假设存在表a,列出指定表a的结构。
`MogDB=# \dtable+ a` | +| \\d+ [PATTERN] | 列出所有表、视图和索引。 | 如果声明了PATTERN,只显示名称匹配PATTERN的表、视图和索引。 | 列出所有名称以f开头的表、视图和索引。`MogDB=# \d+ f` | +| \\da[S] [PATTERN] | 列出所有可用的聚集函数以及它们操作的数据类型和返回值类型。 | 如果声明了PATTERN,只显示名称匹配PATTERN的聚集函数。 | 列出所有名称以f开头可用的聚集函数以及它们操作的数据类型和返回值类型。
`MogDB=# \da f` | +| \\db[+] [PATTERN] | 列出所有可用的表空间。 | 如果声明了PATTERN,只显示名称匹配PATTERN的表空间。 | 列出所有名称以p开头的可用表空间。
`MogDB=# \db p*` | +| \\dc[S+] [PATTERN] | 列出所有字符集之间的可用转换。 | 如果声明了PATTERN,只显示名称匹配PATTERN的转换。 | 列出所有字符集之间的可用转换。
`MogDB=# \dc` | +| \\dC[+] [PATTERN] | 列出所有类型转换。 | 如果声明了PATTERN,只显示名称匹配PATTERN的转换。 | 列出所有名称以c开头的类型转换。
`MogDB=# \dC c` | +| \\dd[S] [PATTERN] | 显示所有匹配PATTERN的描述。 | 如果没有给出参数,则显示所有可视对象。“对象”包括:聚集、函数、操作符、类型、关系(表、视图、索引、序列、大对象)、规则。 | 列出所有可视对象。
`MogDB=# \dd` | +| \\ddp [PATTERN] | 显示所有默认的使用权限。 | 如果指定了PATTERN,只显示名称匹配PATTERN的使用权限。 | 列出所有默认的使用权限。
`MogDB=# \ddp` | +| \\dD[S+] [PATTERN] | 列出所有可用域。 | 如果声明了PATTERN,只显示名称匹配PATTERN的域。 | 列出所有可用域。
`MogDB=# \dD` | +| \\ded[+] [PATTERN] | 列出所有的Data Source对象。 | 如果声明了PATTERN,只显示名称匹配PATTERN的对象。 | 列出所有的Data Source对象。
`MogDB=# \ded` | +| \\det[+] [PATTERN] | 列出所有的外部表。 | 如果声明了PATTERN,只显示名称匹配PATTERN的表。 | 列出所有的外部表。
`MogDB=# \det` | +| \\des[+] [PATTERN] | 列出所有的外部服务器。 | 如果声明了PATTERN,只显示名称匹配PATTERN的服务器。 | 列出所有的外部服务器。
`MogDB=# \des` | +| \\deu[+] [PATTERN] | 列出用户映射信息。 | 如果声明了PATTERN,只显示名称匹配PATTERN的信息。 | 列出用户映射信息。
`MogDB=# \deu` | +| \\dew[+] [PATTERN] | 列出封装的外部数据。 | 如果声明了PATTERN,只显示名称匹配PATTERN的数据。 | 列出封装的外部数据。
`MogDB=# \dew` | +| \\df[antw][S+] [PATTERN] | 列出所有可用函数以及它们的参数和返回的数据类型。a代表聚集函数,n代表普通函数,t代表触发器,w代表窗口函数。 | 如果声明了PATTERN,只显示名称匹配PATTERN的函数。 | 列出所有可用函数以及它们的参数和返回的数据类型。
`MogDB=# \df` | +| \\dF[+] [PATTERN] | 列出所有的文本搜索配置信息。 | 如果声明了PATTERN,只显示名称匹配PATTERN的配置信息。 | 列出所有的文本搜索配置信息。
`MogDB=# \dF+` | +| \\dFd[+] [PATTERN] | 列出所有的文本搜索字典。 | 如果声明了PATTERN,只显示名称匹配PATTERN的字典。 | 列出所有的文本搜索字典。
`MogDB=# \dFd` | +| \\dFp[+] [PATTERN] | 列出所有的文本搜索分析器。 | 如果声明了PATTERN,只显示名称匹配PATTERN的分析器。 | 列出所有的文本搜索分析器。
`MogDB=# \dFp` | +| \\dFt[+] [PATTERN] | 列出所有的文本搜索模板。 | 如果声明了PATTERN,只显示名称匹配PATTERN的模板。 | 列出所有的文本搜索模板。
`MogDB=# \dFt` | +| \\dg[+] [PATTERN] | 列出所有数据库角色。
说明:
因为用户和群组的概念被统一为角色,所以这个命令等价于\\du。为了和以前兼容,所以保留两个命令。 | 如果指定了PATTERN,只显示名称匹配PATTERN的角色。 | 列出名称为‘j_e’所有数据库角色。
`MogDB=# \dg j?e` | +| \\dl | \\lo_list的别名,显示一个大对象的列表。 | - | 列出所有的大对象。
`MogDB=# \dl` | +| \\dL[S+] [PATTERN] | 列出可用的程序语言。 | 如果指定了PATTERN,只列出名称匹配PATTERN的语言。 | 列出可用的程序语言。
`MogDB=# \dL` | +| \dm | 列出物化视图。 | 如果指定了PATTERN,只列出名称匹配PATTERN的物化视图。 | 列出物化视图。
`MogDB=# \dm` | +| \\dn[S+] [PATTERN] | 列出所有的模式(名称空间)。 | 如果声明了PATTERN,只列出名称匹配PATTERN的模式名。缺省时,只列出用户创建的模式。 | 列出所有名称以d开头的模式以及相关信息。
`MogDB=# \dn+ d*` | +| \\do[S] [PATTERN] | 列出所有可用的操作符以及它们的操作数和返回的数据类型。 | 如果声明了PATTERN,只列出名称匹配PATTERN的操作符。缺省时,只列出用户创建的操作符。 | 列出所有可用的操作符以及它们的操作数和返回的数据类型。
`MogDB=# \do` | +| \\dO[S+] [PATTERN] | 列出排序规则。 | 如果声明了PATTERN,只列出名称匹配PATTERN的规则。缺省时,只列出用户创建的规则。 | 列出排序规则。
`MogDB=# \dO` | +| \\dp [PATTERN] | 列出一列可用的表、视图以及相关的权限信息。
\\dp显示结果如下:
`rolename=xxxx/yyyy -赋予一个角色的权限`
`=xxxx/yyyy -赋予public的权限`
xxxx表示赋予的权限,yyyy表示授予这个权限的角色。权限的参数说明请参见[表15 权限的参数说明](#qianxiancanshu)。 | 如果指定了PATTERN,只列出名称匹配PATTERN的表、视图。 | 列出一列可用的表、视图以及相关的权限信息。
`MogDB=# \dp` | +| \\drds [PATTERN1 [PATTERN2]] | 列出所有修改过的配置参数。这些设置可以是针对角色的、针对数据库的或者同时针对两者的。PATTERN1和PATTERN2表示要列出的角色PATTERN和数据库PATTERN。 | 如果声明了PATTERN,只列出名称匹配PATTERN的规则。缺省或指定*时,则会列出所有设置。 | 列出mogdb数据库所有修改过的配置参数。
`MogDB=# \drds * mogdb` | +| \\dT[S+] [PATTERN] | 列出所有的数据类型。 | 如果指定了PATTERN,只列出名称匹配PATTERN的类型。 | 列出所有的数据类型。
`MogDB=# \dT` | +| \\du[+] [PATTERN] | 列出所有数据库角色。
说明:
因为用户和群组的概念被统一为角色,所以这个命令等价于\\dg。为了和以前兼容,所以保留两个命令。 | 如果指定了PATTERN,则只列出名称匹配PATTERN的角色。 | 列出所有数据库角色。
`MogDB=# \du` | +| \\dE[S+] [PATTERN]\\di[S+] [PATTERN]\\ds[S+] [PATTERN]\\dt[S+] [PATTERN]\\dv[S+] [PATTERN] | 这一组命令,字母E、i、s、t和v分别代表着外部表、索引、序列、表和视图。可以以任意顺序指定其中一个或者它们的组合来列出这些对象。例如:\\dit列出所有的索引和表。在命令名称后面追加+,则每一个对象的物理尺寸以及相关的描述也会被列出。 | 如果指定了PATTERN,只列出名称匹配该PATTERN的对象。默认情况下只会显示用户创建的对象。通过PATTERN或者S修饰符可以把系统对象包括在内。 | 列出所有的索引和视图。
`MogDB=# \div` | +| \\dx[+] [PATTERN] | 列出安装数据库的扩展信息。 | 如果指定了PATTERN,则只列出名称匹配PATTERN的扩展信息。 | 列出安装数据库的扩展信息。
`MogDB=# \dx` | +| \\l[+] | 列出服务器上所有数据库的名称、所有者、字符集编码以及使用权限。 | - | 列出服务器上所有数据库的名称、所有者、字符集编码以及使用权限。
`MogDB=# \l` | +| \\sf[+] FUNCNAME | 显示函数的定义。
说明:
对于带圆括号的函数名,需要在函数名两端添加双引号,并且在双引号后面加上参数类型列表。参数类型列表两端添加圆括号。 | - | 假设存在函数function_a和函数名带圆括号的函数func()name,列出函数的定义。
`MogDB=# \sf function_a`
`MogDB=# \sf “func()name”(argtype1, argtype2)` | +| \\z [PATTERN] | 列出数据库中所有表、视图和序列以及它们相关的访问特权。 | 如果给出任何pattern ,则被当成一个正则表达式,只显示匹配的表、视图、序列。 | 列出数据库中所有表、视图和序列以及它们相关的访问特权。
`MogDB=# \z` | **表 15** 权限的参数说明 diff --git a/product/zh/docs-mogdb/v3.0/security-guide/security/1-client-access-authentication.md b/product/zh/docs-mogdb/v3.0/security-guide/security/1-client-access-authentication.md index 79828d6f..a21bee69 100644 --- a/product/zh/docs-mogdb/v3.0/security-guide/security/1-client-access-authentication.md +++ b/product/zh/docs-mogdb/v3.0/security-guide/security/1-client-access-authentication.md @@ -41,7 +41,7 @@ date: 2021-03-04 > - 使用"jack"用户前,需先本地连接数据库,并在数据库中使用如下语句建立"jack"用户: > > ```sql -> mogdb=# CREATE USER jack PASSWORD 'Test@123'; +> MogDB=# CREATE USER jack PASSWORD 'Test@123'; > ``` > > - -N all表示MogDB的所有主机。 @@ -366,7 +366,7 @@ ssh -L 63333:localhost:8000 username@hostIP 3. 查看全局会话连接数限制。 ```sql - mogdb=# SHOW max_connections; + MogDB=# SHOW max_connections; max_connections ----------------- 800 @@ -385,7 +385,7 @@ ssh -L 63333:localhost:8000 username@hostIP 执行如下命令查看连接到指定用户omm的会话连接数上限。其中-1表示没有对用户omm设置连接数的限制。 ```sql - mogdb=# SELECT ROLNAME,ROLCONNLIMIT FROM PG_ROLES WHERE ROLNAME='omm'; + MogDB=# SELECT ROLNAME,ROLCONNLIMIT FROM PG_ROLES WHERE ROLNAME='omm'; rolname | rolconnlimit ---------+-------------- omm | -1 @@ -397,7 +397,7 @@ ssh -L 63333:localhost:8000 username@hostIP 执行如下命令查看指定用户omm已使用的会话连接数。其中,1表示omm已使用的会话连接数。 ```sql - mogdb=# CREATE OR REPLACE VIEW DV_SESSIONS AS + MogDB=# CREATE OR REPLACE VIEW DV_SESSIONS AS SELECT sa.sessionid AS SID, 0::integer AS SERIAL#, @@ -406,7 +406,7 @@ ssh -L 63333:localhost:8000 username@hostIP FROM pg_stat_get_activity(NULL) AS sa LEFT JOIN pg_authid ad ON(sa.usesysid = ad.oid) WHERE sa.application_name <> 'JobScheduler'; - mogdb=# SELECT COUNT() FROM DV_SESSIONS WHERE USERNAME='omm'; + MogDB=# SELECT COUNT() FROM DV_SESSIONS WHERE USERNAME='omm'; count ------- 1 @@ -418,7 +418,7 @@ ssh -L 63333:localhost:8000 username@hostIP 执行如下命令查看连接到指定数据库mogdb的会话连接数上限。其中-1表示没有对数据库mogdb设置连接数的限制。 ```sql - mogdb=# SELECT DATNAME,DATCONNLIMIT FROM PG_DATABASE WHERE DATNAME='mogdb'; + MogDB=# SELECT DATNAME,DATCONNLIMIT FROM PG_DATABASE WHERE DATNAME='mogdb'; datname | datconnlimit ---------+-------------- mogdb | -1 @@ -430,7 +430,7 @@ ssh -L 63333:localhost:8000 username@hostIP 执行如下命令查看指定数据库mogdb上已使用的会话连接数。其中,1表示数据库mogdb上已使用的会话连接数。 ```sql - mogdb=# SELECT COUNT() FROM PG_STAT_ACTIVITY WHERE DATNAME='mogdb'; + MogDB=# SELECT COUNT() FROM PG_STAT_ACTIVITY WHERE DATNAME='mogdb'; count ------- 1 @@ -442,7 +442,7 @@ ssh -L 63333:localhost:8000 username@hostIP 执行如下命令查看所有用户已使用的会话连接数。 ```sql - mogdb=# CREATE OR REPLACE VIEW DV_SESSIONS AS + MogDB=# CREATE OR REPLACE VIEW DV_SESSIONS AS SELECT sa.sessionid AS SID, 0::integer AS SERIAL#, @@ -451,7 +451,7 @@ ssh -L 63333:localhost:8000 username@hostIP FROM pg_stat_get_activity(NULL) AS sa LEFT JOIN pg_authid ad ON(sa.usesysid = ad.oid) WHERE sa.application_name <> 'JobScheduler'; - mogdb=# SELECT COUNT(*) FROM DV_SESSIONS; + MogDB=# SELECT COUNT(*) FROM DV_SESSIONS; count ------- 23 diff --git a/product/zh/docs-mogdb/v3.0/security-guide/security/2-managing-users-and-their-permissions.md b/product/zh/docs-mogdb/v3.0/security-guide/security/2-managing-users-and-their-permissions.md index ba2f6460..baf95ebb 100644 --- a/product/zh/docs-mogdb/v3.0/security-guide/security/2-managing-users-and-their-permissions.md +++ b/product/zh/docs-mogdb/v3.0/security-guide/security/2-managing-users-and-their-permissions.md @@ -40,13 +40,13 @@ MogDB支持以下的权限: SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFER 要创建新的系统管理员,请以初始用户或者系统管理员用户身份连接数据库,并使用带SYSADMIN选项的CREATE USER语句或ALTER USER语句进行设置。 ```sql -mogdb=# CREATE USER sysadmin WITH SYSADMIN password "xxxxxxxxx"; +MogDB=# CREATE USER sysadmin WITH SYSADMIN password "xxxxxxxxx"; ``` 或者 ```sql -mogdb=# ALTER USER joe SYSADMIN; +MogDB=# ALTER USER joe SYSADMIN; ``` > ALTER USER时,要求用户已存在。 @@ -58,13 +58,13 @@ mogdb=# ALTER USER joe SYSADMIN; 要创建新的监控管理员,请以系统管理员身份连接数据库,并使用带MONADMIN选项的CREATE USER语句或ALTER USER语句进行设置。 ```sql -mogdb=# CREATE USER monadmin WITH MONADMIN password "xxxxxxxxx"; +MogDB=# CREATE USER monadmin WITH MONADMIN password "xxxxxxxxx"; ``` 或者 ```sql -mogdb=# ALTER USER joe MONADMIN; +MogDB=# ALTER USER joe MONADMIN; ``` > ALTER USER时,要求用户已存在。 @@ -76,13 +76,13 @@ mogdb=# ALTER USER joe MONADMIN; 要创建新的运维管理员,请以初始用户身份连接数据库,并使用带OPRADMIN选项的CREATE USER语句或ALTER USER语句进行设置。 ```sql -mogdb=# CREATE USER opradmin WITH OPRADMIN password "xxxxxxxxx"; +MogDB=# CREATE USER opradmin WITH OPRADMIN password "xxxxxxxxx"; ``` 或者 ```sql -mogdb=# ALTER USER joe OPRADMIN; +MogDB=# ALTER USER joe OPRADMIN; ``` > ALTER USER时,要求用户已存在。 @@ -94,13 +94,13 @@ mogdb=# ALTER USER joe OPRADMIN; 要创建新的安全策略管理员,请以系统管理员用户身份连接数据库,并使用带POLADMIN选项的CREATE USER语句或ALTER USER语句进行设置。 ```sql -mogdb=# CREATE USER poladmin WITH POLADMIN password "xxxxxxxxx"; +MogDB=# CREATE USER poladmin WITH POLADMIN password "xxxxxxxxx"; ``` 或者 ```sql -mogdb=# ALTER USER joe POLADMIN; +MogDB=# ALTER USER joe POLADMIN; ``` > ALTER USER时,要求用户已存在。 @@ -253,7 +253,7 @@ mogdb=# ALTER USER joe POLADMIN; 例如: 创建用户joe,并设置用户拥有CREATEDB属性。 ```sql - mogdb=# CREATE USER joe WITH CREATEDB PASSWORD "XXXXXXXXX"; + MogDB=# CREATE USER joe WITH CREATEDB PASSWORD "XXXXXXXXX"; CREATE ROLE ``` @@ -266,13 +266,13 @@ mogdb=# ALTER USER joe POLADMIN; - 要查看用户列表,请查询视图PG_USER: ```sql - mogdb=# SELECT * FROM pg_user; + MogDB=# SELECT * FROM pg_user; ``` - 要查看用户属性,请查询系统表PG_AUTHID: ```sql - mogdb=# SELECT * FROM pg_authid; + MogDB=# SELECT * FROM pg_authid; ``` **私有用户** @@ -282,7 +282,7 @@ mogdb=# ALTER USER joe POLADMIN; [三权分立](#三权分立)情况下,管理员对其他用户放在属于各自模式下的表无权限。但是,这种无权限包含了无控制权限,因此不能满足上面的诉求。为此,MogDB提供了私有用户方案。即在非三权分立模式下,创建具有INDEPENDENT属性的私有用户。 ```sql -mogdb=# CREATE USER user_independent WITH INDEPENDENT IDENTIFIED BY "1234@abc"; +MogDB=# CREATE USER user_independent WITH INDEPENDENT IDENTIFIED BY "1234@abc"; ``` 针对该用户的对象,系统管理员和拥有CREATEROLE属性的安全管理员在未经其授权前,只能进行控制操作(DROP、ALTER、TRUNCATE),无权进行INSERT、DELETE、SELECT、UPDATE、COPY、GRANT、REVOKE、ALTER OWNER操作。 @@ -296,7 +296,7 @@ mogdb=# CREATE USER user_independent WITH INDEPENDENT IDENTIFIED BY "1234@abc"; MogDB提供永久用户方案,即创建具有PERSISTENCE属性的永久用户。 ```sql -mogdb=# CREATE USER user_persistence WITH persistence IDENTIFIED BY "1234@abc"; +MogDB=# CREATE USER user_persistence WITH persistence IDENTIFIED BY "1234@abc"; ``` 只允许初始用户创建、修改和删除具有PERSISTENCE属性的永久用户。 @@ -384,19 +384,19 @@ CREATE USER创建用户的同时,系统会在执行该命令的数据库中, - 要查看Schema所有者,请对系统表PG_NAMESPACE和PG_USER执行如下关联查询。语句中的schema_name请替换为实际要查找的Schema名称。 ```sql - mogdb=# SELECT s.nspname,u.usename AS nspowner FROM pg_namespace s, pg_user u WHERE nspname='schema_name' AND s.nspowner = u.usesysid; + MogDB=# SELECT s.nspname,u.usename AS nspowner FROM pg_namespace s, pg_user u WHERE nspname='schema_name' AND s.nspowner = u.usesysid; ``` - 要查看所有Schema的列表,请查询PG_NAMESPACE系统表。 ```sql - mogdb=# SELECT * FROM pg_namespace; + MogDB=# SELECT * FROM pg_namespace; ``` - 要查看属于某Schema下的表列表,请查询系统视图PG_TABLES。例如,以下查询会返回Schema PG_CATALOG中的表列表。 ```sql - mogdb=# SELECT distinct(tablename),schemaname from pg_tables where schemaname = 'pg_catalog'; + MogDB=# SELECT distinct(tablename),schemaname from pg_tables where schemaname = 'pg_catalog'; ``` **搜索路径** @@ -406,7 +406,7 @@ CREATE USER创建用户的同时,系统会在执行该命令的数据库中, - 要查看当前搜索路径,请使用SHOW。 ```sql - mogdb=# SHOW SEARCH_PATH; + MogDB=# SHOW SEARCH_PATH; search_path ---------------- "$user",public @@ -420,7 +420,7 @@ CREATE USER创建用户的同时,系统会在执行该命令的数据库中, 执行如下命令将搜索路径设置为myschema、public,首先搜索myschema。 ```sql - mogdb=# SET SEARCH_PATH TO myschema, public; + MogDB=# SET SEARCH_PATH TO myschema, public; SET ``` @@ -435,8 +435,8 @@ CREATE USER创建用户的同时,系统会在执行该命令的数据库中, 例如,下面示例将Schema tpcds的权限赋给用户joe后,将表tpcds.web_returns的select权限赋给用户joe。 ```sql - mogdb=# GRANT USAGE ON SCHEMA tpcds TO joe; - mogdb=# GRANT SELECT ON TABLE tpcds.web_returns to joe; + MogDB=# GRANT USAGE ON SCHEMA tpcds TO joe; + MogDB=# GRANT SELECT ON TABLE tpcds.web_returns to joe; ``` - 给用户指定角色,使用户继承角色所拥有的对象权限。 @@ -454,8 +454,8 @@ CREATE USER创建用户的同时,系统会在执行该命令的数据库中, 例如,将模式tpcds的权限赋给角色lily后,将表tpcds.web_returns的select权限赋给角色lily。 ```sql - mogdb=# GRANT USAGE ON SCHEMA tpcds TO lily; - mogdb=# GRANT SELECT ON TABLE tpcds.web_returns to lily; + MogDB=# GRANT USAGE ON SCHEMA tpcds TO lily; + MogDB=# GRANT SELECT ON TABLE tpcds.web_returns to lily; ``` 3. 将角色的权限赋予用户。 @@ -483,29 +483,29 @@ CREATE USER创建用户的同时,系统会在执行该命令的数据库中, ```sql --创建用户alice, bob, peter -mogdb=# CREATE ROLE alice PASSWORD 'Gauss@123'; -mogdb=# CREATE ROLE bob PASSWORD 'Gauss@123'; -mogdb=# CREATE ROLE peter PASSWORD 'Gauss@123'; +MogDB=# CREATE ROLE alice PASSWORD 'Gauss@123'; +MogDB=# CREATE ROLE bob PASSWORD 'Gauss@123'; +MogDB=# CREATE ROLE peter PASSWORD 'Gauss@123'; --创建表all_data,包含不同用户数据信息 -mogdb=# CREATE TABLE all_data(id int, role varchar(100), data varchar(100)); +MogDB=# CREATE TABLE all_data(id int, role varchar(100), data varchar(100)); --向数据表插入数据 -mogdb=# INSERT INTO all_data VALUES(1, 'alice', 'alice data'); -mogdb=# INSERT INTO all_data VALUES(2, 'bob', 'bob data'); -mogdb=# INSERT INTO all_data VALUES(3, 'peter', 'peter data'); +MogDB=# INSERT INTO all_data VALUES(1, 'alice', 'alice data'); +MogDB=# INSERT INTO all_data VALUES(2, 'bob', 'bob data'); +MogDB=# INSERT INTO all_data VALUES(3, 'peter', 'peter data'); --将表all_data的读取权限赋予alice,bob和peter用户 -mogdb=# GRANT SELECT ON all_data TO alice, bob, peter; +MogDB=# GRANT SELECT ON all_data TO alice, bob, peter; --打开行访问控制策略开关 -mogdb=# ALTER TABLE all_data ENABLE ROW LEVEL SECURITY; +MogDB=# ALTER TABLE all_data ENABLE ROW LEVEL SECURITY; --创建行访问控制策略,当前用户只能查看用户自身的数据 -mogdb=# CREATE ROW LEVEL SECURITY POLICY all_data_rls ON all_data USING(role = CURRENT_USER); +MogDB=# CREATE ROW LEVEL SECURITY POLICY all_data_rls ON all_data USING(role = CURRENT_USER); --查看表详细信息 -mogdb=# \d+ all_data +MogDB=# \d+ all_data Table "public.all_data" Column | Type | Modifiers | Storage | Stats target | Description --------+------------------------+-----------+----------+--------------+------------- @@ -520,13 +520,13 @@ Location Nodes: ALL DATANODES Options: orientation=row, compression=no, enable_rowsecurity=true --切换至用户alice,执行SQL"SELECT * FROM public.all_data" -mogdb=# SELECT * FROM public.all_data; +MogDB=# SELECT * FROM public.all_data; id | role | data ----+-------+------------ 1 | alice | alice data (1 row) -mogdb=# EXPLAIN(COSTS OFF) SELECT * FROM public.all_data; +MogDB=# EXPLAIN(COSTS OFF) SELECT * FROM public.all_data; QUERY PLAN ---------------------------------------------------------------- Streaming (type: GATHER) @@ -537,13 +537,13 @@ mogdb=# EXPLAIN(COSTS OFF) SELECT * FROM public.all_data; (5 rows) --切换至用户peter,执行SQL"SELECT * FROM public.all_data" -mogdb=# SELECT * FROM public.all_data; +MogDB=# SELECT * FROM public.all_data; id | role | data ----+-------+------------ 3 | peter | peter data (1 row) -mogdb=# EXPLAIN(COSTS OFF) SELECT * FROM public.all_data; +MogDB=# EXPLAIN(COSTS OFF) SELECT * FROM public.all_data; QUERY PLAN ---------------------------------------------------------------- Streaming (type: GATHER) @@ -595,7 +595,7 @@ MogDB为帐户提供了自动锁定和解锁帐户、手动锁定和解锁异常 3. 查看已配置的参数。 ```sql - mogdb=# SHOW failed_login_attempts; + MogDB=# SHOW failed_login_attempts; failed_login_attempts ----------------------- 10 @@ -625,7 +625,7 @@ MogDB为帐户提供了自动锁定和解锁帐户、手动锁定和解锁异常 3. 查看已配置的参数。 ```sql - mogdb=# SHOW password_lock_time; + MogDB=# SHOW password_lock_time; password_lock_time ----------------------- 1 @@ -651,14 +651,14 @@ MogDB为帐户提供了自动锁定和解锁帐户、手动锁定和解锁异常 - 手动锁定 ```sql - mogdb=# ALTER USER joe ACCOUNT LOCK; + MogDB=# ALTER USER joe ACCOUNT LOCK; ALTER ROLE ``` - 手动解锁 ```sql - mogdb=# ALTER USER joe ACCOUNT UNLOCK; + MogDB=# ALTER USER joe ACCOUNT UNLOCK; ALTER ROLE ``` @@ -671,7 +671,7 @@ MogDB为帐户提供了自动锁定和解锁帐户、手动锁定和解锁异常 以删除帐户joe为例,命令格式如下: ```sql -mogdb=# DROP USER joe CASCADE; +MogDB=# DROP USER joe CASCADE; DROP ROLE ``` @@ -754,7 +754,7 @@ DROP ROLE 3. 查看已配置的加密算法。 ```sql - mogdb=# SHOW password_encryption_type; + MogDB=# SHOW password_encryption_type; password_encryption_type -------------------------- 2 @@ -793,7 +793,7 @@ DROP ROLE b. 查看已配置的参数。 ```sql - mogdb=# SHOW password_policy; + MogDB=# SHOW password_policy; password_policy --------------------- 1 @@ -841,8 +841,8 @@ DROP ROLE > 下: > > ```sql - > mogdb=# CREATE WEAK PASSWORD DICTIONARY WITH VALUES ('password1'), ('password2'); - > mogdb=# DROP WEAK PASSWORD DICTIONARY; + > MogDB=# CREATE WEAK PASSWORD DICTIONARY WITH VALUES ('password1'), ('password2'); + > MogDB=# DROP WEAK PASSWORD DICTIONARY; > ``` - 密码重用 @@ -864,7 +864,7 @@ DROP ROLE b. 查看已配置的参数。 ```sql - mogdb=# SHOW password_reuse_time; + MogDB=# SHOW password_reuse_time; password_reuse_time --------------------- 60 @@ -894,7 +894,7 @@ DROP ROLE b. 查看已配置的参数。 ```sql - mogdb=# SHOW password_reuse_max; + MogDB=# SHOW password_reuse_max; password_reuse_max -------------------- 0 @@ -928,7 +928,7 @@ DROP ROLE b. 查看已配置的参数。 ```sql - mogdb=# SHOW password_effect_time; + MogDB=# SHOW password_effect_time; password_effect_time ---------------------- 90 @@ -956,7 +956,7 @@ DROP ROLE b. 查看已配置的参数。 ```sql - mogdb=# SHOW password_notify_time; + MogDB=# SHOW password_notify_time; password_notify_time ---------------------- 7 @@ -986,7 +986,7 @@ DROP ROLE 以修改用户user1密码为例,以系统管理员用户连接数据库并执行如下命令: ```sql - mogdb=# ALTER USER user1 IDENTIFIED BY "1234@abc" REPLACE "5678@def"; + MogDB=# ALTER USER user1 IDENTIFIED BY "1234@abc" REPLACE "5678@def"; ALTER ROLE ``` @@ -997,7 +997,7 @@ DROP ROLE 以修改用户joe帐户密码为例,命令格式如下: ```sql - mogdb=# ALTER USER joe IDENTIFIED BY "abc@1234"; + MogDB=# ALTER USER joe IDENTIFIED BY "abc@1234"; ALTER ROLE ``` @@ -1015,7 +1015,7 @@ DROP ROLE 以设置用户joe为例,命令格式如下: ```sql - mogdb=# SET ROLE joe PASSWORD "abc@1234"; + MogDB=# SET ROLE joe PASSWORD "abc@1234"; ERROR: Invalid username/password,set role denied. ``` @@ -1044,16 +1044,16 @@ DROP ROLE 具有CREATEROLE权限的用户在创建用户时可以强制用户密码失效,新用户首次登陆数据库后需要修改密码才允许执行其他查询操作,命令格式如下: ```sql - mogdb=# CREATE USER joe PASSWORD "abc@1234" EXPIRED; + MogDB=# CREATE USER joe PASSWORD "abc@1234" EXPIRED; CREATE ROLE ``` 具有CREATEROLE权限的用户可以强制用户密码失效或者强制修改密码且失效,命令格式如下: ```sql - mogdb=# ALTER USER joe PASSWORD EXPIRED; + MogDB=# ALTER USER joe PASSWORD EXPIRED; ALTER ROLE - mogdb=# ALTER USER joe PASSWORD "abc@2345" EXPIRED; + MogDB=# ALTER USER joe PASSWORD "abc@2345" EXPIRED; ALTER ROLE ``` diff --git a/product/zh/docs-mogdb/v3.0/security-guide/security/3-configuring-database-audit.md b/product/zh/docs-mogdb/v3.0/security-guide/security/3-configuring-database-audit.md index 6e9e2daf..0974befe 100644 --- a/product/zh/docs-mogdb/v3.0/security-guide/security/3-configuring-database-audit.md +++ b/product/zh/docs-mogdb/v3.0/security-guide/security/3-configuring-database-audit.md @@ -108,7 +108,7 @@ date: 2021-03-04 a. 用show命令显示审计总开关audit_enabled的值。 ```sql - mogdb=# SHOW audit_enabled; + MogDB=# SHOW audit_enabled; ``` 如果显示为off,执行\\q命令退出数据库。 @@ -175,7 +175,7 @@ date: 2021-03-04 3. 查询审计记录。 ```sql - mogdb=# select * from pg_query_audit('2021-03-04 08:00:00','2021-03-04 17:00:00'); + MogDB=# select * from pg_query_audit('2021-03-04 08:00:00','2021-03-04 17:00:00'); time | type | result | userid | username | database | client_conninfo | object_name | detail_info | node_name | thread_id | local_port | remote_port ------------------------+----------------+--------+--------+-----------+-----------+-------------------------+-------------------+--------------+-------------------+---------------------------------+------------+------------- 2021-03-04 08:00:08+08 | login_success | ok | 10 | omm | mogdb | gsql@::1 | mogdb | login db(postgres) success,SSL=Off | dn_6001_6002_6003 | 140477687527168@668131208211425 | 17778 | 46946 @@ -258,7 +258,7 @@ date: 2021-03-04 a. 查看已配置的参数。 ```sql - mogdb=# SHOW audit_space_limit; + MogDB=# SHOW audit_space_limit; audit_space_limit ------------------- 1GB @@ -278,7 +278,7 @@ date: 2021-03-04 a. 查看已配置的参数。 ```sql - mogdb=# SHOW audit_file_remain_threshold; + MogDB=# SHOW audit_file_remain_threshold; audit_file_remain_threshold ----------------------------- 1048576 @@ -300,7 +300,7 @@ date: 2021-03-04 a. 使用show命令获得审计文件所在目录(audit_directory)。 ```sql - mogdb=# SHOW audit_directory; + MogDB=# SHOW audit_directory; ``` b. 将审计目录整个拷贝出来进行保存。 diff --git a/product/zh/docs-mogdb/v3.0/security-guide/security/4-setting-encrypted-equality-query.md b/product/zh/docs-mogdb/v3.0/security-guide/security/4-setting-encrypted-equality-query.md index 9bd3ffc9..0cd6aa71 100644 --- a/product/zh/docs-mogdb/v3.0/security-guide/security/4-setting-encrypted-equality-query.md +++ b/product/zh/docs-mogdb/v3.0/security-guide/security/4-setting-encrypted-equality-query.md @@ -27,24 +27,24 @@ date: 2021-10-11 ```sql --创建客户端加密主密钥(CMK) - mogdb=# CREATE CLIENT MASTER KEY ImgCMK1 WITH (KEY_STORE = localkms, KEY_PATH = "key_path_value1", ALGORITHM = RSA_2048); - mogdb=# CREATE CLIENT MASTER KEY ImgCMK WITH (KEY_STORE = localkms, KEY_PATH = "key_path_value2", ALGORITHM = RSA_2048); - mogdb=# CREATE COLUMN ENCRYPTION KEY ImgCEK1 WITH VALUES (CLIENT_MASTER_KEY = ImgCMK1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); + MogDB=# CREATE CLIENT MASTER KEY ImgCMK1 WITH (KEY_STORE = localkms, KEY_PATH = "key_path_value1", ALGORITHM = RSA_2048); + MogDB=# CREATE CLIENT MASTER KEY ImgCMK WITH (KEY_STORE = localkms, KEY_PATH = "key_path_value2", ALGORITHM = RSA_2048); + MogDB=# CREATE COLUMN ENCRYPTION KEY ImgCEK1 WITH VALUES (CLIENT_MASTER_KEY = ImgCMK1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); CREATE COLUMN ENCRYPTION KEY - mogdb=# CREATE COLUMN ENCRYPTION KEY ImgCEK WITH VALUES (CLIENT_MASTER_KEY = ImgCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); + MogDB=# CREATE COLUMN ENCRYPTION KEY ImgCEK WITH VALUES (CLIENT_MASTER_KEY = ImgCMK, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256); CREATE COLUMN ENCRYPTION KEY ``` 查询存储密钥信息的系统表结果如下。 ```sql - mogdb=# SELECT * FROM gs_client_global_keys; + MogDB=# SELECT * FROM gs_client_global_keys; global_key_name | key_namespace | key_owner | key_acl | create_date -----------------+---------------+-----------+---------+---------------------------- imgcmk1 | 2200 | 10 | | 2021-04-21 11:04:00.656617 imgcmk | 2200 | 10 | | 2021-04-21 11:04:05.389746 (2 rows) - mogdb=# SELECT column_key_name,column_key_distributed_id ,global_key_id,key_owner FROM gs_column_keys; + MogDB=# SELECT column_key_name,column_key_distributed_id ,global_key_id,key_owner FROM gs_column_keys; column_key_name | column_key_distributed_id | global_key_id | key_owner -----------------+---------------------------+---------------+----------- imgcek1 | 760411027 | 16392 | 10 @@ -55,7 +55,7 @@ date: 2021-10-11 4. 创建加密表。 ```sql - mogdb=# CREATE TABLE creditcard_info (id_number int, name text encrypted with (column_encryption_key = ImgCEK, encryption_type = DETERMINISTIC), + MogDB=# CREATE TABLE creditcard_info (id_number int, name text encrypted with (column_encryption_key = ImgCEK, encryption_type = DETERMINISTIC), credit_card varchar(19) encrypted with (column_encryption_key = ImgCEK1, encryption_type = DETERMINISTIC)); NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'id_number' as the distribution column by default. HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. @@ -65,7 +65,7 @@ date: 2021-10-11 查询表的详细信息如下,Modifiers值为encrypted则表示该列是加密列。 ```sql - mogdb=# \d creditcard_info + MogDB=# \d creditcard_info Table "public.creditcard_info" Column | Type | Modifiers -------------+-------------------+------------ @@ -77,17 +77,17 @@ date: 2021-10-11 5. 向加密表插入数据并进行等值查询。 ```sql - mogdb=# INSERT INTO creditcard_info VALUES (1,'joe','6217986500001288393'); + MogDB=# INSERT INTO creditcard_info VALUES (1,'joe','6217986500001288393'); INSERT 0 1 - mogdb=# INSERT INTO creditcard_info VALUES (2, 'joy','6219985678349800033'); + MogDB=# INSERT INTO creditcard_info VALUES (2, 'joy','6219985678349800033'); INSERT 0 1 - mogdb=# select * from creditcard_info where name = 'joe'; + MogDB=# select * from creditcard_info where name = 'joe'; id_number | name | credit_card -----------+------+--------------------- 1 | joe | 6217986500001288393 (1 row) -- 注意:使用非密态客户端查看该加密表数据时是密文 - mogdb=# select id_number,name from creditcard_info; + MogDB=# select id_number,name from creditcard_info; id_number | name -----------+-------------------------------------- 1 | \x011aefabd754ded0a536a96664790622487c4d366d313aecd5839e410a46d29cba96a60e4831000000ee79056a114c9a6c041bb552b78052e912a8b730609142074c63791abebd0d38 @@ -98,9 +98,9 @@ date: 2021-10-11 6. (可选)对加密表进行alter和update操作。 ```sql - mogdb=# ALTER TABLE creditcard_info ADD COLUMN age int ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = ImgCEK, ENCRYPTION_TYPE = DETERMINISTIC); + MogDB=# ALTER TABLE creditcard_info ADD COLUMN age int ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = ImgCEK, ENCRYPTION_TYPE = DETERMINISTIC); ALTER TABLE - mogdb=# \d creditcard_info + MogDB=# \d creditcard_info Table "public.creditcard_info" Column | Type | Modifiers -------------+-------------------+------------ @@ -108,11 +108,11 @@ date: 2021-10-11 name | text | encrypted credit_card | character varying | encrypted age | integer | encrypted - mogdb=# ALTER TABLE creditcard_info DROP COLUMN age; + MogDB=# ALTER TABLE creditcard_info DROP COLUMN age; ALTER TABLE - mogdb=# update creditcard_info set credit_card = '80000000011111111' where name = 'joy'; + MogDB=# update creditcard_info set credit_card = '80000000011111111' where name = 'joy'; UPDATE 1 - mogdb=# select * from creditcard_info where name = 'joy'; + MogDB=# select * from creditcard_info where name = 'joy'; id_number | name | credit_card -----------+------+------------------- 2 | joy | 80000000011111111 @@ -262,29 +262,29 @@ pstmt.close(); 2. 创建加密表。 ```sql - mogdb=# CREATE TABLE creditcard_info ( - mogdb(# id_number int, - mogdb(# name text, - mogdb(# credit_card varchar(19) encrypted with (column_encryption_key = ImgCEK1, encryption_type = DETERMINISTIC) - mogdb(# ) with (orientation=row); + MogDB=# CREATE TABLE creditcard_info ( + MogDB(# id_number int, + MogDB(# name text, + MogDB(# credit_card varchar(19) encrypted with (column_encryption_key = ImgCEK1, encryption_type = DETERMINISTIC) + MogDB(# ) with (orientation=row); CREATE TABLE ``` 3. 插入数据。 ```sql - mogdb=# insert into creditcard_info values(1, 'Avi', '1234567890123456'); + MogDB=# insert into creditcard_info values(1, 'Avi', '1234567890123456'); INSERT 0 1 - mogdb=# insert into creditcard_info values(2, 'Eli', '2345678901234567'); + MogDB=# insert into creditcard_info values(2, 'Eli', '2345678901234567'); INSERT 0 1 ``` 4. 创建函数支持密态等值查询。 ```sql - mogdb=# CREATE FUNCTION f_encrypt_in_sql(val1 text, val2 varchar(19)) RETURNS text AS 'SELECT name from creditcard_info where name=$1 or credit_card=$2 LIMIT 1' LANGUAGE SQL; + MogDB=# CREATE FUNCTION f_encrypt_in_sql(val1 text, val2 varchar(19)) RETURNS text AS 'SELECT name from creditcard_info where name=$1 or credit_card=$2 LIMIT 1' LANGUAGE SQL; CREATE FUNCTION - mogdb=# CREATE FUNCTION f_encrypt_in_plpgsql (val1 text, val2 varchar(19)) + MogDB=# CREATE FUNCTION f_encrypt_in_plpgsql (val1 text, val2 varchar(19)) mogdb-# RETURNS text AS $$ mogdb$# DECLARE mogdb$# c text; @@ -299,13 +299,13 @@ pstmt.close(); 5. 执行函数。 ```sql - mogdb=# SELECT f_encrypt_in_sql('Avi','1234567890123456'); + MogDB=# SELECT f_encrypt_in_sql('Avi','1234567890123456'); f_encrypt_in_sql ------------------ Avi (1 row) - mogdb=# SELECT f_encrypt_in_plpgsql('Avi', val2=>'1234567890123456'); + MogDB=# SELECT f_encrypt_in_plpgsql('Avi', val2=>'1234567890123456'); f_encrypt_in_plpgsql ---------------------- Avi diff --git a/product/zh/docs-mogdb/v3.0/security-guide/security/5-setting-a-ledger-database.md b/product/zh/docs-mogdb/v3.0/security-guide/security/5-setting-a-ledger-database.md index 57ff4cb4..da3f8a43 100644 --- a/product/zh/docs-mogdb/v3.0/security-guide/security/5-setting-a-ledger-database.md +++ b/product/zh/docs-mogdb/v3.0/security-guide/security/5-setting-a-ledger-database.md @@ -46,7 +46,7 @@ date: 2021-10-11 例如,创建防篡改模式ledgernsp。 ```sql - mogdb=# CREATE SCHEMA ledgernsp WITH BLOCKCHAIN; + MogDB=# CREATE SCHEMA ledgernsp WITH BLOCKCHAIN; ``` 2. 在防篡改模式下创建防篡改用户表。 @@ -54,20 +54,20 @@ date: 2021-10-11 例如,创建防篡改用户表ledgernsp.usertable。 ```sql - mogdb=# CREATE TABLE ledgernsp.usertable(id int, name text); + MogDB=# CREATE TABLE ledgernsp.usertable(id int, name text); ``` 查看防篡改用户表结构及其对应的用户历史表结构。 ```sql - mogdb=# \d+ ledgernsp.usertable; - mogdb=# \d+ blockchain.ledgernsp_usertable_hist; + MogDB=# \d+ ledgernsp.usertable; + MogDB=# \d+ blockchain.ledgernsp_usertable_hist; ``` 执行结果如下: ```sql - mogdb=# \d+ ledgernsp.usertable; + MogDB=# \d+ ledgernsp.usertable; Table "ledgernsp.usertable" Column | Type | Modifiers | Storage | Stats target | Description --------+---------+-----------+----------+--------------+------------- @@ -80,7 +80,7 @@ date: 2021-10-11 Options: orientation=row, compression=no History table name: ledgernsp_usertable_hist - mogdb=# \d+ blockchain.ledgernsp_usertable_hist; + MogDB=# \d+ blockchain.ledgernsp_usertable_hist; Table "blockchain.ledgernsp_usertable_hist" Column | Type | Modifiers | Storage | Stats target | Description ----------+--------+-----------+---------+--------------+------------- @@ -104,9 +104,9 @@ date: 2021-10-11 例如,对防篡改用户表执行INSERT/UPDATE/DELETE。 ```sql - mogdb=# INSERT INTO ledgernsp.usertable VALUES(1, 'alex'), (2, 'bob'), (3, 'peter'); + MogDB=# INSERT INTO ledgernsp.usertable VALUES(1, 'alex'), (2, 'bob'), (3, 'peter'); INSERT 0 3 - mogdb=# SELECT *, hash FROM ledgernsp.usertable ORDER BY id; + MogDB=# SELECT *, hash FROM ledgernsp.usertable ORDER BY id; id | name | hash ----+-------+------------------ 1 | alex | 1f2e543c580cb8c5 @@ -114,9 +114,9 @@ date: 2021-10-11 3 | peter | f51b4b1b12d0354b (3 rows) - mogdb=# UPDATE ledgernsp.usertable SET name = 'bob2' WHERE id = 2; + MogDB=# UPDATE ledgernsp.usertable SET name = 'bob2' WHERE id = 2; UPDATE 1 - mogdb=# SELECT *, hash FROM ledgernsp.usertable ORDER BY id; + MogDB=# SELECT *, hash FROM ledgernsp.usertable ORDER BY id; id | name | hash ----+-------+------------------ 1 | alex | 1f2e543c580cb8c5 @@ -124,9 +124,9 @@ date: 2021-10-11 3 | peter | f51b4b1b12d0354b (3 rows) - mogdb=# DELETE FROM ledgernsp.usertable WHERE id = 3; + MogDB=# DELETE FROM ledgernsp.usertable WHERE id = 3; DELETE 1 - mogdb=# SELECT *, hash FROM ledgernsp.usertable ORDER BY id; + MogDB=# SELECT *, hash FROM ledgernsp.usertable ORDER BY id; id | name | hash ----+------+------------------ 1 | alex | 1f2e543c580cb8c5 @@ -180,7 +180,7 @@ date: 2021-10-11 3. 查询全局区块表记录。 ```sql - mogdb=# SELECT * FROM gs_global_chain; + MogDB=# SELECT * FROM gs_global_chain; blocknum | dbname | username | starttime | relid | relnsp | relname | relhash | globalhash | txcommand @@ -199,7 +199,7 @@ date: 2021-10-11 4. 查询历史表记录。 ```sql - mogdb=# SELECT * FROM blockchain.ledgernsp_usertable_hist; + MogDB=# SELECT * FROM blockchain.ledgernsp_usertable_hist; rec_num | hash_ins | hash_del | pre_hash ---------+------------------+------------------+---------------------------------- 0 | 1f2e543c580cb8c5 | | e1b664970d925d09caa295abd38d9b35 @@ -215,7 +215,7 @@ date: 2021-10-11 5. 查询用户表数据及hash校验列。 ```sql - mogdb=# SELECT *, hash FROM ledgernsp.usertable; + MogDB=# SELECT *, hash FROM ledgernsp.usertable; id | name | hash ----+------+------------------ @@ -257,7 +257,7 @@ date: 2021-10-11 1. 校验防篡改用户表ledgernsp.usertable与其对应的历史表是否一致。 ```sql - mogdb=# SELECT pg_catalog.ledger_hist_check('ledgernsp', 'usertable'); + MogDB=# SELECT pg_catalog.ledger_hist_check('ledgernsp', 'usertable'); ledger_hist_check ------------------- t @@ -269,7 +269,7 @@ date: 2021-10-11 2. 查询防篡改用户表ledgernsp.usertable与其对应的历史表以及全局区块表中关于该表的记录是否一致。 ```sql - mogdb=# SELECT pg_catalog.ledger_gchain_check('ledgernsp', 'usertable'); + MogDB=# SELECT pg_catalog.ledger_gchain_check('ledgernsp', 'usertable'); ledger_gchain_check --------------------- t @@ -311,7 +311,7 @@ date: 2021-10-11 1. 对指定用户历史表进行归档操作。 ```sql - mogdb=# SELECT pg_catalog.ledger_hist_archive('ledgernsp', 'usertable') + MogDB=# SELECT pg_catalog.ledger_hist_archive('ledgernsp', 'usertable') ledger_hist_archive --------------------- t @@ -321,7 +321,7 @@ date: 2021-10-11 用户历史表将归档为一条数据: ```sql - mogdb=# SELECT * FROM blockchain.ledgernsp_usertable_hist; + MogDB=# SELECT * FROM blockchain.ledgernsp_usertable_hist; rec_num | hash_ins | hash_del | pre_hash ---------+------------------+------------------+---------------------------------- 3 | e78e75b00d396899 | 8fcd74a8a6a4b484 | fd61cb772033da297d10c4e658e898d7 @@ -333,7 +333,7 @@ date: 2021-10-11 2. 执行全局区块表导出操作。 ```sql - mogdb=# SELECT pg_catalog.ledger_gchain_archive(); + MogDB=# SELECT pg_catalog.ledger_gchain_archive(); ledger_gchain_archive ----------------------- t @@ -343,7 +343,7 @@ date: 2021-10-11 全局历史表将以用户表为单位归档为N(用户表数量)条数据: ```sql - mogdb=# SELECT * FROM gs_global_chain; + MogDB=# SELECT * FROM gs_global_chain; blocknum | dbname | username | starttime | relid | relnsp | relname | relhash | globalhash | txcommand ----------+----------+----------+-------------------------------+-------+-----------+-----------+------------------+----------------------------------+----------- 1 | postgres | libc | 2021-05-10 19:59:38.619472+08 | 16388 | ledgernsp | usertable | 57c101076694b415 | be82f98ee68b2bc4e375f69209345406 | Archived. @@ -384,7 +384,7 @@ date: 2021-10-11 1. 执行历史表修复操作。 ```sql - mogdb=# SELECT pg_catalog.ledger_hist_repair('ledgernsp', 'usertable'); + MogDB=# SELECT pg_catalog.ledger_hist_repair('ledgernsp', 'usertable'); ledger_hist_repair -------------------- 84e8bfc3b974e9cf @@ -396,7 +396,7 @@ date: 2021-10-11 2. 执行全局区块表修复操作。 ```sql - mogdb=# SELECT pg_catalog.ledger_gchain_repair('ledgernsp', 'usertable'); + MogDB=# SELECT pg_catalog.ledger_gchain_repair('ledgernsp', 'usertable'); ledger_gchain_repair ---------------------- a41714001181a294 diff --git a/product/zh/docs-mogdb/v3.0/security-guide/security/6-transparent-data-encryption.md b/product/zh/docs-mogdb/v3.0/security-guide/security/6-transparent-data-encryption.md index f7a7919d..511d5880 100644 --- a/product/zh/docs-mogdb/v3.0/security-guide/security/6-transparent-data-encryption.md +++ b/product/zh/docs-mogdb/v3.0/security-guide/security/6-transparent-data-encryption.md @@ -50,19 +50,19 @@ date: 2022-04-21 登录数据库,创建加密表tde_test1,加密状态为开启,指定加密算法为AES_128_CTR: ``` -mogdb=# CREATE TABLE tde_test (a int, b text) with (enable_tde = on, encrypt_algo = 'AES_128_CTR'); +MogDB=# CREATE TABLE tde_test (a int, b text) with (enable_tde = on, encrypt_algo = 'AES_128_CTR'); ``` 创建加密表tde_test2,加密状态为开启,不指定加密算法,则加密算法默认为AES_128_CTR: ``` -mogdb=# CREATE TABLE tde_test2 (a int, b text) with (enable_tde = on); +MogDB=# CREATE TABLE tde_test2 (a int, b text) with (enable_tde = on); ``` 创建加密表tde_test3,加密状态为关闭,指定加密算法为SM4_CTR: ``` -mogdb=# CREATE TABLE tde_test3 (a int, b text) with (enable_tde = off, encrypt_algo = 'SM4_CTR'); +MogDB=# CREATE TABLE tde_test3 (a int, b text) with (enable_tde = off, encrypt_algo = 'SM4_CTR'); ``` ## 切换加密表加密开关 @@ -70,13 +70,13 @@ mogdb=# CREATE TABLE tde_test3 (a int, b text) with (enable_tde = off, encrypt_a 登录数据库,将加密表tde_test1的加密开关置为off: ``` -mogdb=# ALTER TABLE tde_test1 SET (enable_tde=off); +MogDB=# ALTER TABLE tde_test1 SET (enable_tde=off); ``` 将加密表tde_test1的加密开关置为on: ``` -mogdb=# ALTER TABLE tde_test1 SET (enable_tde=on); +MogDB=# ALTER TABLE tde_test1 SET (enable_tde=on); ``` ## 对加密表进行密钥轮转 @@ -84,5 +84,5 @@ mogdb=# ALTER TABLE tde_test1 SET (enable_tde=on); 登录数据库,对加密表tde_test1进行密钥轮转: ``` -mogdb=# ALTER TABLE tde_test1 ENCRYPTION KEY ROTATION; +MogDB=# ALTER TABLE tde_test1 ENCRYPTION KEY ROTATION; ``` \ No newline at end of file -- Gitee