diff --git a/content/docs-lite/en/docs/BriefTutorial/obtaining-and-verifying-an-installation-package.md b/content/docs-lite/en/docs/BriefTutorial/obtaining-and-verifying-an-installation-package.md
index 49da897b6041fae6bb3296096d03b1f3e6386a4d..d9917cc27d7d55e80fb71781daa22a486c19247a 100644
--- a/content/docs-lite/en/docs/BriefTutorial/obtaining-and-verifying-an-installation-package.md
+++ b/content/docs-lite/en/docs/BriefTutorial/obtaining-and-verifying-an-installation-package.md
@@ -12,7 +12,7 @@
```
mkdir openGauss
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2 –C openGauss
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 –C openGauss
ls -lb openGauss/
```
diff --git a/content/docs-lite/en/docs/GettingStarted/installation-on-a-single-node.md b/content/docs-lite/en/docs/GettingStarted/installation-on-a-single-node.md
index c045c63ba6d8b2d9411871318b0b54b542c33786..ed2fc8babad94bc94e1c53230e183e47bf1e9856 100644
--- a/content/docs-lite/en/docs/GettingStarted/installation-on-a-single-node.md
+++ b/content/docs-lite/en/docs/GettingStarted/installation-on-a-single-node.md
@@ -16,7 +16,7 @@
3. Log in to the host where the openGauss package is installed as user **omm** and decompress the openGauss package to the installation directory (for example, **/opt/software/openGauss**).
```
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2 -C /opt/software/openGauss
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 -C /opt/software/openGauss
```
4. Assume that the decompressed package is stored in the **/opt/software/openGauss** directory. Go to the **simpleInstall** directory.
diff --git a/content/docs-lite/en/docs/GettingStarted/obtaining-and-verifying-an-installation-package.md b/content/docs-lite/en/docs/GettingStarted/obtaining-and-verifying-an-installation-package.md
index ec7c5ec98bc79191f063fec569c4a32399b940fd..158b297cc15e93b0a1a89dbb3109de0fcf16c8c1 100644
--- a/content/docs-lite/en/docs/GettingStarted/obtaining-and-verifying-an-installation-package.md
+++ b/content/docs-lite/en/docs/GettingStarted/obtaining-and-verifying-an-installation-package.md
@@ -12,7 +12,7 @@
```
mkdir openGauss
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2 –C openGauss
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 –C openGauss
ls -lb openGauss/
```
diff --git a/content/docs-lite/en/docs/InstallationGuide/obtaining-the-installation-package.md b/content/docs-lite/en/docs/InstallationGuide/obtaining-the-installation-package.md
index 8d6583bf9ab745d9ef24595b53d156c14675b3ec..6fa357dedac79062530c62b4108275e9ae2dda76 100644
--- a/content/docs-lite/en/docs/InstallationGuide/obtaining-the-installation-package.md
+++ b/content/docs-lite/en/docs/InstallationGuide/obtaining-the-installation-package.md
@@ -14,7 +14,7 @@ You can obtain the installation package from the openGauss open-source community
Decompress the installation package and check whether the installation directory and files are complete. Run the following commands in the directory where the installation package is stored:
```
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2
ls -lb
```
diff --git "a/content/docs-lite/zh/docs/AboutopenGauss/\344\274\201\344\270\232\347\272\247\347\211\271\346\200\247.md" "b/content/docs-lite/zh/docs/AboutopenGauss/\344\274\201\344\270\232\347\272\247\347\211\271\346\200\247.md"
index 7bdf6dff5de9ab43077c4955333b4ef1a56d2a55..10afcfd3269c2182b1b5a6b4872c3abe407bf88e 100644
--- "a/content/docs-lite/zh/docs/AboutopenGauss/\344\274\201\344\270\232\347\272\247\347\211\271\346\200\247.md"
+++ "b/content/docs-lite/zh/docs/AboutopenGauss/\344\274\201\344\270\232\347\272\247\347\211\271\346\200\247.md"
@@ -20,8 +20,6 @@
- **[自治事务](自治事务.md)**
-- **[管道函数](管道函数.md)**
-
- **[全局临时表](全局临时表.md)**
- **[伪列ROWNUM](伪列ROWNUM.md)**
diff --git "a/content/docs-lite/zh/docs/AboutopenGauss/\345\207\275\346\225\260\345\217\212\345\255\230\345\202\250\350\277\207\347\250\213\346\224\257\346\214\201.md" "b/content/docs-lite/zh/docs/AboutopenGauss/\345\207\275\346\225\260\345\217\212\345\255\230\345\202\250\350\277\207\347\250\213\346\224\257\346\214\201.md"
index a5b03b8ae1e2cf8a703315aa57224483ecf52676..275fb6e6951f901e2162077cc52d13135868e46b 100644
--- "a/content/docs-lite/zh/docs/AboutopenGauss/\345\207\275\346\225\260\345\217\212\345\255\230\345\202\250\350\277\207\347\250\213\346\224\257\346\214\201.md"
+++ "b/content/docs-lite/zh/docs/AboutopenGauss/\345\207\275\346\225\260\345\217\212\345\255\230\345\202\250\350\277\207\347\250\213\346\224\257\346\214\201.md"
@@ -26,10 +26,24 @@ openGauss支持SQL标准中的函数及存储过程,其中存储过程兼容
支持PL/PGSQL中使用游标表达式。
+支持在包package、匿名块、存储过程、函数中使用record类型创建一个游标的type类型。
+
## 特性约束
不支持通过ROWTYPE获得嵌套游标的类型。
+管道函数必须是独立函数或包函数。
+
+管道函数不能为嵌套函数或SQL宏指定PIPLINED。
+
+管道函数返回的类型必须是schema级别或者package内定义的集合类型。目前支持Array和TableOf类型。
+
+管道函数返回类型必须与表类型显式一致。
+
+当管道函数存在大批量数据需要处理时,执行性能可能会变差,可以通过提升work_mem缓解性能问题。
+
+管道函数对TableOf实现为数组形式,如果管道函数作为targetlist,返回结果虽然是TableOf类型,但是实际访问能力缺失。
+
## 依赖关系
无。
diff --git "a/content/docs-lite/zh/docs/AboutopenGauss/\346\224\257\346\214\201\346\240\207\345\207\206SQL.md" "b/content/docs-lite/zh/docs/AboutopenGauss/\346\224\257\346\214\201\346\240\207\345\207\206SQL.md"
index 1bfe59d8e92045b8a9771c8df7b530040f431cbd..252b543bc7e06bfbe1e673d348e621e22fbc7ea3 100644
--- "a/content/docs-lite/zh/docs/AboutopenGauss/\346\224\257\346\214\201\346\240\207\345\207\206SQL.md"
+++ "b/content/docs-lite/zh/docs/AboutopenGauss/\346\224\257\346\214\201\346\240\207\345\207\206SQL.md"
@@ -36,6 +36,10 @@ openGauss数据库支持SQL:2011大部分的核心特性,同时还支持部分
支持numeric(p, s)类型中参数`s`允许为负数。
+支持ROTATE和NOT ROTATE函数实现查询结果行列转换。
+
+支持ALTER TRIGGER方式启用或禁用单个触发器。
+
## 特性约束
float(n)范围支持`1~126`需要开启参数`behavior_compat_options='float_as_numeric'`。
diff --git "a/content/docs-lite/zh/docs/AboutopenGauss/\347\256\241\351\201\223\345\207\275\346\225\260.md" "b/content/docs-lite/zh/docs/AboutopenGauss/\347\256\241\351\201\223\345\207\275\346\225\260.md"
deleted file mode 100644
index cb2a05f10837516c8c0a05cace9f5322d05124c9..0000000000000000000000000000000000000000
--- "a/content/docs-lite/zh/docs/AboutopenGauss/\347\256\241\351\201\223\345\207\275\346\225\260.md"
+++ /dev/null
@@ -1,35 +0,0 @@
-# 管道函数
-
-## 可获得性
-
-本特性自openGauss 6.0.0版本开始引入。
-
-## 特性简介
-
-管道函数是可以返回行集合(可以是嵌套表或数组)的函数,您可以像查询物理表一样查询函数或者将其赋值给集合变量。
-
-## 客户价值
-
-满足客户多样化使用场景。
-
-## 特性描述
-
-管道函数在处理大量数据时非常有用,因为它可以逐步返回数据,而不需要一次性返回所有结果,从而提高查询性能和开发效率。
-
-## 特性增强
-
-无。
-
-## 特性约束
-
-- 管道函数必须是独立函数或包函数。
-- 不能为嵌套函数或SQL宏指定PIPLINED。
-- 管道函数返回的类型必须是schema级别或者package内定义的集合类型。目前支持Array和TableOf类型。
-- 返回类型必须与表类型显式一致。
-- 当存在大批量数据需要处理时,执行性能可能会变差,可以通过提升work_mem缓解性能问题。
-- 目前对TableOf实现为数组形式,如果管道函数作为targetlist,返回结果虽然是TableOf类型,但是实际访问能力缺失。
-
-## 依赖关系
-
-无。
-
diff --git "a/content/docs-lite/zh/docs/AboutopenGauss/\351\200\273\350\276\221\345\244\215\345\210\266.md" "b/content/docs-lite/zh/docs/AboutopenGauss/\351\200\273\350\276\221\345\244\215\345\210\266.md"
index d8541fa8941c90af0bcd6270770f506e8fc74ec3..89b011989fba7026f0f50da69ae15ae2b357910d 100644
--- "a/content/docs-lite/zh/docs/AboutopenGauss/\351\200\273\350\276\221\345\244\215\345\210\266.md"
+++ "b/content/docs-lite/zh/docs/AboutopenGauss/\351\200\273\350\276\221\345\244\215\345\210\266.md"
@@ -21,8 +21,18 @@ DN通过物理日志反解析为逻辑日志,DRS等逻辑复制工具从DN抽
- openGauss逻辑解码新增全量+增量抽取日志的方案。
- openGauss逻辑解码新增备机支持逻辑解码。
- openGauss 6.0.0-RC1逻辑复制支持如下DDL操作:
- - CREATE/DROP TABLE|TABLE PARTITION
- - CREATE/DROP INDEX
+ - CREATE/DROP/ALTER/TRUNCATE/RENAME TABLE | TABLE PARTITION | TABLE SUBPARTITION
+ - CREATE/ALTER/DROP INDEX
+ - CREATE/ALTER/DROP VIEW
+ - CREATE/ALTER/DROP/REFRESH [INCREMENTAL] MATERIALIZED VIEW
+ - CREATE/ALTER/DROP TYPE
+ - CREATE/ALTER/DROP FUNCTION
+ - CREATE/ALTER/DROP PROCEDURE
+ - CREATE/ALTER/DROP TRIGGER
+ - CREATE/DROP PACKAGE
+ - CREATE/DROP SCHEMA
+ - CREATE/DROP SEQUENCE
+ - COMMENT/GRANT/REVOKE
## 特性约束
diff --git "a/content/docs-lite/zh/docs/DatabaseOMGuide/\351\200\273\350\276\221\345\244\215\345\210\266\346\224\257\346\214\201DDL\346\223\215\344\275\234.md" "b/content/docs-lite/zh/docs/DatabaseOMGuide/\351\200\273\350\276\221\345\244\215\345\210\266\346\224\257\346\214\201DDL\346\223\215\344\275\234.md"
index 35e672889f7ad33b1b7f42d6322e363ffa582d26..fbd7071992a120826bbee323bbe6c134cf4f10b8 100644
--- "a/content/docs-lite/zh/docs/DatabaseOMGuide/\351\200\273\350\276\221\345\244\215\345\210\266\346\224\257\346\214\201DDL\346\223\215\344\275\234.md"
+++ "b/content/docs-lite/zh/docs/DatabaseOMGuide/\351\200\273\350\276\221\345\244\215\345\210\266\346\224\257\346\214\201DDL\346\223\215\344\275\234.md"
@@ -4,19 +4,34 @@
openGauss在逻辑复制过程中支持如下DDL操作:
-- CREATE/DROP TABLE|TABLE PARTITION
-- CREATE/DROP INDEX
+- CREATE/DROP/ALTER/TRUNCATE/RENAME TABLE | TABLE PARTITION | TABLE SUBPARTITION
+- CREATE/ALTER/DROP INDEX
+- CREATE/ALTER/DROP VIEW
+- CREATE/ALTER/DROP/REFRESH [INCREMENTAL] MATERIALIZED VIEW
+- CREATE/ALTER/DROP TYPE
+- CREATE/ALTER/DROP FUNCTION
+- CREATE/ALTER/DROP PROCEDURE
+- CREATE/ALTER/DROP TRIGGER
+- CREATE/DROP PACKAGE
+- CREATE/DROP SCHEMA
+- CREATE/DROP SEQUENCE
+- COMMENT/GRANT/REVOKE
## 注意事项
- 只支持行存表的DDL操作。
- 不支持列存,Ustore存储引擎。
+- TYPE仅支持复合类型和枚举类型。
- 在订阅端手动删除表会导致DDL同步失败,发布订阅阻塞。
- 不支持在对表进行相关的表结构操作中调用VOLATILE函数。
>在为表增加一个字段并指定默认值中执行了VOLATILE函数,而这个函数中进行了创建表的DDL操作,这样在新增字段并为其计算默认值的过程中会因为调用VOLATILE函数写入其他DDL日志,导致后续在解码时读取到这个DDL日志时进行了重复的操作。
+- 在逻辑复制中使用ALTER TABLE时会有如下限制:
+ - 当ALTER TABLE修改表字段类型,使用USING子句设置字段值时,要求表上必须有replication identity字段,并且USING子句修改的表字段不为该标识符字段。
+ - 当ALTER TABLE修改或新增表字段为AUTO_INCREMENT自增列时,要求表上必须有replication identity字段,并且USING子句修改的表字段不为该标识符字段。
+ - 当ALTER TABLE新增表字段,并且表字段类型不为内置类型,即需要每个元组都重新计算其默认值,要求表上必须设置replication identity。
## 语法格式
diff --git "a/content/docs-lite/zh/docs/GettingStarted/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md" "b/content/docs-lite/zh/docs/GettingStarted/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md"
index dfe3daf3e85945e72b181f1d5cef05a470a583d2..fd5464bea64f4fde13cbdeef3cf62f3d68fb80af 100644
--- "a/content/docs-lite/zh/docs/GettingStarted/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md"
+++ "b/content/docs-lite/zh/docs/GettingStarted/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md"
@@ -12,7 +12,7 @@
```
mkdir openGauss
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2 –C openGauss
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 –C openGauss
ls -lb openGauss/
```
diff --git "a/content/docs-lite/zh/docs/SQLReference/\344\275\277\347\224\250\346\270\270\346\240\207\345\210\233\345\273\272type.md" "b/content/docs-lite/zh/docs/SQLReference/\344\275\277\347\224\250\346\270\270\346\240\207\345\210\233\345\273\272type.md"
new file mode 100644
index 0000000000000000000000000000000000000000..2fe584f76d0c6763323e090e87c95ec11a7c2999
--- /dev/null
+++ "b/content/docs-lite/zh/docs/SQLReference/\344\275\277\347\224\250\346\270\270\346\240\207\345\210\233\345\273\272type.md"
@@ -0,0 +1,107 @@
+# 使用游标创建type
+
+## 功能描述
+
+该功能用于在包package或者匿名块、存储过程、函数中使用record类型创建一个游标的type类型。
+
+## 注意事项
+
+- 创建的type为弱游标类型。
+- 该type类型如果作为out参数返回是游标类型。
+
+
+## 语法格式
+
+```sql
+TYPE type_name IS REF CURSOR RETURN record_name ;
+```
+
+## 参数说明
+
+- **type_name**
+
+ 定义的类型的名称。
+- **record_name**
+
+ 使用数据类型说明符 RECORD 定义的用户定义类型的名称。
+
+
+
+## 兼容性
+
+暂不支持如下语法:
+
+```sql
+TYPE type_name IS REF CURSOR
+ [ RETURN
+ { {db_table_or_view | cursor | cursor_variable}%ROWTYPE
+ | record%TYPE
+ | ref_cursor_type
+ }
+ ] ;
+```
+
+## 示例
+
+**示例1:** 使用record类型创建一个游标的type类型。
+
+1、创建测试表t。
+
+```sql
+create table t(id int, name varchar2(30));
+```
+
+2、声明游标类型。
+
+```sql
+declare
+type RECORD_ACCOUNT_LIST is record(id int,name varchar2(30));
+type CUR_ACCOUNT_LIST is ref cursor return RECORD_ACCOUNT_LIST;
+cur_accountlist CUR_ACCOUNT_LIST;
+begin
+open cur_accountlist for select * from t;
+end;
+/
+```
+
+返回结果如下,则表示创建成功:
+
+```sql
+ANONYMOUS BLOCK EXECUTE
+```
+
+
+
+**示例2:** 弱游标类型。
+
+1、创建测试表t1并插入数据。
+
+```sql
+create table t1(id int, name varchar2(30));
+insert into t1 values(1,'a1');
+```
+
+2、定义一个弱类型游标。
+
+```sql
+declare
+type RECORD_ACCOUNT_LIST1 IS RECORD (id int, name1 varchar2(30));
+type CUR_ACCOUNT_LIST1 is ref cursor return RECORD_ACCOUNT_LIST1;
+cur_accountlist1 CUR_ACCOUNT_LIST1;
+rc_list RECORD_ACCOUNT_LIST1;
+begin
+open cur_accountlist1 for select * from t1;
+loop
+fetch cur_accountlist1 into rc_list;
+exit when cur_accountlist1%notfound;
+dbms_output.put_line(rc_list.id||' '||rc_list.name1);
+end loop;
+end;
+/
+```
+
+返回结果如下,则表示创建成功:
+
+```sql
+ANONYMOUS BLOCK EXECUTE
+```
\ No newline at end of file
diff --git a/content/docs-lite/zh/docs/ToolandCommandReference/gs_dump.md b/content/docs-lite/zh/docs/ToolandCommandReference/gs_dump.md
index 06bec6400858249c292ca3f840dfb23a68abb2bd..c7e117fb61e629efc17fc74ee8350fe8f815b8a5 100644
--- a/content/docs-lite/zh/docs/ToolandCommandReference/gs_dump.md
+++ b/content/docs-lite/zh/docs/ToolandCommandReference/gs_dump.md
@@ -399,12 +399,22 @@ gs_dump [OPTION]... [DBNAME]
输出符合SQL标准的SET SESSION AUTHORIZATION命令而不是ALTER OWNER命令来确定对象所有权。这样令转储更加符合标准,但是如果转储文件中的对象的历史有些问题,那么可能不能正确恢复。并且,使用SET SESSION AUTHORIZATION的转储需要数据库系统管理员的权限才能转储成功,而ALTER OWNER需要的权限则低得多。
-- --with-encryption=AES128
+- --with-encryption=AES128/SM4
- 指定转储数据需用AES128进行加密。
+ 指定转储数据使用的加密方式,支持AES128和SM4算法。加密导出仅支持导出格式为纯文本(-F p)。
+
+  **说明:**
+
+ - 该选项必须与--with-key和--with-salt同时使用。
+
+ - AES128加密算法使用的是CBC模式,SM4加密算法使用的是CTR模式。
+
+ - 当使用三未信安的加密算法时,必须使用--with-userpin指定创建密钥时的KMS用户信息。
- --with-key=KEY
+ 密钥名称或者密钥索引。
+
AES128密钥规则如下:
- 密钥长度为8\~16个字符。
diff --git a/content/docs-lite/zh/docs/ToolandCommandReference/gs_dumpall.md b/content/docs-lite/zh/docs/ToolandCommandReference/gs_dumpall.md
index 0fa447f7d57c405e41e9bdd8f81145ceb7d7ea35..2859723bda1440ab3c441c8d49374f508ea1b953 100644
--- a/content/docs-lite/zh/docs/ToolandCommandReference/gs_dumpall.md
+++ b/content/docs-lite/zh/docs/ToolandCommandReference/gs_dumpall.md
@@ -150,16 +150,25 @@ gs_dumpall [OPTION]...
输出符合SQL标准的SET SESSION AUTHORIZATION命令而不是ALTER OWNER命令来确定对象所有权。这样令转储更加符合标准,但是如果转储文件中的对象的历史有些问题,那么可能不能正确恢复。并且,使用SET SESSION AUTHORIZATION的转储需要数据库系统管理员的权限才能转储成功,而ALTER OWNER需要的权限则低得多。
-- --with-encryption=AES128
+- --with-encryption=AES128/SWS-KMS-SM4/TAS-KMS-SM4
- 指定转储数据需用AES128进行加密。
+ 指定转储数据使用的加密方式(算法)。支持AES128/SWS-KMS-SM4/TAS-KMS-SM4。
-- --with-key=KEY
+  **说明:**
+
+ - 该选项必须与--with-key同时使用。
- AES128密钥规则如下:
+ - 当加密方式为SWS-KMS-SM4时,必须与--with-userpin同时使用。
+
+- --with-key=KEY
- - 密钥长度为8\~16个字符。
- - 至少包含大写字母(A-Z),小写字母(a-z),数字(0-9),非字母数字字符(限定为\~!@\#$%^&\*\(\)-\_=+\\|\[\{\}\];:,<.\>/?)四类字符中的三类字符。
+ 密钥名称或者密钥索引。
+
+ - AES128密钥长度规则如下:
+ - 密钥长度为8~16字符。
+ - 至少包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)、非字母数字字符(限定为~!@#$%^&*()-_=+\|[]{};:,<.>/?)四类字符中的三类字符。
+ - 加密算法为TAS-KMS-SM4时,--with-key指定的是江南天安KMS上创建的密钥索引,Vastbase限制其索引范围必须是1 ~ 2048。
+ - 加密算法为SWS-KMS-SM4时,--with-key指定的是三未信安KMS上创建的密钥名称。
- --include-extensions
diff --git a/content/docs-lite/zh/docs/ToolandCommandReference/gs_restore.md b/content/docs-lite/zh/docs/ToolandCommandReference/gs_restore.md
index 6118acd200412ece83dd43eda6d257e82e2e89c9..95b0b3d95fe79beb31c56680933541d573c8446c 100644
--- a/content/docs-lite/zh/docs/ToolandCommandReference/gs_restore.md
+++ b/content/docs-lite/zh/docs/ToolandCommandReference/gs_restore.md
@@ -243,6 +243,25 @@ gs_restore [OPTION]... FILE
使用管道传输密码,禁止在终端使用。
+ --with-decryption=AES128/SM4
+
+ 还原数据时采用AES128或SM4硬件加密方式解密。
+
+ 若导出时使用--with-encryption指定了加密方式,则恢复时需要指定此参数并采用同样的方式进行解密。
+
+  **说明:**
+
+- --with-key=KEY
+
+ 硬件加密设备内部的密钥索引。
+
+- --with-salt=RANDVALUES
+
+ 用于解密的随机盐值。
+
+ - 必须为16个字符的字符串。
+ - 恢复时指定的盐值必须与加密导出时指定的盐值相同。
+
> **须知:**
>- 如果安装过程中有任何本地数据要添加到template1数据库,请谨慎将gs\_restore的输出载入到一个真正的空数据库中;否则可能会因为被添加对象的定义被复制,而出现错误。要创建一个无本地添加的空数据库,需从template0而非template1复制,例如:
diff --git a/content/docs-lite/zh/menu/index.md b/content/docs-lite/zh/menu/index.md
index 80c28e3f266b675f5f608fbcebb1b7c64f34b6b0..995dfa24105e38f8006e1ddafdb6e1efa09cf063 100644
--- a/content/docs-lite/zh/menu/index.md
+++ b/content/docs-lite/zh/menu/index.md
@@ -88,7 +88,6 @@ headless: true
- [支持HyperLogLog]({{< relref "./docs/AboutopenGauss/支持HyperLogLog.md" >}})
- [在线添加索引]({{< relref "./docs/AboutopenGauss/在线添加索引.md" >}})
- [自治事务]({{< relref "./docs/AboutopenGauss/自治事务.md" >}})
- - [管道函数]({{< relref "./docs/AboutopenGauss/管道函数.md" >}})
- [全局临时表]({{< relref "./docs/AboutopenGauss/全局临时表.md" >}})
- [伪列ROWNUM]({{< relref "./docs/AboutopenGauss/伪列ROWNUM.md" >}})
- [支持存储过程调试]({{< relref "./docs/AboutopenGauss/支持存储过程调试.md" >}})
@@ -1098,6 +1097,7 @@ headless: true
- [使用]({{< relref "./docs/SQLReference/使用-29.md" >}})
- [支持和约束]({{< relref "./docs/SQLReference/支持和约束-1.md" >}})
- [游标]({{< relref "./docs/SQLReference/游标.md" >}})
+ - [使用游标创建type]({{< relref "./docs/SQLReference/使用游标创建type.md" >}})
- [匿名块]({{< relref "./docs/SQLReference/匿名块-1.md" >}})
- [存储过程]({{< relref "./docs/SQLReference/存储过程.md" >}})
- [存储过程]({{< relref "./docs/SQLReference/存储过程-20.md" >}})
diff --git a/content/en/docs/BriefTutorial/installation-of-one-primary-and-one-standby-nodes.md b/content/en/docs/BriefTutorial/installation-of-one-primary-and-one-standby-nodes.md
index fbcb8a3a8fa5ebb3a4765ecca6e1ffeaea92c922..34948a2686631ee52af6e3f401ccc4c1b7cece12 100644
--- a/content/en/docs/BriefTutorial/installation-of-one-primary-and-one-standby-nodes.md
+++ b/content/en/docs/BriefTutorial/installation-of-one-primary-and-one-standby-nodes.md
@@ -19,7 +19,7 @@
```
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2 -C /opt/software/openGauss
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 -C /opt/software/openGauss
```
4. Assume that the decompressed package is stored in the **/opt/software/openGauss** directory. Go to the **simpleInstall** directory.
diff --git a/content/en/docs/BriefTutorial/installation-on-a-single-node.md b/content/en/docs/BriefTutorial/installation-on-a-single-node.md
index c045c63ba6d8b2d9411871318b0b54b542c33786..ed2fc8babad94bc94e1c53230e183e47bf1e9856 100644
--- a/content/en/docs/BriefTutorial/installation-on-a-single-node.md
+++ b/content/en/docs/BriefTutorial/installation-on-a-single-node.md
@@ -16,7 +16,7 @@
3. Log in to the host where the openGauss package is installed as user **omm** and decompress the openGauss package to the installation directory (for example, **/opt/software/openGauss**).
```
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2 -C /opt/software/openGauss
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 -C /opt/software/openGauss
```
4. Assume that the decompressed package is stored in the **/opt/software/openGauss** directory. Go to the **simpleInstall** directory.
diff --git a/content/en/docs/BriefTutorial/obtaining-and-verifying-an-installation-package.md b/content/en/docs/BriefTutorial/obtaining-and-verifying-an-installation-package.md
index ec7c5ec98bc79191f063fec569c4a32399b940fd..158b297cc15e93b0a1a89dbb3109de0fcf16c8c1 100644
--- a/content/en/docs/BriefTutorial/obtaining-and-verifying-an-installation-package.md
+++ b/content/en/docs/BriefTutorial/obtaining-and-verifying-an-installation-package.md
@@ -12,7 +12,7 @@
```
mkdir openGauss
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2 –C openGauss
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 –C openGauss
ls -lb openGauss/
```
diff --git a/content/en/docs/GettingStarted/installation-on-a-single-node.md b/content/en/docs/GettingStarted/installation-on-a-single-node.md
index c045c63ba6d8b2d9411871318b0b54b542c33786..ed2fc8babad94bc94e1c53230e183e47bf1e9856 100644
--- a/content/en/docs/GettingStarted/installation-on-a-single-node.md
+++ b/content/en/docs/GettingStarted/installation-on-a-single-node.md
@@ -16,7 +16,7 @@
3. Log in to the host where the openGauss package is installed as user **omm** and decompress the openGauss package to the installation directory (for example, **/opt/software/openGauss**).
```
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2 -C /opt/software/openGauss
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 -C /opt/software/openGauss
```
4. Assume that the decompressed package is stored in the **/opt/software/openGauss** directory. Go to the **simpleInstall** directory.
diff --git a/content/en/docs/GettingStarted/obtaining-and-verifying-an-installation-package.md b/content/en/docs/GettingStarted/obtaining-and-verifying-an-installation-package.md
index ec7c5ec98bc79191f063fec569c4a32399b940fd..158b297cc15e93b0a1a89dbb3109de0fcf16c8c1 100644
--- a/content/en/docs/GettingStarted/obtaining-and-verifying-an-installation-package.md
+++ b/content/en/docs/GettingStarted/obtaining-and-verifying-an-installation-package.md
@@ -12,7 +12,7 @@
```
mkdir openGauss
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2 –C openGauss
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 –C openGauss
ls -lb openGauss/
```
diff --git a/content/en/docs/InstallationGuide/installation-on-a-single-node.md b/content/en/docs/InstallationGuide/installation-on-a-single-node.md
index 95bac560bbdb6c1cb99586f337cab61f977c51b7..0a8b626b3b8e6507d2c1d27f971e3029467a8ec2 100644
--- a/content/en/docs/InstallationGuide/installation-on-a-single-node.md
+++ b/content/en/docs/InstallationGuide/installation-on-a-single-node.md
@@ -13,7 +13,7 @@
1. Log in to the host where the openGauss package is installed as a common user and decompress the openGauss package to the installation directory.
```
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2 -C /opt/software/openGauss
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 -C /opt/software/openGauss
```
2. Assume that the decompressed package is stored in the **/opt/software/openGauss** directory. Go to the **simpleInstall** directory.
diff --git a/content/en/docs/InstallationGuide/installation-on-primary-standby-nodes.md b/content/en/docs/InstallationGuide/installation-on-primary-standby-nodes.md
index 4526d9b5cb7d223304079fa4a7ac05a3e0686f11..dd7669c4280fee808e38b9279ad22087c5cf5301 100644
--- a/content/en/docs/InstallationGuide/installation-on-primary-standby-nodes.md
+++ b/content/en/docs/InstallationGuide/installation-on-primary-standby-nodes.md
@@ -13,7 +13,7 @@
1. Log in to the host where the package is installed as a common user and decompress the openGauss package to the installation directory.
```
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2 -C /opt/software/openGauss
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 -C /opt/software/openGauss
```
2. Assume that the decompressed package is stored in the **/opt/software/openGauss** directory. Go to the **simpleInstall** directory.
diff --git a/content/en/docs/InstallationGuide/obtaining-and-verifying-an-installation-package.md b/content/en/docs/InstallationGuide/obtaining-and-verifying-an-installation-package.md
index e9f920f67d8cb82e8cb51d54eb8eea77e4df0783..7b2e2dfcd57940f735c22a445f070cf4ae52bba4 100644
--- a/content/en/docs/InstallationGuide/obtaining-and-verifying-an-installation-package.md
+++ b/content/en/docs/InstallationGuide/obtaining-and-verifying-an-installation-package.md
@@ -14,7 +14,7 @@ You can obtain the installation package from the openGauss open-source community
Decompress the installation package and check whether the installation directory and files are complete. Run the following commands in the directory where the installation package is stored:
```
- tar -zxvf openGauss-x.x.x-openEuler-64bit.tar-all.gz
+ tar -zxvf openGauss-All-x.x.x-openEuler20.03-x86_64.tar.gz
ls -lb
```
@@ -22,10 +22,10 @@ You can obtain the installation package from the openGauss open-source community
```
total 50M
- -rw------- 1 root root 65 Dec 25 15:34 openGauss-x.x.x-openEuler-64bit-om.sha256
- -rw------- 1 root root 12910775 Dec 25 15:34 openGauss-x.x.x-openEuler-64bit-om.tar.gz
- -rw------- 1 root root 65 Dec 25 15:34 openGauss-x.x.x-openEuler-64bit.sha256
- -rw------- 1 root root 73334256 Dec 25 15:34 openGauss-x.x.x-openEuler-64bit.tar.bz2
+ -rw------- 1 root root 65 Dec 25 15:34 openGauss-OM-x.x.x-openEuler20.03-x86_64.tar.gz.sha256
+ -rw------- 1 root root 12910775 Dec 25 15:34 openGauss-OM-x.x.x-openEuler20.03-x86_64.tar.gz
+ -rw------- 1 root root 65 Dec 25 15:34 openGauss-Server-x.x.x-openEuler20.03-x86_64.sha256
+ -rw------- 1 root root 73334256 Dec 25 15:34 openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2
-rw------- 1 root root 65 Dec 25 15:34 upgrade_sql.sha256
-rw------- 1 root root 134747 Dec 25 15:34 upgrade_sql.tar.gz
```
diff --git a/content/en/docs/InstallationGuide/obtaining-the-installation-package.md b/content/en/docs/InstallationGuide/obtaining-the-installation-package.md
index 8d6583bf9ab745d9ef24595b53d156c14675b3ec..6fa357dedac79062530c62b4108275e9ae2dda76 100644
--- a/content/en/docs/InstallationGuide/obtaining-the-installation-package.md
+++ b/content/en/docs/InstallationGuide/obtaining-the-installation-package.md
@@ -14,7 +14,7 @@ You can obtain the installation package from the openGauss open-source community
Decompress the installation package and check whether the installation directory and files are complete. Run the following commands in the directory where the installation package is stored:
```
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2
ls -lb
```
diff --git "a/content/zh/docs/AboutopenGauss/cm\346\224\257\346\214\201\345\217\214\351\233\206\347\276\244\345\244\207\351\233\206\347\276\244switchover.md" "b/content/zh/docs/AboutopenGauss/cm\346\224\257\346\214\201\345\217\214\351\233\206\347\276\244\345\244\207\351\233\206\347\276\244switchover.md"
new file mode 100644
index 0000000000000000000000000000000000000000..8b4cabbdd3edc2584e80bcd501635e3863b2b5c1
--- /dev/null
+++ "b/content/zh/docs/AboutopenGauss/cm\346\224\257\346\214\201\345\217\214\351\233\206\347\276\244\345\244\207\351\233\206\347\276\244switchover.md"
@@ -0,0 +1,30 @@
+# cm支持双集群备集群switchover
+
+## 可获得性
+
+本特性自openGauss 6.0.0版本开始引入。
+
+## 特性简介
+
+本特性实现了资源池化场景下,双集群中的备机群可以通过switchover命令进行首备切换的功能。
+
+## 客户价值
+
+该特性实现后,客户可以通过cm切换备集群首备,实现备集群首备切换能力。
+
+## 特性描述
+
+资源池化场景下,双集群中的备机群可以通过cm的switchover命令进行首备切换。
+
+## 特性增强
+
+本特性扩展了cm工具的使用场景,使其在资源池化场景也能通过cm工具切换备集群首备。
+
+## 特性约束
+
+- 需要在资源池化双集群备集群中使用。
+- 原首备与升首备节点状态正常。
+
+## 依赖关系
+
+本特性依赖在资源池化双集群的备集群中使用。
\ No newline at end of file
diff --git "a/content/zh/docs/AboutopenGauss/\344\274\201\344\270\232\347\272\247\347\211\271\346\200\247.md" "b/content/zh/docs/AboutopenGauss/\344\274\201\344\270\232\347\272\247\347\211\271\346\200\247.md"
index 5d52c4a3f4253191a58be029f7fd6361d0f4e2ec..e8d0cf4b5d601e88554cdd3aa6b4e8f52023de1b 100644
--- "a/content/zh/docs/AboutopenGauss/\344\274\201\344\270\232\347\272\247\347\211\271\346\200\247.md"
+++ "b/content/zh/docs/AboutopenGauss/\344\274\201\344\270\232\347\272\247\347\211\271\346\200\247.md"
@@ -20,8 +20,6 @@
- **[自治事务](自治事务.md)**
-- **[管道函数](管道函数.md)**
-
- **[全局临时表](全局临时表.md)**
- **[伪列ROWNUM](伪列ROWNUM.md)**
diff --git "a/content/zh/docs/AboutopenGauss/\345\207\275\346\225\260\345\217\212\345\255\230\345\202\250\350\277\207\347\250\213\346\224\257\346\214\201.md" "b/content/zh/docs/AboutopenGauss/\345\207\275\346\225\260\345\217\212\345\255\230\345\202\250\350\277\207\347\250\213\346\224\257\346\214\201.md"
index aec097bac04e3e58e9a7a96025c585128d2d508c..a89ecb5e9fac6c7cc0e9b05dd683d2287d96ec02 100644
--- "a/content/zh/docs/AboutopenGauss/\345\207\275\346\225\260\345\217\212\345\255\230\345\202\250\350\277\207\347\250\213\346\224\257\346\214\201.md"
+++ "b/content/zh/docs/AboutopenGauss/\345\207\275\346\225\260\345\217\212\345\255\230\345\202\250\350\277\207\347\250\213\346\224\257\346\214\201.md"
@@ -34,6 +34,8 @@ openGauss支持SQL标准中的函数及存储过程,其中存储过程兼容
支持PL/PGSQL中使用游标表达式。
+支持在包package、匿名块、存储过程、函数中使用record类型创建一个游标的type类型。
+
## 特性约束
不支持嵌套数组的数组类型成员直接调用集合函数。
@@ -42,6 +44,18 @@ openGauss支持SQL标准中的函数及存储过程,其中存储过程兼容
不支持通过ROWTYPE获得嵌套游标的类型。
+管道函数必须是独立函数或包函数。
+
+管道函数不能为嵌套函数或SQL宏指定PIPLINED。
+
+管道函数返回的类型必须是schema级别或者package内定义的集合类型。目前支持Array和TableOf类型。
+
+管道函数返回类型必须与表类型显式一致。
+
+当管道函数存在大批量数据需要处理时,执行性能可能会变差,可以通过提升work_mem缓解性能问题。
+
+管道函数对TableOf实现为数组形式,如果管道函数作为targetlist,返回结果虽然是TableOf类型,但是实际访问能力缺失。
+
## 依赖关系
无。
diff --git "a/content/zh/docs/AboutopenGauss/\346\224\257\346\214\201\346\240\207\345\207\206SQL.md" "b/content/zh/docs/AboutopenGauss/\346\224\257\346\214\201\346\240\207\345\207\206SQL.md"
index 32520fd34c39be2d6fa0a8aef4640ee483ffebda..d0ae81d4d930e4bd56acfe7795b31ead42435053 100644
--- "a/content/zh/docs/AboutopenGauss/\346\224\257\346\214\201\346\240\207\345\207\206SQL.md"
+++ "b/content/zh/docs/AboutopenGauss/\346\224\257\346\214\201\346\240\207\345\207\206SQL.md"
@@ -36,6 +36,10 @@ openGauss数据库支持SQL:2011大部分的核心特性,同时还支持部分
支持numeric(p, s)类型中参数`s`允许为负数。
+支持ROTATE和NOT ROTATE函数实现查询结果行列转换。
+
+支持ALTER TRIGGER方式启用或禁用单个触发器。
+
## 特性约束
float(n)范围支持`1~126`需要开启参数`behavior_compat_options='float_as_numeric'`。
diff --git "a/content/zh/docs/AboutopenGauss/\347\256\241\351\201\223\345\207\275\346\225\260.md" "b/content/zh/docs/AboutopenGauss/\347\256\241\351\201\223\345\207\275\346\225\260.md"
deleted file mode 100644
index cb2a05f10837516c8c0a05cace9f5322d05124c9..0000000000000000000000000000000000000000
--- "a/content/zh/docs/AboutopenGauss/\347\256\241\351\201\223\345\207\275\346\225\260.md"
+++ /dev/null
@@ -1,35 +0,0 @@
-# 管道函数
-
-## 可获得性
-
-本特性自openGauss 6.0.0版本开始引入。
-
-## 特性简介
-
-管道函数是可以返回行集合(可以是嵌套表或数组)的函数,您可以像查询物理表一样查询函数或者将其赋值给集合变量。
-
-## 客户价值
-
-满足客户多样化使用场景。
-
-## 特性描述
-
-管道函数在处理大量数据时非常有用,因为它可以逐步返回数据,而不需要一次性返回所有结果,从而提高查询性能和开发效率。
-
-## 特性增强
-
-无。
-
-## 特性约束
-
-- 管道函数必须是独立函数或包函数。
-- 不能为嵌套函数或SQL宏指定PIPLINED。
-- 管道函数返回的类型必须是schema级别或者package内定义的集合类型。目前支持Array和TableOf类型。
-- 返回类型必须与表类型显式一致。
-- 当存在大批量数据需要处理时,执行性能可能会变差,可以通过提升work_mem缓解性能问题。
-- 目前对TableOf实现为数组形式,如果管道函数作为targetlist,返回结果虽然是TableOf类型,但是实际访问能力缺失。
-
-## 依赖关系
-
-无。
-
diff --git "a/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.md" "b/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.md"
index e2bf6c963c988754a02ad7fecb31b9d8da5c58b8..c42dfa3c644defaf7f6926bef543e44f5b7984cf 100644
--- "a/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.md"
+++ "b/content/zh/docs/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.md"
@@ -2,4 +2,5 @@
- **[gs_collector适配资源池化](gs_collector适配资源池化.md)**
- **[DMS资源统计函数](DMS资源统计函数.md)**
-- **[gs_probackup适配资源池化](gs_probackup适配资源池化.md)**
\ No newline at end of file
+- **[gs_probackup适配资源池化](gs_probackup适配资源池化.md)**
+- **[cm支持双集群备集群switchover](cm支持双集群备集群switchover.md)**
\ No newline at end of file
diff --git "a/content/zh/docs/AboutopenGauss/\351\200\273\350\276\221\345\244\215\345\210\266.md" "b/content/zh/docs/AboutopenGauss/\351\200\273\350\276\221\345\244\215\345\210\266.md"
index 0f433d65c00a21ae14eae020f4e1966bc3842f4c..d8ba7f7c8d66969f3bb626c9ea62968b762ff54a 100644
--- "a/content/zh/docs/AboutopenGauss/\351\200\273\350\276\221\345\244\215\345\210\266.md"
+++ "b/content/zh/docs/AboutopenGauss/\351\200\273\350\276\221\345\244\215\345\210\266.md"
@@ -21,8 +21,18 @@ DN通过物理日志反解析为逻辑日志,DRS等逻辑复制工具从DN抽
- openGauss 1.0.0逻辑解码新增全量+增量抽取日志的方案。
- openGauss 1.1.0逻辑解码新增备机支持逻辑解码。
- openGauss 6.0.0-RC1逻辑复制支持如下DDL操作:
- - CREATE/DROP TABLE|TABLE PARTITION
- - CREATE/DROP INDEX
+ - CREATE/DROP/ALTER/TRUNCATE/RENAME TABLE | TABLE PARTITION | TABLE SUBPARTITION
+ - CREATE/ALTER/DROP INDEX
+ - CREATE/ALTER/DROP VIEW
+ - CREATE/ALTER/DROP/REFRESH [INCREMENTAL] MATERIALIZED VIEW
+ - CREATE/ALTER/DROP TYPE
+ - CREATE/ALTER/DROP FUNCTION
+ - CREATE/ALTER/DROP PROCEDURE
+ - CREATE/ALTER/DROP TRIGGER
+ - CREATE/DROP PACKAGE
+ - CREATE/DROP SCHEMA
+ - CREATE/DROP SEQUENCE
+ - COMMENT/GRANT/REVOKE
## 特性约束
diff --git "a/content/zh/docs/DatabaseAdministrationGuide/\350\265\204\346\272\220\346\261\240\345\214\226DORADO\345\217\214\351\233\206\347\276\244\351\203\250\347\275\262.md" "b/content/zh/docs/DatabaseAdministrationGuide/\350\265\204\346\272\220\346\261\240\345\214\226DORADO\345\217\214\351\233\206\347\276\244\351\203\250\347\275\262.md"
index 7f80d98d2c4dc35ec0e1a197c8a90f8604825bff..c6504be335a6b595f73735a67e0adf9454b85fde 100644
--- "a/content/zh/docs/DatabaseAdministrationGuide/\350\265\204\346\272\220\346\261\240\345\214\226DORADO\345\217\214\351\233\206\347\276\244\351\203\250\347\275\262.md"
+++ "b/content/zh/docs/DatabaseAdministrationGuide/\350\265\204\346\272\220\346\261\240\345\214\226DORADO\345\217\214\351\233\206\347\276\244\351\203\250\347\275\262.md"
@@ -190,8 +190,8 @@ openGauss资源池化是openGauss推出的一种新型的集群架构.通过DMS
将下载的安装包放置/opt/software/openGauss目录下
cd /opt/software/openGauss
- tar -zxvf openGauss-x.x.x-openEuler-64bit-all.tar.gz
- tar -zxvf openGauss-x.x.x-openEuler-64bit-om.tar.gz
+ tar -zxvf openGauss-All-x.x.x-openEuler20.03-x86_64.tar.gz
+ tar -zxvf openGauss-OM-x.x.x-openEuler20.03-x86_64.tar.gz
cd /opt/software/openGauss/script
./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml --sep-env-file=/home/omm/env
@@ -256,8 +256,8 @@ openGauss资源池化是openGauss推出的一种新型的集群架构.通过DMS
将下载的安装包放置/opt/software/openGauss目录下
cd /opt/software/openGauss
- tar -zxvf openGauss-x.x.x-openEuler-64bit-all.tar.gz
- tar -zxvf openGauss-x.x.x-openEuler-64bit-om.tar.gz
+ tar -zxvf openGauss-All-x.x.x-openEuler20.03-x86_64.tar.gz
+ tar -zxvf openGauss-OM-x.x.x-openEuler20.03-x86_64.tar.gz
cd /opt/software/openGauss/script
gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml --sep-env-file=/home/omm/env
diff --git "a/content/zh/docs/DatabaseAdministrationGuide/\350\265\204\346\272\220\346\261\240\345\214\226\347\275\221\347\273\234\345\217\214\351\233\206\347\276\244\351\203\250\347\275\262.md" "b/content/zh/docs/DatabaseAdministrationGuide/\350\265\204\346\272\220\346\261\240\345\214\226\347\275\221\347\273\234\345\217\214\351\233\206\347\276\244\351\203\250\347\275\262.md"
index 8718cec2a1c3e05ab9a36539892ed5712a033653..f55d290ec0eabfcb87ca340d0a8c6afc689469dd 100644
--- "a/content/zh/docs/DatabaseAdministrationGuide/\350\265\204\346\272\220\346\261\240\345\214\226\347\275\221\347\273\234\345\217\214\351\233\206\347\276\244\351\203\250\347\275\262.md"
+++ "b/content/zh/docs/DatabaseAdministrationGuide/\350\265\204\346\272\220\346\261\240\345\214\226\347\275\221\347\273\234\345\217\214\351\233\206\347\276\244\351\203\250\347\275\262.md"
@@ -171,8 +171,8 @@ openGauss资源池化是openGauss推出的一种新型的集群架构.通过DMS
将下载的安装包放置/opt/software/openGauss目录下
cd /opt/software/openGauss
- tar -zxvf openGauss-x.x.x-openEuler-64bit-all.tar.gz
- tar -zxvf openGauss-x.x.x-openEuler-64bit-om.tar.gz
+ tar -zxvf openGauss-All-x.x.x-openEuler20.03-x86_64.tar.gz
+ tar -zxvf openGauss-OM-x.x.x-openEuler20.03-x86_64.tar.gz
cd /opt/software/openGauss/script
./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml --sep-env-file=/home/omm/env
@@ -236,8 +236,8 @@ openGauss资源池化是openGauss推出的一种新型的集群架构.通过DMS
将下载的安装包放置/opt/software/openGauss目录下
cd /opt/software/openGauss
- tar -zxvf openGauss-x.x.x-openEuler-64bit-all.tar.gz
- tar -zxvf openGauss-x.x.x-openEuler-64bit-om.tar.gz
+ tar -zxvf openGauss-All-x.x.x-openEuler20.03-x86_64.tar.gz
+ tar -zxvf openGauss-OM-x.x.x-openEuler20.03-x86_64.tar.gz
cd /opt/software/openGauss/script
gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml --sep-env-file=/home/omm/env
diff --git "a/content/zh/docs/DatabaseOMGuide/\351\200\273\350\276\221\345\244\215\345\210\266\346\224\257\346\214\201DDL\346\223\215\344\275\234.md" "b/content/zh/docs/DatabaseOMGuide/\351\200\273\350\276\221\345\244\215\345\210\266\346\224\257\346\214\201DDL\346\223\215\344\275\234.md"
index 35e672889f7ad33b1b7f42d6322e363ffa582d26..fbd7071992a120826bbee323bbe6c134cf4f10b8 100644
--- "a/content/zh/docs/DatabaseOMGuide/\351\200\273\350\276\221\345\244\215\345\210\266\346\224\257\346\214\201DDL\346\223\215\344\275\234.md"
+++ "b/content/zh/docs/DatabaseOMGuide/\351\200\273\350\276\221\345\244\215\345\210\266\346\224\257\346\214\201DDL\346\223\215\344\275\234.md"
@@ -4,19 +4,34 @@
openGauss在逻辑复制过程中支持如下DDL操作:
-- CREATE/DROP TABLE|TABLE PARTITION
-- CREATE/DROP INDEX
+- CREATE/DROP/ALTER/TRUNCATE/RENAME TABLE | TABLE PARTITION | TABLE SUBPARTITION
+- CREATE/ALTER/DROP INDEX
+- CREATE/ALTER/DROP VIEW
+- CREATE/ALTER/DROP/REFRESH [INCREMENTAL] MATERIALIZED VIEW
+- CREATE/ALTER/DROP TYPE
+- CREATE/ALTER/DROP FUNCTION
+- CREATE/ALTER/DROP PROCEDURE
+- CREATE/ALTER/DROP TRIGGER
+- CREATE/DROP PACKAGE
+- CREATE/DROP SCHEMA
+- CREATE/DROP SEQUENCE
+- COMMENT/GRANT/REVOKE
## 注意事项
- 只支持行存表的DDL操作。
- 不支持列存,Ustore存储引擎。
+- TYPE仅支持复合类型和枚举类型。
- 在订阅端手动删除表会导致DDL同步失败,发布订阅阻塞。
- 不支持在对表进行相关的表结构操作中调用VOLATILE函数。
>在为表增加一个字段并指定默认值中执行了VOLATILE函数,而这个函数中进行了创建表的DDL操作,这样在新增字段并为其计算默认值的过程中会因为调用VOLATILE函数写入其他DDL日志,导致后续在解码时读取到这个DDL日志时进行了重复的操作。
+- 在逻辑复制中使用ALTER TABLE时会有如下限制:
+ - 当ALTER TABLE修改表字段类型,使用USING子句设置字段值时,要求表上必须有replication identity字段,并且USING子句修改的表字段不为该标识符字段。
+ - 当ALTER TABLE修改或新增表字段为AUTO_INCREMENT自增列时,要求表上必须有replication identity字段,并且USING子句修改的表字段不为该标识符字段。
+ - 当ALTER TABLE新增表字段,并且表字段类型不为内置类型,即需要每个元组都重新计算其默认值,要求表上必须设置replication identity。
## 语法格式
diff --git "a/content/zh/docs/GettingStarted/\344\275\277\347\224\250gsql\350\256\277\351\227\256openGauss.md" "b/content/zh/docs/GettingStarted/\344\275\277\347\224\250gsql\350\256\277\351\227\256openGauss.md"
index f6a253e9d6168045f5b2a579294dc3a67dd8a6a1..bd0f751c2db4f3a53d7b8752d7e3f33f8d480264 100644
--- "a/content/zh/docs/GettingStarted/\344\275\277\347\224\250gsql\350\256\277\351\227\256openGauss.md"
+++ "b/content/zh/docs/GettingStarted/\344\275\277\347\224\250gsql\350\256\277\351\227\256openGauss.md"
@@ -102,7 +102,7 @@ gsql是openGauss提供的在命令行下运行的数据库连接工具。此工
mkdir /tmp/tools
```
- c. 获取软件安装包中的“openGauss-x.x.x-openEuler-64bit-Libpq.tar.gz”上传到“/tmp/tools”路径下。
+ c. 获取软件安装包中的“openGauss-Libpq-x.x.x-openEuler20.03-x86_64.tar.gz”上传到“/tmp/tools”路径下。
> **说明:**
> - 软件包相对位置为安装时所放位置,根据实际情况填写。
@@ -112,7 +112,7 @@ gsql是openGauss提供的在命令行下运行的数据库连接工具。此工
```
cd /tmp/tools
- tar -zxvf openGauss-x.x.x-openEuler-64bit-Libpq.tar.gz
+ tar -zxvf openGauss-Libpq-x.x.x-openEuler20.03-x86_64.tar.gz
```
e. 登录数据库主节点所在的服务器,拷贝数据库安装目录下的bin目录到客户端主机的“/tmp/tools”路径下。
diff --git "a/content/zh/docs/GettingStarted/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md" "b/content/zh/docs/GettingStarted/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md"
index 688dce9c935d89851acc717eff50eb3e78e377a4..a3a1ef858c4d6fd84b5bfcca9136e67420141813 100644
--- "a/content/zh/docs/GettingStarted/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md"
+++ "b/content/zh/docs/GettingStarted/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md"
@@ -12,7 +12,7 @@
```
mkdir openGauss
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2 –C openGauss
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 –C openGauss
ls -lb openGauss/
```
diff --git "a/content/zh/docs/InstallationGuide/\344\270\200\344\270\273\344\270\200\345\244\207\350\212\202\347\202\271\345\256\211\350\243\205.md" "b/content/zh/docs/InstallationGuide/\344\270\200\344\270\273\344\270\200\345\244\207\350\212\202\347\202\271\345\256\211\350\243\205.md"
index fdcf069068c5580decad9b05e696eb01cec4857e..54cdabf4a66d690cd32b52cf22d81150431e3aa1 100644
--- "a/content/zh/docs/InstallationGuide/\344\270\200\344\270\273\344\270\200\345\244\207\350\212\202\347\202\271\345\256\211\350\243\205.md"
+++ "b/content/zh/docs/InstallationGuide/\344\270\200\344\270\273\344\270\200\345\244\207\350\212\202\347\202\271\345\256\211\350\243\205.md"
@@ -26,7 +26,7 @@
```
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2 -C /opt/software/openGauss
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 -C /opt/software/openGauss
```
4. 假定解压包的路径为/opt/software/openGauss,进入解压后目录下的simpleInstall。
diff --git "a/content/zh/docs/InstallationGuide/\345\210\235\345\247\213\345\214\226\345\256\211\350\243\205\347\216\257\345\242\203.md" "b/content/zh/docs/InstallationGuide/\345\210\235\345\247\213\345\214\226\345\256\211\350\243\205\347\216\257\345\242\203.md"
index 986f4c9db6739a705f197fa2b2b8a2c61a2b20c9..0247dc7dbd534ceaafbf13b21e481d4a558ef6a5 100644
--- "a/content/zh/docs/InstallationGuide/\345\210\235\345\247\213\345\214\226\345\256\211\350\243\205\347\216\257\345\242\203.md"
+++ "b/content/zh/docs/InstallationGuide/\345\210\235\345\247\213\345\214\226\345\256\211\350\243\205\347\216\257\345\242\203.md"
@@ -43,14 +43,14 @@ mkdir -p /opt/software/openGauss
>- 不建议把安装包的存放目录规划到openGauss用户的根目录或其子目录下,可能导致权限问题。
>
-2.将安装包“openGauss-x.x.x-openEuler-64bit-all.tar.gz”和配置文件“cluster_config.xml”都上传至上一步所创建的目录中。
+2.将安装包“openGauss-All-x.x.x-openEuler20.03-x86_64.tar.gz”和配置文件“cluster_config.xml”都上传至上一步所创建的目录中。
-3.在第一步所创建的安装包的目录下,解压安装包openGauss-x.x.x-openEuler-64bit-all.tar.gz。安装包解压后,会有OM安装包和Server安装包。继续解压OM安装包,会在/opt/software/openGauss路径下自动生成script子目录,并且在script目录下生成gs_preinstall等各种OM工具脚本。
+3.在第一步所创建的安装包的目录下,解压安装包openGauss-All-x.x.x-openEuler20.03-x86_64.tar.gz。安装包解压后,会有OM安装包和Server安装包。继续解压OM安装包,会在/opt/software/openGauss路径下自动生成script子目录,并且在script目录下生成gs_preinstall等各种OM工具脚本。
```
cd /opt/software/openGauss
-tar -zxvf openGauss-x.x.x-openEuler-64bit-all.tar.gz
-tar -zxvf openGauss-x.x.x-openEuler-64bit-om.tar.gz
+tar -zxvf openGauss-All-x.x.x-openEuler20.03-x86_64.tar.gz
+tar -zxvf openGauss-OM-x.x.x-openEuler20.03-x86_64.tar.gz
```
> **说明:**
diff --git "a/content/zh/docs/InstallationGuide/\345\215\225\350\212\202\347\202\271\345\256\211\350\243\205.md" "b/content/zh/docs/InstallationGuide/\345\215\225\350\212\202\347\202\271\345\256\211\350\243\205.md"
index 84393055500f9de65956cb4e391ca94791431903..60b45224d3dd8a28e53d8406a8f31fc6205e2f1f 100644
--- "a/content/zh/docs/InstallationGuide/\345\215\225\350\212\202\347\202\271\345\256\211\350\243\205.md"
+++ "b/content/zh/docs/InstallationGuide/\345\215\225\350\212\202\347\202\271\345\256\211\350\243\205.md"
@@ -13,7 +13,7 @@
1.使用普通用户登录到openGauss包安装的主机,解压openGauss压缩包到安装目录(假定安装目录为/opt/software/openGauss,请用实际值替换)。
```
-tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2 -C /opt/software/openGauss
+tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2 -C /opt/software/openGauss
```
2.假定解压包的路径为/opt/software/openGauss,进入解压后目录下的simpleInstall。
diff --git "a/content/zh/docs/InstallationGuide/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md" "b/content/zh/docs/InstallationGuide/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md"
index c563de1fd80a69a1ca170367720cb436f2c63b12..59e98f7ac1a773af32c57d8eb6cbbf095525fe94 100644
--- "a/content/zh/docs/InstallationGuide/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md"
+++ "b/content/zh/docs/InstallationGuide/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md"
@@ -15,7 +15,7 @@ openGauss开源社区上提供了安装包的获取方式。
解压安装包,检查安装目录及文件是否齐全。在安装包所在目录执行以下命令:
```
- tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2
+ tar -jxf openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2
ls -lb
```
@@ -28,7 +28,7 @@ openGauss开源社区上提供了安装包的获取方式。
drwx------ 3 root root 4096 Mar 31 21:18 include
drwx------ 4 root root 4096 Mar 31 21:18 jre
drwx------ 5 root root 4096 Mar 31 21:18 lib
- -rw------- 1 root root 92427499 Apr 1 09:43 openGauss-x.x.x-openEuler-64bit.tar.bz2
+ -rw------- 1 root root 92427499 Apr 1 09:43 openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2
drwx------ 5 root root 4096 Mar 31 21:18 share
drwx------ 2 root root 4096 Mar 31 21:18 simpleInstall
-rw------- 1 root root 32 Mar 31 21:18 version.cfg
diff --git "a/content/zh/docs/InstallationGuide/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205_\344\274\201\344\270\232\347\211\210.md" "b/content/zh/docs/InstallationGuide/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205_\344\274\201\344\270\232\347\211\210.md"
index 45f72cd5a607b722d93f4df0234c4e837c6d3f4c..d92cba0a182a3b018aba6a35269106af89cc47fe 100644
--- "a/content/zh/docs/InstallationGuide/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205_\344\274\201\344\270\232\347\211\210.md"
+++ "b/content/zh/docs/InstallationGuide/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205_\344\274\201\344\270\232\347\211\210.md"
@@ -14,21 +14,21 @@ openGauss开源社区上提供了安装包的获取方式。
解压安装包,检查安装目录及文件是否齐全。在安装包所在目录执行以下命令:
```
- tar -zxvf openGauss-x.x.x-openEuler-64bit-all.tar.gz
+ tar -zxvf openGauss-All-x.x.x-openEuler20.03-x86_64.tar.gz
ls -lb
```
执行ls命令,显示类似如下信息:
```
total 143M
- -rw-r--r-- 1 root root 105 Sep 28 00:26 openGauss-x.x.x-CentOS-64bit-cm.sha256
- -rw-r--r-- 1 root root 22M Sep 28 00:26 openGauss-x.x.x-CentOS-64bit-cm.tar.gz
- -rw-r--r-- 1 root root 65 Sep 28 00:25 openGauss-x.x.x-CentOS-64bit-om.sha256
- -rw-r--r-- 1 root root 22M Sep 28 00:25 openGauss-x.x.x-CentOS-64bit-om.tar.gz
- -rw-r--r-- 1 root root 65 Sep 28 00:26 openGauss-x.x.x-CentOS-64bit.sha256
- -rw-r--r-- 1 root root 99M Sep 28 00:26 openGauss-x.x.x-CentOS-64bit.tar.bz2
- -rw------- 1 root root 65 Sep 28 00:24 upgrade_sql.sha256
- -rw------- 1 root root 511K Sep 28 00:24 upgrade_sql.tar.gz
+ -rwx------ 1 omm omm 0 Sep 25 09:29 openGauss-CM-x.x.x-openEuler20.03-x86_64.sha256
+ -rwx------ 1 omm omm 22M Sep 25 09:29 openGauss-CM-x.x.x-openEuler20.03-x86_64.tar.gz
+ -rwx------ 1 omm omm 65 Sep 25 09:28 openGauss-OM-x.x.x-openEuler20.03-x86_64.sha256
+ -rwx------ 1 omm omm 23M Sep 25 09:28 openGauss-OM-x.x.x-openEuler20.03-x86_64.tar.gz
+ -rwx------ 1 omm omm 65 Sep 25 09:29 openGauss-Server-x.x.x-openEuler20.03-x86_64.sha256
+ -rwx------ 1 omm omm 105M Sep 25 09:29 openGauss-Server-x.x.x-openEuler20.03-x86_64.tar.bz2
+ -rwx------ 1 omm omm 65 Sep 25 09:26 upgrade_sql.sha256
+ -rwx------ 1 omm omm 552K Sep 25 09:26 upgrade_sql.tar.gz
```
diff --git "a/content/zh/docs/SQLReference/\344\275\277\347\224\250\346\270\270\346\240\207\345\210\233\345\273\272type.md" "b/content/zh/docs/SQLReference/\344\275\277\347\224\250\346\270\270\346\240\207\345\210\233\345\273\272type.md"
new file mode 100644
index 0000000000000000000000000000000000000000..2fe584f76d0c6763323e090e87c95ec11a7c2999
--- /dev/null
+++ "b/content/zh/docs/SQLReference/\344\275\277\347\224\250\346\270\270\346\240\207\345\210\233\345\273\272type.md"
@@ -0,0 +1,107 @@
+# 使用游标创建type
+
+## 功能描述
+
+该功能用于在包package或者匿名块、存储过程、函数中使用record类型创建一个游标的type类型。
+
+## 注意事项
+
+- 创建的type为弱游标类型。
+- 该type类型如果作为out参数返回是游标类型。
+
+
+## 语法格式
+
+```sql
+TYPE type_name IS REF CURSOR RETURN record_name ;
+```
+
+## 参数说明
+
+- **type_name**
+
+ 定义的类型的名称。
+- **record_name**
+
+ 使用数据类型说明符 RECORD 定义的用户定义类型的名称。
+
+
+
+## 兼容性
+
+暂不支持如下语法:
+
+```sql
+TYPE type_name IS REF CURSOR
+ [ RETURN
+ { {db_table_or_view | cursor | cursor_variable}%ROWTYPE
+ | record%TYPE
+ | ref_cursor_type
+ }
+ ] ;
+```
+
+## 示例
+
+**示例1:** 使用record类型创建一个游标的type类型。
+
+1、创建测试表t。
+
+```sql
+create table t(id int, name varchar2(30));
+```
+
+2、声明游标类型。
+
+```sql
+declare
+type RECORD_ACCOUNT_LIST is record(id int,name varchar2(30));
+type CUR_ACCOUNT_LIST is ref cursor return RECORD_ACCOUNT_LIST;
+cur_accountlist CUR_ACCOUNT_LIST;
+begin
+open cur_accountlist for select * from t;
+end;
+/
+```
+
+返回结果如下,则表示创建成功:
+
+```sql
+ANONYMOUS BLOCK EXECUTE
+```
+
+
+
+**示例2:** 弱游标类型。
+
+1、创建测试表t1并插入数据。
+
+```sql
+create table t1(id int, name varchar2(30));
+insert into t1 values(1,'a1');
+```
+
+2、定义一个弱类型游标。
+
+```sql
+declare
+type RECORD_ACCOUNT_LIST1 IS RECORD (id int, name1 varchar2(30));
+type CUR_ACCOUNT_LIST1 is ref cursor return RECORD_ACCOUNT_LIST1;
+cur_accountlist1 CUR_ACCOUNT_LIST1;
+rc_list RECORD_ACCOUNT_LIST1;
+begin
+open cur_accountlist1 for select * from t1;
+loop
+fetch cur_accountlist1 into rc_list;
+exit when cur_accountlist1%notfound;
+dbms_output.put_line(rc_list.id||' '||rc_list.name1);
+end loop;
+end;
+/
+```
+
+返回结果如下,则表示创建成功:
+
+```sql
+ANONYMOUS BLOCK EXECUTE
+```
\ No newline at end of file
diff --git a/content/zh/docs/ToolandCommandReference/gs_dump.md b/content/zh/docs/ToolandCommandReference/gs_dump.md
index d9179d333b630c1d62c0954c9cdaab8a0c44f949..24a4d8124319e5a75dd3513bf47c025f7fe3a717 100644
--- a/content/zh/docs/ToolandCommandReference/gs_dump.md
+++ b/content/zh/docs/ToolandCommandReference/gs_dump.md
@@ -428,22 +428,32 @@ export PGDATABASE=postgres
输出符合SQL标准的SET SESSION AUTHORIZATION命令而不是ALTER OWNER命令来确定对象所有权。这样令转储更加符合标准,但是如果转储文件中的对象的历史有些问题,那么可能不能正确恢复。并且,使用SET SESSION AUTHORIZATION的转储需要数据库系统管理员的权限才能转储成功,而ALTER OWNER需要的权限则低得多。
-- --with-encryption=AES128
+- --with-encryption=AES128/SM4
- 指定转储数据需用AES128进行加密。
+ 指定转储数据使用的加密方式,支持AES128和SM4算法。加密导出仅支持导出格式为纯文本(-F p)。
-- --with-key=KEY
+  **说明:**
+
+ - 该选项必须与--with-key和--with-salt同时使用。
+
+ - AES128加密算法使用的是CBC模式,SM4加密算法使用的是CTR模式。
+
+ - 当使用三未信安的加密算法时,必须使用--with-userpin指定创建密钥时的KMS用户信息。
- AES128密钥长度规则如下:
+- --with-key=KEY
- - 密钥长度为8~16字符。
- - 至少包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)、非字母数字字符(限定为~!@#$%^&*()-_=+\|[]{};:,<.>/?)四类字符中的三类字符。
+ 密钥名称或者密钥索引。
-  **说明:**
+ AES128密钥长度规则如下:
+
+ - 密钥长度为8~16字符。
+ - 至少包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)、非字母数字字符(限定为~!@#$%^&*()-_=+\|[]{};:,<.>/?)四类字符中的三类字符。
+
+  **说明:**
- - 使用gs_dump工具进行加密导出时,仅支持plain格式导出。通过-F plain导出的数据,需要通过gsql工具进行导入,且如果以加密方式导入,在通过gsql导入时,需要指定--with-key参数。
+ - 使用gs_dump工具进行加密导出时,仅支持plain格式导出。通过-F plain导出的数据,需要通过gsql工具进行导入,且如果以加密方式导入,在通过gsql导入时,需要指定--with-key参数。
- - 不支持加密导出存储过程和函数。
+ - 不支持加密导出存储过程和函数。
- --with-salt=RANDVALUES
diff --git a/content/zh/docs/ToolandCommandReference/gs_dumpall.md b/content/zh/docs/ToolandCommandReference/gs_dumpall.md
index 65724939aeee957afa3dadd927e7aa2fc9279483..59f00491f00c566dddd1688ec7d2bb1a6684b109 100644
--- a/content/zh/docs/ToolandCommandReference/gs_dumpall.md
+++ b/content/zh/docs/ToolandCommandReference/gs_dumpall.md
@@ -166,16 +166,30 @@ gs_dumpall [OPTION]...
输出符合SQL标准的SET SESSION AUTHORIZATION命令而不是ALTER OWNER命令来确定对象所有权。这样令转储更加符合标准,但是如果转储文件中的对象的历史有些问题,那么可能不能正确恢复。并且,使用SET SESSION AUTHORIZATION的转储需要数据库系统管理员的权限才能转储成功,而ALTER OWNER需要的权限则低得多。
-- --with-encryption=AES128
+- --with-encryption=AES128/SWS-KMS-SM4/TAS-KMS-SM4
- 指定转储数据需用AES128进行加密。
+ 指定转储数据使用的加密方式(算法)。支持AES128/SWS-KMS-SM4/TAS-KMS-SM4。
+
+  **说明:**
+
+ - 该选项必须与--with-key同时使用。
+
+ - 当加密方式为SWS-KMS-SM4时,必须与--with-userpin同时使用。
- --with-key=KEY
- AES128密钥长度规则如下:
+ 密钥名称或者密钥索引。
+
+ - AES128密钥长度规则如下:
+
+ - 密钥长度为8~16字符。
+ - 至少包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)、非字母数字字符(限定为~!@#$%^&*()-_=+\|[]{};:,<.>/?)四类字符中的三类字符。
+ - 加密算法为TAS-KMS-SM4时,--with-key指定的是江南天安KMS上创建的密钥索引,Vastbase限制其索引范围必须是1 ~ 2048。
+ - 加密算法为SWS-KMS-SM4时,--with-key指定的是三未信安KMS上创建的密钥名称。
+
+- with-userpin=username:password
- - 密钥长度为8~16字符。
- - 至少包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)、非字母数字字符(限定为~!@#$%^&*()-_=+\|[]{};:,<.>/?)四类字符中的三类字符。
+ 连接seckms加密服务器的username:password信息。
- --include-Extension
diff --git a/content/zh/docs/ToolandCommandReference/gs_restore.md b/content/zh/docs/ToolandCommandReference/gs_restore.md
index 2ab5158c44ed1231f20873c0a92e588f71380cbf..c9fbf82048a4214dfe05463fc0b74cd2792d1db1 100644
--- a/content/zh/docs/ToolandCommandReference/gs_restore.md
+++ b/content/zh/docs/ToolandCommandReference/gs_restore.md
@@ -259,6 +259,25 @@ gs_restore [OPTION]... FILE
使用管道传输密码,禁止在终端使用。
+- --with-decryption=AES128/SM4
+
+ 还原数据时采用AES128或SM4硬件加密方式解密。
+
+ 若导出时使用--with-encryption指定了加密方式,则恢复时需要指定此参数并采用同样的方式进行解密。
+
+  **说明:**
+
+- --with-key=KEY
+
+ 硬件加密设备内部的密钥索引。
+
+- --with-salt=RANDVALUES
+
+ 用于解密的随机盐值。
+
+ - 必须为16个字符的字符串。
+ - 恢复时指定的盐值必须与加密导出时指定的盐值相同。
+
>  **须知:**
>- 如果安装过程中有任何本地数据要添加到template1数据库,请谨慎将gs\_restore的输出载入到一个真正的空数据库中;否则可能会因为被添加对象的定义被复制,而出现错误。要创建一个无本地添加的空数据库,需从template0而非template1复制,例如:
```
diff --git a/content/zh/menu/index.md b/content/zh/menu/index.md
index 82f55d3856f8bd66e6f24433d88a3c779e54826d..e9b3d5bfeec9a159835376cd7a9e8beac828b8d0 100644
--- a/content/zh/menu/index.md
+++ b/content/zh/menu/index.md
@@ -110,6 +110,7 @@ headless: true
- [gs_collector适配资源池化]({{< relref "./docs/AboutopenGauss/gs_collector适配资源池化.md" >}})
- [DMS资源统计函数]({{< relref "./docs/AboutopenGauss/DMS资源统计函数.md" >}})
- [gs_probackup适配资源池化]({{< relref "./docs/AboutopenGauss/gs_probackup适配资源池化.md" >}})
+ - [cm支持双集群备集群switchover]({{< relref "./docs/AboutopenGauss/cm支持双集群备集群switchover.md" >}})
- [在线reform]({{< relref "./docs/AboutopenGauss/在线reform.md" >}})
- [MES worker线程池化]({{< relref "./docs/AboutopenGauss/MES-worker线程池化.md" >}})
- [企业级特性]({{< relref "./docs/AboutopenGauss/企业级特性.md" >}})
@@ -123,7 +124,6 @@ headless: true
- [支持HyperLogLog]({{< relref "./docs/AboutopenGauss/支持HyperLogLog.md" >}})
- [在线添加索引]({{< relref "./docs/AboutopenGauss/在线添加索引.md" >}})
- [自治事务]({{< relref "./docs/AboutopenGauss/自治事务.md" >}})
- - [管道函数]({{< relref "./docs/AboutopenGauss/管道函数.md" >}})
- [全局临时表]({{< relref "./docs/AboutopenGauss/全局临时表.md" >}})
- [伪列ROWNUM]({{< relref "./docs/AboutopenGauss/伪列ROWNUM.md" >}})
- [支持存储过程调试]({{< relref "./docs/AboutopenGauss/支持存储过程调试.md" >}})
@@ -1438,6 +1438,7 @@ headless: true
- [使用]({{< relref "./docs/SQLReference/使用_增量物化视图.md" >}})
- [支持和约束]({{< relref "./docs/SQLReference/支持和约束-1.md" >}})
- [游标]({{< relref "./docs/SQLReference/游标.md" >}})
+ - [使用游标创建type]({{< relref "./docs/SQLReference/使用游标创建type.md" >}})
- [匿名块]({{< relref "./docs/SQLReference/匿名块.md" >}})
- [存储过程]({{< relref "./docs/SQLReference/存储过程.md" >}})
- [存储过程]({{< relref "./docs/SQLReference/存储过程_SQLReference.md" >}})
diff --git "a/sphinx/source/AboutopenGauss/\344\274\201\344\270\232\347\272\247\347\211\271\346\200\247.rst" "b/sphinx/source/AboutopenGauss/\344\274\201\344\270\232\347\272\247\347\211\271\346\200\247.rst"
index 4d22125b83381735bcb1a1613ca7cec5a2bb6bad..42b910a3ab87ba4afeee88800e57796cd4605425 100644
--- "a/sphinx/source/AboutopenGauss/\344\274\201\344\270\232\347\272\247\347\211\271\346\200\247.rst"
+++ "b/sphinx/source/AboutopenGauss/\344\274\201\344\270\232\347\272\247\347\211\271\346\200\247.rst"
@@ -13,7 +13,6 @@
../content/zh/docs/AboutopenGauss/支持HyperLogLog
../content/zh/docs/AboutopenGauss/在线添加索引
../content/zh/docs/AboutopenGauss/自治事务
- ../content/zh/docs/AboutopenGauss/管道函数
../content/zh/docs/AboutopenGauss/全局临时表
../content/zh/docs/AboutopenGauss/伪列ROWNUM
../content/zh/docs/AboutopenGauss/支持存储过程调试
diff --git "a/sphinx/source/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.rst" "b/sphinx/source/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.rst"
index 5633a0225ef2f2b6721b9b89e015ce649f98e342..1adb248450818707b27b5967e03b32625a7d4350 100644
--- "a/sphinx/source/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.rst"
+++ "b/sphinx/source/AboutopenGauss/\350\265\204\346\272\220\346\261\240\345\214\226\345\217\257\347\273\264\346\212\244\346\200\247\345\242\236\345\274\272.rst"
@@ -5,4 +5,5 @@
../content/zh/docs/AboutopenGauss/gs_collector适配资源池化
../content/zh/docs/AboutopenGauss/DMS资源统计视图
- ../content/zh/docs/AboutopenGauss/gs_probackup适配资源池化
\ No newline at end of file
+ ../content/zh/docs/AboutopenGauss/gs_probackup适配资源池化
+ ../content/zh/docs/AboutopenGauss/cm支持双集群备集群switchover
\ No newline at end of file