From 335426847702de3a904a750107dda9188436e90e Mon Sep 17 00:00:00 2001 From: spaceoddity91719 Date: Wed, 27 Apr 2022 19:09:45 +0800 Subject: [PATCH 1/2] =?UTF-8?q?opengauss=E5=AD=97=E6=A0=B7=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D+3.0=E5=BC=80=E5=8F=91=E8=80=85?= =?UTF-8?q?=E6=8C=87=E5=8D=97plpgsql=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ha/1-database-server-exception-testing.md | 217 ------------------ .../ha/2-network-exception-testing.md | 175 -------------- .../ha/3-routine-maintenance-testing.md | 158 ------------- .../ha/4-service-exception-testing.md | 96 -------- .../v3.0/administrator-guide/br/1-3-br.md | 2 +- .../6-mot-sample-tpcc-benchmark.md | 2 +- .../3-2-preparations.md | 2 +- .../4-3-obtaining-help-information.md | 2 +- .../5-2-preparations.md | 2 +- .../5-4-obtaining-help-information.md | 2 +- .../5-8-ai-manager.md | 4 +- .../developer-guide/plpgsql/1-11-cursors.md | 30 +-- .../plpgsql/1-12-retry-management.md | 4 +- .../developer-guide/plpgsql/1-13-debugging.md | 86 +++++-- .../developer-guide/plpgsql/1-14-package.md | 21 ++ .../plpgsql/1-4-arrays-and-records.md | 55 ++++- .../plpgsql/1-6-basic-statements.md | 32 ++- .../plpgsql/1-7-dynamic-statements.md | 2 +- .../plpgsql/1-8-control-statements.md | 52 +++-- .../plpgsql/1-9-transaction-management.md | 88 +++---- product/zh/docs-mogdb/v3.0/glossary.md | 36 +-- product/zh/docs-mogdb/v3.0/overview.md | 2 +- ...-introduction-to-the-sql-execution-plan.md | 2 +- .../3-wdr/wdr-snapshot-schema.md | 2 +- .../13-json-functions.md | 6 +- .../19-security-functions.md | 16 +- .../23-system-information-functions.md | 2 +- .../sql-syntax/131-SET-TRANSACTION.md | 2 +- .../reference-guide/sql-syntax/41-COPY.md | 2 +- .../sql-syntax/45-CREATE-DATA-SOURCE.md | 2 +- .../reference-guide/sql-syntax/71-CURSOR.md | 2 +- .../supported-data-types/17-xml-type.md | 4 +- .../16-gstrace.md | 4 +- product/zh/docs-mogdb/v3.0/toc.md | 1 + product/zh/docs-mogdb/v3.0/toc_dev.md | 1 + 35 files changed, 296 insertions(+), 820 deletions(-) delete mode 100644 product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/1-database-server-exception-testing.md delete mode 100644 product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/2-network-exception-testing.md delete mode 100644 product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/3-routine-maintenance-testing.md delete mode 100644 product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/4-service-exception-testing.md create mode 100644 product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-14-package.md diff --git a/product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/1-database-server-exception-testing.md b/product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/1-database-server-exception-testing.md deleted file mode 100644 index daedfabd..00000000 --- a/product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/1-database-server-exception-testing.md +++ /dev/null @@ -1,217 +0,0 @@ ---- -title: MogDB数据库服务器异常测试 -summary: MogDB数据库服务器异常测试 -author: Liu Xu -date: 2021-03-04 ---- - -# MogDB数据库服务器异常测试 - -## 测试目的 - -测试MogDB在主节点异常宕机、备节点异常宕机、仲裁节点异常宕机、主+备节点异常宕机和仲裁+主节点异常宕机场景下的可用性、稳定性。 - -
- -## 测试环境 - -| 类别 | 服务端配置 | 客户端配置 | 数量 | -| -------- | --------------------- | ------------- | ----- | -| CPU | Kunpeng 920 | Kunpeng 920 | 128 | -| 内存 | DDR4,2933MT/s | DDR4,2933MT/s | 2048G | -| 硬盘 | Nvme 3.5T | Nvme 3T | 4个 | -| 文件系统 | Xfs | Xfs | 4 | -| OS | openEuler 20.03 (LTS) | Kylin V10 | | -| 数据库 | MogDB1.1.0安装包 | | | -| 测试工具 | pgbench | | | - -
- -## 主节点异常宕机 - -测试方案: - -1. 重启主机 - -2. 监控TPS变化 - -3. 加入新备机 - -4. 监控集群状态及TPS变化 - -测试步骤: - -1. 重启主机 - - ```bash - reboot - ``` - -2. 原先的主库做为备库新加入集群 - - ```bash - gs_ctl -b full build -D /gaussdata/openGauss/db1 - ``` - -3. 新备库追赶日志 - -4. 追赶完成 - -测试结果: - -- 主库关闭后,TPS从9000降至0,持续时间为50秒左右。vip到新主库(节点2)后,tps从0增至13000左右 - -- 老主厍作为新备库加入集群同步埶据时,tps从13000降到0 同步完成后恢9000正常水平 - -
- -## 备节点异常宕机 - -测试方案: - -1. 重启备机 - -2. 监控TPS变化 - -3. 备机加入集群 - -4. 监控集群状态及TPS变化 - -测试步骤: - -1. 重启备机 - - ```bash - reboot - ``` - -2. 备机加入集群 - - ```bash - gs_ctl start -D /gaussdata/openGauss/db1 -M standby - ``` - -3. 追赶数据 - - ```bash - Standby Catchup - ``` - -4. 追赶完成 - -测试结果: - -- 备库关闭后,tps从9000左右升至13000左右 - -- 备库加入集群后追赶数据tps从 13000降至0,追完成后恢复9000正常水平 - -
- -## 仲裁节点异常宕机 - -测试方案: - -1. 在nodc.conf里的ping_list参数加入一个vip - -2. 操作vip的上线与下线来模拟仲裁宕机 - -测试步骤: - -1. 在服务器ip上添加vip - - ```bash - ifconfig ens160:1 192.168.122.111 netmask 255.255.255.0 - ``` - -2. 在node.conf的ping_list参数加入vip,同步主备的配置文件并重启监控脚本 - -3. 在监控脚本运行正常的情况下,下掉模拟仲裁的vip,观察现象 - - ```bash - ifconfig ens160:1 down - ``` - -4. 手动上线模拟仲裁的vip,观察现象 - -测试结果: - -- 主备的监脚本报告仲裁ip ping失败,没发生其它的操作和现象 -- tps未观察到现象 - -
- -## 主+备节点异常宕机 - -测试方案: - -1. 同时reboot主备节点机器 - -2. 开启主备node_run脚本 - -3. 主备机器开启后手动启动主备库 - -测试步骤: - -1. 同时reboot主备节点机器 - - ```bash - reboot - reboot - ``` - -2. 开启主备node_run脚本 - -3. 主备机器开启后手动启动主备库 - -测试结果: - -tps在关库后降至0,启动集群后大约15秒后tps恢复至9000 - -
- -## 仲裁+主节点异常宕机 - -测试方案: - -同时关闭主库机器和下线仲裁的ip - -测试步骤: - -1. 同时关闭主库机器和下线仲裁的ip - -2. 备库查询状态 - -3. 启动主库以及主库监控脚本 - - ```bash - gs_ctl start -D /gaussdata/openGauss/db1 -M primary - ``` - -4. 查询集群状态 - -测试结果: - -- 关掉主库和仲裁后,tps从9000降到0 -- 主库回来后tps恢复到9000 - -
- -## 仲裁+备节点异常宕机 - -测试方案: - -同时关闭备库机器和移除仲裁的ip - -测试步骤: - -1. 同时关闭备库机器和移除仲裁的ip - -2. 查询主库 - -3. 没有其他现象 - -4. 备库恢复正常之后,启动备库监控脚本后,主库脚本报错消失 - -5. 启动备库 - -6. 查询集群状态 diff --git a/product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/2-network-exception-testing.md b/product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/2-network-exception-testing.md deleted file mode 100644 index d33baaa5..00000000 --- a/product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/2-network-exception-testing.md +++ /dev/null @@ -1,175 +0,0 @@ ---- -title: MogDB网络异常测试 -summary: MogDB网络异常测试 -author: Liu Xu -date: 2021-03-04 ---- - -# MogDB网络异常测试 - -## 测试范围 - -1. 主节点服务网卡异常 -2. 主节点心跳网卡异常 -3. 节点服务+心跳网卡异常 -4. 从节点服务网卡异常 -5. 从节点心跳网卡异常 -6. 主机VIP异常(掉线) - -
- -## 测试环境 - -| 类别 | 服务端配置 | 客户端配置 | 数量 | -| -------- | :-------------------: | :-----------: | :---: | -| CPU | Kunpeng 920 | Kunpeng 920 | 128 | -| 内存 | DDR4,2933MT/s | DDR4,2933MT/s | 2048G | -| 硬盘 | Nvme 3.5T | Nvme 3T | 4个 | -| 文件系统 | Xfs | Xfs | 4 | -| OS | openEuler 20.03 (LTS) | Kylin V10 | | -| 数据库 | MogDB1.1.0安装包 | | | -| 测试工具 | pgbench | | | - -
- -## 主节点服务网卡异常 - -测试方案: - -1. 先关闭网卡再开启 -2. 观察数据库状态 - -测试步骤: - -1. 记录初始集群状态 -2. 先关闭网卡再开启 -3. 观察备库状态 -4. 备库节点无法连接主库 -5. 查询集群状态,主备未发生切换 - -测试结果: - -1. 未发生切换 -2. 主库网络恢复正常后,备库从disconnect状态恢复normal状态 -3. TPS在主库服务网卡异常时从9000跌到0。在开启服务网卡后约15s TPS从0升至9000 - -
- -## 主节点心跳网卡异常 - -测试方案: - -1. 先关闭网卡并开启 -2. 观察数据库状态 - -测试步骤: - -1. 观察数据库状态 - -2. 关闭网卡再开启 -3. 观察数据库状态 -4. 发现未发生切换 -5. 观察集群状态 - -测试结果: - -1. 未发生切换 - -2. 未观察到此过程中的TPS发生变化 - -
- -## 主节点服务+心跳网卡异常 - -测试方案: - -1. 先关闭网卡再开启 - -2. 观察数据库状态 - -测试步骤: - -1. 观察初始数据库状态 - -2. 先关闭网卡再开启 - -3. 主库正常 - -测试结果: - -1. 未发生切换 - -2. 在服务网卡断开后,tps从9000降到0,服务恢复后TPS升到9000 - -
- -## 从节点服务网卡异常 - -测试方案: - -1. 先关闭网卡再开启 - -2. 观察数据库状态 - -测试步骤: - -1. 记录初始集群状态 - -2. 先闭网卡再开启 - -3. 观察主库状态 - -4. 备库服务网卡ip ping失败 - -5. 主备未切换 - -测试结果: - -1. 备库监控脚本报心跳错误,主备未发生切换 - -2. 备机服务网卡异常后,主库TPS上升到13000,备机服务网卡恢复后,主库TPS恢复9000 - -
- -## 从节点心跳网卡异常 - -测试方案: - -1. 先关闭网卡60s,再开启 - -2. 观察数据库状态 - -测试步骤: - -1. 观察数据库初始状态 - -2. 先关闭网卡60s,再开启 - -3. 脚本执行完毕后观察树据库状态 - 发现未发生切换,主库监控脚本报告备库服务网卡ip ping失败 - -测试结果: - -1. 未发生切换 - -
- -## 主机VIP异常(掉线) - -测试方案: - -先关闭再开启网卡bond0:1 - -测试步骤: - -1. 先关闭再开启网卡bond0:1 - -2. 观察数据库状态 - -3. 观察vip - -测试结果: - -1. 主库vip自动上线 - -2. TPS在vip先下线再上线之后恢复了正常 diff --git a/product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/3-routine-maintenance-testing.md b/product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/3-routine-maintenance-testing.md deleted file mode 100644 index 9ec9a578..00000000 --- a/product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/3-routine-maintenance-testing.md +++ /dev/null @@ -1,158 +0,0 @@ ---- -title: MogDB日常维护测试 -summary: MogDB日常维护测试 -author: Liu Xu -date: 2021-03-04 ---- - -# MogDB日常维护测试 - -## 测试范围 - -1. HA工具切换switchover - -2. gs_ctl切换 switchover - -3. HA工具切换failover - -4. gs_ctl切换 failover - -5. gs_ctl启动与HA配合相悖测试 - -6. 双主脑裂测试 - -
- -## 测试环境 - -| 类别 | 服务端配置 | 客户端配置 | 数量 | -| -------- | :-------------------: | :-----------: | :---: | -| CPU | Kunpeng 920 | Kunpeng 920 | 128 | -| 内存 | DDR4,2933MT/s | DDR4,2933MT/s | 2048G | -| 硬盘 | Nvme 3.5T | Nvme 3T | 4个 | -| 文件系统 | Xfs | Xfs | 4 | -| OS | openEuler 20.03 (LTS) | Kylin V10 | | -| 数据库 | MogDB1.1.0安装包 | | | -| 测试工具 | pgbench | | | - -
- -## HA工具切换switchover - -测试步骤: - -1. 查询数据库状态。 - -2. 在备库上执行切换命令,之后查询数据库状态。 - - ``` - /home/omm/venv/bin/python3 /home/omm/openGaussHA_standlone/switch.py -config /home/omm/openGaussHA_standlone/node.conf --switchover - ``` - -3. 在新主库上查询vip。 - -测试结果: - -主备角色切换正常。 - -
- -## gs_ctl切换 switchover - -测试步骤: - -1. 查询数据库状态。 -2. 使用命令进行切换,完成后查询状态。 -3. 查询vip。 - -测试结果: - -主备角色切换正常。 - -
- -## HA工具切换failover - -测试步骤: - -1. 查看数据库当前状态。 - -2. 执行ha的failover命令。 - -3. 观察集群状态。 - -4. 发现原备库成为新主库。 - -测试结果: - -1. 原先的备库成为新主库并有了vip。 - -2. 原先的主库被杀掉。 - -3. TPS在failover之后约10秒从6000升到13000。 - -
- -## gs_ctl切换 failover - -测试步骤: - -1. 查看数据库当前状态。 - -2. 执行gs_ctl的failover命令。 - -3. 观察新主库状态。 - -4. 观察原先的主库。 - -5. 观察脚本变化。 - -测试结果: - -1. 新主库等待10s被自动关闭,原先的主库不受影响,vip依然在原先的主库上。 - -2. 在备库failover后约5、6秒,TPS从9000升到13000。除波动外无其他变化。 - -
- -## gs_ctl启动与HA配合相悖测试 - -测试步骤: - -1. 记录集群状态。 - -2. 同时stop主库和备库。 - -3. gs_ctl 启动主库和备库,指定原来的备库为主库,主库为备库。 - -4. 观察脚本及集群状态。 - -测试结果: - -1. HA配置跟随实际情况调整。 - -2. TPS在关闭主库和备库库后从9000降至0,HA在检测到集群配置改变并在10s内修复挂起了新主库的vip,之后后约5、6s,TPS从0升到13000。 - -
- -## 双主脑裂测试 - -测试步骤: - -1. 查看当前集群状态。 - -2. 用gs_ctl 命令重启备库为主库。 - -测试结果: - -1. 超时10s后,非正常操作重新start的主库被监控脚本kill掉。 - -2. 修复备库并加入集群。 - - ``` - gs_ctl build -b full -D /gaussdata/openGauss/db1 - ``` - -3. 重启备库为主库后TPS从6000升到13000。 - -4. 备库重新加入集群后TPS从13000降到9000的一主一备水平。 diff --git a/product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/4-service-exception-testing.md b/product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/4-service-exception-testing.md deleted file mode 100644 index 660b77d7..00000000 --- a/product/zh/docs-mogdb/v3.0/about-mogdb/test-report/ha/4-service-exception-testing.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: MogDB服务异常测试 -summary: MogDB服务异常测试 -author: Liu Xu -date: 2021-03-04 ---- - -# MogDB服务异常测试 - -## 测试范围 - -1. 从节点数据库进程异常 - -2. 从库监控脚本异常 - -3. 主库文件系统异常 (影响HA进程) - -
- -## 测试环境 - -| 类别 | 服务端配置 | 客户端配置 | 数量 | -| -------- | :-------------------: | :-----------: | :---: | -| CPU | Kunpeng 920 | Kunpeng 920 | 128 | -| 内存 | DDR4,2933MT/s | DDR4,2933MT/s | 2048G | -| 硬盘 | Nvme 3.5T | Nvme 3T | 4个 | -| 文件系统 | Xfs | Xfs | 4 | -| OS | openEuler 20.03 (LTS) | Kylin V10 | | -| 数据库 | MogDB1.1.0安装包 | | | -| 测试工具 | pgbench | | | - -
- -## 从节点数据库进程异常 - -测试步骤: - -kill掉数据库进程。 - -测试结果: - -1. 观察集群状态。 - -2. 备库脚本显示心跳失败。 - -3. 未发生切换。 - -4. 在备库执行命令。 - - ``` - gs_ctl start -D /gaussdata/openGauss/db1 -M standby - ``` - -5. 集群恢复正常,自始至终未发生切换操作。 - -6. 在kill掉备库进程时,主库TPS从9000升到13000。 - -7. 未观察到主备切换操作。 - -
- -## 从库监控脚本异常 - -测试步骤: - -kill掉主库监控脚本。 - -测试结果: - -1. 观察集群状态。 - -2. 未观察到切换操作。 - -3. 主库监控脚本报告从库的脚本异常。 - -4. 恢复从库监控脚本。 - -5. TPS维持在9000。 - -
- -## 主库文件系统异常 (影响HA进程) - -测试步骤: - -修改ha所调用的主库数据库脚本权限,如gs_ctl。 - -测试结果: - -1. 修改了gs_ctl的rwx权限后,主库监控脚本报告心跳失败。 - -2. 检测不到实例状态。 - -3. 查询当前集群状态。 - -4. 等待约两分钟,未见发生切换。 diff --git a/product/zh/docs-mogdb/v3.0/administrator-guide/br/1-3-br.md b/product/zh/docs-mogdb/v3.0/administrator-guide/br/1-3-br.md index bd6d79b5..f4fb4d56 100644 --- a/product/zh/docs-mogdb/v3.0/administrator-guide/br/1-3-br.md +++ b/product/zh/docs-mogdb/v3.0/administrator-guide/br/1-3-br.md @@ -1460,5 +1460,5 @@ gs_backup参数可以分为如下几类: Successfully parsed configuration files. Performing remote restoration. Remote restoration succeeded. - Successfully restored openGauss. + Successfully restored mogdb. ``` diff --git a/product/zh/docs-mogdb/v3.0/administrator-guide/mot-engine/2-using-mot/6-mot-sample-tpcc-benchmark.md b/product/zh/docs-mogdb/v3.0/administrator-guide/mot-engine/2-using-mot/6-mot-sample-tpcc-benchmark.md index 9c1d841b..5a5eee2a 100644 --- a/product/zh/docs-mogdb/v3.0/administrator-guide/mot-engine/2-using-mot/6-mot-sample-tpcc-benchmark.md +++ b/product/zh/docs-mogdb/v3.0/administrator-guide/mot-engine/2-using-mot/6-mot-sample-tpcc-benchmark.md @@ -61,7 +61,7 @@ tpm-C指标单位表示为每分钟事务数-C,而C表示TPC-C特定基准。 - benchmarksql工具中的模式创建脚本需要调整为MOT语法,避免使用不支持的DDL。下载调整后的脚本:。该tar文件的内容包括sql.common.mogdb.mot文件夹和jTPCCTData.java文件,以及一个示例配置文件postgresql.conf和TPCC属性文件props.mot供参考。 - 将sql.common.mogdb.mot文件夹放在run文件夹下与sql.common同级的文件夹,用下载的Java文件替换src/client/jTPCCTData.java文件。 - 编辑run文件夹下的runDatabaseBuild.sh文件,将extraHistID从AFTER_LOAD列表中删除,以避免不支持的ALTER表DDL。 -- 将lib/postgres文件夹下的JDBC驱动替换为MogDB JDBC。驱动下载链接:。 +- 将lib/postgres文件夹下的JDBC驱动替换为openGauss JDBC。驱动下载链接:。 在下载的Java文件(与原始文件相比)中所做的唯一更改是注释错误日志打印,以进行序列化和重复键错误。这些错误在MOT中是正常的,因为MOT使用的是乐观并发控制(OCC)机制。 diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/3-x-tuner-parameter-optimization-and-diagnosis/3-2-preparations.md b/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/3-x-tuner-parameter-optimization-and-diagnosis/3-2-preparations.md index e9193e85..5e68d952 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/3-x-tuner-parameter-optimization-and-diagnosis/3-2-preparations.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/3-x-tuner-parameter-optimization-and-diagnosis/3-2-preparations.md @@ -56,7 +56,7 @@ X-Tuner 的整体架构如图1 X-Tuner 结构图所示,系统可以分为: **方法一:直接通过源代码运行** -1. 切换到xtuner的源代码目录下。对于openGauss社区代码来说,该路径在openGauss-server/src/gausskernel/dbmind/tools/xtuner。对于已经安装的数据库系统,则该源代码路径为 **$GAUSSHOME**/bin/dbmind/xtuner。 +1. 切换到xtuner的源代码目录下。对于已经安装的数据库系统,该源代码路径为 **$GAUSSHOME**/bin/dbmind/xtuner。 2. 在当前目录下可以看到 requirements.txt 等文件,通过pip包管理工具根据该 requirements.txt 文件安装依赖: diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/4-sqldiag-slow-sql-discovery/4-3-obtaining-help-information.md b/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/4-sqldiag-slow-sql-discovery/4-3-obtaining-help-information.md index 0b8ebae4..295e1922 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/4-sqldiag-slow-sql-discovery/4-3-obtaining-help-information.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/4-sqldiag-slow-sql-discovery/4-3-obtaining-help-information.md @@ -21,7 +21,7 @@ usage: main.py [-h] [-f CSV_FILE] [--predicted-file PREDICTED_FILE] [--config-file CONFIG_FILE] {train,predict,finetune} -SQLdiag integrated by openGauss. +SQLdiag integrated by MogDB. positional arguments: {train,predict,finetune} diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/5-a-detection-status-monitoring/5-2-preparations.md b/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/5-a-detection-status-monitoring/5-2-preparations.md index 425a08bc..d2f96e45 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/5-a-detection-status-monitoring/5-2-preparations.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/5-a-detection-status-monitoring/5-2-preparations.md @@ -34,7 +34,7 @@ anomaly_detection是一个独立于数据库内核之外的工具,其结构如 ## anomaly_detection的运行和安装方法 -1. 切换到anomaly_detection目录下。对于openGauss社区代码来说,该路径在openGauss-server/src/gausskernel/dbmind/tools/anomaly_detection。对于已经安装的数据库系统,则该源代码路径为 **$GAUSSHOME**/bin/dbmind/anomaly_detection。 +1. 切换到anomaly_detection目录下。对于已经安装的数据库系统,该源代码路径为 **$GAUSSHOME**/bin/dbmind/anomaly_detection。 2. 在当前目录下可以看到 requirements.txt 等文件,通过pip包管理工具根据该 requirements.txt 文件安装依赖: diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/5-a-detection-status-monitoring/5-4-obtaining-help-information.md b/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/5-a-detection-status-monitoring/5-4-obtaining-help-information.md index 832cd5d3..c74f8287 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/5-a-detection-status-monitoring/5-4-obtaining-help-information.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/5-a-detection-status-monitoring/5-4-obtaining-help-information.md @@ -43,7 +43,7 @@ optional arguments: Project location in remote server. --role {agent,collector,monitor} Run as 'agent', 'collector', 'monitor'. Notes: ensure - the normal operation of the openGauss in agent. + the normal operation of the MogDB in agent. --metric-name METRIC_NAME Metric name to be predicted, you must provide an specified metric name. . diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/5-a-detection-status-monitoring/5-8-ai-manager.md b/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/5-a-detection-status-monitoring/5-8-ai-manager.md index 82dfd54b..9868d9e9 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/5-a-detection-status-monitoring/5-8-ai-manager.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/5-a-detection-status-monitoring/5-8-ai-manager.md @@ -23,13 +23,13 @@ ai_manager是AI特性部署工具,旨在为ai特性提供自动化、高效便 安装命令示例: ```bash -python3 ai_manager --module anomaly_detection --action install --param-file opengauss.json +python3 ai_manager --module anomaly_detection --action install --param-file mogdb.json ``` 卸载命令示例: ```bash -python3 ai_manager --module anomaly_detection--action uninstall --param-file opengauss.json +python3 ai_manager --module anomaly_detection--action uninstall --param-file mogdb.json ``` 参数文件示例: diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-11-cursors.md b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-11-cursors.md index 119557d5..23e0f1f2 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-11-cursors.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-11-cursors.md @@ -11,7 +11,8 @@ date: 2021-03-04 为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标,存储过程可以控制上下文区域的变化。 -> **须知:** +> ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-notice.gif)**须知:** +> > 当游标作为存储过程的返回值时,如果使用JDBC调用该存储过程,返回的游标将不可用。 游标的使用分为显式游标和隐式游标。对于不同的SQL语句,游标的使用情况不同,详细信息请参见[表1](#游标使用情况)。 @@ -38,7 +39,7 @@ date: 2021-03-04 **图 1** static_cursor_define::= - ![static_cursor_define](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-1.jpg) + ![static_cursor_define](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-1.jpg) 参数说明: @@ -52,8 +53,9 @@ date: 2021-03-04 - select_statement:查询语句。 - > **说明:** - > 根据执行计划的不同,系统会自动判断该游标是否可以用于以倒序的方式检索数据行。 + > ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif)**说明:** + > + > 根据执行计划的不同,系统会自动判断该游标是否可以用于以倒序的方式检索数据行。 **定义动态游标:**指ref游标,可以通过一组静态的SQL语句动态的打开游标。首先定义ref游标类型,然后定义该游标类型的游标变量,在打开游标时通过OPEN FOR动态绑定SELECT语句。 @@ -61,11 +63,11 @@ date: 2021-03-04 **图 2** cursor_typename::= - ![cursor_typename](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-2.png) + ![cursor_typename](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-2.png) **图 3** dynamic_cursor_define::= - ![dynamic_cursor_define](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-3.png) + ![dynamic_cursor_define](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-3.png) 2. **打开静态游标:**就是执行游标所对应的SELECT语句,将其查询结果放入工作区,并且指针指向工作区的首部,标识游标结果集合。如果游标查询语句中带有FOR UPDATE选项,OPEN语句还将锁定数据库表中游标结果集合对应的数据行。 @@ -73,7 +75,7 @@ date: 2021-03-04 **图 4** open_static_cursor::= - ![open_static_cursor](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-4.png) + ![open_static_cursor](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-4.png) **打开动态游标:**可以通过OPEN FOR语句打开动态游标,动态绑定SQL语句。 @@ -81,7 +83,7 @@ date: 2021-03-04 **图 5** open_dynamic_cursor::= - ![open_dynamic_cursor](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-5.png) + ![open_dynamic_cursor](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-5.png) PL/SQL程序不能用OPEN语句重复打开一个游标。 @@ -91,7 +93,7 @@ date: 2021-03-04 **图 6** fetch_cursor::= - ![fetch_cursor](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-6.png) + ![fetch_cursor](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-6.png) 4. 对该记录进行处理。 @@ -103,7 +105,7 @@ date: 2021-03-04 **图 7** close_cursor::= - ![close_cursor](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-7.jpg) + ![close_cursor](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-7.jpg) **属性** @@ -124,8 +126,10 @@ date: 2021-03-04 **格式调用为**: SQL% -> **说明:** -> INSERT、UPDATE、DELETE、SELECT语句中不必明确定义游标。 +> ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif)**说明:** +> +> - INSERT、UPDATE、DELETE、SELECT语句中不必明确定义游标。 +> - 兼容O模式下,GUC参数behavior_compat_options为compat_cursor时,隐式游标跨存储过程有效。 **属性** @@ -170,7 +174,7 @@ FOR AS循环的语法请参见[图8](#FOR_AS_loop)。 **图 8** FOR_AS_loop::= -![FOR_AS_loop](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-8.png) + ![FOR_AS_loop](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/cursors-8.png) **注意事项** 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 af65631f..21a23e41 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 @@ -7,9 +7,7 @@ date: 2021-03-04 # Retry管理 -Retry是数据库在SQL或存储过程(包含匿名块)执行失败时,在数据库内部进行重新执行的过程,以提高执行成功率和用户体验。数据库内部通过检查 - -发生错误时的错误码及Retry相关配置,决定是否进行重试。 +Retry是数据库在SQL或存储过程(包含匿名块)执行失败时,在数据库内部进行重新执行的过程,以提高执行成功率和用户体验。数据库内部通过检查发生错误时的错误码及Retry相关配置,决定是否进行重试。 - 失败时回滚之前执行的语句,并重新执行存储过程进行Retry。 diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-13-debugging.md b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-13-debugging.md index 8fe9e9f3..aed5dc49 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-13-debugging.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-13-debugging.md @@ -7,9 +7,11 @@ date: 2021-03-04 # 调试 -## **语法** +## 语法 -RAISE有以下五种语法格式: +### RAISE语法 + +有以下五种语法格式: **图 1** raise_format::= @@ -33,7 +35,7 @@ RAISE有以下五种语法格式: **参数说明:** -- level选项用于指定错误级别,有DEBUG,LOG,INFO,NOTICE,WARNING以及EXCEPTION(默认值)。EXCEPTION抛出一个正常终止当前事务的异常,其他的仅产生不同异常级别的信息。特殊级别的错误信息是否报告到客户端、写到服务器日志由log_min_messages和client_min_messages这两个配置参数控制。 +- level选项用于指定错误级别,有DEBUG,LOG,INFO,NOTICE,WARNING以及EXCEPTION(默认值)。EXCEPTION抛出一个正常终止当前事务的异常,其他的仅产生不同异常级别的信息。特殊级别的错误信息是否报告到客户端、写到服务器日志由[log_min_messages](2-logging-time#log_min_messages)和[client_min_messages](2-logging-time#client_min_messages)这两个配置参数控制。 - format:格式字符串,指定要报告的错误消息文本。格式字符串后可跟表达式,用于向消息文本中插入。在格式字符串中,%由format后面跟着的参数的值替换,%%用于打印出%。例如: @@ -55,12 +57,30 @@ RAISE有以下五种语法格式: 如果在RAISE EXCEPTION命令中既没有指定条件名也没有指定SQLSTATE,默认用RAISE EXCEPTION (P0001)。如果没有指定消息文本,默认用条件名或者SQLSTATE作为消息文本。 -> **须知:** -> 当由SQLSTATE指定了错误码,则不局限于已定义的错误码,可以选择任意包含五个数字或者大写的ASCII字母的错误码,而不是00000。建议避免使用以三个0结尾的错误码,因为这种错误码是类别码,会被整个种类捕获。 +> ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-notice.gif)**须知:** +> +> - 当由SQLSTATE指定了错误码,则不局限于已定义的错误码,可以选择任意包含五个数字或者大写的ASCII字母的错误码,而不是00000。建议避免使用以三个0结尾的错误码,因为这种错误码是类别码,会被整个种类捕获。 +> - 兼容O模式下,SQLCODE等于SQLSTATE。 +> +> ![https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif)**说明:** > -> **说明:** > [图5](#raise::=)所示的语法不接任何参数。这种形式仅用于一个BEGIN块中的EXCEPTION语句,它使得错误重新被处理。 +### EXCEPTION_INIT语法 + +兼容O模式下,支持使用EXCEPTION_INIT语法自定义错误码SQLCODE。语法格式如下: + +**图 6** exception_init::= + +![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/debugging-6.png) + +**参数说明:** + +- exception_name为用户申明的异常名,EXCEPTION_INIT语法必须出现在与申明异常相同部分,位于申明异常之后。 +- sqlcode为自定义的SQLCODE,必须为负整数,取值范围-2147483647~-1。 + +> ![img](https://opengauss.org/zh/docs/3.0.0/docs/Developerguide/public_sys-resources/icon-notice.gif) **须知:** 使用EXCEPTION_INIT语法自定义错误码SQLCODE时,SQLSTATE与SQLCODE相同,SQLERRM格式为” xxx: non-MogDB Exception”。比如自定义SQLCODE=-1,则SQLSTATE=“-1”,SQLERRM=” 1: non-MogDB Exception”。 + ## **示例** 终止事务时,给出错误和提示信息: @@ -84,10 +104,10 @@ HINT: Please check your user ID ```sql CREATE OR REPLACE PROCEDURE proc_raise2(user_id in integer) -AS -BEGIN -RAISE 'Duplicate user ID: %',user_id USING ERRCODE = 'unique_violation'; -END; +AS +BEGIN +RAISE 'Duplicate user ID: %',user_id USING ERRCODE = 'unique_violation'; +END; / \set VERBOSITY verbose @@ -96,7 +116,6 @@ call proc_raise2(300011); --执行结果 ERROR: Duplicate user ID: 300011 SQLSTATE: 23505 -LOCATION: exec_stmt_raise, pl_exec.cpp:3482 ``` 如果主要的参数是条件名或者是SQLSTATE,可以使用: @@ -108,20 +127,20 @@ RAISE SQLSTATE '22012'; 例如: ```sql -CREATE OR REPLACE PROCEDURE division(div in integer, dividend in integer) -AS -DECLARE -res int; - BEGIN - IF dividend=0 THEN - RAISE division_by_zero; - RETURN; - ELSE - res := div/dividend; +CREATE OR REPLACE PROCEDURE division(div in integer, dividend in integer) +AS +DECLARE +res int; + BEGIN + IF dividend=0 THEN + RAISE division_by_zero; + RETURN; + ELSE + res := div/dividend; RAISE INFO 'division result: %', res; - RETURN; - END IF; - END; + RETURN; + END IF; + END; / call division(3,0); @@ -134,3 +153,22 @@ ERROR: division_by_zero ```sql RAISE unique_violation USING MESSAGE = 'Duplicate user ID: ' || user_id; ``` + +兼容O模式下,支持使用语法EXCEPTION_INIT自定义错误码SQLCODE: + +```sql +declare + deadlock_detected exception; + pragma exception_init(deadlock_detected, -1); +begin + if 1 > 0 then + raise deadlock_detected; + end if; +exception + when deadlock_detected then + raise notice 'sqlcode:%,sqlstate:%,sqlerrm:%',sqlcode,sqlstate,sqlerrm; +end; +/ +--执行结果 +NOTICE: sqlcode:-1,sqlstate:-1,sqlerrm: 1: non-GaussDB Exception +``` diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-14-package.md b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-14-package.md new file mode 100644 index 00000000..c4f94d77 --- /dev/null +++ b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-14-package.md @@ -0,0 +1,21 @@ +--- +title: package +summary: package +author: Guo Huan +date: 2022-04-27 +--- + +# package + +package是一组相关存储过程、函数、变量、常量、游标等PL/SQL程序的组合,具有面向对象的特点,可以对PL/SQL程序设计元素进行封装。package中的函数具有统一性,创建、删除、修改都统一进行。 + +package包含包头(Package Specification)和Package Body两个部分,其中包头所包含的声明可以被外部函数、匿名块等访问,而在包体中包含的声明不能被外部函数、匿名块等访问,只能被包体内函数和存储过程等访问。 + +PACKAGE的创建请参见[CREATE PACKAGE](51.2-CREATE-PACKAGE)。 + +> ![img](https://opengauss.org/zh/docs/3.0.0/docs/Developerguide/public_sys-resources/icon-notice.gif) **须知:** +> +> - 跨PACKAGE变量不支持作为FOR循环中控制变量使用。 +> - PACKAGE中定义类型不支持删除、修改等操作,也不支持定义表。 +> - 不支持以SCHEMA.PACKAGE.CUROSR的形式引用cursor变量。 +> - 带参数的CURSOR仅支持在当前PACKAGE内打开。 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 7e750846..24d646aa 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 @@ -1,11 +1,11 @@ --- -title: 数组和record -summary: 数组和record +title: 数组、集合和record +summary: 数组、集合和record author: Guo Huan date: 2021-03-04 --- -# 数组和record +# 数组、集合和record ## 数组 @@ -26,17 +26,58 @@ TYPE array_type IS VARRAY(size) OF data_type; - size: 取值为正整数,表示可以容纳的成员的最大数量。 - data_type: 要创建的数组中成员的类型。 -> **说明:** +> ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif)**说明:** > > - 在MogDB中,数组会自动增长,访问越界会返回一个NULL,不会报错。 > - 在存储过程中定义的数组类型,其作用域仅在该存储过程中。 > - 建议选择上述定义方法的一种来自定义数组类型,当同时使用两种方法定义同名的数组类型时,MogDB会优先选择存储过程中定义的数组类型来声明数组变量。 > - data_type也可以为存储过程中定义的record类型(匿名块不支持),但不可以为存储过程中定义的数组或集合类型。 -MogDB支持使用圆括号来访问数组元素,且还支持一些特有的函数,如extend、count、first、last来访问数组的内容。 +MogDB支持使用圆括号来访问数组元素,且还支持一些特有的函数,如extend、count、first、last、prior、exists、 trim、next、delete来访问数组的内容。 -> **说明:** -> 存储过程中如果有DML语句(SELECT、UPDATE、INSERT、DELETE),DML语句推荐使用中括号来访问数组元素,使用小括号默认识别为数组访问,若数组不存在,则识别为函数表达式。 +> ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif)**说明:** +> +> - 存储过程中如果有DML语句(SELECT、UPDATE、INSERT、DELETE),DML语句推荐使用中括号来访问数组元素,使用小括号默认识别为数组访问,若数组不存在,则识别为函数表达式。 +> - 存储过程中的table of类型、record类型、clob作为出入参、游标、raise info等对大于1GB的clob类型不支持。 + +## 集合 + +**集合类型的使用** + +在使用集合之前,需要自定义一个集合类型。 + +在存储过程中紧跟AS关键字后面定义集合类型。定义方法如下。 + +![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/arrays-and-records-2.png) + +其中: + +- table_type:要定义的集合类型名。 +- TABLE:表示要定义集合类型。 +- data_type:要创建的集合中成员的类型。 +- indexby_type: 创建集合索引的类型。 + +> ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif) **说明:** +> +> - 在MogDB中,集合会自动增长,访问越界会返回一个NULL,不会报错。 +> - 在存储过程中定义的集合类型,其作用域仅在该存储过程中。 +> - 索引的类型仅支持integer和varchar类型,其中varchar的长度暂不约束。 +> - NOT NULL只支持语法不支持功能。 +> - data_type可以为存储过程内定义的record类型,集合类型(匿名块不支持),不可以为数组类型。 +> - 不支持跨package的嵌套集合类型变量使用。 +> - 不支持record嵌套table of index by类型的变量作为存储过程的出入参。 +> - 不支持table of index by类型的变量作为函数的出入参。 +> - 不支持通过raise info打印整个嵌套table of变量。 +> - 不支持跨自治事务传递table of变量。 +> - 不支持存储过程的出入参定义为嵌套table of类型。 + +MogDB支持使用圆括号来访问集合元素,且还支持一些特有的函数,如extend、count、first、last、prior、next、delete来访问集合的内容。 + +集合函数支持multiset union/intersect/except all/distinct函数。 + +> ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif) **说明:** +> +> 同一个表达式里不支持两个以上table of index by类型变量的函数调用。 ## 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 abf3c088..c118ba9d 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 @@ -68,18 +68,19 @@ my_id_copy my_id%TYPE; my_employee employee%ROWTYPE ``` -同样可以使用在cursor上面,该组数据的字段名称与字段类型都与employee表相同。%TYPE也可以引用cursor中某一列的类型,我们可以通过如下定义: +同样可以使用在cursor上面,该组数据的字段名称与字段类型都与employee表相同(对于PACKAGE中的cursor,可以省略%ROWTYPE)。%TYPE也可以引用cursor中某一列的类型,我们可以通过如下定义: ``` cursor cur is select * from employee; my_employee cur%ROWTYPE my_name cur.firstname%TYPE +my_employee2 cur -- 对于PACKAGE中定义的cursor,可以省略%ROWTYPE字段 ``` > ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-notice.gif) **须知:** > -> - %TYPE不支持引用复合类型或RECORD类型变量的类型、RECORD类型的某列类型。 -> - %ROWTYPE不支持引用复合类型或RECORD类型变量的类型。 +> - %TYPE不支持引用复合类型或RECORD类型变量的类型、RECORD类型的某列类型、跨PACKAGE复合类型变量的某列类型、跨PACKAGE cursor变量的某列类型等。 +> - %ROWTYPE不支持引用复合类型或RECORD类型变量的类型、跨PACKAGE cursor的类型。 **变量作用域** @@ -150,6 +151,31 @@ END; > - INTO 方式赋值仅支持对第一层列赋值,且不支持二维及以上数组; > - 引用嵌套的列值时,若存在数组下标,目前仅支持在前三层列中只存在一个小括号情况,建议使用方括号[ ]引用下标; +**INTO/BULK COLLECT INTO** + +将存储过程内语句返回的值存储到变量内,BULK COLLECT INTO允许将部分或全部返回值暂存到数组内部。 + +示例: + +```sql +mogdb=# DECLARE + my_id integer; +BEGIN + select id into my_id from customers limit 1; -- 赋值 +END; +/ + +mogdb=# DECLARE + type id_list is varray(6) of customers.id%type; + id_arr id_list; +BEGIN + select id bulk collect into id_arr from customers order by id DESC limit 20; -- 批量赋值 +END; +/ +``` + +> ![img](https://opengauss.org/zh/docs/3.0.0/docs/Developerguide/public_sys-resources/icon-notice.gif) **须知:** BULK COLLECT INTO 只支持批量赋值给数组。合理使用LIMIT字段避免操作过量数据导致性能下降。 + ## 调用语句 **语法** 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 af12c44f..bbc94c7d 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 @@ -9,7 +9,7 @@ date: 2021-03-04 ## 执行动态查询语句 -介绍执行动态查询语句。MogDB提供两种方式:使用EXECUTE IMMEDIATE、OPEN FOR实现动态查询。前者通过动态执行SELECT语句,后者结合了游标的使用。当需要将查询的结果保存在一个数据集用于提取时,可使用OPEN FOR实现动态查询。 +介绍执行动态查询语句。MogDB提供EXECUTE IMMEDIATE和OPEN FOR两种方式实现动态查询。EXECUTE IMMEDIATE是通过动态执行SELECT语句,OPEN FOR是结合了游标的使用。当需要将查询的结果保存在一个数据集用于提取时,可使用OPEN FOR实现动态查询。 **EXECUTE IMMEDIATE** 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 c3848946..90a3b500 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 @@ -19,7 +19,7 @@ MogDB提供两种方式返回数据:RETURN或RETURN NEXT及RETURN QUERY。其 **图 1** return_clause::= -![return_clause](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-1.jpg) + ![return_clause](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-1.jpg) 对以上语法的解释如下: @@ -37,11 +37,11 @@ MogDB提供两种方式返回数据:RETURN或RETURN NEXT及RETURN QUERY。其 return_next_clause::= -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-2.png) + ![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-2.png) return_query_clause::= -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-3.png) + ![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-3.png) 对以上语法的解释如下: @@ -103,7 +103,7 @@ MogDB有五种形式的IF: **图 2** IF_THEN::= - ![IF_THEN](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-4.jpg) + ![IF_THEN](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-4.jpg) IF_THEN语句是IF的最简单形式。如果条件为真,statements将被执行。否则,将忽略它们的结果使该IF_THEN语句执行结束。 @@ -119,7 +119,7 @@ MogDB有五种形式的IF: **图 3** IF_THEN_ELSE::= - ![IF_THEN_ELSE](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-5.jpg) + ![IF_THEN_ELSE](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-5.jpg) IF_THEN_ELSE语句增加了ELSE的分支,可以声明在条件为假的时候执行的语句。 @@ -148,13 +148,13 @@ MogDB有五种形式的IF: END IF; ``` - 这种形式实际上就是在一个IF语句的ELSE部分嵌套了另一个IF语句。因此需要一个END IF语句给每个嵌套的IF,另外还需要一个END IF语句结束父IF-ELSE。如果有多个选项,可使用下面的形式。 + 这种形式实际上就是在一个IF语句的ELSE部分嵌套了另一个IF语句。因此需要一个END IF语句给每个嵌套的IF,另外还需要一个END IF语句结束父IF-ELSE。如果有多个选项,可使用下面的形式。 - IF_THEN_ELSIF_ELSE **图 4** IF_THEN_ELSIF_ELSE::= - ![IF_THEN_ELSIF_ELSE](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-6.png) + ![IF_THEN_ELSIF_ELSE](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-6.png) **示例** @@ -190,9 +190,9 @@ MogDB有五种形式的IF: RETURN; END; / - + CALL proc_control_structure(3); - + --删除存储过程 DROP PROCEDURE proc_control_structure; ``` @@ -205,7 +205,7 @@ MogDB有五种形式的IF: **图 5** loop::= -![loop](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-7.png) + ![loop](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-7.png) **示例** @@ -228,7 +228,8 @@ AS CALL proc_loop(10,5); ``` -> **须知:** +> ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-notice.gif)**须知:** +> > 该循环必须要结合EXIT使用,否则将陷入死循环。 **WHILE_LOOP语句** @@ -237,7 +238,7 @@ CALL proc_loop(10,5); **图 6** while_loop::= -![while_loop](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-8.png) + ![while_loop](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-8.png) 只要条件表达式为真,WHILE语句就会不停的在一系列语句上进行循环,在每次进入循环体的时候进行条件判断。 @@ -271,9 +272,9 @@ DROP TABLE integertable; **图 7** for_loop::= -![for_loop](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-9.png) + ![for_loop](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-9.png) -> **说明:** +> ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif)**说明:** > > - 变量name会自动定义为integer类型并且只在此循环里存在。变量name介于lower_bound和upper_bound之间。 > - 当使用REVERSE关键字时,lower_bound必须大于等于upper_bound,否则循环体不会被执行。 @@ -284,9 +285,9 @@ DROP TABLE integertable; **图 8** for_loop_query::= -![for_loop_query](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-10.png) + ![for_loop_query](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-10.png) -> **说明:** +> ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif)**说明:** > 变量target会自动定义,类型和query的查询结果的类型一致,并且只在此循环中有效。target的取值就是query的查询结果。 **FORALL批量查询语句** @@ -295,10 +296,12 @@ DROP TABLE integertable; **图 9** forall::= -![forall](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-11.png) + ![forall](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-16.png) -> **说明:** -> 变量index会自动定义为integer类型并且只在此循环里存在。index的取值介于low_bound和upper_bound之间。 +> ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif)**说明:** +> +> - 变量index会自动定义为integer类型并且只在此循环里存在。index的取值介于low_bound和upper_bound之间。 +> - 如果声明了SAVE EXCEPTIONS,则会将循环体DML执行过程中每次遇到的异常保存在SQL&BULK_EXCEPTIONS中,并在执行结束后统一抛出一个异常,循环过程中没有异常的执行的结果在当前子事务内不会回滚。 **示例** @@ -342,13 +345,13 @@ DROP TABLE hdfs_t1; **图 10** case_when::= -![case_when](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-12.png) + ![case_when](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-12.png) when_clause子句的语法图参见[图11](#when_clause)。 **图 11** when_clause::= -![when_clause](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-13.png) + ![when_clause](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-13.png) 参数说明: @@ -483,7 +486,8 @@ DROP TABLE mytab; 当控制到达给y赋值的地方时,会有一个division_by_zero错误失败。这个错误将被EXCEPTION子句捕获。而在RETURN语句里返回的数值将是x的增量值。 -> **说明:** +> ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif)**说明:** +> > 进入和退出一个包含EXCEPTION子句的块要比不包含的块开销大的多。因此,不必要的时候不要使用EXCEPTION。 > 在下列场景中,无法捕获处理异常,整个存储过程回滚:节点故障、网络故障引起的存储过程参与节点线程退出以及COPY FROM操作中源数据与目标表的表结构不一致造成的异常。 @@ -532,11 +536,11 @@ GOTO语句可以实现从GOTO位置到目标语句的无条件跳转。GOTO语 label declaration ::= -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-14.png) + ![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-14.png) goto statement ::= -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-15.png) + ![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/developer-guide/control-statements-15.png) **示例** diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-9-transaction-management.md b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-9-transaction-management.md index 6523976e..da6d5e91 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-9-transaction-management.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/plpgsql/1-9-transaction-management.md @@ -33,6 +33,13 @@ date: 2021-03-04 - 支持在子事务中调用含有SAVEPOINT的存储过程,即存储过程中使用外部定义的SAVEPOINT,回退事务状态到存储过程外定义的SAVEPOINT位置。 - 支持存储过程外部对存储过程内定义的SAVEPOINT可见,即存储过程外可以将事务修改回滚到存储过程中定义SAVEPOINT的位置。 - 支持多数PLSQL的上下文和语句内调用COMMIT/ROLLBACK/SAVEPOINT,包括常用的IF/FOR/CURSOR LOOP/WHILE。 +- 支持存储过程返回值与简单表达式计算中调用含有COMMIT/ROLLBACK/SAVEPOINT的存储过程或者函数。 + +支持提交/回滚的内容: + +- 支持DDL在COMMIT/ROLLBACK后的提交/回滚。 +- 支持DML的COMMIT/ROLLBACK后的提交。 +- 支持存储过程内GUC参数的回滚提交。 ## **使用限制** @@ -48,7 +55,6 @@ date: 2021-03-04 - 不支持SQL中调用含有COMMIT/ROLLBACK/SAVEPOINT语句的存储过程,除了SELECT PROC以及CALL PROC。 - 存储过程头带有GUC参数设置的不允许调用COMMIT/ROLLBACK/SAVEPOINT语句。 - 不支持CURSOR/EXECUTE语句,以及各类表达式内调用COMMIT/ROLLBACK/SAVEPOINT。 -- 不支持存储过程返回值与表达式计算中调用含有COMMIT/ROLLBACK/SAVEPOINT的存储过程。 - 自治事务和存储过程事务是两个独立的事务,不能互相使用对方事务中定义的保存点。 不支持提交回滚的内容: @@ -102,9 +108,8 @@ date: 2021-03-04 ROLLBACK; END; / - ``` - + - 示例3:支持在事务块里调用含有COMMIT/ROLLBACK的存储过程,即通过/BEGIN/START/END等开启控制的外部事务。 ```sql @@ -137,7 +142,27 @@ date: 2021-03-04 / ``` -- 示例5:支持存储过程内GUC参数的回滚提交。 +- 示例5:支持存储过程返回值与简单表达式计算。 + + ```sql + CREATE OR REPLACE PROCEDURE exec_func3(RET_NUM OUT INT) + AS + BEGIN + RET_NUM := 1+1; + COMMIT; + END; + / + CREATE OR REPLACE PROCEDURE exec_func4(ADD_NUM IN INT) + AS + SUM_NUM INT; + BEGIN + SUM_NUM := ADD_NUM + exec_func3(); + COMMIT; + END; + / + ``` + +- 示例6:支持存储过程内GUC参数的回滚提交。 ```sql SHOW explain_perf_mode; @@ -159,7 +184,7 @@ date: 2021-03-04 SET enable_force_vector_engine = off; ``` -- 示例6:函数(Function)中不允许调用commit/rollback语句,同时不允许函数调用含有commit/rollback的存储过程。 +- 示例7:函数(Function)中不允许调用commit/rollback语句,同时不允许函数调用含有commit/rollback的存储过程。 ```sql CREATE OR REPLACE FUNCTION FUNCTION_EXAMPLE1() RETURN INT @@ -180,7 +205,7 @@ date: 2021-03-04 / ``` -- 示例7:函数(Fucntion)中不允许调用带有commit/rollback语句的存储过程。 +- 示例8:函数(Fucntion)中不允许调用带有commit/rollback语句的存储过程。 ```sql CREATE OR REPLACE FUNCTION FUNCTION_EXAMPLE2() RETURN INT @@ -195,7 +220,7 @@ date: 2021-03-04 / ``` -- 示例8:不允许Trigger的存储过程包含commit/rollback语句,或调用带有commit/rollback语句的存储过程。 +- 示例9:不允许Trigger的存储过程包含commit/rollback语句,或调用带有commit/rollback语句的存储过程。 ```sql CREATE OR REPLACE FUNCTION FUNCTION_TRI_EXAMPLE2() RETURN TRIGGER @@ -220,7 +245,7 @@ date: 2021-03-04 DELETE FROM EXAMPLE1; ``` -- 示例9:不支持带有IMMUABLE以及SHIPPABLE的存储过程调用commit/rollback,或调用带有commit/rollback语句的存储过程。 +- 示例10:不支持带有IMMUABLE以及SHIPPABLE的存储过程调用commit/rollback,或调用带有commit/rollback语句的存储过程。 ```sql CREATE OR REPLACE PROCEDURE TRANSACTION_EXAMPLE1() @@ -239,23 +264,6 @@ date: 2021-03-04 / ``` -- 示例10:不支持存储过程中任何变量的提交,包括存储过程内声明的变量或者传入的参数。 - - ```sql - CREATE OR REPLACE PROCEDURE TRANSACTION_EXAMPLE2(EXP_OUT OUT INT) - AS - EXP INT; - BEGIN - EXP_OUT := 0; - COMMIT; - DBE_OUTPUT.PRINT_LINE('EXP IS:'||EXP); - EXP_OUT := 1; - ROLLBACK; - DBE_OUTPUT.PRINT_LINE('EXP IS:'||EXP); - END; - / - ``` - - 示例11:不支持出现在SQL中的调用(除了Select Procedure)。 ```sql @@ -344,27 +352,7 @@ date: 2021-03-04 / ``` -- 示例15:不支持存储过程返回值与表达式计算。 - - ```sql - CREATE OR REPLACE PROCEDURE exec_func3(RET_NUM OUT INT) - AS - BEGIN - RET_NUM := 1+1; - COMMIT; - END; - / - CREATE OR REPLACE PROCEDURE exec_func4(ADD_NUM IN INT) - AS - SUM_NUM INT; - BEGIN - SUM_NUM := ADD_NUM + exec_func3(); - COMMIT; - END; - / - ``` - -- 示例16:存储过程使用保存点回退事务部分修改。 +- 示例15:存储过程使用保存点回退事务部分修改。 ```sql CREATE OR REPLACE PROCEDURE STP_SAVEPOINT_EXAMPLE1() @@ -378,8 +366,8 @@ date: 2021-03-04 END; / ``` - -- 示例17:存储过程中使用保存点回退到存储过程外部定义的保存点。 + +- 示例16:存储过程中使用保存点回退到存储过程外部定义的保存点。 ```sql CREATE OR REPLACE PROCEDURE STP_SAVEPOINT_EXAMPLE2() @@ -399,7 +387,7 @@ date: 2021-03-04 COMMIT; ``` -- 示例18:存储过程外部回退到存储过程中定义的保存点。 +- 示例17:存储过程外部回退到存储过程中定义的保存点。 ```sql CREATE OR REPLACE PROCEDURE STP_SAVEPOINT_EXAMPLE3() @@ -410,7 +398,7 @@ date: 2021-03-04 INSERT INTO EXAMPLE1 VALUES(2); END; / - + BEGIN; INSERT INTO EXAMPLE1 VALUES(3); CALL STP_SAVEPOINT_EXAMPLE3(); diff --git a/product/zh/docs-mogdb/v3.0/glossary.md b/product/zh/docs-mogdb/v3.0/glossary.md index 402e28fb..5c97342a 100644 --- a/product/zh/docs-mogdb/v3.0/glossary.md +++ b/product/zh/docs-mogdb/v3.0/glossary.md @@ -33,13 +33,13 @@ date: 2021-03-04 | DML | Data Manipulation Language,数据操纵语言。 | | 备份 | 备份件或者备份过程。指复制并归档计算机数据,当发生数据丢失事件时,可以用该复制并归档的数据来恢复原始数据。 | | 备份和恢复 | 保护数据库防止由于媒介失效或人为错误造成的数据丢失过程中涉及的一组概念、过程及策略。 | -| 备机 | openGauss双机方案中的一个节点,用于作为主机的备份,在主机异常时,备机会切换到主机状态,以确保能正常提供数据服务。 | +| 备机 | MogDB双机方案中的一个节点,用于作为主机的备份,在主机异常时,备机会切换到主机状态,以确保能正常提供数据服务。 | | 崩溃 | 崩溃(或系统崩溃)指计算机或程序(例如软件应用程序或操作系统)异常终止的事件。出现错误后,通常会自动退出。有时出现恶意程序冻结或挂起直到崩溃上报服务记录崩溃的详细信息。对于操作系统内核关键部分的程序,整个计算机可能瘫痪(可能造成致命的系统错误)。 | | 编码 | 编码是指用代码来表示各组数据资料,使其成为可利用计算机进行处理和分析的信息。用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。 | | 编码技术 | 呈现计算机软硬件识别的特定字符集数据的技术。 | | 表 | 表是由行与列组合成的。每一列被当作是一个字段。每个字段中的值代表一种类型的数据。例如,一个表可能有3个字段:姓名、城市和国家。这个表就会有3列:一列代表姓名,一列代表城市,一列代表国家。表中的每一行包含3个字段的内容,姓名字段包含姓名,城市字段包含城市,国家字段包含国家。 | | 表空间 | 包含表、索引、大对象、长数据等数据的逻辑存储结构。表空间在物理数据和逻辑数据间提供了抽象的一层,为所有的数据库对象分配存储空间。表空间创建好后,创建数据库对象时可以指定该对象所属的表空间。 | -| 并发控制 | 在多用户环境下同时执行多个事务并保证数据完整性的一个DBMS服务。并发控制是openGauss提供的一种多线程管理机制,用来保证多线程环境下在数据库中执行的操作是安全的和一致的。 | +| 并发控制 | 在多用户环境下同时执行多个事务并保证数据完整性的一个DBMS服务。并发控制是MogDB提供的一种多线程管理机制,用来保证多线程环境下在数据库中执行的操作是安全的和一致的。 | | 查询 | 向数据库发出的信息请求,包含更新、修改、查询或删除信息的请求。 | | 查询操作符 | Query Operator,也称为查询迭代算子(Iterator)或查询节点(Query Tree Node)。一个查询的执行可以分解为一个或多个查询操作符,是构成一个查询执行的最基本单位。常见的查询操作符包括表扫描(Scan)、表关联(Join)、表聚集(Aggregation)等。 | | 持久性 | 数据库事务的ACID特性之一。在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。 | @@ -49,12 +49,12 @@ date: 2021-03-04 | 段 | 数据库中,一段指包含一个或多个区域的数据库中的一部分。区域是数据库的最小范围,由单元调用块组成。一个或多个段组成一个表空间。 | | **F - J** | | | Failover | 指当某个节点出现故障时,自动切换到备节点上的过程。反之,从备节点上切换回来的过程称为Failback。 | -| FDW | Foreign Data Wrapper,外部数据封装器。是openGauss提供的一个SQL接口,用于访问远程数据存储中的大数据对象,使DBA可以整合来自不相关数据源的数据,将它们存入数据库中的一个公共模型。 | -| Freeze | 在事务ID耗尽时由AutoVacuum Worker进程自动执行的操作。openGauss会把事务ID记在行头,在一个事务取得一行时,通过比较行头的事务ID和事务本身的ID判断这行是否可见,而事务ID是一个无符号整数,如果事务ID耗尽,事务ID会跨过整数的界限重新计算,此时原先可见的行就会变成不可见的行,为了避免这个问题,Freeze操作会将行头的事务标记为一个特殊的事务ID,标记了这个特殊的事务ID的行将对所有事务可见,以此避免事务ID耗尽产生的问题。 | +| FDW | Foreign Data Wrapper,外部数据封装器。是MogDB提供的一个SQL接口,用于访问远程数据存储中的大数据对象,使DBA可以整合来自不相关数据源的数据,将它们存入数据库中的一个公共模型。 | +| Freeze | 在事务ID耗尽时由AutoVacuum Worker进程自动执行的操作。MogDB会把事务ID记在行头,在一个事务取得一行时,通过比较行头的事务ID和事务本身的ID判断这行是否可见,而事务ID是一个无符号整数,如果事务ID耗尽,事务ID会跨过整数的界限重新计算,此时原先可见的行就会变成不可见的行,为了避免这个问题,Freeze操作会将行头的事务标记为一个特殊的事务ID,标记了这个特殊的事务ID的行将对所有事务可见,以此避免事务ID耗尽产生的问题。 | | GDB | GNU工程调试器,可以监控其它程序运行时的内部情况,或者其它程序要崩溃时发生了什么。GDB支持如下四种主要操作(使PDK功能更加强大),辅助查找缺陷。启动程序,指定可能影响行为的任何因素。特定条件下,停止程序。程序停止时,检查发生了什么。修改程序内容,尝试纠正一个缺陷并继续下一个。 | | GIN索引 | Generalized Inverted Index,通用倒排索引。作用为处理索引项为组合值的情况,查询时需要通过索引搜索出出现在组合值中的特定元素值。 | | GNU | GNU计划,又称革奴计划,是由RichardStallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。GNU是“GNU's NotUnix”的递归缩写。Stallman宣布GNU应当发音为Guh-NOO以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new相同)。Unix是一种广泛使用的商业操作系统的名称。技术上讲,GNU类似Unix。但是GNU却给了用户自由。 | -| gsql | openGauss交互终端。通过gsql能够以交互的方式输入查询,下发查询到openGauss,然后查看查询结果。或者,也可以从文件中输入。此外,gsql还提供许多元命令和各种类似shell命令,协助脚本编写及自动化各种任务。 | +| gsql | MogDB交互终端。通过gsql能够以交互的方式输入查询,下发查询到MogDB,然后查看查询结果。或者,也可以从文件中输入。此外,gsql还提供许多元命令和各种类似shell命令,协助脚本编写及自动化各种任务。 | | GUC | Grand Unified Configuration,数据库运行参数。配置这些参数可以影响数据库系统的行为。 | | HA | 高可用性(HighAvailability),通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。 | | HBA | host-based authentication,主机认证。主机鉴权允许主机鉴权部分或全部系统用户。适用于系统所有用户或者使用Match指令的子集。该类型鉴权对于管理计算以及其它完全同质设备非常有用。总之,服务器上的三个文件以及客户端上的一个文件必须修改,为主机鉴权做准备。 | @@ -65,12 +65,12 @@ date: 2021-03-04 | 归档线程 | 数据库打开归档功能时启动的一个线程,此线程用于将数据库日志归档到指定的路径。 | | 故障接管 | 功能对等的系统部件对于故障部件的自动替换过程。系统部件包含处理器、服务器、网络、数据库等。 | | 环境变量 | 定义进程操作环境某一方面的变量。例如,环境变量可以为主目录,命令搜索路径,使用终端或当前时区。 | -| 检查点 | 将数据库内存中某一时刻的数据存到磁盘的机制。openGauss定期将已提交的事务数据和未提交的事务数据存到磁盘,这些数据用来和Redo日志一起在数据库重启和崩溃时恢复数据库。 | +| 检查点 | 将数据库内存中某一时刻的数据存到磁盘的机制。MogDB定期将已提交的事务数据和未提交的事务数据存到磁盘,这些数据用来和Redo日志一起在数据库重启和崩溃时恢复数据库。 | | 加密 | 用于传输数据的功能。通过该功能,可以隐藏信息内容,防止非法使用。 | -| 节点 | 将构成openGauss数据库环境的各台服务器(物理机或虚拟机)称为数据库节点,简称节点。 | +| 节点 | 将构成MogDB数据库环境的各台服务器(物理机或虚拟机)称为数据库节点,简称节点。 | | 纠错 | 系统自动识别软件和数据流上的错误并自动修正错误的能力,提升系统的稳定性和可靠性。 | | 进程 | 在单个计算机上执行程序的实例。一个进程由一个或多个线程组成。其它进程不能接入某个进程已占用的线程。 | -| 基于时间点恢复 | PITR(Point-In-TIme Recovery),基于时间点恢复是openGauss备份恢复的一个特性,是指在备份数据和WAL日志正常的情况下,数据可以恢复到指定时间点。 | +| 基于时间点恢复 | PITR(Point-In-TIme Recovery),基于时间点恢复是MogDB备份恢复的一个特性,是指在备份数据和WAL日志正常的情况下,数据可以恢复到指定时间点。 | | 记录 | 在关系型数据库中,每一条记录对应表中的每一行数据。 | | **K - O** | | | KMC | Key Management Component,密钥管理组件。 | @@ -79,19 +79,19 @@ date: 2021-03-04 | 逻辑复制 | 数据库主备或两个数据库间的数据同步方式。区别于通过物理日志回放方式的物理复制,逻辑复制在两个数据库间传输逻辑日志或通过逻辑日志对应的SQL语句实现数据同步。 | | 逻辑日志 | 数据库修改的日志记录,可直接对应为SQL语句,一般为行级记录。区别于物理日志,物理日志是记录物理页面修改的日志。 | | 逻辑解码 | 逻辑解码是一种通过对xlog日志的反解实现将数据库表的所有持久更改抽取到一种清晰、易于理解的格式的处理过程。 | -| 逻辑复制槽 | 在逻辑复制的环境下,逻辑复制槽用以防止Xlog被系统或Vaccum回收。openGauss中用于记录逻辑解码位置的对象,提供创建、删除、读取、推进等多个SQL接口函数。 | +| 逻辑复制槽 | 在逻辑复制的环境下,逻辑复制槽用以防止Xlog被系统或Vaccum回收。MogDB中用于记录逻辑解码位置的对象,提供创建、删除、读取、推进等多个SQL接口函数。 | | MVCC | Multi-Version Concurrency Control,多版本并发控制。数据库并发控制协议的一种,它的基本算法是一个元组可以有多个版本,不同的查询可以工作在不同的版本上。一个基本的好处是读和写可以不冲突。 | | NameNode | NameNode是Hadoop系统中的一个中心服务器,负责管理文件系统的名称空间(namespace)以及客户端对文件的访问。 | | OM | Operations Management,运维管理模块。提供数据库日常运维、配置管理的管理接口、工具。 | | 客户端 | 连接或请求其它计算机或程序服务的计算机或程序。 | | 空闲空间管理 | 管理表内空闲空间的机制,通过记录每个表内空闲空间信息,并建立易于查找的数据结构,可以加速对空闲空间进行的操作(例如INSERT)。 | -| 垃圾元组 | 是指使用DELETE和UPDATE语句删除的元组,openGauss在删除元组时只是打个删除标记,由Vacuum线程清理这种垃圾元组。 | +| 垃圾元组 | 是指使用DELETE和UPDATE语句删除的元组,MogDB在删除元组时只是打个删除标记,由Vacuum线程清理这种垃圾元组。 | | 列 | 字段的等效概念。在数据库中,表由一列或多列组成。 | | 逻辑节点 | 一个物理节点上可以安装多个逻辑节点。一个逻辑节点是一个数据库实例。 | | 模式 | 数据库对象集,包括逻辑结构,例如表、视图、序、存储过程、同义名、索引及数据库链接。 | | 模式文件 | 用于决定数据库结构的SQL文件。 | | **P - T** | | -| Page | openGauss数据库关系对象结构中行存的最小内存单元。一个Page大小默认为8KB。 | +| Page | MogDB数据库关系对象结构中行存的最小内存单元。一个Page大小默认为8KB。 | | Paxos | 分布式一致性协议。 | | PostgreSQL | PostgreSQL是一个开源的关系数据库管理系统(DBMS),由全球志愿者团队开发。PostgreSQL不受任何公司或个体所控制,源代码免费使用。 | | postmaster | 数据库服务启动时启动的一个线程。用于侦听来自数据库其它节点或客户端的连接请求。主机上侦听到备机连接请求,并接受后,就会创建一个WAL Sender线程,用于处理与备机的交互。 | @@ -111,14 +111,14 @@ date: 2021-03-04 | trace | 一种特殊的日志记录方法,用来记录程序执行的信息。程序员使用该信息进行纠错。另外,根据trace日志中信息的类型和内容,有经验的系统管理员或技术支持人员以及软件监控工具诊断软件常见问题。 | | 强一致性 | 任何查询不会瞬时的看到一个事务的中间状态。 | | 全备份 | 备份整个数据库。 | -| 全量同步 | openGauss双机方案中的一种数据同步机制,是指把主机中的所有数据同步给备机。 | +| 全量同步 | MogDB双机方案中的一种数据同步机制,是指把主机中的所有数据同步给备机。 | | 日志文件 | 计算机记录自身活动的记录。 | | 事务 | 数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成,事务必须满足ACID原则。 | | 数据 | 事实或指令的一种表达形式,适用于人为或自动的通信、解释或处理。数据包含常量、变量、阵列和字符串。 | | 数据分区 | 数据分区是指在一个数据库实例内部,将表按照指定范围划分为多个数据互不重叠的部分(Partition)。具体的分区方式可以有:范围分区(Range),它根据元组中指定字段的取值所处的范围映射到目标存储位置。 | | 数据库 | 数据库是存储在一起的相关数据的集合,这些数据可以被访问,管理以及更新。同一视图中,数据库可以根据存储内容类型分为以下几类:数目类、全文本类、数字类及图像类。 | -| 数据库实例 | 一个数据库实例是一个openGauss进程以及它控制的数据库文件。openGauss在一个物理节点上安装多个数据库实例。一个数据库实例也被称为一个逻辑节点。 | -| 数据库双机 | openGauss提供的高可靠性双机方案。在此方案中,每个openGauss逻辑节点标识为主机或备机。在同一时间内,只有一个openGauss被标识为主机。双机初次建立时,主机会对每个备机数据做全量同步,然后做增量同步。双机建立之后的运行过程中,主机能接受数据读和写的操作请求,备机只做日志同步。 | +| 数据库实例 | 一个数据库实例是一个MogDB进程以及它控制的数据库文件。MogDB在一个物理节点上安装多个数据库实例。一个数据库实例也被称为一个逻辑节点。 | +| 数据库双机 | MogDB提供的高可靠性双机方案。在此方案中,每个MogDB逻辑节点标识为主机或备机。在同一时间内,只有一个MogDB被标识为主机。双机初次建立时,主机会对每个备机数据做全量同步,然后做增量同步。双机建立之后的运行过程中,主机能接受数据读和写的操作请求,备机只做日志同步。 | | 数据库文件 | 保存用户数据和数据库系统内部数据的二进制文件。 | | 数据字典 | 数据字典是一系列只读的表,用来提供数据库的信息。这些信息包括:数据库设计信息、存储过程信息、用户权限、用户统计数据、数据库进程信息、数据库增长统计数据和数据库性能统计数据。 | | 死锁 | 为使用同一资源而产生的无法解决的争用状态。 | @@ -144,15 +144,15 @@ date: 2021-03-04 | xDR | 详单。用户面和信令面详单的统称,包括CDR和UFDR、TDR和SDR。 | | 物理节点 | 一个物理机器称为一个物理节点。 | | 系统表 | 存储数据库元信息的表,元信息包括数据库中的用户表、索引、列、函数和数据类型等。 | -| 下推 | openGauss可以利用多DN并行执行查询计划,即将数据库主节点中的查询计划下发到各DN中并行执行。这种行为称为下推。与将数据抽取到数据库主节点上执行查询的方式相比,下推可以大幅提升查询性能。 | +| 下推 | MogDB可以利用多DN并行执行查询计划,即将数据库主节点中的查询计划下发到各DN中并行执行。这种行为称为下推。与将数据抽取到数据库主节点上执行查询的方式相比,下推可以大幅提升查询性能。 | | 压缩 | 数据压缩,信源编码,或比特率降低涉及使用相比原来较少比特的编码信息。压缩可以是有损或无损。无损压缩通过识别和消除统计冗余降低比特位。无损压缩中没有信息丢失。有损压缩识别并删除次要信息,减少了比特位。减少数据文件大小的方法被普遍称为数据压缩,尽管其正式名称为源编码(数据源的编码,然后将其存储或传输)。 | | 一致性 | 数据库事务的ACID特性之一。在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。 | | 元数据 | 用来定义数据的数据。主要是描述数据自身信息,包含源、大小、格式或其它数据特征。数据库字段中,元数据用于理解以及诠释数据仓库的内容。 | | 原子性 | 数据库事务的ACID特性之一。整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。 | | 脏页面 | 已经被修改且未写入持久性设备的页面。 | | 增量备份 | 基于上次有效备份之后对文件修改的备份。 | -| 增量同步 | openGauss双机方案中的一种数据同步机制,是指把主机中数据增量同步给备机,即只同步主备间有差异的数据。 | -| 主机 | openGauss数据库双机系统中接受数据读写操作的节点,和所有备机一起协同工作。在同一时间内,双机系统中只有一个节点被标识为主机。 | +| 增量同步 | MogDB双机方案中的一种数据同步机制,是指把主机中数据增量同步给备机,即只同步主备间有差异的数据。 | +| 主机 | MogDB数据库双机系统中接受数据读写操作的节点,和所有备机一起协同工作。在同一时间内,双机系统中只有一个节点被标识为主机。 | | 主题词 | 在标引和检索中用以表达文献主题的规范化的词或词组。 | | 转储文件 | 转储文件是一种特定类型的trace文件。转储文件为响应事件过程中一次性输出的诊断数据,trace文件指诊断数据的连续输出。 | -| 最小恢复点 | 最小恢复点是openGauss提供的数据一致性保障手段之一。最小恢复点特性可以在openGauss启动时检查出WAL日志和持久化到磁盘的数据的不一致性,并提示用户进行处理。 | +| 最小恢复点 | 最小恢复点是MogDB提供的数据一致性保障手段之一。最小恢复点特性可以在MogDB启动时检查出WAL日志和持久化到磁盘的数据的不一致性,并提示用户进行处理。 | diff --git a/product/zh/docs-mogdb/v3.0/overview.md b/product/zh/docs-mogdb/v3.0/overview.md index e6d04b95..7c7403c7 100644 --- a/product/zh/docs-mogdb/v3.0/overview.md +++ b/product/zh/docs-mogdb/v3.0/overview.md @@ -1,5 +1,5 @@ --- -title: MogDB - 安稳易用的openGauss商业版数据库 +title: MogDB - 安稳易用的MogDB商业版数据库 summary: MogDB - 安稳易用的openGauss商业版数据库 author: Liu Xu date: 2021-03-04 diff --git a/product/zh/docs-mogdb/v3.0/performance-tuning/2-sql/2-introduction-to-the-sql-execution-plan.md b/product/zh/docs-mogdb/v3.0/performance-tuning/2-sql/2-introduction-to-the-sql-execution-plan.md index 5c5e291a..b0473851 100644 --- a/product/zh/docs-mogdb/v3.0/performance-tuning/2-sql/2-introduction-to-the-sql-execution-plan.md +++ b/product/zh/docs-mogdb/v3.0/performance-tuning/2-sql/2-introduction-to-the-sql-execution-plan.md @@ -11,7 +11,7 @@ date: 2021-03-04 ## SQL执行计划概述 -SQL执行计划是一个节点树,显示openGauss执行一条SQL语句时执行的详细步骤。每一个步骤为一个数据库运算符。 +SQL执行计划是一个节点树,显示MogDB执行一条SQL语句时执行的详细步骤。每一个步骤为一个数据库运算符。 使用EXPLAIN命令可以查看优化器为每个查询生成的具体执行计划。EXPLAIN给每个执行节点都输出一行,显示基本的节点类型和优化器为执行这个节点预计的开销值。如图1所示。 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 40890597..e3943473 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 @@ -123,7 +123,7 @@ WDR Snasphot启动(即参数enable_wdr_snapshot)为on时, 且快照数量 select generate_wdr_report(1, 2, 'all', 'node', pgxc_node_str()::cstring); ``` - > ![img](https://opengauss.org/zh/docs/3.0.0/docs/Developerguide/public_sys-resources/icon-note.gif) **说明:** 当前MogDB的节点名固定是“dn_6001_6002_6003”,也可直接代入。 + > ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif) **说明:** 当前MogDB的节点名固定是“dn_6001_6002_6003”,也可直接代入。 **表 3** generate_wdr_report函数参数说明 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 c7b8c637..9ef8b524 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 @@ -446,9 +446,9 @@ JSON/JSONB数据类型参考[JSON/JSONB类型](12-json-types)。 ```sql mogdb=# select * from json_to_recordset( - openGauss(# '[{"a":1,"b":"foo","d":false},{"a":2,"b":"bar","c":true}]', - openGauss(# false - openGauss(# ) as x(a int, b text, c boolean); + 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 | 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 5e9bb93b..2c7948b8 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 @@ -132,7 +132,7 @@ mogdb=# select gs_decrypt('ZBzOmaGA4Bb+coyucJ0B8AkIShqc','Asdf1234','sm4'); mogdb=> select * from login_audit_messages(true); username | database | logintime | mytype | result | client_conninfo ----------+----------+------------------------+---------------+--------+----------------- - omm | openGauss | 2020-06-29 21:56:40+08 | login_success | ok | gsql@[local] + omm | MogDB | 2020-06-29 21:56:40+08 | login_success | ok | gsql@[local] (1 row) ``` @@ -142,7 +142,7 @@ mogdb=# select gs_decrypt('ZBzOmaGA4Bb+coyucJ0B8AkIShqc','Asdf1234','sm4'); mogdb=> select * from login_audit_messages(false) ORDER BY logintime desc limit 1; username | database | logintime | mytype | result | client_conninfo ----------+----------+------------------------+--------------+--------+------------------- - omm | openGauss | 2020-06-29 21:57:55+08 | login_failed | failed | [unknown]@[local] + omm | MogDB | 2020-06-29 21:57:55+08 | login_failed | failed | [unknown]@[local] (1 row) ``` @@ -152,8 +152,8 @@ mogdb=# select gs_decrypt('ZBzOmaGA4Bb+coyucJ0B8AkIShqc','Asdf1234','sm4'); mogdb=> select * from login_audit_messages(false); username | database | logintime | mytype | result | client_conninfo ----------+----------+------------------------+--------------+--------+------------------- - omm | openGauss | 2020-06-29 21:57:55+08 | login_failed | failed | [unknown]@[local] - omm | openGauss | 2020-06-29 21:57:53+08 | login_failed | failed | [unknown]@[local] + omm | MogDB | 2020-06-29 21:57:55+08 | login_failed | failed | [unknown]@[local] + omm | MogDB | 2020-06-29 21:57:53+08 | login_failed | failed | [unknown]@[local] (2 rows) ``` @@ -171,7 +171,7 @@ mogdb=# select gs_decrypt('ZBzOmaGA4Bb+coyucJ0B8AkIShqc','Asdf1234','sm4'); mogdb=> SELECT * FROM login_audit_messages_pid(true); username | database | logintime | mytype | result | client_conninfo | backendid ----------+----------+------------------------+---------------+--------+-----------------+----------------- - omm | openGauss | 2020-06-29 21:56:40+08 | login_success | ok | gsql@[local] | 139823109633792 + omm | MogDB | 2020-06-29 21:56:40+08 | login_success | ok | gsql@[local] | 139823109633792 (1 row) ``` @@ -181,7 +181,7 @@ mogdb=# select gs_decrypt('ZBzOmaGA4Bb+coyucJ0B8AkIShqc','Asdf1234','sm4'); mogdb=> SELECT * FROM login_audit_messages_pid(false) ORDER BY logintime desc limit 1; username | database | logintime | mytype | result | client_conninfo | backendid ----------+----------+------------------------+--------------+--------+-------------------+----------------- - omm | openGauss | 2020-06-29 21:57:55+08 | login_failed | failed | [unknown]@[local] | 139823109633792 + omm | MogDB | 2020-06-29 21:57:55+08 | login_failed | failed | [unknown]@[local] | 139823109633792 (1 row) ``` @@ -191,8 +191,8 @@ mogdb=# select gs_decrypt('ZBzOmaGA4Bb+coyucJ0B8AkIShqc','Asdf1234','sm4'); mogdb=> SELECT * FROM login_audit_messages_pid(false); username | database | logintime | mytype | result | client_conninfo | backendid ----------+----------+------------------------+--------------+--------+-------------------+----------------- - omm | openGauss | 2020-06-29 21:57:55+08 | login_failed | failed | [unknown]@[local] | 139823109633792 - omm | openGauss | 2020-06-29 21:57:53+08 | login_failed | failed | [unknown]@[local] | 139823109633792 + omm | MogDB | 2020-06-29 21:57:55+08 | login_failed | failed | [unknown]@[local] | 139823109633792 + omm | MogDB | 2020-06-29 21:57:53+08 | login_failed | failed | [unknown]@[local] | 139823109633792 (2 rows) ``` 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 5b988a92..340ae77b 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 @@ -522,7 +522,7 @@ date: 2021-04-20 - opengauss_version() - 描述:mogdb版本信息。 + 描述:openGauss内核版本信息。 返回值类型:text diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/131-SET-TRANSACTION.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/131-SET-TRANSACTION.md index 1db8cb9a..27aeffb4 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/131-SET-TRANSACTION.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/131-SET-TRANSACTION.md @@ -47,7 +47,7 @@ SetTransaction ::= { SET [ LOCAL ] TRANSACTION|SET SESSION CHARACTERISTICS AS TR - READ COMMITTED:读已提交隔离级别,只能读到已经提交的数据,而不会读到未提交的数据。这是缺省值。 - REPEATABLE READ:可重复读隔离级别,仅仅能看到事务开始之前提交的数据,不能看到未提交的数据,以及在事务执行期间由其它并发事务提交的修改。 - - SERIALIZABLE:openGauss目前功能上不支持此隔离级别,等价于REPEATABLE READ。 + - SERIALIZABLE:MogDB目前功能上不支持此隔离级别,等价于REPEATABLE READ。 - **READ WRITE | READ ONLY** diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/41-COPY.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/41-COPY.md index 08c59c3c..cd8e782b 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/41-COPY.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/41-COPY.md @@ -624,7 +624,7 @@ mogdb=# COPY tpcds.ship_mode_t1 FROM stdin; 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个字符插入到表中。 -openGauss=# 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'); diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/45-CREATE-DATA-SOURCE.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/45-CREATE-DATA-SOURCE.md index ba86c18f..329d3224 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/45-CREATE-DATA-SOURCE.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/45-CREATE-DATA-SOURCE.md @@ -15,7 +15,7 @@ date: 2021-05-10 - Data Source名称在数据库中需唯一,遵循标识符命名规范,长度限制为63字节,过长则会被截断。 - 只有系统管理员或初始用户才有权限创建Data Source对象。且创建该对象的用户为其默认属主。 -- 当在OPTIONS中出现password选项时,需要保证MogDB每个节点的`$GAUSSHOME/bin`目录下存在datasource.key.cipher和datasource.key.rand文件,如果不存在这两个文件,请使用`gs_guc`工具生成并使用`gs_ssh`工具发布到openGauss每个节`$GAUSSHOME/bin`目录下。 +- 当在OPTIONS中出现password选项时,需要保证MogDB每个节点的`$GAUSSHOME/bin`目录下存在datasource.key.cipher和datasource.key.rand文件,如果不存在这两个文件,请使用`gs_guc`工具生成并使用`gs_ssh`工具发布到MogDB每个节`$GAUSSHOME/bin`目录下。 ## 语法格式 diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/71-CURSOR.md b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/71-CURSOR.md index a94ae108..19454f6a 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/71-CURSOR.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/sql-syntax/71-CURSOR.md @@ -53,7 +53,7 @@ Cursor ::= CURSOR cursor_name - WITH HOLD:声明该游标在创建它的事务结束后仍可继续使用。 - WITHOUT HOLD:声明该游标在创建它的事务之外不能再继续使用,此游标将在事务结束时被自动关闭。 - 如果不指定WITH HOLD或WITHOUT HOLD,默认行为是WITHOUT HOLD。 - - 跨节点事务不支持WITH HOLD(例如在多DBnode部署openGauss中所创建的含有DDL的事务属于跨节点事务)。 + - 跨节点事务不支持WITH HOLD(例如在多DBnode部署MogDB中所创建的含有DDL的事务属于跨节点事务)。 - **query** diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/supported-data-types/17-xml-type.md b/product/zh/docs-mogdb/v3.0/reference-guide/supported-data-types/17-xml-type.md index 84dfee7f..4e705626 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/supported-data-types/17-xml-type.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/supported-data-types/17-xml-type.md @@ -19,10 +19,10 @@ mogdb= SELECT * FROM xmltest ORDER BY 1; 1 | one 2 | two (2 rows) -openGauss= SELECT xmlconcat('', NULL, ''); +mogdb= SELECT xmlconcat('', NULL, ''); xmlconcat (1 row) -openGauss= SELECT xmlconcat('', NULL, ''); +mogdb= SELECT xmlconcat('', NULL, ''); xmlconcat (1 row) ``` diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/tool-reference/tools-used-in-the-internal-system/16-gstrace.md b/product/zh/docs-mogdb/v3.0/reference-guide/tool-reference/tools-used-in-the-internal-system/16-gstrace.md index b42fdcf4..a7315e21 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/tool-reference/tools-used-in-the-internal-system/16-gstrace.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/tool-reference/tools-used-in-the-internal-system/16-gstrace.md @@ -15,7 +15,7 @@ gstrace是MogDB提供的用来跟踪内核代码执行路径、记录内核数 > > 1. 对内核dump指定内存变量的数据用于诊断分析,不存在直接指定任意寄存器或者内存地址的行为。读取的内存地址均是在开发阶段硬编码,没有任意地读取或者修改寄存器或内存的操作。 > 2. Trace点可能涉及敏感数据,收集trace信息前需要同用户协商,授权和许可后方可收集。 -> 3. openGauss不会在敏感信息上打点,不会TRACE和用户相关的数据。 +> 3. MogDB不会在敏感信息上打点,不会TRACE和用户相关的数据。 > 4. Trace仅用于诊断目的,开启trace将对性能产生一定影响,影响的大小视负载的高低,trace的模块而不同。 > 5. Trace工具的权限为0700,仅限于数据库用户读、写和执行。 > @@ -44,7 +44,7 @@ gstrace [start|stop|config|dump|detailcodepath|analyze] [-p ][-s 格式:[comp…][ALL].[func…][ALL]
描述:
- comp 是模块列表,使用‘,’分隔,例如:executer,opengauss。也可以使用序号,例如:executer,2。
- func 是function列表,使用‘,’ 分隔。 例如:sql_execute_ddl, sql_execute_dcl。也可以使用序号指代模块中第几个function,例如:2。
- 设置成ALL表示所有模块或所有function被trace。
示例:
- executer,opengauss.ALL :所有定义定义在executer和opengauss模块下的function被trace。
- executer,opengauss.sql_execute_ddl :定义在executer 下的Function sql_execute_ddl被trace. opengauss模块被忽略,因为下面没有该function 。
- executer,opengauss.1 :定义在模块executer和opengauss下的第一个function被trace。
ALL.1,2 :定义在所有模块下的第一,二个function被trace。 | +| -m MASK | 指定哪些模块、函数需要追踪,如果参数为空,则追踪添加trace接口的所有模块的所有函数。
格式:[comp…][ALL].[func…][ALL]
描述:
- comp 是模块列表,使用‘,’分隔,例如:executer,mogdb。也可以使用序号,例如:executer,2。
- func 是function列表,使用‘,’ 分隔。 例如:sql_execute_ddl, sql_execute_dcl。也可以使用序号指代模块中第几个function,例如:2。
- 设置成ALL表示所有模块或所有function被trace。
示例:
- executer,mogdb.ALL :所有定义定义在executer和mogdb模块下的function被trace。
- executer,mogdb.sql_execute_ddl :定义在executer 下的Function sql_execute_ddl被trace. mogdb模块被忽略,因为下面没有该function 。
- executer,mogdb.1 :定义在模块executer和mogdb下的第一个function被trace。
ALL.1,2 :定义在所有模块下的第一,二个function被trace。 | | -s BUFFER_SIZE | 指定用于trace功能的共享内存大小,默认为1G。如果指定的BUFFER_SIZE小于最小值2048,系统将自动调整为最小值。如果指定的BUFFER_SIZE不是2^N(二的N次方),则向下对齐2^N;例如:指定BUFFER_SIZE=3072,由于2^11<3072<2^12,系统将调整为2048。 | ## 示例 diff --git a/product/zh/docs-mogdb/v3.0/toc.md b/product/zh/docs-mogdb/v3.0/toc.md index 03ca9dad..df6221f8 100644 --- a/product/zh/docs-mogdb/v3.0/toc.md +++ b/product/zh/docs-mogdb/v3.0/toc.md @@ -343,6 +343,7 @@ + [游标](/developer-guide/plpgsql/1-11-cursors.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) + 定时任务 + [PKG_SERVICE接口](/developer-guide/scheduled-jobs/pkg-service.md) + 自治事务 diff --git a/product/zh/docs-mogdb/v3.0/toc_dev.md b/product/zh/docs-mogdb/v3.0/toc_dev.md index 14b787fd..01c202e5 100644 --- a/product/zh/docs-mogdb/v3.0/toc_dev.md +++ b/product/zh/docs-mogdb/v3.0/toc_dev.md @@ -151,6 +151,7 @@ + [游标](/developer-guide/plpgsql/1-11-cursors.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) + 定时任务 + [PKG_SERVICE接口](/developer-guide/scheduled-jobs/pkg-service.md) + 自治事务 -- Gitee From b671dafb35f68fac70a6557fd19f8dfde0d06bb7 Mon Sep 17 00:00:00 2001 From: spaceoddity91719 Date: Thu, 28 Apr 2022 12:49:11 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix=20gs=5Fbackup=E7=A4=BA=E4=BE=8B?= =?UTF-8?q?=E5=9B=9E=E6=98=BE+=E4=BF=AE=E5=A4=8Dopengauss=E5=AD=97?= =?UTF-8?q?=E6=A0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../4-3-obtaining-help-information.md | 2 +- .../2-gs_backup.md | 13 +++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/4-sqldiag-slow-sql-discovery/4-3-obtaining-help-information.md b/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/4-sqldiag-slow-sql-discovery/4-3-obtaining-help-information.md index 295e1922..0b8ebae4 100644 --- a/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/4-sqldiag-slow-sql-discovery/4-3-obtaining-help-information.md +++ b/product/zh/docs-mogdb/v3.0/developer-guide/AI-features/4-sqldiag-slow-sql-discovery/4-3-obtaining-help-information.md @@ -21,7 +21,7 @@ usage: main.py [-h] [-f CSV_FILE] [--predicted-file PREDICTED_FILE] [--config-file CONFIG_FILE] {train,predict,finetune} -SQLdiag integrated by MogDB. +SQLdiag integrated by openGauss. positional arguments: {train,predict,finetune} diff --git a/product/zh/docs-mogdb/v3.0/reference-guide/tool-reference/tools-used-in-the-internal-system/2-gs_backup.md b/product/zh/docs-mogdb/v3.0/reference-guide/tool-reference/tools-used-in-the-internal-system/2-gs_backup.md index 3b7021ce..3d31e796 100644 --- a/product/zh/docs-mogdb/v3.0/reference-guide/tool-reference/tools-used-in-the-internal-system/2-gs_backup.md +++ b/product/zh/docs-mogdb/v3.0/reference-guide/tool-reference/tools-used-in-the-internal-system/2-gs_backup.md @@ -133,22 +133,19 @@ gs_backup参数可以分为如下几类: ```bash gs_backup -t backup --backup-dir=/opt/software/gaussdb/backup_dir -h plat1 --parameter - Backing up MogDB. Parsing configuration files. Successfully parsed the configuration file. Performing remote backup. Remote backup succeeded. - Successfully backed up MogDB. + Successfully backed up cluster files. ``` - 使用gs_backup脚本恢复数据库主机。 ```bash gs_backup -t restore --backup-dir=/opt/software/gaussdb/backup_dir -h plat1 --parameter - Restoring MogDB. - Parsing the configuration file. - Successfully parsed configuration files. + Parsing configuration files. + Successfully parsed the configuration file. Performing remote restoration. - Remote restoration succeeded. - Successfully restored MogDB. - ``` + Successfully restored cluster files. + ``` \ No newline at end of file -- Gitee