diff --git "a/content/docs-lite/zh/docs/DatabaseAdministrationGuide/MOT\344\275\277\347\224\250\346\246\202\350\277\260.md" "b/content/docs-lite/zh/docs/DatabaseAdministrationGuide/MOT\344\275\277\347\224\250\346\246\202\350\277\260.md" index 3eeda4509bd187b6bad4ccb5d8dc944dd8e0bd5c..5b562ea522a2749760e3968342b1bab92cbb65e4 100644 --- "a/content/docs-lite/zh/docs/DatabaseAdministrationGuide/MOT\344\275\277\347\224\250\346\246\202\350\277\260.md" +++ "b/content/docs-lite/zh/docs/DatabaseAdministrationGuide/MOT\344\275\277\347\224\250\346\246\202\350\277\260.md" @@ -2,7 +2,7 @@ MOT作为openGauss的一部分自动部署。有关如何计算和规划所需的内存和存储资源以维持工作负载的说明,请参阅[MOT准备](MOT准备.md)。参考[MOT部署](MOT部署.md)了解MOT中所有的配置,以及服务器优化的非必须选项。 -使用MOT的方法非常简单。MOT命令的语法与基于磁盘的表的语法相同,并支持大多数标准,如PostgreSQL SQL、DDL和DML命令和功能,如存储过程。只有MOT中的创建和删除表语句与openGauss中基于磁盘的表的语句不同。您可以参考[MOT使用](MOT使用.md)了解这两个简单命令的说明,如何将基于磁盘的表转换为MOT,如何使用查询原生编译和PREPARE语句获得更高的性能,以及了解外部工具支持和MOT引擎的限制。 +使用MOT的方法非常简单。MOT命令的语法与基于磁盘的表的语法相同,并支持大多数标准,如openGauss SQL、DDL和DML命令和功能,如存储过程。只有MOT中的创建和删除表语句与openGauss中基于磁盘的表的语句不同。您可以参考[MOT使用](MOT使用.md)了解这两个简单命令的说明,如何将基于磁盘的表转换为MOT,如何使用查询原生编译和PREPARE语句获得更高的性能,以及了解外部工具支持和MOT引擎的限制。 [MOT管理](MOT管理.md)介绍了如何进行数据库维护,以及监控和分析日志和错误报告。最后,[MOT样例TPC-C基准](MOT样例TPC-C基准.md)介绍了如何执行标准TPC-C基准测试。 diff --git "a/content/docs-lite/zh/docs/DatabaseAdministrationGuide/MOT\345\205\263\351\224\256\346\212\200\346\234\257.md" "b/content/docs-lite/zh/docs/DatabaseAdministrationGuide/MOT\345\205\263\351\224\256\346\212\200\346\234\257.md" index 00dc544c6643eb7bb6fe449b754a2a485270b8fa..27928a78a7ade7e7865d0c3c683d22173e1f7cba 100644 --- "a/content/docs-lite/zh/docs/DatabaseAdministrationGuide/MOT\345\205\263\351\224\256\346\212\200\346\234\257.md" +++ "b/content/docs-lite/zh/docs/DatabaseAdministrationGuide/MOT\345\205\263\351\224\256\346\212\200\346\234\257.md" @@ -13,7 +13,7 @@ MOT的关键技术如下: - 除了同步和异步之外,创新的NUMA感知组提交日志记录。 - 最先进的数据库检查点(CALC\[[对比:磁盘与MOT](对比-磁盘与MOT.md)\])使内存和计算开销降到最低。 -- 高SQL覆盖率和功能集:MOT通过扩展的PostgreSQL外部数据封装(FDW)以及索引,几乎支持完整的SQL范围,包括存储过程、用户定义函数和系统函数调用。有关不支持的功能的列表,请参阅[MOT SQL覆盖和限制](MOT-SQL覆盖和限制.md)。 +- 高SQL覆盖率和功能集:MOT通过扩展的外部数据封装(FDW)以及索引,几乎支持完整的SQL范围,包括存储过程、用户定义函数和系统函数调用。有关不支持的功能的列表,请参阅[MOT SQL覆盖和限制](MOT-SQL覆盖和限制.md)。 - 使用PREPARE语句的查询原生编译:通过使用PREPARE客户端命令,可以以交互方式执行查询和事务语句。这些命令已被预编译成原生执行格式,也称为Code-Gen或即时(Just-in-Time,JIT)编译。这样可以实现平均30%的性能提升。在可能的情况下,应用编译和轻量级执行;否则,使用标准执行路径处理适用的查询。Cache Plan模块已针对OLTP进行了优化,在整个会话中甚至使用不同的绑定设置以及在不同的会话中重用编译结果。 - MOT和openGauss数据库的无缝集成:MOT是一个高性能的面向内存优化的存储引擎,已集成在openGauss包中。MOT的主内存引擎和基于磁盘的存储引擎并存,以支持多种应用场景,同时在内部重用数据库辅助服务,如WAL重做日志、复制、检查点和恢复高可用性等。用户可以从基于磁盘的表和MOT的统一部署、配置和访问中受益。根据特定需求,灵活且低成本地选择使用哪种存储引擎。例如,把会导致瓶颈的高度性能敏感数据放入内存中。 diff --git "a/content/docs-lite/zh/docs/DatabaseAdministrationGuide/MOT\347\272\265\345\220\221\346\211\251\345\256\271\346\236\266\346\236\204.md" "b/content/docs-lite/zh/docs/DatabaseAdministrationGuide/MOT\347\272\265\345\220\221\346\211\251\345\256\271\346\236\266\346\236\204.md" index d3bf75795a0f1d42de495210b50bfdef8977813f..08491e3a465274b25522eb9e5e108e3a0a0c385e 100644 --- "a/content/docs-lite/zh/docs/DatabaseAdministrationGuide/MOT\347\272\265\345\220\221\346\211\251\345\256\271\346\236\266\346\236\204.md" +++ "b/content/docs-lite/zh/docs/DatabaseAdministrationGuide/MOT\347\272\265\345\220\221\346\211\251\345\256\271\346\236\266\346\236\204.md" @@ -33,9 +33,9 @@ MOT旨在实现以下目标: MOT遵循并利用了openGauss的标准扩展机制——外部数据封装(FDW),如下图所示。 -在PostgreSQL外部数据封装特性的支持下,作为其他数据源的代理的MOT数据库可以创建外表,如MySQL、Redis、X3等。当对外表执行查询时,FDW将查询外部数据源并返回结果,就像查询内表一样。 +在外部数据封装特性的支持下,作为其他数据源的代理的MOT数据库可以创建外表,如MySQL、Redis、X3等。当对外表执行查询时,FDW将查询外部数据源并返回结果,就像查询内表一样。 -openGauss依赖PostgreSQL外部数据封装和索引支持,因此SQL完全覆盖,包括存储过程、用户定义函数、系统函数调用。 +openGauss依赖外部数据封装和索引支持,因此SQL完全覆盖,包括存储过程、用户定义函数、系统函数调用。 **图 1** MOT架构 ![](figures/MOT架构.png "MOT架构") diff --git "a/content/docs-lite/zh/docs/DatabaseAdministrationGuide/\346\211\251\345\261\225FDW\344\270\216\345\205\266\344\273\226openGauss\347\211\271\346\200\247.md" "b/content/docs-lite/zh/docs/DatabaseAdministrationGuide/\346\211\251\345\261\225FDW\344\270\216\345\205\266\344\273\226openGauss\347\211\271\346\200\247.md" index fb1d83cc25da2acd59feb912a5728de0d9ad5704..8d04a6ea82f98620b125a568081ef0a6fd7af2cc 100644 --- "a/content/docs-lite/zh/docs/DatabaseAdministrationGuide/\346\211\251\345\261\225FDW\344\270\216\345\205\266\344\273\226openGauss\347\211\271\346\200\247.md" +++ "b/content/docs-lite/zh/docs/DatabaseAdministrationGuide/\346\211\251\345\261\225FDW\344\270\216\345\205\266\344\273\226openGauss\347\211\271\346\200\247.md" @@ -1,8 +1,8 @@ # 扩展FDW与其他openGauss特性 -openGauss基于PostgreSQL,而PostgreSQL没有内置存储引擎适配器,如MySQL的handlerton。为了使MOT存储引擎能够集成到openGauss中,我们利用并扩展了现有的FDW机制。随着FDW引入PostgreSQL 9.1,现在可以将这些外表和数据源呈现为统一、本地可访问的关系来访问外部管理的数据库。 +为了使MOT存储引擎能够集成到openGauss中,我们利用并扩展了现有的FDW机制。 -和PostgreSQL不同的是,MOT存储引擎是嵌入在openGauss内部的,表由openGauss管理。openGauss规划器和执行器控制表的访问。MOT从openGauss获取日志和检查点服务,并参与openGauss恢复过程和其他过程。 +MOT存储引擎是嵌入在openGauss内部的,表由openGauss管理。openGauss规划器和执行器控制表的访问。MOT从openGauss获取日志和检查点服务,并参与openGauss恢复过程和其他过程。 我们把正在使用或正在访问MOT存储引擎的所有组件称为封装。 diff --git "a/content/docs-lite/zh/docs/DatabaseReference/\345\216\206\345\217\262\347\211\210\346\234\254\345\205\274\345\256\271\346\200\247.md" "b/content/docs-lite/zh/docs/DatabaseReference/\345\216\206\345\217\262\347\211\210\346\234\254\345\205\274\345\256\271\346\200\247.md" index 5a97e23fc566ce50916c148746a00922151ce7fd..11acda66e049daeefd54966e974c7a054dacb663 100644 --- "a/content/docs-lite/zh/docs/DatabaseReference/\345\216\206\345\217\262\347\211\210\346\234\254\345\205\274\345\256\271\346\200\247.md" +++ "b/content/docs-lite/zh/docs/DatabaseReference/\345\216\206\345\217\262\347\211\210\346\234\254\345\205\274\345\256\271\346\200\247.md" @@ -54,7 +54,7 @@ openGauss介绍数据库的向下兼容性和对外兼容性特性的参数控 **取值范围**: 布尔型 -on表示当读取或修改大对象时禁用权限检查,与PostgreSQL 9.0以前的版本兼容。 +on表示当读取或修改大对象时禁用权限检查。 **默认值**: off diff --git "a/content/docs-lite/zh/docs/DatabaseReference/\350\257\255\345\217\245\350\241\214\344\270\272.md" "b/content/docs-lite/zh/docs/DatabaseReference/\350\257\255\345\217\245\350\241\214\344\270\272.md" index 3cd1deeb104a79f0eab22bf8b80e1aa30234d8a4..59ba342804f67e19f436462db0c226deb4d01e07 100644 --- "a/content/docs-lite/zh/docs/DatabaseReference/\350\257\255\345\217\245\350\241\214\344\270\272.md" +++ "b/content/docs-lite/zh/docs/DatabaseReference/\350\257\255\345\217\245\350\241\214\344\270\272.md" @@ -196,7 +196,7 @@ openGauss不支持可串行化的隔离级别,因此,该参数无实际意 **取值范围**: 枚举类型 - hex:将二进制数据编码为每字节2位十六进制数字。 -- escape:传统化的PostgreSQL格式。采用以ASCII字符序列表示二进制串的方法,同时将那些无法表示成ASCII字符的二进制串转换成特殊的转义序列。 +- escape:采用以ASCII字符序列表示二进制串的方法,同时将那些无法表示成ASCII字符的二进制串转换成特殊的转义序列。 **默认值**: hex diff --git a/content/docs-lite/zh/docs/GettingStarted/Python.md b/content/docs-lite/zh/docs/GettingStarted/Python.md index ad9c626c664d86c9fb4b6a95f53ba25a24be799c..f718ae1ca45ba4cb835f952ca677feed152070a1 100644 --- a/content/docs-lite/zh/docs/GettingStarted/Python.md +++ b/content/docs-lite/zh/docs/GettingStarted/Python.md @@ -32,7 +32,7 @@ openGauss数据库提供了对Psycopg2特性的支持,并且支持psycopg2通 1. 从[openGauss官网](https://opengauss.org/zh/download/)上下载编译好的psycopg2压缩包。 >![](public_sys-resources/icon-note.gif) **说明:** - >openGauss官网上下载的psycopg2适配的版本为Python3.6,如果使用其他版本的Python, 需要自行编译psycopg2,编译方法与在PostgreSQL数据库下基本相同。只是需要修改一下编译时的setup.py版本号校验部分的代码,可通过如下命令实现: + >openGauss官网上下载的psycopg2适配的版本为Python3.6,如果使用其他版本的Python, 需要自行编译psycopg2。需要修改一下编译时的setup.py版本号校验部分的代码,可通过如下命令实现: >``` >sed -i "s/(pgmajor, pgminor, pgpatch)/(9, 2, 4)/g" setup.py >``` diff --git "a/content/docs-lite/zh/docs/ReleaseNotes/\346\263\225\345\276\213\345\243\260\346\230\216.md" "b/content/docs-lite/zh/docs/ReleaseNotes/\346\263\225\345\276\213\345\243\260\346\230\216.md" index 48e94fc20bdbb077b3f4ae8657f6cd26ff72306b..41222e1104acc50d1051744668b060b819d0a352 100644 --- "a/content/docs-lite/zh/docs/ReleaseNotes/\346\263\225\345\276\213\345\243\260\346\230\216.md" +++ "b/content/docs-lite/zh/docs/ReleaseNotes/\346\263\225\345\276\213\345\243\260\346\230\216.md" @@ -4,8 +4,6 @@ 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA 4.0”)的约束。为了方便用户理解,您可以通过访问[https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/)了解CC BY-SA 4.0的概要(但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:[https://creativecommons.org/licenses/by-sa/4.0/legalcode](https://creativecommons.org/licenses/by-sa/4.0/legalcode)。 -“本文档”部分页面内容(如标准API、参数描述等)参考自PostgreSQL官方文档[https://www.postgresql.org/docs](https://www.postgresql.org/docs)。 - 遵循如下协议: PostgreSQL is Copyright © 1996–2020 by the PostgreSQL Global Development Group. Postgres95 is Copyright © 1994–5 by the Regents of the University of California. diff --git "a/content/docs-lite/zh/docs/SQLReference/\345\205\266\344\273\226\347\263\273\347\273\237\345\207\275\346\225\260.md" "b/content/docs-lite/zh/docs/SQLReference/\345\205\266\344\273\226\347\263\273\347\273\237\345\207\275\346\225\260.md" index 6a6afde6d9303ace5f8dfe0a7b315054c4cc7d29..b608325d22a50b2a83929f97c4a892024de1c762 100644 --- "a/content/docs-lite/zh/docs/SQLReference/\345\205\266\344\273\226\347\263\273\347\273\237\345\207\275\346\225\260.md" +++ "b/content/docs-lite/zh/docs/SQLReference/\345\205\266\344\273\226\347\263\273\347\273\237\345\207\275\346\225\260.md" @@ -1,6 +1,6 @@ # 其他系统函数 -openGauss的内建函数和操作符继承自开源PG,下述函数不作赘述,详情请参见[PG官方文档](https://www.postgresql.org/docs/9.2/functions.html)。 +下述函数详情可参见[PG官方文档](https://www.postgresql.org/docs/9.2/functions.html)。 - diff --git "a/content/zh/docs/DatabaseReference/\345\216\206\345\217\262\347\211\210\346\234\254\345\205\274\345\256\271\346\200\247.md" "b/content/zh/docs/DatabaseReference/\345\216\206\345\217\262\347\211\210\346\234\254\345\205\274\345\256\271\346\200\247.md" index 49f08d268cbc7d7b4b7649664240479f4201f039..4931272122190bf02bafd9e913363f4527ed4e96 100644 --- "a/content/zh/docs/DatabaseReference/\345\216\206\345\217\262\347\211\210\346\234\254\345\205\274\345\256\271\346\200\247.md" +++ "b/content/zh/docs/DatabaseReference/\345\216\206\345\217\262\347\211\210\346\234\254\345\205\274\345\256\271\346\200\247.md" @@ -53,7 +53,7 @@ openGauss介绍数据库的向下兼容性和对外兼容性特性的参数控 **取值范围**: 布尔型 -on表示当读取或修改大对象时禁用权限检查,与PostgreSQL 9.0以前的版本兼容。 +on表示当读取或修改大对象时禁用权限检查。 **默认值**: off diff --git "a/content/zh/docs/DatabaseReference/\350\257\255\345\217\245\350\241\214\344\270\272.md" "b/content/zh/docs/DatabaseReference/\350\257\255\345\217\245\350\241\214\344\270\272.md" index e3e0380b6964d414c0265afd87a24aa6ffcaf744..706e020e36f86d608e43734c7532edcca828b4d9 100644 --- "a/content/zh/docs/DatabaseReference/\350\257\255\345\217\245\350\241\214\344\270\272.md" +++ "b/content/zh/docs/DatabaseReference/\350\257\255\345\217\245\350\241\214\344\270\272.md" @@ -221,7 +221,7 @@ origin 枚举类型 - hex:将二进制数据编码为每字节2位十六进制数字。 -- escape:传统化的PostgreSQL格式。采用以ASCII字符序列表示二进制串的方法,同时将那些无法表示成ASCII字符的二进制串转换成特殊的转义序列。 +- escape:采用以ASCII字符序列表示二进制串的方法,同时将那些无法表示成ASCII字符的二进制串转换成特殊的转义序列。 **默认值**: hex diff --git a/content/zh/docs/GettingStarted/Python.md b/content/zh/docs/GettingStarted/Python.md index bdf0b6c8bd60132aa3064e32d9125c3d544c42dc..5fcbeb45b620e186b1ba97fe2f7e117e3625c918 100644 --- a/content/zh/docs/GettingStarted/Python.md +++ b/content/zh/docs/GettingStarted/Python.md @@ -32,7 +32,7 @@ openGauss数据库提供了对Psycopg2特性的支持,并且支持psycopg2通 1. 从[openGauss官网](https://opengauss.org/zh/download/)上下载编译好的psycopg2压缩包。 >![](public_sys-resources/icon-note.png) **说明:** - >openGauss官网上下载的psycopg2适配的版本为Python3.6,如果使用其他版本的Python, 需要自行编译psycopg2,编译方法与在PostgreSQL数据库下基本相同。只是需要修改一下编译时的setup.py版本号校验部分的代码,可通过如下命令实现: + >openGauss官网上下载的psycopg2适配的版本为Python3.6,如果使用其他版本的Python, 需要自行编译psycopg2。需要修改一下编译时的setup.py版本号校验部分的代码,可通过如下命令实现: >``` >sed -i "s/(pgmajor, pgminor, pgpatch)/(9, 2, 4)/g" setup.py >``` diff --git "a/content/zh/docs/ReleaseNotes/\346\263\225\345\276\213\345\243\260\346\230\216.md" "b/content/zh/docs/ReleaseNotes/\346\263\225\345\276\213\345\243\260\346\230\216.md" index 764674fc0a6e24f815ae4da83c658b53766f175c..19e4d975de262cb34c83bbc3230b0ac0e0a4523c 100644 --- "a/content/zh/docs/ReleaseNotes/\346\263\225\345\276\213\345\243\260\346\230\216.md" +++ "b/content/zh/docs/ReleaseNotes/\346\263\225\345\276\213\345\243\260\346\230\216.md" @@ -4,8 +4,6 @@ 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA 4.0”)的约束。为了方便用户理解,您可以通过访问[https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/)了解CC BY-SA 4.0的概要(但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:[https://creativecommons.org/licenses/by-sa/4.0/legalcode](https://creativecommons.org/licenses/by-sa/4.0/legalcode)。 -“本文档”部分页面内容(如标准API、参数描述等)参考自PostgreSQL官方文档[https://www.postgresql.org/docs](https://www.postgresql.org/docs)。 - 遵循如下协议: PostgreSQL is Copyright © 1996–2020 by the PostgreSQL Global Development Group. Postgres95 is Copyright © 1994–5 by the Regents of the University of California. diff --git "a/content/zh/docs/SQLReference/\345\205\266\344\273\226\347\263\273\347\273\237\345\207\275\346\225\260.md" "b/content/zh/docs/SQLReference/\345\205\266\344\273\226\347\263\273\347\273\237\345\207\275\346\225\260.md" index ea58d0d3b037269dbf9d810adb748f67a7450b82..0330cd29c14f793bf78736e3cadb0397b3caae15 100644 --- "a/content/zh/docs/SQLReference/\345\205\266\344\273\226\347\263\273\347\273\237\345\207\275\346\225\260.md" +++ "b/content/zh/docs/SQLReference/\345\205\266\344\273\226\347\263\273\347\273\237\345\207\275\346\225\260.md" @@ -1,6 +1,6 @@ # 其他系统函数 -openGauss的内建函数和操作符继承自开源PG,下述函数不作赘述,详情请参见[PG官方文档](https://www.postgresql.org/docs/9.2/functions.html)。 +下述函数详情可参见[PG官方文档](https://www.postgresql.org/docs/9.2/functions.html)。

_pg_char_max_length

@@ -4436,7 +4436,7 @@ openGauss的内建函数和操作符继承自开源PG,下述函数不作赘述 - segment : 被分析的段号。 - os\_page\_size : 一个页面的大小。 - rel\_os\_pages : 该关系的总页面数。 - - pages\_mem : 关系在页面缓存中的页面总数。 \(不是来自PostgreSQL的共享缓冲区,而是操作系统缓存\) 。 + - pages\_mem : 关系在页面缓存中的页面总数。 \(来自操作系统缓存\) 。 - group\_mem : 相邻pages\_mem的组数。 - os\_page\_free : 操作系统页面缓存中空闲的页面数。 - databit : 该文件的varbit映射,因为该字段的大小关系,若需要输出该字段,需要使用pgfincore\('pgbench\_accounts',true\)来激活它。 diff --git "a/content/docs-lite/zh/docs/SecHarden/\345\205\266\345\256\203\351\205\215\347\275\256.md" "b/content/docs-lite/zh/docs/SecHarden/\345\205\266\345\256\203\351\205\215\347\275\256.md" index 83affec0e62f8aca7edf9d4372a3ff9238753a25..15472ee837d3e5b3451599bd2872f83c662f3509 100644 --- "a/content/docs-lite/zh/docs/SecHarden/\345\205\266\345\256\203\351\205\215\347\275\256.md" +++ "b/content/docs-lite/zh/docs/SecHarden/\345\205\266\345\256\203\351\205\215\347\275\256.md" @@ -4,7 +4,7 @@ ### 说明 -参数`backslash_quote`控制字符串中是否允许使用`\'`来替代引号。由于历史原因,PostgreSQL接受“\'”的写法,但这种用法可能引发安全风险,如SQL注入攻击。为了避免这种风险,建议配置服务器拒绝带反斜杠转义的引号的查询。推荐使用SQL标准方法,使用一个引号写两遍(`''`)的方法。 +参数`backslash_quote`控制字符串中是否允许使用`\'`来替代引号。“\'”的写法可能引发安全风险,如SQL注入攻击。为了避免这种风险,建议配置服务器拒绝带反斜杠转义的引号的查询。推荐使用SQL标准方法,使用一个引号写两遍(`''`)的方法。 ### 实现 diff --git a/content/zh/docs/BriefTutorial/MOT.md b/content/zh/docs/BriefTutorial/MOT.md index 8359cf047cf3d777a2e568aac33033eeeed2226d..cf320e215954f1de90fb90686a515e9c23cbde66 100644 --- a/content/zh/docs/BriefTutorial/MOT.md +++ b/content/zh/docs/BriefTutorial/MOT.md @@ -33,7 +33,7 @@ MOT的关键技术如下: - 除了同步和异步之外,创新的NUMA感知组提交日志记录。 - 最先进的数据库检查点(CALC,Checkpointing Asynchronously using Logical Consistency)使内存和计算开销降到最低。 -- 高SQL覆盖率和功能集:MOT通过扩展的PostgreSQL外部数据封装(FDW)以及索引,几乎支持完整的SQL范围,包括存储过程、用户定义函数和系统函数调用。 +- 高SQL覆盖率和功能集:MOT通过扩展的外部数据封装(FDW)以及索引,几乎支持完整的SQL范围,包括存储过程、用户定义函数和系统函数调用。 - 使用PREPARE语句的查询原生编译:通过使用PREPARE客户端命令,可以以交互方式执行查询和事务语句。这些命令已被预编译成原生执行格式,也称为Code-Gen或即时(Just-in-Time,JIT)编译。这样可以实现平均30%的性能提升。在可能的情况下,应用编译和轻量级执行;否则,使用标准执行路径处理适用的查询。Cache Plan模块已针对OLTP进行了优化,在整个会话中甚至使用不同的绑定设置以及在不同的会话中重用编译结果。 - MOT和openGauss数据库的无缝集成:MOT是一个高性能的面向内存优化的存储引擎,已集成在openGauss包中。MOT的主内存引擎和基于磁盘的存储引擎并存,以支持多种应用场景,同时在内部重用数据库辅助服务,如WAL重做日志、复制、检查点和恢复高可用性等。用户可以从基于磁盘的表和MOT的统一部署、配置和访问中受益。根据特定需求,灵活且低成本地选择使用哪种存储引擎。例如,把会导致瓶颈的高度性能敏感数据放入内存中。 diff --git "a/content/zh/docs/DatabaseAdministrationGuide/MOT\344\275\277\347\224\250\346\246\202\350\277\260.md" "b/content/zh/docs/DatabaseAdministrationGuide/MOT\344\275\277\347\224\250\346\246\202\350\277\260.md" index aeb9c476402df7c56daf136339cf4094bd72061d..7085dbdf8aa8b63e8b49c5d405d214368a6b6edf 100644 --- "a/content/zh/docs/DatabaseAdministrationGuide/MOT\344\275\277\347\224\250\346\246\202\350\277\260.md" +++ "b/content/zh/docs/DatabaseAdministrationGuide/MOT\344\275\277\347\224\250\346\246\202\350\277\260.md" @@ -2,7 +2,7 @@ MOT作为openGauss的一部分自动部署。有关如何计算和规划所需的内存和存储资源以维持工作负载的说明,请参阅[MOT准备](MOT准备.md)。参考[MOT部署](MOT部署.md)了解MOT中所有的配置,以及服务器优化的非必须选项。 -使用MOT的方法非常简单。MOT命令的语法与基于磁盘的表的语法相同,并支持大多数标准,如PostgreSQL SQL、DDL和DML命令和功能,如存储过程。只有MOT中的创建和删除表语句与openGauss中基于磁盘的表的语句不同。您可以参考[MOT使用](MOT使用.md)了解这两个简单命令的说明,如何将基于磁盘的表转换为MOT,如何使用查询原生编译和PREPARE语句获得更高的性能,以及了解外部工具支持和MOT引擎的限制。 +使用MOT的方法非常简单。MOT命令的语法与基于磁盘的表的语法相同,并支持大多数标准,如openGauss SQL、DDL和DML命令和功能,如存储过程。只有MOT中的创建和删除表语句与openGauss中基于磁盘的表的语句不同。您可以参考[MOT使用](MOT使用.md)了解这两个简单命令的说明,如何将基于磁盘的表转换为MOT,如何使用查询原生编译和PREPARE语句获得更高的性能,以及了解外部工具支持和MOT引擎的限制。 [MOT管理](MOT管理.md)介绍了如何进行数据库维护,以及监控和分析日志和错误报告。最后,[MOT样例TPC-C基准](MOT样例TPC-C基准.md)介绍了如何执行标准TPC-C基准测试。 diff --git "a/content/zh/docs/DatabaseAdministrationGuide/MOT\345\205\263\351\224\256\346\212\200\346\234\257.md" "b/content/zh/docs/DatabaseAdministrationGuide/MOT\345\205\263\351\224\256\346\212\200\346\234\257.md" index 23dfa92a4fe995dd92298c857d7f3835be34438f..70a94aabdfe86c07e20d19a3e957d6332e3d94cc 100644 --- "a/content/zh/docs/DatabaseAdministrationGuide/MOT\345\205\263\351\224\256\346\212\200\346\234\257.md" +++ "b/content/zh/docs/DatabaseAdministrationGuide/MOT\345\205\263\351\224\256\346\212\200\346\234\257.md" @@ -13,7 +13,7 @@ MOT的关键技术如下: - 除了同步和异步之外,创新的NUMA感知组提交日志记录。 - 最先进的数据库检查点(CALC)使内存和计算开销降到最低。 -- 高SQL覆盖率和功能集:MOT通过扩展的PostgreSQL外部数据封装(FDW)以及索引,几乎支持完整的SQL范围,包括存储过程、用户定义函数和系统函数调用。有关不支持的功能的列表,请参阅[MOT SQL覆盖和限制](MOT-SQL覆盖和限制.md)。 +- 高SQL覆盖率和功能集:MOT通过扩展的外部数据封装(FDW)以及索引,几乎支持完整的SQL范围,包括存储过程、用户定义函数和系统函数调用。有关不支持的功能的列表,请参阅[MOT SQL覆盖和限制](MOT-SQL覆盖和限制.md)。 - 使用PREPARE语句的查询原生编译:通过使用PREPARE客户端命令,可以以交互方式执行查询和事务语句。这些命令已被预编译成原生执行格式,也称为Code-Gen或即时(Just-in-Time,JIT)编译。这样可以实现平均30%的性能提升。在可能的情况下,应用编译和轻量级执行;否则,使用标准执行路径处理适用的查询。Cache Plan模块已针对OLTP进行了优化,在整个会话中甚至使用不同的绑定设置以及在不同的会话中重用编译结果。 - JIT存储过程(JIT SP):加快性能。JIT SP是指通过LLVM运行时代码生成和编译库来生成代码、编译和执行存储过程。JIT SP仅对访问MOT表的存储过程可用,对用户完全透明。加速级别取决于存储过程逻辑。例如,一个真实的客户应用程序为不同的存储过程实现了20%、44%、300%和500%的加速,减少了存储过程延迟。 diff --git "a/content/zh/docs/DatabaseAdministrationGuide/MOT\347\272\265\345\220\221\346\211\251\345\256\271\346\236\266\346\236\204.md" "b/content/zh/docs/DatabaseAdministrationGuide/MOT\347\272\265\345\220\221\346\211\251\345\256\271\346\236\266\346\236\204.md" index 55f2955cd01285adec5c27a99c737db47bfbc4bd..b3f85fea65ff9e99b3eb91cdb48cb722124bccd3 100644 --- "a/content/zh/docs/DatabaseAdministrationGuide/MOT\347\272\265\345\220\221\346\211\251\345\256\271\346\236\266\346\236\204.md" +++ "b/content/zh/docs/DatabaseAdministrationGuide/MOT\347\272\265\345\220\221\346\211\251\345\256\271\346\236\266\346\236\204.md" @@ -32,9 +32,9 @@ MOT旨在实现以下目标: MOT遵循并利用了openGauss的标准扩展机制——外部数据封装(FDW),如下图所示。 -在PostgreSQL外部数据封装特性的支持下,作为其他数据源的代理的MOT数据库可以创建外表,如MySQL、Oracle、PostgreSQL等。当对外表执行查询时,FDW将查询外部数据源并返回结果,就像查询内表一样。 +在外部数据封装特性的支持下,作为其他数据源的代理的MOT数据库可以创建外表,如MySQL、Oracle、PostgreSQL等。当对外表执行查询时,FDW将查询外部数据源并返回结果,就像查询内表一样。 -openGauss依赖PostgreSQL外部数据封装和索引支持,因此SQL完全覆盖,包括存储过程、用户定义函数、系统函数调用。 +openGauss依赖外部数据封装和索引支持,因此SQL完全覆盖,包括存储过程、用户定义函数、系统函数调用。 **图 1** MOT架构 ![](figures/MOT-architecture.png "MOT架构") diff --git "a/content/zh/docs/DatabaseAdministrationGuide/\344\270\272MOT\345\210\233\345\273\272\347\264\242\345\274\225.md" "b/content/zh/docs/DatabaseAdministrationGuide/\344\270\272MOT\345\210\233\345\273\272\347\264\242\345\274\225.md" index 4bed828e9e75eb1d8aa36b525c53be928da49b06..d6ede73ed089b5c47307bb4b08b73f7b3250c78d 100644 --- "a/content/zh/docs/DatabaseAdministrationGuide/\344\270\272MOT\345\210\233\345\273\272\347\264\242\345\274\225.md" +++ "b/content/zh/docs/DatabaseAdministrationGuide/\344\270\272MOT\345\210\233\345\273\272\347\264\242\345\274\225.md" @@ -1,6 +1,6 @@ # 为MOT创建索引 -支持标准的PostgreSQL创建和删除索引语句。 +支持标准的openGauss创建和删除索引语句。 例如: diff --git "a/content/zh/docs/DatabaseAdministrationGuide/\346\211\251\345\261\225FDW\344\270\216\345\205\266\344\273\226openGauss\347\211\271\346\200\247.md" "b/content/zh/docs/DatabaseAdministrationGuide/\346\211\251\345\261\225FDW\344\270\216\345\205\266\344\273\226openGauss\347\211\271\346\200\247.md" index a4c2c4f73a9b16b0383eaff14b33a11365d3097a..fafd803917a188b01b1bc562b2797b000532d7ce 100644 --- "a/content/zh/docs/DatabaseAdministrationGuide/\346\211\251\345\261\225FDW\344\270\216\345\205\266\344\273\226openGauss\347\211\271\346\200\247.md" +++ "b/content/zh/docs/DatabaseAdministrationGuide/\346\211\251\345\261\225FDW\344\270\216\345\205\266\344\273\226openGauss\347\211\271\346\200\247.md" @@ -1,8 +1,8 @@ # 扩展FDW与其他openGauss特性 -openGauss基于PostgreSQL,而PostgreSQL没有内置存储引擎适配器,如MySQL的handlerton。为了使MOT存储引擎能够集成到openGauss中,我们利用并扩展了现有的FDW机制。随着FDW引入PostgreSQL 9.1,现在可以将这些外表和数据源呈现为统一、本地可访问的关系来访问外部管理的数据库。 +为了使MOT存储引擎能够集成到openGauss中,我们利用并扩展了现有的FDW机制。 -和PostgreSQL不同的是,MOT存储引擎是嵌入在openGauss内部的,表由openGauss管理。openGauss规划器和执行器控制表的访问。MOT从openGauss获取日志和检查点服务,并参与openGauss恢复过程和其他过程。 +MOT存储引擎是嵌入在openGauss内部的,表由openGauss管理。openGauss规划器和执行器控制表的访问。MOT从openGauss获取日志和检查点服务,并参与openGauss恢复过程和其他过程。 我们把正在使用或正在访问MOT存储引擎的所有组件称为封装。 diff --git "a/content/zh/docs/DatabaseAdministrationGuide/\346\234\257\350\257\255\350\241\250.md" "b/content/zh/docs/DatabaseAdministrationGuide/\346\234\257\350\257\255\350\241\250.md" index 84313b0ed5e4aa404f87fe19e09e431e5a671735..454ead0e4962b4c27b781c93c51ca91235ae8d5c 100644 --- "a/content/zh/docs/DatabaseAdministrationGuide/\346\234\257\350\257\255\350\241\250.md" +++ "b/content/zh/docs/DatabaseAdministrationGuide/\346\234\257\350\257\255\350\241\250.md" @@ -249,7 +249,7 @@

XLOG

事务日志的PostgreSQL实现(WAL,如上文所述)

+

事务日志的openGauss实现(WAL,如上文所述)

_pg_char_max_length

@@ -4522,7 +4522,7 @@ openGauss的内建函数和操作符继承自开源PG,下述函数不作赘述 * segment : 被分析的段号。 * os_page_size : 一个页面的大小。 * rel_os_pages : 该关系的总页面数。 - * pages_mem : 关系在页面缓存中的页面总数。 (不是来自PostgreSQL的共享缓冲区,而是操作系统缓存)。 + * pages_mem : 关系在页面缓存中的页面总数。 (来自操作系统缓存)。 * group_mem : 相邻pages_mem的组数。 * os_page_free : 操作系统页面缓存中空闲的页面数。 * databit : 该文件的varbit映射,因为该字段的大小关系,若需要输出该字段,需要使用pgfincore('pgbench_accounts',true)来激活它。如果对于一个没有插入数据的表,使用true激活后,该字段不回显数值。 diff --git "a/content/zh/docs/SecHarden/\345\205\266\345\256\203\351\205\215\347\275\256.md" "b/content/zh/docs/SecHarden/\345\205\266\345\256\203\351\205\215\347\275\256.md" index 83affec0e62f8aca7edf9d4372a3ff9238753a25..15472ee837d3e5b3451599bd2872f83c662f3509 100644 --- "a/content/zh/docs/SecHarden/\345\205\266\345\256\203\351\205\215\347\275\256.md" +++ "b/content/zh/docs/SecHarden/\345\205\266\345\256\203\351\205\215\347\275\256.md" @@ -4,7 +4,7 @@ ### 说明 -参数`backslash_quote`控制字符串中是否允许使用`\'`来替代引号。由于历史原因,PostgreSQL接受“\'”的写法,但这种用法可能引发安全风险,如SQL注入攻击。为了避免这种风险,建议配置服务器拒绝带反斜杠转义的引号的查询。推荐使用SQL标准方法,使用一个引号写两遍(`''`)的方法。 +参数`backslash_quote`控制字符串中是否允许使用`\'`来替代引号。“\'”的写法可能引发安全风险,如SQL注入攻击。为了避免这种风险,建议配置服务器拒绝带反斜杠转义的引号的查询。推荐使用SQL标准方法,使用一个引号写两遍(`''`)的方法。 ### 实现 diff --git "a/content/zh/docs/ToolandCommandReference/datakit/data-studio/\350\241\250.md" "b/content/zh/docs/ToolandCommandReference/datakit/data-studio/\350\241\250.md" index ba5ac5e837d8d822f939cd0d69ab605269e052b4..9370e197a48f30815c9ac1652603d2f6627eff99 100644 --- "a/content/zh/docs/ToolandCommandReference/datakit/data-studio/\350\241\250.md" +++ "b/content/zh/docs/ToolandCommandReference/datakit/data-studio/\350\241\250.md" @@ -325,7 +325,7 @@ openGauss 支持显示表和序列之间的依赖关系。 使用索引可帮助用户更快地查找数据。以下场景需要重建索引: - 索引已破坏,不再包含任何有效数据。虽然理论上不会发生,但事实上,索引可能由于软件或硬件故障而被破坏重建索引提供恢复方法。 -- 索引包含很多空的或几乎为空的页面,这种情况会在一些非通用访问类型下PostgreSQL 中的 B-tree 索引中出现重建索引提供一种通过写新版本的方式减少索引消耗的方法。新版本中无空页面。 +- 索引包含很多空的或几乎为空的页面,这种情况会在一些非通用访问类型下openGauss 中的 B-tree 索引中出现重建索引提供一种通过写新版本的方式减少索引消耗的方法。新版本中无空页面。 - 已修改索引的存储参数(如“填充因子”),且希望保证修改完全生效。 执行以下步骤重建索引: