diff --git a/product/en/docs-mogdb/v2.1/about-mogdb/open-source-components/mog_xlogdump.md b/product/en/docs-mogdb/v2.1/about-mogdb/open-source-components/mog_xlogdump.md
index e11969cad7d6d758af17a7dbdb7bc6a27e6891c6..06e1e094a11bcab0dc7ca5c261a789387b69ea38 100644
--- a/product/en/docs-mogdb/v2.1/about-mogdb/open-source-components/mog_xlogdump.md
+++ b/product/en/docs-mogdb/v2.1/about-mogdb/open-source-components/mog_xlogdump.md
@@ -23,7 +23,7 @@ During the recovery of the primary database, the cluster composed of the standby
## Scenario
-In a MogDB high-availability cluster, when the primary database is down, the walbuffer is triggered to write to the wal log when the walbuffer is filled with a certain percentage, or when the checkpoint or commit occurs. Due to the database downtime, the logically synchronized WalSender thread stops sending logs, and the standby database receives incomplete data segment wal logs. At this time, you need to use the falshback tool to read the data blocks in the wal log of the primary database, and decode the SQL statement corresponding to the data operation, so that the DBA can analyze whether the data is valuable and restore it to the standby database.
+In a MogDB high-availability cluster, when the primary database is down, the walbuffer is triggered to write to the wal log when the walbuffer is filled with a certain percentage, or when the checkpoint or commit occurs. Due to the database downtime, the logically synchronized WalSender thread stops sending logs, and the standby database receives incomplete data segment wal logs. At this time, you need to use the flashback tool to read the data blocks in the wal log of the primary database, and decode the SQL statement corresponding to the data operation, so that the DBA can analyze whether the data is valuable and restore it to the standby database.
diff --git a/product/en/docs-mogdb/v3.0/about-mogdb/open-source-components/mog_xlogdump.md b/product/en/docs-mogdb/v3.0/about-mogdb/open-source-components/mog_xlogdump.md
index e11969cad7d6d758af17a7dbdb7bc6a27e6891c6..06e1e094a11bcab0dc7ca5c261a789387b69ea38 100644
--- a/product/en/docs-mogdb/v3.0/about-mogdb/open-source-components/mog_xlogdump.md
+++ b/product/en/docs-mogdb/v3.0/about-mogdb/open-source-components/mog_xlogdump.md
@@ -23,7 +23,7 @@ During the recovery of the primary database, the cluster composed of the standby
## Scenario
-In a MogDB high-availability cluster, when the primary database is down, the walbuffer is triggered to write to the wal log when the walbuffer is filled with a certain percentage, or when the checkpoint or commit occurs. Due to the database downtime, the logically synchronized WalSender thread stops sending logs, and the standby database receives incomplete data segment wal logs. At this time, you need to use the falshback tool to read the data blocks in the wal log of the primary database, and decode the SQL statement corresponding to the data operation, so that the DBA can analyze whether the data is valuable and restore it to the standby database.
+In a MogDB high-availability cluster, when the primary database is down, the walbuffer is triggered to write to the wal log when the walbuffer is filled with a certain percentage, or when the checkpoint or commit occurs. Due to the database downtime, the logically synchronized WalSender thread stops sending logs, and the standby database receives incomplete data segment wal logs. At this time, you need to use the flashback tool to read the data blocks in the wal log of the primary database, and decode the SQL statement corresponding to the data operation, so that the DBA can analyze whether the data is valuable and restore it to the standby database.
diff --git a/product/zh/docs-mogdb/v2.1/about-mogdb/open-source-components/mog_xlogdump.md b/product/zh/docs-mogdb/v2.1/about-mogdb/open-source-components/mog_xlogdump.md
index 803deb97805e54e76dadf0babec7b272fa0418af..497281dba6f3463cd921cd4df2ff1d1eb1d365a7 100644
--- a/product/zh/docs-mogdb/v2.1/about-mogdb/open-source-components/mog_xlogdump.md
+++ b/product/zh/docs-mogdb/v2.1/about-mogdb/open-source-components/mog_xlogdump.md
@@ -23,7 +23,7 @@ mog_xlogdump是云和恩墨独立开发的wal日志离线解析工具。主要
## 使用场景
-MogDB高可用集群中,当主库宕机时,在walbuffer写满一定比例时,或者checkpoint,或者commit时,触发walbuffer写入wal日志。由于数据库宕机,逻辑同步的WalSender线程停止发送日志,备库接收到不完整的数据段wal日志。此时则需要用falshback工具读取主库的wal日志中的数据块,并解码出对应数据操作的SQL语句,供DBA分析数据是否有价值,并恢复到备库中。
+MogDB高可用集群中,当主库宕机时,在walbuffer写满一定比例时,或者checkpoint,或者commit时,触发walbuffer写入wal日志。由于数据库宕机,逻辑同步的WalSender线程停止发送日志,备库接收到不完整的数据段wal日志。此时则需要用flashback工具读取主库的wal日志中的数据块,并解码出对应数据操作的SQL语句,供DBA分析数据是否有价值,并恢复到备库中。
diff --git a/product/zh/docs-mogdb/v3.0/about-mogdb/open-source-components/mog_xlogdump.md b/product/zh/docs-mogdb/v3.0/about-mogdb/open-source-components/mog_xlogdump.md
index 803deb97805e54e76dadf0babec7b272fa0418af..497281dba6f3463cd921cd4df2ff1d1eb1d365a7 100644
--- a/product/zh/docs-mogdb/v3.0/about-mogdb/open-source-components/mog_xlogdump.md
+++ b/product/zh/docs-mogdb/v3.0/about-mogdb/open-source-components/mog_xlogdump.md
@@ -23,7 +23,7 @@ mog_xlogdump是云和恩墨独立开发的wal日志离线解析工具。主要
## 使用场景
-MogDB高可用集群中,当主库宕机时,在walbuffer写满一定比例时,或者checkpoint,或者commit时,触发walbuffer写入wal日志。由于数据库宕机,逻辑同步的WalSender线程停止发送日志,备库接收到不完整的数据段wal日志。此时则需要用falshback工具读取主库的wal日志中的数据块,并解码出对应数据操作的SQL语句,供DBA分析数据是否有价值,并恢复到备库中。
+MogDB高可用集群中,当主库宕机时,在walbuffer写满一定比例时,或者checkpoint,或者commit时,触发walbuffer写入wal日志。由于数据库宕机,逻辑同步的WalSender线程停止发送日志,备库接收到不完整的数据段wal日志。此时则需要用flashback工具读取主库的wal日志中的数据块,并解码出对应数据操作的SQL语句,供DBA分析数据是否有价值,并恢复到备库中。
diff --git a/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/1-routine-maintenance-check-items.md b/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/1-routine-maintenance-check-items.md
index a676de71e3fd028572618b16fa03ff009ce8947c..6c2fa06c8d071161b5784efdede0d4daed9b9480 100644
--- a/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/1-routine-maintenance-check-items.md
+++ b/product/zh/docs-mogdb/v3.0/administrator-guide/routine-maintenance/1-routine-maintenance-check-items.md
@@ -5,7 +5,7 @@ author: Zhang Cuiping
date: 2021-03-04
---
-# 日维护检查项
+# 日常维护检查项
## 检查MogDB状态
diff --git a/product/zh/docs-mogdb/v3.0/administrator-guide/upgrade-guide.md b/product/zh/docs-mogdb/v3.0/administrator-guide/upgrade-guide.md
index ca203f23ab7c916a049932d7ad7834c21987f285..00e4c7fcf7646d9ebb60fbad68c3c379f4b326e6 100644
--- a/product/zh/docs-mogdb/v3.0/administrator-guide/upgrade-guide.md
+++ b/product/zh/docs-mogdb/v3.0/administrator-guide/upgrade-guide.md
@@ -69,7 +69,7 @@ MogDB升级版本要求如[表1](#biaoyi)所示。
- 执行升级的过程中请不要手动设置GUC参数。
- 灰度升级中,升级的时候都会产生不超过10s的业务中断
- 升级过程中,必须保持内核版本与om版本一致才可执行om操作。这里的一致是指,内核代码和om代码都来自同一个软件包。如果执行了升级包的前置脚本却没有升级,或者升级回滚后没有执行基线包的前置脚本,就会造成内核代码和om代码的不一致。
-- 升级过程中如果系统表新增了字段,升级后通过**\d**命令将查看不到这些新增的字段。此时通过**select**命令可以查到这些新增的字段。
+- 升级过程中如果系统表新增了字段,升级后通过`\d`命令将查看不到这些新增的字段。此时通过`select`命令可以查到这些新增的字段。
- 升级需要guc参数enable_stream_replication=on,该参数为off时不允许升级。
- 灰度升级中,业务并发要小于200并发读加200并发写的情况。
- 若在MogDB 2.0之前的版本中使用了MOT表,则不支持升级到MogDB 2.0版本。
@@ -318,10 +318,10 @@ root用户密码
gs_upgradectl -t auto-rollback -X /opt/software/mogdb/clusterconfig.xml
```
- >  **说明:** 如果数据库异常,需要强制回滚,可以使用如下命令。
+ > **说明:** 如果数据库异常,需要强制回滚,可以使用如下命令。
>
> ```bash
- > gs_upgradectl -t auto-rollback -X /opt/software/mogdb/clusterconfig.xml --force
+ > gs_upgradectl -t auto-rollback -X /opt/software/mogdb/clusterconfig.xml --force
> ```
3. 查看回滚之后的版本号。
diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/1-logical-decoding.md b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/logical-decoding/1-logical-decoding.md
similarity index 92%
rename from product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/1-logical-decoding.md
rename to product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/logical-decoding/1-logical-decoding.md
index 85e8a1c484308fd4301b84303503e4700d862a98..0c4eb3bcafeca45e44b4c8af95583dbfbb517284 100644
--- a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/1-logical-decoding.md
+++ b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/logical-decoding/1-logical-decoding.md
@@ -35,7 +35,7 @@ MogDB提供了逻辑解码功能,通过反解xlog的方式生成逻辑日志
- 当执行DDL语句(如alter table)后,该DDL语句前尚未解码的物理日志可能会丢失。
- 单条元组大小不超过1GB,考虑解码结果可能大于插入数据,因此建议单条元组大小不超过500MB。
- MogDB支持解码的数据类型为:INTEGER、BIGINT、SMALLINT、TINYINT、SERIAL、SMALLSERIAL、BIGSERIAL、FLOAT、DOUBLE PRECISION、DATE、TIME[WITHOUT TIME ZONE]、TIMESTAMP[WITHOUT TIME ZONE]、CHAR(n)、VARCHAR(n)、TEXT。
-- 目前默认不支持ssl连接,如果需要ssl连接需要设置guc参数ssl=on。
+- 如果需要ssl连接需要保证前置设置GUC参数ssl=on。
- 逻辑复制槽名称必须小于64个字符,且只包含小写字母、数字或者下划线中的一种或几种。
- 当前逻辑复制不支持MOT特性。
- 当逻辑复制槽所在数据库被删除后,这些复制槽变为不可用状态,需要用户手动删除。
@@ -50,4 +50,7 @@ MogDB提供了逻辑解码功能,通过反解xlog的方式生成逻辑日志
- 当前备机逻辑解码,不支持开启极致RTO。
- 请确保在创建逻辑复制槽过程中长事务未启动,启动长事务会阻塞逻辑复制槽的创建。
- 不支持interval partition表复制。
+- 不支持全局临时表。
- 在事务中执行DDL语句后,该DDL语句与之后的语句不会被解码。
+- 如需进行备机解码,需在对应主机上设置guc参数enable_slot_log = on。
+- 禁止在使用逻辑复制槽时在其他节点对该复制槽进行操作,删除复制槽进行操作的操作需在该复制槽停止解码后执行。
diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/2-logical-decoding-by-sql-function-interfaces.md b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/logical-decoding/2-logical-decoding-by-sql-function-interfaces.md
similarity index 83%
rename from product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/2-logical-decoding-by-sql-function-interfaces.md
rename to product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/logical-decoding/2-logical-decoding-by-sql-function-interfaces.md
index fc7fac0c5daaa0ff154ede30beea260b03d2edd9..1e9c879f6ffb9fdca909772a5077a6055dfc3fe0 100644
--- a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/2-logical-decoding-by-sql-function-interfaces.md
+++ b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/logical-decoding/2-logical-decoding-by-sql-function-interfaces.md
@@ -11,13 +11,13 @@ MogDB可以通过调用SQL函数,进行创建、删除、推进逻辑复制槽
## 前提条件
-- 逻辑日志目前从主机节点中抽取,默认关闭SSL连接,如果进行逻辑复制,需要先上配置GUC参数ssl=on。
+- 逻辑日志目前从主机节点中抽取,默认关闭SSL连接,如果进行逻辑复制,需要先配置GUC参数[ssl](2-security-and-authentication#ssl)=on。
> **说明:** 为避免安全风险,请保证启用SSL连接。
-- 设置GUC参数wal_level=logical。
+- 设置GUC参数[wal_level](1-settings#wal_level)=logical。
-- 设置GUC参数max_replication_slots>每个节点所需的(物理流复制槽数+逻辑复制槽数)。
+- 设置GUC参数[max_replication_slots](1-sending-server#max_replication_slots)>每个节点所需的(物理流复制槽数+逻辑复制槽数)。
物理流复制槽提供了一种自动化的方法来确保主节点在所有备节点或从备节点收到xlog之前,xlog不会被移除。也就是说物理流复制槽用于支撑主备节点HA。数据库所需要的物理流复制槽数为:备节点加从备的和与主节点之间的比例。例如,假设数据库的高可用方案为1主、1备、1从备,则所需物理流复制槽数为2。
@@ -26,7 +26,9 @@ MogDB可以通过调用SQL函数,进行创建、删除、推进逻辑复制槽
- 一个逻辑复制槽只能解码一个Database的修改,如果需要解码多个Database,则需要创建多个逻辑复制槽。
- 如果需要多路逻辑复制同步给多个目标数据库,在源端数据库需要创建多个逻辑复制槽,每个逻辑复制槽对应一条逻辑复制链路。
-- 仅限数据库管理员和拥有REPLICATION权限的用户进行操作。
+- 仅限初始用户和拥有REPLICATION权限的用户进行操作。三权分立关闭时数据库管理员可进行逻辑复制操作,三权分立开启时不允许数据库管理员进行逻辑复制操作。
+
+- 目前默认不支持主备从部署模式。
## 操作步骤
diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/architecture.md b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/architecture.md
new file mode 100644
index 0000000000000000000000000000000000000000..d4086d0eab86a6e98df3cb0a349b5fc59d4f3c2d
--- /dev/null
+++ b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/architecture.md
@@ -0,0 +1,16 @@
+---
+title: 架构
+summary: 架构
+author: Guo Huan
+date: 2022-04-29
+---
+
+# 架构
+
+发布者上的更改会在它们发生时实时传送给订阅者。订阅者按照数据在发布者上被提交的顺序应用数据,这样任意单一订阅中的发布的事务一致性才能得到保证。
+
+逻辑复制被构建在一种类似于物理流复制的架构上。它由“walsender”和“apply”进程实现。walsender进程开始对WAL的逻辑解码并且载入标准逻辑解码插件(pgoutput)。该插件把从WAL中读取的更改转换成逻辑复制协议并且根据发布说明过滤数据。然后数据会被连续地使用流复制协议传输到应用工作者,应用工作者会把数据映射到本地表并且以正确的事务顺序应用它们接收到的更改。
+
+订阅者数据库上的应用进程总是将session_replication_role设置为replica运行,这会产生触发器和约束上通常的效果。
+
+逻辑复制应用进程当前仅会引发行触发器,而不会引发语句触发器。不过,初始的表同步是以类似一个COPY命令的方式实现的,因此会引发INSERT的行触发器和语句触发器。
\ No newline at end of file
diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/configuration-settings.md b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/configuration-settings.md
new file mode 100644
index 0000000000000000000000000000000000000000..a67e583648624416571b8731e95ce612d188dfb6
--- /dev/null
+++ b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/configuration-settings.md
@@ -0,0 +1,14 @@
+---
+title: 配置设置
+summary: 配置设置
+author: Guo Huan
+date: 2022-04-29
+---
+
+# 配置设置
+
+发布订阅要求设置一些配置选项。
+
+在发布者端,wal_level必须被设置为logical,而max_replication_slots中设置的值必须至少是预期要连接的订阅数。max_wal_senders应该至少被设置为max_replication_slots加上同时连接的物理复制体的数量。
+
+订阅者还要求max_replication_slots被设置。在这种情况下,它必须至少被设置为将被加入到该订阅者的订阅数。max_logical_replication_workers必须至少被设置为订阅数。
\ No newline at end of file
diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/conflicts.md b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/conflicts.md
new file mode 100644
index 0000000000000000000000000000000000000000..802f89c44ab2a533b81026378abc1c00bfd1b183
--- /dev/null
+++ b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/conflicts.md
@@ -0,0 +1,14 @@
+---
+title: 冲突处理
+summary: 冲突处理
+author: Guo Huan
+date: 2022-04-29
+---
+
+# 冲突处理
+
+逻辑复制的行为类似于正常的DML操作,即便数据在订阅者节点本地被修改,逻辑复制也会根据收到的更改来更新数据。如果流入的数据违背了任何约束,复制将停止。这种情况被称为一个冲突。在复制UPDATE或DELETE操作时,缺失的数据将不会产生冲突并且这类操作将被简单地跳过。
+
+冲突将会产生错误并且停止复制,它必须由用户手工解决。在订阅者的服务器日志中可以找到有关冲突的详细情况。
+
+通过更改订阅者上的数据(这样它就不会与到来的数据发生冲突)或者跳过与已有数据冲突的事务可以解决这种冲突。通过调用pg_replication_origin_advance()函数可以跳过该事务,函数的参数是对应于该订阅名称的node_name以及一个位置。复制源头的当前位置可以在pg_replication_origin_status系统视图中看到。
\ No newline at end of file
diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/monitoring.md b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/monitoring.md
new file mode 100644
index 0000000000000000000000000000000000000000..2e1cdf54cad1d8f054c204ee5e35e29f91295171
--- /dev/null
+++ b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/monitoring.md
@@ -0,0 +1,14 @@
+---
+title: 监控
+summary: 监控
+author: Guo Huan
+date: 2022-04-29
+---
+
+# 监控
+
+因为逻辑复制是基于与物理流复制相似的架构的,一个发布节点上的监控也类似于对物理复制主节点的监控。
+
+有关订阅的监控信息在pg_stat_subscription中可以看到。每一个订阅工作者在这个视图都有一行。一个订阅能有零个或者多个活跃订阅工作者取决于它的状态。
+
+通常,对于一个已启用的订阅会有单一的应用进程运行。一个被禁用的订阅或者崩溃的订阅在这个视图中不会有行存在。如果有任何表的数据同步正在进行,对正在被同步的表会有额外的工作者。
\ No newline at end of file
diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/publication-subscription.md b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/publication-subscription.md
new file mode 100644
index 0000000000000000000000000000000000000000..faf84cf825fb236f119665f11888793f2be4603d
--- /dev/null
+++ b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/publication-subscription.md
@@ -0,0 +1,20 @@
+---
+title: 发布订阅
+summary: 发布订阅
+author: Guo Huan
+date: 2022-04-29
+---
+
+# 发布订阅
+
+发布和订阅基于逻辑复制实现,其中有一个或者更多订阅者订阅一个发布者节点上的一个或者更多发布。订阅者从它们所订阅的发布拉取数据。
+
+发布者上的更改会被实时发送给订阅者。订阅者以与发布者相同的顺序应用那些数据,这样在一个订阅中能够保证发布的事务一致性。这种数据复制的方法有时候也被称为事务性复制。
+
+发布订阅的典型用法是:
+
+- 在一个数据库或者一个数据库的子集中发生更改时,把增量的改变发送给订阅者。
+- 在更改到达订阅者时引发触发器。
+- 把多个数据库联合到单一数据库中(例如用于分析目的)。
+
+订阅者数据库的行为与任何其他MogDB实例相同,并且可以被用作其他数据库的发布者,只需要定义它自己的发布。当订阅者被应用当作只读时,单一的订阅中不会有冲突。在另一方面,如果应用或者对相同表集合的订阅者执行了其他的写动作,冲突可能会发生。
\ No newline at end of file
diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/publications.md b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/publications.md
new file mode 100644
index 0000000000000000000000000000000000000000..bb7d1292f966143a078de439a07a16ef1c80f004
--- /dev/null
+++ b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/publications.md
@@ -0,0 +1,22 @@
+---
+title: 发布
+summary: 发布
+author: Guo Huan
+date: 2022-04-29
+---
+
+# 发布
+
+发布可以被定义在任何物理复制的主服务器上。定义有发布的节点被称为发布者。发布是从一个表或者一组表生成的改变的集合,也可以被描述为更改集合或者复制集合。每个发布都只存在于一个数据库中。
+
+发布与模式不同,不会影响表的访问方式。如果需要,每个表都可以被加入到多个发布。当前,发布只能包含表。对象必须被明确地加入到发布,除非发布是用ALL TABLES创建的。
+
+发布可以选择把它们产生的更改限制为INSERT、UPDATE、DELETE的任意组合,类似于触发器如何被特定事件类型触发的方式。默认情况下,所有操作类型都会被复制。
+
+为了能够复制UPDATE和DELETE操作,被发布的表必须配置有一个“复制标识”,这样在订阅者那一端才能标识对于更新或删除合适的行。默认情况下,复制标识就是主键(如果有主键)。也可以在复制标识上设置另一个唯一索引(有特定的额外要求)。如果表没有合适的键,那么可以设置成复制标识“full”,它表示整个行都成为那个键。不过,这样做效率很低,只有在没有其他方案的情况下才应该使用。如果在发布者端设置了“full”之外的复制标识,在订阅者端也必须设置一个复制标识,它应该由相同的或者少一些的列组成。如何设置复制标识的细节请参考REPLICA IDENTITY。如果在复制UPDATE或DELETE操作的发布中加入了没有复制标识的表,那么订阅者上后续的UPDATE或DELETE操作将导致错误。不管有没有复制标识,INSERT操作都能继续下去。
+
+每一个发布都可以有多个订阅者。
+
+Publication通过使用CREATE PUBLICATION命令创建并且可以在之后使用相应的命令进行修改或者删除。
+
+表可以使用ALTER PUBLICATION动态地增加或者移除。ADD TABLE以及DROP TABLE操作都是事务性的,因此一旦该事务提交,该表将以正确的快照开始或者停止复制。
\ No newline at end of file
diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/quick-setup.md b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/quick-setup.md
new file mode 100644
index 0000000000000000000000000000000000000000..00c84915703b7b8b0f98967886c23995fbd3a218
--- /dev/null
+++ b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/quick-setup.md
@@ -0,0 +1,36 @@
+---
+title: 快速设置
+summary: 快速设置
+author: Guo Huan
+date: 2022-04-29
+---
+
+# 快速设置
+
+首先在postgresql.conf中设置配置选项:
+
+```bash
+wal_level = logical
+```
+
+对于一个基础设置来说,其他所需的设置使用默认值就足够了。
+
+需要调整pg_hba.conf以允许复制(这里的值取决于实际的网络配置以及用于连接的用户):
+
+```bash
+host all repuser 0.0.0.0/0 sha256
+```
+
+然后在发布者数据库上:
+
+```sql
+CREATE PUBLICATION mypub FOR TABLE users, departments;
+```
+
+并且在订阅者数据库上:
+
+```sql
+CREATE SUBSCRIPTION mysub CONNECTION 'dbname=foo host=bar user=repuser' PUBLICATION mypub;
+```
+
+上面的语句将开始复制过程,复制对那些表的增量更改。
diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/restrictions.md b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/restrictions.md
new file mode 100644
index 0000000000000000000000000000000000000000..d01d4f9d774c3656350a92f04ceebbab059fd5da
--- /dev/null
+++ b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/restrictions.md
@@ -0,0 +1,22 @@
+---
+title: 限制
+summary: 限制
+author: Guo Huan
+date: 2022-04-29
+---
+
+# 限制
+
+发布订阅基于逻辑复制实现,继承所有逻辑复制的限制,同时发布订阅还有下列额外的限制或者缺失的功能。
+
+数据库模式和DDL命令不会被复制。初始模式可以手工使用gs_dump --schema-only进行拷贝。后续的模式改变需要手工保持同步。
+
+序列数据不被复制。后台由序列支撑的serial或者标识列中的数据当然将被作为表的一部分复制,但是序列本身在订阅者上仍将显示开始值。如果订阅者被用作一个只读数据库,那么这通常不会是什么问题。不过,如果订阅者数据库预期有某种转换或者容错,那么序列需要被更新到最后的值,要么通过从发布者拷贝当前数据的防范(也许使用gs_dump),要么从表本身决定一个足够高的值。
+
+只有表支持复制,包括分区表。试图复制其他类型的关系,例如视图、物化视图或外部表,将会导致错误。
+
+同一数据库内的多个订阅不应当订阅内容重复的发布(指发布相同的表),否则会产生数据重复或者主键冲突。
+
+如果被发布的表中包含不支持btree/hash索引的数据类型(如地理类型等),那么该表需要有主键,才能成功的复制UPDATE/DELETE操作到订阅端。否则复制会失败,同时订阅端会出现“FATAL: could not identify an equality operator for type xx”的日志。
+
+使用gs_probackup备份发布端时,由于gs_probackup工具本身不支持备份逻辑复制槽,所以备份恢复后,会由于逻辑复制槽不存在,而使得原有的发布订阅关系无法正常建立。建议使用gs_basebackup工具备份发布端。
\ No newline at end of file
diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/security.md b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/security.md
new file mode 100644
index 0000000000000000000000000000000000000000..f8a73000067eb95276b46cf321fbdd7ba8e3c348
--- /dev/null
+++ b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/security.md
@@ -0,0 +1,20 @@
+---
+title: 安全性
+summary: 安全性
+author: Guo Huan
+date: 2022-04-29
+---
+
+# 安全性
+
+用于复制连接的角色必须具有REPLICATION属性(或者是具有SYSADMIN权限用户)。如果角色缺少SUPERUSER和BYPASSRLS,发布者的行安全策略可以执行。角色的访问权限必须在pg_hba.conf中配置,并且必须具有LOGIN属性。
+
+要创建发布,用户必须在数据库中有CREATE特权。
+
+要把表加入到一个发布,用户必须在该表上有拥有权。要创建一个自动发布所有表的发布,用户必须是一个具有SYSADMIN权限用户。
+
+要创建订阅,用户必须是一个具有SYSADMIN权限用户。
+
+订阅的应用过程将在本地数据库上以具有SYSADMIN权限用户的特权运行。
+
+特权检查仅在复制连接开始时被执行一次。在从发布者读到每一个更改记录时不会重新检查特权,在每一个更改被应用时也不会重新检查特权。
\ No newline at end of file
diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/subscriptions.md b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/subscriptions.md
new file mode 100644
index 0000000000000000000000000000000000000000..a4aec0c7caea15c76226018f403e7f77de452ad5
--- /dev/null
+++ b/product/zh/docs-mogdb/v3.0/developer-guide/logical-replication/publication-subscription/subscriptions.md
@@ -0,0 +1,28 @@
+---
+title: 订阅
+summary: 订阅
+author: Guo Huan
+date: 2022-04-29
+---
+
+# 订阅
+
+订阅是逻辑复制的下游端。订阅被定义在其中的节点被称为订阅者。一个订阅会定义到另一个数据库的连接以及它想要订阅的发布集合(一个或者多个)。
+
+订阅者数据库的行为与任何其他MogDB实例相同,并且可以被用作其他数据库的发布者,只需要定义它自己的发布。
+
+如果需要,一个订阅者节点可以有多个订阅。可以在一对发布者-订阅者之间定义多个订阅,在这种情况下要确保被订阅的发布对象不会重叠。
+
+每一个订阅都将通过一个复制槽接收更改。预先存在的表的初始数据暂时不支持同步。
+
+如果当前用户是一个具有SYSADMIN权限用户,则订阅会被gs_dump转储。否则订阅会被跳过并且写出一个警告,因为不具有SYSADMIN权限用户不能从pg_subscription目录中读取所有的订阅信息。
+
+可以使用CREATE SUBSCRIPTION增加订阅,并且使用ALTER SUBSCRIPTION在任何时刻修改订阅,还可以使用DROP SUBSCRIPTION删除订阅。
+
+在一个订阅被删除并且重建时,同步信息会丢失。这意味着数据必须被重新同步。
+
+模式定义不会被复制,并且被发布的表必须在订阅者上存在。只有常规表可以成为复制的目标。例如,不能复制视图。
+
+表在发布者和订阅者之间使用完全限定的表名进行匹配。不支持复制到订阅者上命名不同的表。
+
+表的列也通过名称匹配。订阅表中的列顺序不需要与发布表中的顺序一样。列的数据类型也不需要一样,只要可以将数据的文本表示形式转换为目标类型即可。例如,您可以从integer类型的列复制到bigint类型的列。目标表还可以具有发布表中不存在的额外列。额外列都将使用目标表的定义中指定的默认值填充。
\ No newline at end of file
diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/postgis-extension/postgis-overview.md b/product/zh/docs-mogdb/v3.0/developer-guide/postgis-extension/postgis-overview.md
new file mode 100644
index 0000000000000000000000000000000000000000..9c72f513c9c5ae4ce95b23cbd7b2f11f5cf157a8
--- /dev/null
+++ b/product/zh/docs-mogdb/v3.0/developer-guide/postgis-extension/postgis-overview.md
@@ -0,0 +1,24 @@
+---
+title: PostGIS概述
+summary: PostGIS概述
+author: Guo Huan
+date: 2022-04-29
+---
+
+# PostGIS概述
+
+MogDB提供PostGIS Extension(版本为PostGIS-2.4.2)。PostGIS Extension是PostgreSQL的空间数据库扩展,提供空间对象、空间索引、空间操作函数和空间操作符等空间信息服务功能,可用于:
+
+- 大气科学、海洋科学、地质学、环境科学、交通管理等,处理和分析复杂的空间数据,并进行制图;
+- 移动通信、移动定位、移动互联网;
+- 城市管理、灾害响应、资源开发等方面。
+
+PostGIS Extension完全遵循OpenGIS规范。
+
+PostGIS Extension依赖第三方开源软件如下:
+
+- Geos 3.6.2
+- Proj 4.9.2
+- Json 0.12.1
+- Libxml2 2.7.1
+- Gdal 1.11.0
\ No newline at end of file
diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/postgis-extension/postgis-support-and-constraints.md b/product/zh/docs-mogdb/v3.0/developer-guide/postgis-extension/postgis-support-and-constraints.md
new file mode 100644
index 0000000000000000000000000000000000000000..d07f00527c4fd396b08fc273292fea0e7d48cf4c
--- /dev/null
+++ b/product/zh/docs-mogdb/v3.0/developer-guide/postgis-extension/postgis-support-and-constraints.md
@@ -0,0 +1,53 @@
+---
+title: PostGIS支持和限制
+summary: PostGIS支持和限制
+author: Guo Huan
+date: 2022-04-29
+---
+
+# PostGIS支持和限制
+
+## 支持数据类型
+
+MogDB的PostGIS Extension支持如下数据类型:
+
+- box2d
+- box3d
+- geometry_dump
+- geometry
+- geography
+
+## 支持的操作符和函数列表
+
+**表 1** **PostGIS Extension支持的操作符和函数列表**
+
+| 函数分类 | 包含函数 |
+| :------------------------------------- | :----------------------------------------------------------- |
+| Management Functions | AddGeometryColumn、DropGeometryColumn、DropGeometryTable、PostGIS_Full_Version、PostGIS_GEOS_Version、PostGIS_Liblwgeom_Version、PostGIS_Lib_Build_Date、PostGIS_Lib_Version、PostGIS_PROJ_Version、PostGIS_Scripts_Build_Date、PostGIS_Scripts_Installed、PostGIS_Version、PostGIS_LibXML_Version、PostGIS_Scripts_Released、Populate_Geometry_Columns 、UpdateGeometrySRID |
+| Geometry Constructors | ST_BdPolyFromText 、ST_BdMPolyFromText 、ST_Box2dFromGeoHash、ST_GeogFromText、ST_GeographyFromText、ST_GeogFromWKB、ST_GeomCollFromText、ST_GeomFromEWKB、ST_GeomFromEWKT、ST_GeometryFromText、ST_GeomFromGeoHash、ST_GeomFromGML、ST_GeomFromGeoJSON、ST_GeomFromKML、ST_GMLToSQL、ST_GeomFromText 、ST_GeomFromWKB、ST_LineFromMultiPoint、ST_LineFromText、ST_LineFromWKB、ST_LinestringFromWKB、ST_MakeBox2D、ST_3DMakeBox、ST_MakeEnvelope、ST_MakePolygon、ST_MakePoint、ST_MakePointM、ST_MLineFromText、ST_MPointFromText、ST_MPolyFromText、ST_Point、ST_PointFromGeoHash、ST_PointFromText、ST_PointFromWKB、ST_Polygon、ST_PolygonFromText、ST_WKBToSQL、ST_WKTToSQL |
+| Geometry Accessors | GeometryType、ST_Boundary、ST_CoordDim、ST_Dimension、ST_EndPoint、ST_Envelope、ST_ExteriorRing、ST_GeometryN、ST_GeometryType、ST_InteriorRingN、ST_IsClosed、ST_IsCollection、ST_IsEmpty、ST_IsRing、ST_IsSimple、ST_IsValid、ST_IsValidReason、ST_IsValidDetail、ST_M、ST_NDims、ST_NPoints、ST_NRings、ST_NumGeometries、ST_NumInteriorRings、ST_NumInteriorRing、ST_NumPatches、ST_NumPoints、ST_PatchN、ST_PointN、ST_SRID、ST_StartPoint、ST_Summary、ST_X、ST_XMax、ST_XMin、ST_Y、ST_YMax、ST_YMin、ST_Z、ST_ZMax、ST_Zmflag、ST_ZMin |
+| Geometry Editors | ST_AddPoint、ST_Affine、ST_Force2D、ST_Force3D、ST_Force3DZ、ST_Force3DM、ST_Force4D、ST_ForceCollection、ST_ForceSFS、ST_ForceRHR、ST_LineMerge、ST_CollectionExtract、ST_CollectionHomogenize、ST_Multi、ST_RemovePoint、ST_Reverse、ST_Rotate、ST_RotateX、ST_RotateY、ST_RotateZ、ST_Scale、ST_Segmentize、ST_SetPoint、ST_SetSRID、ST_SnapToGrid、ST_Snap、ST_Transform、ST_Translate、ST_TransScale |
+| Geometry Outputs | ST_AsBinary、ST_AsEWKB、ST_AsEWKT、ST_AsGeoJSON、ST_AsGML、ST_AsHEXEWKB、ST_AsKML、ST_AsLatLonText 、ST_AsSVG、ST_AsText、ST_AsX3D、ST_GeoHash |
+| Operators | &&、&&&、&<、&<\|、&>、<<、<<\|、=、>>、@ 、\|&> 、\|>>、\~、\~=、<->、<#> |
+| Spatial Relationships and Measurements | ST_3DClosestPoint、ST_3DDistance、ST_3DDWithin、ST_3DDFullyWithin、ST_3DIntersects、ST_3DLongestLine、ST_3DMaxDistance、ST_3DShortestLine、ST_Area、ST_Azimuth、ST_Centroid、ST_ClosestPoint、ST_Contains、ST_ContainsProperly、ST_Covers、ST_CoveredBy、ST_Crosses、ST_LineCrossingDirection、ST_Disjoint、ST_Distance、ST_HausdorffDistance、ST_MaxDistance、ST_DistanceSphere、ST_DistanceSpheroid、ST_DFullyWithin、ST_DWithin、ST_Equals、ST_HasArc、ST_Intersects、ST_Length、ST_Length2D、ST_3DLength、ST_Length_Spheroid、ST_Length2D_Spheroid、ST_3DLength_Spheroid、ST_LongestLine、ST_OrderingEquals、ST_Overlaps、ST_Perimeter、ST_Perimeter2D、ST_3DPerimeter、ST_PointOnSurface、ST_Project、ST_Relate、ST_RelateMatch、ST_ShortestLine、ST_Touches、ST_Within |
+| Geometry Processing | ST_Buffer、ST_BuildArea、ST_Collect、ST_ConcaveHull、ST_ConvexHull、ST_CurveToLine、ST_DelaunayTriangles、ST_Difference、ST_Dump、ST_DumpPoints、ST_DumpRings、ST_FlipCoordinates、ST_Intersection、ST_LineToCurve、ST_MakeValid、ST_MemUnion、ST_MinimumBoundingCircle、ST_Polygonize、ST_Node、ST_OffsetCurve、ST_RemoveRepeatedPoints、ST_SharedPaths、ST_Shift_Longitude、ST_Simplify、ST_SimplifyPreserveTopology、ST_Split、ST_SymDifference、ST_Union、ST_UnaryUnion |
+| Linear Referencing | ST_LineInterpolatePoint、ST_LineLocatePoint、ST_LineSubstring、ST_LocateAlong、ST_LocateBetween、ST_LocateBetweenElevations、ST_InterpolatePoint、ST_AddMeasure |
+| Miscellaneous Functions | ST_Accum、Box2D、Box3D、ST_Expand、ST_Extent、ST_3Dextent、Find_SRID、ST_MemSize |
+| Exceptional Functions | PostGIS_AddBBox、PostGIS_DropBBox、PostGIS_HasBBox |
+
+## 空间索引
+
+MogDB数据库的PostGIS Extension支持GIST (Generalized Search Tree) 空间索引(分区表除外)。相比于B-tree索引,GIST索引适应于任意类型的非常规数据结构,可有效提高几何和地理数据信息的检索效率。
+
+使用如下命令创建GIST索引:
+
+```
+MogDB=# CREATE INDEX indexname ON tablename USING GIST ( geometryfield );
+```
+
+## 扩展限制
+
+- 只支持行存表。
+- 不支持拓扑对象管理模块Topology和栅格数据处理模块Raster。
+- 不支持BRIN索引。
+- spatial_ref_sys表在扩容期间只支持查询操作。
diff --git a/product/zh/docs-mogdb/v3.0/developer-guide/postgis-extension/using-postgis.md b/product/zh/docs-mogdb/v3.0/developer-guide/postgis-extension/using-postgis.md
new file mode 100644
index 0000000000000000000000000000000000000000..51c59aee7e294fc9bb582d0bdc30ad3c7be81dae
--- /dev/null
+++ b/product/zh/docs-mogdb/v3.0/developer-guide/postgis-extension/using-postgis.md
@@ -0,0 +1,67 @@
+---
+title: PostGIS使用
+summary: PostGIS使用
+author: Guo Huan
+date: 2022-04-29
+---
+
+# PostGIS使用
+
+## 下载PostGIS插件
+
+访问[MogDB官网下载页面](https://www.mogdb.io/downloads/mogdb/)下载PostGIS插件并安装。
+
+## 创建Extension
+
+创建PostGIS Extension可直接使用CREATE EXTENSION命令进行创建:
+
+```
+MogDB=# CREATE EXTENSION postgis;
+```
+
+## 使用Extension
+
+PostGIS Extension函数调用格式为:
+
+```
+MogDB=# SELECT GisFunction (Param1, Param2,......);
+```
+
+其中GisFunction为函数名,Param1、Param2等为函数参数名。下列SQL语句展示PostGIS的简单使用,对于各函数的具体使用,请参考[《PostGIS-2.4.2用户手册》](https://download.osgeo.org/postgis/docs/postgis-2.4.2.pdf)。
+
+示例1:几何表的创建。
+
+```
+MogDB=# CREATE TABLE cities ( id integer, city_name varchar(50) );
+MogDB=# SELECT AddGeometryColumn('cities', 'position', 4326, 'POINT', 2);
+```
+
+示例2:几何数据的插入。
+
+```
+MogDB=# INSERT INTO cities (id, position, city_name) VALUES (1,ST_GeomFromText('POINT(-9.5 23)',4326),'CityA');
+MogDB=# INSERT INTO cities (id, position, city_name) VALUES (2,ST_GeomFromText('POINT(-10.6 40.3)',4326),'CityB');
+MogDB=# INSERT INTO cities (id, position, city_name) VALUES (3,ST_GeomFromText('POINT(20.8 30.3)',4326), 'CityC');
+```
+
+示例3:计算三个城市间任意两个城市距离。
+
+```
+MogDB=# SELECT p1.city_name,p2.city_name,ST_Distance(p1.position,p2.position) FROM cities AS p1, cities AS p2 WHERE p1.id > p2.id;
+```
+
+## 删除Extension
+
+在MogDB中删除PostGIS Extension的方法如下所示:
+
+```
+MogDB=# DROP EXTENSION postgis [CASCADE];
+```
+
+> **说明:** 如果Extension被其它对象依赖(如创建的几何表),需要加入CASCADE(级联)关键字,删除所有依赖对象。
+
+若要完全删除PostGIS Extension,则需由omm用户使用gs_om工具移除PostGIS及其依赖的动态链接库,格式如下:
+
+```
+gs_om -t postgis -m rmlib
+```
diff --git a/product/zh/docs-mogdb/v3.0/toc.md b/product/zh/docs-mogdb/v3.0/toc.md
index df6221f89db326ef045d780da6643c70c6ed4779..49268d2cf287e3f723a457a6c2da7f4dee8b3d08 100644
--- a/product/zh/docs-mogdb/v3.0/toc.md
+++ b/product/zh/docs-mogdb/v3.0/toc.md
@@ -65,7 +65,7 @@
+ 日常运维
+ [启停MogDB](/administrator-guide/routine-maintenance/0-starting-and-stopping-mogdb.md)
+ [gsql客户端连接](/administrator-guide/routine-maintenance/using-the-gsql-client-for-connection.md)
- + [日维护检查项](/administrator-guide/routine-maintenance/1-routine-maintenance-check-items.md)
+ + [日常维护检查项](/administrator-guide/routine-maintenance/1-routine-maintenance-check-items.md)
+ [检查操作系统参数](/administrator-guide/routine-maintenance/2-checking-os-parameters.md)
+ [检查MogDB健康状态](/administrator-guide/routine-maintenance/3-checking-mogdb-health-status.md)
+ [检查数据库性能](/administrator-guide/routine-maintenance/4-checking-database-performance.md)
@@ -350,12 +350,26 @@
+ [介绍](/developer-guide/autonomous-transaction/1-introduction-to-autonomous-transaction.md)
+ [存储过程支持自治事务](/developer-guide/autonomous-transaction/3-stored-procedure-supporting-autonomous-transaction.md)
+ [匿名块支持自治事务](/developer-guide/autonomous-transaction/anonymous-block-supporting-autonomous-transaction.md)
- + [函数支持自治事务](/developer-guide/autonomous-transaction/2-function-supporting-autonomous-transaction.md)
+ + [用户自定义函数支持自治事务](/developer-guide/autonomous-transaction/2-function-supporting-autonomous-transaction.md)
+ [规格约束](/developer-guide/autonomous-transaction/4-restrictions.md)
+ 逻辑复制
+ 逻辑解码
- + [逻辑解码概述](/developer-guide/logical-replication/1-logical-decoding.md)
- + [使用SQL函数接口进行逻辑解码](/developer-guide/logical-replication/2-logical-decoding-by-sql-function-interfaces.md)
+ + [逻辑解码概述](/developer-guide/logical-replication/logical-decoding/1-logical-decoding.md)
+ + [使用SQL函数接口进行逻辑解码](/developer-guide/logical-replication/logical-decoding/2-logical-decoding-by-sql-function-interfaces.md)
+ + [发布订阅](/developer-guide/logical-replication/publication-subscription/publication-subscription.md)
+ + [发布](/developer-guide/logical-replication/publication-subscription/publications.md)
+ + [订阅](/developer-guide/logical-replication/publication-subscription/subscriptions.md)
+ + [冲突处理](/developer-guide/logical-replication/publication-subscription/conflicts.md)
+ + [限制](/developer-guide/logical-replication/publication-subscription/restrictions.md)
+ + [架构](/developer-guide/logical-replication/publication-subscription/architecture.md)
+ + [监控](/developer-guide/logical-replication/publication-subscription/monitoring.md)
+ + [安全性](/developer-guide/logical-replication/publication-subscription/security.md)
+ + [配置设置](/developer-guide/logical-replication/publication-subscription/configuration-settings.md)
+ + [快速设置](/developer-guide/logical-replication/publication-subscription/quick-setup.md)
+ + PostGIS Extension
+ + [PostGIS概述](/developer-guide/postgis-extension/postgis-overview.md)
+ + [PostGIS使用](/developer-guide/postgis-extension/using-postgis.md)
+ + [PostGIS支持和限制](/developer-guide/postgis-extension/postgis-support-and-constraints.md)
+ Foreign Data Wrapper
+ [介绍](/developer-guide/foreign-data-wrapper/fdw-introduction.md)
+ [oracle_fdw](/developer-guide/foreign-data-wrapper/1-oracle_fdw.md)
diff --git a/product/zh/docs-mogdb/v3.0/toc_dev.md b/product/zh/docs-mogdb/v3.0/toc_dev.md
index 01c202e5e9785dc3184b0f08543e4de378dc793f..c3bc2671ea9c457f4a706e237de2a83985e2191e 100644
--- a/product/zh/docs-mogdb/v3.0/toc_dev.md
+++ b/product/zh/docs-mogdb/v3.0/toc_dev.md
@@ -158,12 +158,26 @@
+ [介绍](/developer-guide/autonomous-transaction/1-introduction-to-autonomous-transaction.md)
+ [存储过程支持自治事务](/developer-guide/autonomous-transaction/3-stored-procedure-supporting-autonomous-transaction.md)
+ [匿名块支持自治事务](/developer-guide/autonomous-transaction/anonymous-block-supporting-autonomous-transaction.md)
- + [函数支持自治事务](/developer-guide/autonomous-transaction/2-function-supporting-autonomous-transaction.md)
+ + [用户自定义函数支持自治事务](/developer-guide/autonomous-transaction/2-function-supporting-autonomous-transaction.md)
+ [规格约束](/developer-guide/autonomous-transaction/4-restrictions.md)
+ 逻辑复制
+ 逻辑解码
- + [逻辑解码概述](/developer-guide/logical-replication/1-logical-decoding.md)
- + [使用SQL函数接口进行逻辑解码](/developer-guide/logical-replication/2-logical-decoding-by-sql-function-interfaces.md)
+ + [逻辑解码概述](/developer-guide/logical-replication/logical-decoding/1-logical-decoding.md)
+ + [使用SQL函数接口进行逻辑解码](/developer-guide/logical-replication/logical-decoding/2-logical-decoding-by-sql-function-interfaces.md)
+ + [发布订阅](/developer-guide/logical-replication/publication-subscription/publication-subscription.md)
+ + [发布](/developer-guide/logical-replication/publication-subscription/publications.md)
+ + [订阅](/developer-guide/logical-replication/publication-subscription/subscriptions.md)
+ + [冲突处理](/developer-guide/logical-replication/publication-subscription/conflicts.md)
+ + [限制](/developer-guide/logical-replication/publication-subscription/restrictions.md)
+ + [架构](/developer-guide/logical-replication/publication-subscription/architecture.md)
+ + [监控](/developer-guide/logical-replication/publication-subscription/monitoring.md)
+ + [安全性](/developer-guide/logical-replication/publication-subscription/security.md)
+ + [配置设置](/developer-guide/logical-replication/publication-subscription/configuration-settings.md)
+ + [快速设置](/developer-guide/logical-replication/publication-subscription/quick-setup.md)
++ PostGIS Extension
+ + [PostGIS概述](/developer-guide/postgis-extension/postgis-overview.md)
+ + [PostGIS使用](/developer-guide/postgis-extension/using-postgis.md)
+ + [PostGIS支持和限制](/developer-guide/postgis-extension/postgis-support-and-constraints.md)
+ Foreign Data Wrapper
+ [介绍](/developer-guide/foreign-data-wrapper/fdw-introduction.md)
+ [oracle_fdw](/developer-guide/foreign-data-wrapper/1-oracle_fdw.md)
diff --git a/product/zh/docs-mogdb/v3.0/toc_manage.md b/product/zh/docs-mogdb/v3.0/toc_manage.md
index ce58952195db73e7d2f3da2080d676632da72a5d..cef38d883ac478e13114cd2ad3b505c0a7f55999 100644
--- a/product/zh/docs-mogdb/v3.0/toc_manage.md
+++ b/product/zh/docs-mogdb/v3.0/toc_manage.md
@@ -7,7 +7,7 @@
+ 日常运维
+ [启停MogDB](/administrator-guide/routine-maintenance/0-starting-and-stopping-mogdb.md)
+ [gsql客户端连接](./administrator-guide/routine-maintenance/using-the-gsql-client-for-connection.md)
- + [日维护检查项](/administrator-guide/routine-maintenance/1-routine-maintenance-check-items.md)
+ + [日常维护检查项](/administrator-guide/routine-maintenance/1-routine-maintenance-check-items.md)
+ [检查操作系统参数](/administrator-guide/routine-maintenance/2-checking-os-parameters.md)
+ [检查MogDB健康状态](/administrator-guide/routine-maintenance/3-checking-mogdb-health-status.md)
+ [检查数据库性能](/administrator-guide/routine-maintenance/4-checking-database-performance.md)