执行如下命令查看指定用户 omm 已使用的会话连接数。其中,1表示 omm 已使用的会话连接数。
- postgres=# SELECT COUNT(*) FROM V$SESSION WHERE USERNAME=' omm ';
+ postgres=# CREATE OR REPLACE VIEW DV_SESSIONS AS
+ SELECT
+ sa.sessionid AS SID,
+ 0::integer AS SERIAL#,
+ sa.usesysid AS USER#,
+ ad.rolname AS USERNAME
+ FROM pg_stat_get_activity(NULL) AS sa
+ LEFT JOIN pg_authid ad ON(sa.usesysid = ad.oid)
+ WHERE sa.application_name <> 'JobScheduler';
+ postgres=# SELECT COUNT(*) FROM DV_SESSIONS WHERE USERNAME=' omm ';
count
-------
@@ -102,7 +111,16 @@
查看所有用户已使用会话连接数。
执行如下命令查看所有用户已使用的会话连接数。
- postgres=# SELECT COUNT(*) FROM V$SESSION;
+ postgres=# CREATE OR REPLACE VIEW DV_SESSIONS AS
+ SELECT
+ sa.sessionid AS SID,
+ 0::integer AS SERIAL#,
+ sa.usesysid AS USER#,
+ ad.rolname AS USERNAME
+ FROM pg_stat_get_activity(NULL) AS sa
+ LEFT JOIN pg_authid ad ON(sa.usesysid = ad.oid)
+ WHERE sa.application_name <> 'JobScheduler';
+ postgres=# SELECT COUNT(*) FROM DV_SESSIONS;
count
-------
10
diff --git "a/content/zh/docs/Developerguide/\346\237\245\350\257\242\345\222\214\347\264\242\345\274\225\347\273\237\350\256\241\346\224\266\351\233\206\345\231\250.md" "b/content/zh/docs/Developerguide/\346\237\245\350\257\242\345\222\214\347\264\242\345\274\225\347\273\237\350\256\241\346\224\266\351\233\206\345\231\250.md"
index 016385ebbfa702eb224bde6e6470bd487c676a8c..f6ced43a1aa1c277b64de4ec64666114292b3e99 100644
--- "a/content/zh/docs/Developerguide/\346\237\245\350\257\242\345\222\214\347\264\242\345\274\225\347\273\237\350\256\241\346\224\266\351\233\206\345\231\250.md"
+++ "b/content/zh/docs/Developerguide/\346\237\245\350\257\242\345\222\214\347\264\242\345\274\225\347\273\237\350\256\241\346\224\266\351\233\206\345\231\250.md"
@@ -56,7 +56,7 @@
**取值范围:**枚举类型
- pl表示只追踪过程语言函数。
-- all表示追踪SQL和C语言函数。
+- all表示追踪SQL语言函数。
- none表示关闭函数追踪功能。
**默认值:**none
@@ -137,8 +137,8 @@
> **说明:**
>- track\_sql\_count参数受track\_activities约束:
-> - track\_activities开启而track\_sql\_count关闭时,如果查询了gs\_sql\_count或pgxc\_sql\_count视图,将会有WARNING提示track\_sql\_count是关闭的;
-> - track\_activities和track\_sql\_count同时关闭,那么此时将会有两条WARNING,分别提示track\_activities是关闭的和track\_sql\_count是关闭的;
-> - track\_activities关闭而track\_sql\_count开启,此时将仅有WARNING提示track\_activities是关闭。
+> - track\_activities开启而track\_sql\_count关闭时,如果查询了gs\_sql\_count或pgxc\_sql\_count视图,日志中将会有WARNING提示track\_sql\_count是关闭的;
+> - track\_activities和track\_sql\_count同时关闭,那么此时日志中将会有两条WARNING,分别提示track\_activities是关闭的和track\_sql\_count是关闭的;
+> - track\_activities关闭而track\_sql\_count开启,此时日志中将仅有WARNING提示track\_activities是关闭。
>- 当参数关闭时,查询视图的结果为0行。
diff --git "a/content/zh/docs/Developerguide/\346\237\245\350\257\242\346\234\200\350\200\227\346\200\247\350\203\275\347\232\204SQL.md" "b/content/zh/docs/Developerguide/\346\237\245\350\257\242\346\234\200\350\200\227\346\200\247\350\203\275\347\232\204SQL.md"
new file mode 100644
index 0000000000000000000000000000000000000000..d63747d5f9def4e5a37b75ab17b514aba09014d7
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\346\237\245\350\257\242\346\234\200\350\200\227\346\200\247\350\203\275\347\232\204SQL.md"
@@ -0,0 +1,83 @@
+# 查询最耗性能的SQL
+
+系统中有些SQL语句运行了很长时间还没有结束,这些语句会消耗很多的系统性能,请根据本章内容查询长时间运行的SQL语句。
+
+## 操作步骤
+
+1. 以操作系统用户omm登录数据库节点。
+2. 使用如下命令连接数据库。
+
+ ```
+ gsql -d postgres -p 8000
+ ```
+
+ postgres为需要连接的数据库名称,8000为数据库节点的端口号。
+
+ 连接成功后,系统显示类似如下信息:
+
+ ```
+ gsql ((openGauss 1.0 build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131
+ Non-SSL connection (SSL connection is recommended when requiring high-security)
+ Type "help" for help.
+
+ postgres=#
+ ```
+
+3. 查询系统中长时间运行的查询语句。
+
+ ```
+ SELECT current_timestamp - query_start AS runtime, datname, usename, query FROM pg_stat_activity where state != 'idle' ORDER BY 1 desc;
+ ```
+
+ 查询后会按执行时间从长到短顺序返回查询语句列表,第一条结果就是当前系统中执行时间最长的查询语句。返回结果中包含了系统调用的SQL语句和用户执行SQL语句,请根据实际找到用户执行时间长的语句。
+
+ 若当前系统较为繁忙,可以通过限制current\_timestamp - query\_start大于某一阈值来查看执行时间超过此阈值的查询语句。
+
+ ```
+ SELECT query FROM pg_stat_activity WHERE current_timestamp - query_start > interval '1 days';
+ ```
+
+4. 设置参数track\_activities为on。
+
+ ```
+ SET track_activities = on;
+ ```
+
+ 当此参数为on时,数据库系统才会收集当前活动查询的运行信息。
+
+5. 查看正在运行的查询语句。
+
+ 以查看视图pg\_stat\_activity为例:
+
+ ```
+ SELECT datname, usename, state FROM pg_stat_activity;
+ datname | usename | state |
+ ----------+---------+--------+
+ postgres | omm | idle |
+ postgres | omm | active |
+ (2 rows)
+ ```
+
+ 如果state字段显示为idle,则表明此连接处于空闲,等待用户输入命令。
+
+ 如果仅需要查看非空闲的查询语句,则使用如下命令查看:
+
+ ```
+ SELECT datname, usename, state FROM pg_stat_activity WHERE state != 'idle';
+ ```
+
+6. 分析长时间运行的查询语句状态。
+ - 若查询语句处于正常状态,则等待其执行完毕。
+ - 若查询语句阻塞,则通过如下命令查看当前处于阻塞状态的查询语句:
+
+ ```
+ SELECT datname, usename, state, query FROM pg_stat_activity WHERE waiting = true;
+ ```
+
+ 查询结果中包含了当前被阻塞的查询语句,该查询语句所请求的锁资源可能被其他会话持有,正在等待持有会话释放锁资源。
+
+ > **说明:**
+ >只有当查询阻塞在系统内部锁资源时,waiting字段才显示为true。尽管等待锁资源是数据库系统最常见的阻塞行为,但是在某些场景下查询也会阻塞在等待其他系统资源上,例如写文件、定时器等。但是这种情况的查询阻塞,不会在视图pg\_stat\_activity中体现。
+
+
+
diff --git "a/content/zh/docs/Developerguide/\346\243\200\346\237\245\347\202\271.md" "b/content/zh/docs/Developerguide/\346\243\200\346\237\245\347\202\271.md"
index 3a1f4178b8e52bc6893934452114337f9b78024c..74ff8ec1c48bc7f714486f3ab87a64c5d7908f04 100644
--- "a/content/zh/docs/Developerguide/\346\243\200\346\237\245\347\202\271.md"
+++ "b/content/zh/docs/Developerguide/\346\243\200\346\237\245\347\202\271.md"
@@ -8,7 +8,7 @@
**取值范围**:整型,最小值1
-提升此参数可加快大数据的导入速度,但需要结合[checkpoint\_timeout](#zh-cn_topic_0237124708_zh-cn_topic_0059778936_s880baa9f9b594980afbbe95fb8a77182)、[shared\_buffers](内存.md#zh-cn_topic_0237124699_zh-cn_topic_0059777577_s55a43fb6d0464430a59031671b37cd07)这两个参数统一考虑。这个参数同时影响WAL日志段文件复用数量,通常情况下pg\_xlog文件夹下最大的复用文件个数为2倍的checkpoint\_segments个,复用的文件被改名为后续即将使用的WAL日志段文件,不会被真正删除。
+提升此参数可加快大数据的导入速度,但需要结合[checkpoint\_timeout](#zh-cn_topic_0237124708_zh-cn_topic_0059778936_s880baa9f9b594980afbbe95fb8a77182)、[shared\_buffers](内存-21.md#zh-cn_topic_0237124699_zh-cn_topic_0059777577_s55a43fb6d0464430a59031671b37cd07)这两个参数统一考虑。这个参数同时影响WAL日志段文件复用数量,通常情况下pg\_xlog文件夹下最大的复用文件个数为2倍的checkpoint\_segments个,复用的文件被改名为后续即将使用的WAL日志段文件,不会被真正删除。
**默认值:**64
@@ -20,7 +20,7 @@
**取值范围**:整型, 30~3600(秒)
-在提升[checkpoint\_segments](#zh-cn_topic_0237124708_zh-cn_topic_0059778936_sbadc77895e6643b882a5e7557e405373)以加快大数据导入的场景也需将此参数调大,同时这两个参数提升会加大[shared\_buffers](内存.md#zh-cn_topic_0237124699_zh-cn_topic_0059777577_s55a43fb6d0464430a59031671b37cd07)的负担,需要综合考虑。
+在提升[checkpoint\_segments](#zh-cn_topic_0237124708_zh-cn_topic_0059778936_sbadc77895e6643b882a5e7557e405373)以加快大数据导入的场景也需将此参数调大,同时这两个参数提升会加大[shared\_buffers](内存-21.md#zh-cn_topic_0237124699_zh-cn_topic_0059777577_s55a43fb6d0464430a59031671b37cd07)的负担,需要综合考虑。
**默认值:**15min
@@ -91,7 +91,7 @@
## enable\_xlog\_prune
-**参数说明:**设置主机是否在任一备机断联时候保留全部xlog不回收。
+**参数说明:**设置在任一备机断联时,主机是否根据xlog日志的大小超过参数max\_size\_for\_xlog\_prune的值而回收日志。
该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
@@ -99,3 +99,13 @@
**默认值:**on
+## max\_size\_for\_xlog\_prune
+
+**参数说明:**在enable\_xlog\_prune打开时生效,如果有备机断连且xlog日志大小大于此阈值,则回收日志。
+
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+
+**取值范围**:整型,0~576 460 752 303 423 487,单位为MB
+
+**默认值:**100000,单位MB
+
diff --git "a/content/zh/docs/Developerguide/\346\246\202\350\277\260-11.md" "b/content/zh/docs/Developerguide/\346\246\202\350\277\260-11.md"
new file mode 100644
index 0000000000000000000000000000000000000000..6be95d5db17acb65bb9152d84cf2dc46f99e4c38
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\346\246\202\350\277\260-11.md"
@@ -0,0 +1,4 @@
+# 概述
+
+Sqldiag是一个语句时间诊断框架,通过深度学习和统计学习相结合,实现在不获取语句执行计划的前提下,依据语句逻辑相似度与历史执行记录,预测语句的执行时间。
+
diff --git "a/content/zh/docs/Developerguide/\346\246\202\350\277\260-16.md" "b/content/zh/docs/Developerguide/\346\246\202\350\277\260-16.md"
new file mode 100644
index 0000000000000000000000000000000000000000..6a12230ca0c4e000d71b04c4ef5888eb14aadb7e
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\346\246\202\350\277\260-16.md"
@@ -0,0 +1,47 @@
+# 概述
+
+## 背景信息
+
+在SQL语言中,每个数据都与一个决定其行为和用法的数据类型相关。openGauss提供一个可扩展的数据类型系统,该系统比其它SQL实现更具通用性和灵活性。因而,openGauss中大多数类型转换是由通用规则来管理的,这种做法允许使用混合类型的表达式。
+
+openGauss扫描/分析器只将词法元素分解成五个基本种类:整数、浮点数、字符串、标识符和关键字。大多数非数字类型首先表现为字符串。SQL语言的定义允许将常量字符串声明为具体的类型。例,下面查询:
+
+```
+postgres=# SELECT text 'Origin' AS "label", point '(0,0)' AS "value";
+ label | value
+--------+-------
+ Origin | (0,0)
+(1 row)
+```
+
+示例中有两个文本常量,类型分别为text和point。如果没有为字符串文本声明类型,则该文本首先被定义成一个unknown类型。
+
+在openGauss分析器里,有四种基本的SQL结构需要独立的类型转换规则:
+
+- 函数调用
+
+ 多数SQL类型系统是建筑在一套丰富的函数上的。函数调用可以有一个或多个参数。因为SQL允许函数重载,所以不能通过函数名直接找到要调用的函数,分析器必须根据函数提供的参数类型选择正确的函数。
+
+- 操作符
+
+ SQL允许在表达式上使用前缀或后缀(单目)操作符,也允许表达式内部使用双目操作符(两个参数)。像函数一样,操作符也可以被重载,因此操作符的选择也和函数一样取决于参数类型。
+
+- 值存储
+
+ INSERT和UPDATE语句将表达式结果存入表中。语句中的表达式类型必须和目标字段的类型一致或者可以转换为一致。
+
+- UNION,CASE和相关构造
+
+ 因为联合SELECT语句中的所有查询结果必须在一列里显示出来,所以每个SELECT子句中的元素类型必须相互匹配并转换成一个统一类型。类似地,一个CASE构造的结果表达式必须转换成统一的类型,这样整个case表达式会有一个统一的输出类型。同样的要求也存在于ARRAY构造以及GREATEST和LEAST函数中。
+
+
+系统表pg\_cast存储了有关数据类型之间的转换关系以及如何执行这些转换的信息。详细信息请参见[PG\_CAST](PG_CAST.md)。
+
+语义分析阶段会决定表达式的返回值类型并选择适当的转换行为。数据类型的基本类型分类,包括:Boolean,numeric,string,bitstring,datetime,timespan,geometric和network。每种类型都有一种或多种首选类型用于解决类型选择的问题。根据首选类型和可用的隐含转换,就可能保证有歧义的表达式(那些有多个候选解析方案的)得到有效的方式解决。
+
+所有类型转换规则都是建立在下面几个基本原则上的:
+
+- 隐含转换决不能有奇怪的或不可预见的输出。
+- 如果一个查询不需要隐含的类型转换,分析器和执行器不应该进行更多的额外操作。这就是说,任何一个类型匹配、格式清晰的查询不应该在分析器里耗费更多的时间,也不应该向查询中引入任何不必要的隐含类型转换调用。
+- 另外,如果一个查询在调用某个函数时需要进行隐式转换,当用户定义了一个有正确参数的函数后,解释器应该选择使用新函数。
+
diff --git "a/content/zh/docs/Developerguide/\346\246\202\350\277\260-5.md" "b/content/zh/docs/Developerguide/\346\246\202\350\277\260-5.md"
new file mode 100644
index 0000000000000000000000000000000000000000..4d43eb9095e7c51e5bbf47878a7c45fd7ac671c2
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\346\246\202\350\277\260-5.md"
@@ -0,0 +1,77 @@
+# 概述
+
+openGauss提供的gs\_dump和gs\_dumpall工具,能够帮助用户导出需要的数据库对象或其相关信息。通过导入工具将导出的数据信息导入至需要的数据库,可以完成数据库信息的迁移。gs\_dump支持导出单个数据库或其内的对象,而gs\_dumpall支持导出openGauss中所有数据库或各库的公共全局对象。详细的使用场景见[表1](#zh-cn_topic_0237121167_table08278213504)。
+
+**表 1** 适用场景
+
+
+ 适用场景
+
+ 支持的导出粒度
+
+ 支持的导出格式
+
+ 配套的导入方法
+
+
+
+ 导出单个数据库
+
+数据库级导出 。
+
+
+纯文本格式 自定义归档格式 目录归档格式 tar归档格式
+
+
+
+
+模式级导出 。
+导出模式的全量信息。 仅导出模式中数据。 仅导出对象的定义,包含表定义、存储过程定义和索引定义等。
+
+
+表级导出 。
导出表的全量信息。 仅导出表中数据。 仅导出表的定义。
+
+
+
+ 导出所有数据库
+
+数据库级导出 。
+
+
+ 纯文本格式
+
+ 数据文件导入请参见使用gsql元命令导入数据 。
+
+
+
+
+
+
+
+
+gs\_dump和gs\_dumpall通过-U指定执行导出的用户帐户。如果当前使用的帐户不具备导出所要求的权限时,会无法导出数据。此时,可在导出命令中设置--role参数来指定具备权限的角色。在执行命令后,gs\_dump和gs\_dumpall会使用--role参数指定的角色,完成导出动作。可使用该功能的场景请参见[表1](#zh-cn_topic_0237121167_table08278213504),详细操作请参见[无权限角色导出数据](无权限角色导出数据.md)。
+
+gs\_dump和gs\_dumpall通过对导出的数据文件加密,导入时对加密的数据文件进行解密,可以防止数据信息泄露,为数据库的安全提供保证。
+
+gs\_dump和gs\_dumpall工具在进行数据导出时,其他用户可以访问openGauss数据库(读或写)。
+
+gs\_dump和gs\_dumpall工具支持导出完整一致的数据。例如,T1时刻启动gs\_dump导出A数据库,或者启动gs\_dumpall导出openGauss数据库,那么导出数据结果将会是T1时刻A数据库或者该openGauss数据库的数据状态,T1时刻之后对A数据库或openGauss数据库的修改不会被导出。
+
+## 注意事项
+
+- 禁止修改导出的文件和内容,否则可能无法恢复成功。
+- 如果数据库中包含的对象数量(数据表、视图、索引)在50万以上,为了提高性能且避免出现内存问题,建议通过gs\_guc工具设置数据库节点的如下参数(如果参数值大于如下建议值,则无需设置)。
+
+ ```
+ gs_guc set -N all -I all -c 'max_prepared_transactions = 1000'
+ gs_guc set -N all -I all -c 'max_locks_per_transaction = 512'
+ ```
+
+- 为了保证数据一致性和完整性,导出工具会对需要转储的表设置共享锁。如果表在别的事务中设置了共享锁,gs\_dump和gs\_dumpall会等待锁释放后锁定表。如果无法在指定时间内锁定某个表,转储会失败。用户可以通过指定--lock-wait-timeout选项,自定义等待锁超时时间。
+- 由于gs\_dumpall读取所有数据库中的表,因此必须以openGauss管理员身份进行连接,才能导出完整文件。在使用gsql执行脚本文件导入时,同样需要管理员权限,以便添加用户和组,以及创建数据库。
+
diff --git "a/content/zh/docs/Developerguide/\346\246\202\350\277\260-7.md" "b/content/zh/docs/Developerguide/\346\246\202\350\277\260-7.md"
new file mode 100644
index 0000000000000000000000000000000000000000..738bfd208096883b7639cd2a642ca12302ebb515
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\346\246\202\350\277\260-7.md"
@@ -0,0 +1,6 @@
+# 概述
+
+Predictor是基于机器学习且具有在线学习能力的查询时间预测工具。通过不断学习数据库内收集的历史执行信息,实现计划的执行时间预测功能。
+
+本特性需要拉起python进程AIEngine,用于模型的训练和推理。
+
diff --git "a/content/zh/docs/Developerguide/\346\246\202\350\277\260-8.md" "b/content/zh/docs/Developerguide/\346\246\202\350\277\260-8.md"
new file mode 100644
index 0000000000000000000000000000000000000000..bf1071718568d9aae943f69bec79cbd9b2a1e058
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\346\246\202\350\277\260-8.md"
@@ -0,0 +1,4 @@
+# 概述
+
+X-Tuner 是一款数据库自带的参数调优工具,通过结合深度强化学习和启发式算法,实现在无需人工干预的情况下,获取最佳数据库参数的途径。
+
diff --git "a/content/zh/docs/Developerguide/\346\250\241\345\274\217\345\214\271\351\205\215\346\223\215\344\275\234\347\254\246.md" "b/content/zh/docs/Developerguide/\346\250\241\345\274\217\345\214\271\351\205\215\346\223\215\344\275\234\347\254\246.md"
index b5d986c1415b55c3797488f7288b3defee9f6a3c..c734a6552e234c06aafc6f90fbd28367e88d2421 100644
--- "a/content/zh/docs/Developerguide/\346\250\241\345\274\217\345\214\271\351\205\215\346\223\215\344\275\234\347\254\246.md"
+++ "b/content/zh/docs/Developerguide/\346\250\241\345\274\217\345\214\271\351\205\215\346\223\215\344\275\234\347\254\246.md"
@@ -122,7 +122,7 @@
正则表达式函数:
- 支持使用函数[•substring\(string from pattern for escape\)](字符处理函数和操作符.md#zh-cn_topic_0237121967_zh-cn_topic_0059779223_la1fee63f0fe34c148a0649f508a3048c)截取匹配SQL正则表达式的子字符串。
+ 支持使用函数[substring\(string from pa...](字符处理函数和操作符.md#zh-cn_topic_0237121967_zh-cn_topic_0059779223_la1fee63f0fe34c148a0649f508a3048c)截取匹配SQL正则表达式的子字符串。
示例:
@@ -160,7 +160,7 @@
- POSIX正则表达式
- 描述:正则表达式是一个字符序列,它是定义一个串集合 (一个正则集)的缩写。 如果一个串是正则表达式描述的正则集中的一员时, 我们就说这个串匹配该正则表达式。 POSIX正则表达式提供了比LIKE和SIMILAR TO操作符更强大的含义。[表 1 正则表达式匹配操作符](#zh-cn_topic_0237121970_table6512684711360)列出了所有可用于POSIX正则表达式模式匹配的操作符。
+ 描述:正则表达式是一个字符序列,它是定义一个串集合 (一个正则集)的缩写。 如果一个串是正则表达式描述的正则集中的一员时, 我们就说这个串匹配该正则表达式。 POSIX正则表达式提供了比LIKE和SIMILAR TO操作符更强大的含义。[表1](#zh-cn_topic_0237121970_table6512684711360)列出了所有可用于POSIX正则表达式模式匹配的操作符。
**表 1** 正则表达式匹配操作符
@@ -238,11 +238,11 @@
POSIX正则表达式支持下面函数。
- - [substring\(string from pattern\)](字符处理函数和操作符.md#zh-cn_topic_0237121967_zh-cn_topic_0059779223_leae425d0ea44492abccc5db3556aa6f4)函数提供了抽取一个匹配POSIX正则表达式模式的子串的方法。
- - [regexp\_replace\(string, pattern, replacement \[,flags \]\)](字符处理函数和操作符.md#zh-cn_topic_0237121967_zh-cn_topic_0059779223_l3d209c16ba5f452798f2875e0144da4f)函数提供了将匹配POSIX正则表达式模式的子串替换为新文本的功能。
- - [regexp\_matches\(string text, pattern text \[, flags text\]\)](字符处理函数和操作符.md#zh-cn_topic_0237121967_zh-cn_topic_0059779223_l780ff57395f849c39cd24ae7bbc09950)函数返回一个文本数组,该数组由匹配一个POSIX正则表达式模式得到的所有被捕获子串构成。
- - [regexp\_split\_to\_table\(string text, pattern text \[, flags text\]\)](字符处理函数和操作符.md#zh-cn_topic_0237121967_zh-cn_topic_0059779223_l75315d2c7397491e8c5b10466b3fff91)函数把一个POSIX正则表达式模式当作一个定界符来分离一个串。
- - [regexp\_split\_to\_array\(string text, pattern text \[, flags text \]\)](字符处理函数和操作符.md#zh-cn_topic_0237121967_zh-cn_topic_0059779223_l0af8a0d78ca24b35815a93c7305cafdd)和regexp\_split\_to\_table类似,是一个正则表达式分离函数,不过它的结果以一个text数组的形式返回。
+ - [substring\(string from pa...](字符处理函数和操作符.md#zh-cn_topic_0237121967_zh-cn_topic_0059779223_leae425d0ea44492abccc5db3556aa6f4)函数提供了抽取一个匹配POSIX正则表达式模式的子串的方法。
+ - [regexp\_replace\(string, p...](字符处理函数和操作符.md#zh-cn_topic_0237121967_zh-cn_topic_0059779223_l3d209c16ba5f452798f2875e0144da4f)函数提供了将匹配POSIX正则表达式模式的子串替换为新文本的功能。
+ - [regexp\_matches\(string te...](字符处理函数和操作符.md#zh-cn_topic_0237121967_zh-cn_topic_0059779223_l780ff57395f849c39cd24ae7bbc09950)函数返回一个文本数组,该数组由匹配一个POSIX正则表达式模式得到的所有被捕获子串构成。
+ - [regexp\_split\_to\_table\(st...](字符处理函数和操作符.md#zh-cn_topic_0237121967_zh-cn_topic_0059779223_l75315d2c7397491e8c5b10466b3fff91)函数把一个POSIX正则表达式模式当作一个定界符来分离一个串。
+ - [regexp\_split\_to\_array\(st...](字符处理函数和操作符.md#zh-cn_topic_0237121967_zh-cn_topic_0059779223_l0af8a0d78ca24b35815a93c7305cafdd)和regexp\_split\_to\_table类似,是一个正则表达式分离函数,不过它的结果以一个text数组的形式返回。
> **说明:**
>正则表达式分离函数会忽略零长度的匹配,这种匹配发生在串的开头或结尾或者正好发生在前一个匹配之后。这和正则表达式匹配的严格定义是相悖的,后者由regexp\_matches实现,但是通常前者是实际中最常用的行为。
@@ -259,7 +259,7 @@
```
```
- postgres=# SELECT 'abc' ~ '* Abc' AS RESULT;
+ postgres=# SELECT 'abc' ~* 'Abc' AS RESULT;
result
--------
t
diff --git "a/content/zh/docs/Developerguide/\346\265\213\350\257\225\345\222\214\350\260\203\350\257\225\346\226\207\346\234\254\346\220\234\347\264\242.md" "b/content/zh/docs/Developerguide/\346\265\213\350\257\225\345\222\214\350\260\203\350\257\225\346\226\207\346\234\254\346\220\234\347\264\242.md"
index 870a66ffe3c8b1499d6e2ea1622e9da1aca8ff58..fc0a1b421a8c0f776bc4905634f7ef10e2583ddf 100644
--- "a/content/zh/docs/Developerguide/\346\265\213\350\257\225\345\222\214\350\260\203\350\257\225\346\226\207\346\234\254\346\220\234\347\264\242.md"
+++ "b/content/zh/docs/Developerguide/\346\265\213\350\257\225\345\222\214\350\260\203\350\257\225\346\226\207\346\234\254\346\220\234\347\264\242.md"
@@ -1,7 +1,5 @@
# 测试和调试文本搜索
-自定义文本搜索分词器的行为很容易变得混乱,本节中描述的函数用于对文本搜索对象进行测试。可以测试分词器整体,也可以单独测试解析器和词典。
-
- **[分词器测试](分词器测试.md)**
- **[解析器测试](解析器测试.md)**
diff --git "a/content/zh/docs/Developerguide/\346\270\270\346\240\207.md" "b/content/zh/docs/Developerguide/\346\270\270\346\240\207.md"
new file mode 100644
index 0000000000000000000000000000000000000000..970a6997c4a9a9a079d4b335b2906d569fdc0017
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\346\270\270\346\240\207.md"
@@ -0,0 +1,11 @@
+# 游标
+
+- **[游标概述](游标概述.md)**
+
+- **[显式游标](显式游标.md)**
+
+- **[隐式游标](隐式游标.md)**
+
+- **[游标循环](游标循环.md)**
+
+
diff --git "a/content/zh/docs/Developerguide/\346\270\270\346\240\207\345\276\252\347\216\257.md" "b/content/zh/docs/Developerguide/\346\270\270\346\240\207\345\276\252\347\216\257.md"
new file mode 100644
index 0000000000000000000000000000000000000000..fb0fa8f0effece6c438925ec0484c8f79c7ad2cb
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\346\270\270\346\240\207\345\276\252\347\216\257.md"
@@ -0,0 +1,18 @@
+# 游标循环
+
+游标在WHILE语句、LOOP语句中的使用称为游标循环,一般这种循环都需要使用OPEN、FETCH和CLOSE语句。下面要介绍的一种循环不需要这些操作,可以简化游标循环的操作,这种循环方式适用于静态游标的循环,不用执行静态游标的四个步骤。
+
+## 语法
+
+FOR AS循环的语法请参见[图1](#zh-cn_topic_0237122246_zh-cn_topic_0059778239_fd1982700d7d8496a9358b5d029a0123b)。
+
+**图 1** FOR\_AS\_loop::=
+
+
+## 注意事项
+
+- 不能在该循环语句中对查询的表进行更新操作。
+- 变量loop\_name会自动定义且只在此循环中有效,类型和select\_statement的查询结果类型一致。loop\_name的取值就是select\_statement的查询结果。
+
+- 游标的属性中%FOUND、%NOTFOUND、%ROWCOUNT在openGauss数据库中都是访问同一个内部变量,事务和匿名块不支持多个游标同时访问。
+
diff --git "a/content/zh/docs/Developerguide/\346\270\270\346\240\207\346\223\215\344\275\234.md" "b/content/zh/docs/Developerguide/\346\270\270\346\240\207\346\223\215\344\275\234.md"
new file mode 100644
index 0000000000000000000000000000000000000000..782327e5665cc954939bc8b2919e55b352b78ce4
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\346\270\270\346\240\207\346\223\215\344\275\234.md"
@@ -0,0 +1,8 @@
+# 游标操作
+
+openGauss中游标(cursor)是系统为用户开设的一个数据缓冲区,存放着SQL语句的执行结果。每个游标区都有一个名称。用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。
+
+游标的操作主要有游标的定义、打开、获取和关闭。
+
+完整的游标操作示例可参考[显式游标](显式游标.md)。
+
diff --git "a/content/zh/docs/Developerguide/\346\270\270\346\240\207\346\246\202\350\277\260.md" "b/content/zh/docs/Developerguide/\346\270\270\346\240\207\346\246\202\350\277\260.md"
new file mode 100644
index 0000000000000000000000000000000000000000..62b513fdcd6475bddedc41252f984974fafed2e6
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\346\270\270\346\240\207\346\246\202\350\277\260.md"
@@ -0,0 +1,36 @@
+# 游标概述
+
+为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标,存储过程可以控制上下文区域的变化。
+
+> **须知:**
+>当游标作为存储过程的返回值时,如果使用JDBC调用该存储过程,返回的游标将不可用。
+
+游标的使用分为显式游标和隐式游标。对于不同的SQL语句,游标的使用情况不同,详细信息请参见[表1](#zh-cn_topic_0237122243_zh-cn_topic_0059778312_t0961a7f2a418407cbc7ebba3ba58c03d)。
+
+**表 1** 游标使用情况
+
+
+ SQL语句
+
+ 游标
+
+
+
+ 非查询语句
+
+ 隐式的
+
+
+ 结果是单行的查询语句
+
+ 隐式的或显式的
+
+
+ 结果是多行的查询语句
+
+ 显式的
+
+
+
+
+
diff --git "a/content/zh/docs/Developerguide/\347\216\257\345\242\203\351\203\250\347\275\262.md" "b/content/zh/docs/Developerguide/\347\216\257\345\242\203\351\203\250\347\275\262.md"
new file mode 100644
index 0000000000000000000000000000000000000000..6d62887dc12fab44180c5ead77668a9935ed5d2c
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\216\257\345\242\203\351\203\250\347\275\262.md"
@@ -0,0 +1,231 @@
+# 环境部署
+
+## 前提条件
+
+需要保证openGauss处于正常状态,用户通过身份验证成功登录openGauss;用户执行的SQL语法正确无报错,且不会导致数据库异常等;历史性能数据窗口内openGauss并发量稳定,表结构、表数量不变,数据量无突变,涉及查询性能的guc参数不变;进行预测时,需要保证模型已训练并收敛;AiEngine运行环境稳定。
+
+## 请求样例
+
+AiEngine进程与内核进程使用https发送请求进行通信,请求样例如下:
+
+```
+curl -X POST -d '{"modelName":"modelname"}' -H 'Content-Type: application/json' 'https://IP-address:port/request-API'
+```
+
+**表 1** : AI-Engine对外接口
+
+
+ Request-API
+
+ 功能
+
+
+
+ /check
+
+ 检查模型是否被正常拉起
+
+
+ /configure
+
+ 设置模型参数
+
+
+ /train
+
+ 模型训练
+
+
+ /track_process
+
+ 查看模型训练日志
+
+
+ /setup
+
+ 加载历史模型
+
+
+ /predict
+
+ 模型预测
+
+
+
+
+
+## 证书生成
+
+使用此功能前需使用openssl工具生成通信双方认证所需的证书,保证通信安全。
+
+1. 搭建证书生成环境,证书文件保存路径为$GAUSSHOME/CA。
+
+ --拷贝证书生成脚本及相关文件
+
+ ```
+ cp path_to_predictor/install/ssl.sh $GAUSSHOME/
+ cp path_to_predictor/install/ca_ext.txt $GAUSSHOME/
+ ```
+
+ --copy 配置文件openssl.cnf到$GAUSSHOME路径下
+
+ ```
+ cp $GAUSSHOME/share/om/openssl.cnf $GAUSSHOME/
+ ```
+
+ --修改openssl.conf配置参数
+
+ ```
+ dir = $GAUSSHOME/CA/demoCA
+ default_md = sha256
+ ```
+
+ --至此证书生成环境准备完成
+
+2. 生成证书及密钥
+
+ ```
+ cd $GAUSSHOME
+ sh ssl.sh
+ ```
+
+ --根据提示设置密码,假如为Test@123:
+
+ --密码要求至少3种不同类型字符,长度至少为8位
+
+ ```
+ Please enter your password:
+ ```
+
+ --根据提示输入选项:
+
+ ```
+ Certificate Details:
+ Serial Number: 1 (0x1)
+ Validity
+ Not Before: May 15 08:32:44 2020 GMT
+ Not After : May 15 08:32:44 2021 GMT
+ Subject:
+ countryName = CN
+ stateOrProvinceName = SZ
+ organizationName = HW
+ organizationalUnitName = GS
+ commonName = CA
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:TRUE
+ Certificate is to be certified until May 15 08:32:44 2021 GMT (365 days)
+ Sign the certificate? [y/n]:y
+ 1 out of 1 certificate requests certified, commit? [y/n]y
+ ```
+
+ --输入拉起AIEngine的IP地址,如IP为127.0.0.1:
+
+ ```
+ Please enter your aiEngine IP: 127.0.0.1
+ ```
+
+ --根据提示输入选项:
+
+ ```
+ Certificate Details:
+ Serial Number: 2 (0x2)
+ Validity
+ Not Before: May 15 08:38:07 2020 GMT
+ Not After : May 13 08:38:07 2030 GMT
+ Subject:
+ countryName = CN
+ stateOrProvinceName = SZ
+ organizationName = HW
+ organizationalUnitName = GS
+ commonName = 127.0.0.1
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Certificate is to be certified until May 13 08:38:07 2030 GMT (3650 days)
+ Sign the certificate? [y/n]:y
+ 1 out of 1 certificate requests certified, commit? [y/n]y
+ ```
+
+ --输入启动OpenGauss IP地址,如IP为127.0.0.1:
+
+ ```
+ Please enter your gaussdb IP: 127.0.0.1
+ ```
+
+ --根据提示输入选项:
+
+ ```
+ Certificate Details:
+ Serial Number: 3 (0x3)
+ Validity
+ Not Before: May 15 08:41:46 2020 GMT
+ Not After : May 13 08:41:46 2030 GMT
+ Subject:
+ countryName = CN
+ stateOrProvinceName = SZ
+ organizationName = HW
+ organizationalUnitName = GS
+ commonName = 127.0.0.1
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Certificate is to be certified until May 13 08:41:46 2030 GMT (3650 days)
+ Sign the certificate? [y/n]:y
+ 1 out of 1 certificate requests certified, commit? [y/n]y
+ ```
+
+ --至此,相关证书及密钥已生成,($GAUSSHOME/CA)内容如下:
+
+ 
+
+
+## 环境准备
+
+1. 将工具代码文件夹拷贝至目标环境
+
+ --假设安装路径为$INSTALL\_FOLDER
+
+ --假设目标环境路径为/home/ai\_user :
+
+ ```
+ scp -r $INSTALL_FOLDER/bin/dbmind/predictor ai_user@127.0.0.1:path_to_Predictor
+ ```
+
+2. 拷贝CA证书文件夹至aiEngine环境中某路径下:
+
+ ```
+ cp -r $GAUSSHOME/CA ai_user@127.0.0.1:path_to_CA
+ ```
+
+3. 安装predictor/install/requirements\(-gpu\).txt工具:
+
+ ```
+ 有GPU:pip install requirements-gpu.txt
+ 无GPU:pip install requirements.txt
+ ```
+
+
+## 拉起AiEngine
+
+1. 切换至aiEngine环境(即拷贝predictor的目标环境 ai\_user):
+
+ 设置predictor/python/settings.py 中的相关参数:
+
+ ```
+ DEFAULT_FLASK_SERVER_HOST = '127.0.0.1' (aiEngine运行IP地址)
+ DEFAULT_FLASK_SERVER_PORT = '5000' (aiEngine运行端口号)
+ PATH_SSL = "path_to_CA" (CA文件夹路径)
+ ```
+
+2. 运行aiEngine启动脚本:
+
+ ```
+ python path_to_Predictor/python/run.py
+ ```
+
+ 此时,aiEngine即在相应端口保持拉起状态,等待内核侧时间预测功能的请求指令。
+
+ 至此,aiEngine工具部署完成。从内核中发起执行时间预测功能指令步骤,请参考《时间预测使用说明》。
+
+
diff --git "a/content/zh/docs/Developerguide/\347\224\250SSH\351\232\247\351\201\223\350\277\233\350\241\214\345\256\211\345\205\250\347\232\204TCP-IP\350\277\236\346\216\245.md" "b/content/zh/docs/Developerguide/\347\224\250SSH\351\232\247\351\201\223\350\277\233\350\241\214\345\256\211\345\205\250\347\232\204TCP-IP\350\277\236\346\216\245.md"
index 104be887375a44966ec575deb8350586bc8ae6ce..fcdb171a08bf996ed3ef948f04eb5216a121ebba 100644
--- "a/content/zh/docs/Developerguide/\347\224\250SSH\351\232\247\351\201\223\350\277\233\350\241\214\345\256\211\345\205\250\347\232\204TCP-IP\350\277\236\346\216\245.md"
+++ "b/content/zh/docs/Developerguide/\347\224\250SSH\351\232\247\351\201\223\350\277\233\350\241\214\345\256\211\345\205\250\347\232\204TCP-IP\350\277\236\346\216\245.md"
@@ -1,4 +1,4 @@
-# 用SSH隧道进行安全的TCP/IP连接
+# 用SSH隧道进行安全的TCP/IP连接
## 背景信息
diff --git "a/content/zh/docs/Developerguide/\347\224\250SSL\350\277\233\350\241\214\345\256\211\345\205\250\347\232\204TCP-IP\350\277\236\346\216\245.md" "b/content/zh/docs/Developerguide/\347\224\250SSL\350\277\233\350\241\214\345\256\211\345\205\250\347\232\204TCP-IP\350\277\236\346\216\245.md"
index 49daefeaef68f24f07c0b6ebbcf599f12244b120..a0119a088fd2fd1376839d938eef54bc33d7746d 100644
--- "a/content/zh/docs/Developerguide/\347\224\250SSL\350\277\233\350\241\214\345\256\211\345\205\250\347\232\204TCP-IP\350\277\236\346\216\245.md"
+++ "b/content/zh/docs/Developerguide/\347\224\250SSL\350\277\233\350\241\214\345\256\211\345\205\250\347\232\204TCP-IP\350\277\236\346\216\245.md"
@@ -1,4 +1,4 @@
-# 用SSL进行安全的TCP/IP连接
+# 用SSL进行安全的TCP/IP连接
## 背景信息
@@ -99,67 +99,67 @@ openGauss在openGauss部署完成后,默认已开启SSL认证模式。服务
**表 2** 服务器参数
- 参数
+ 参数
- 描述
+ 描述
- 取值范围
+ 取值范围
- ssl
+ ssl
- 表示是否启动SSL功能。
+ 表示是否启动SSL功能。
-
+
默认值: on
- require_ssl
+ require_ssl
- 设置服务器端是否强制要求SSL连接。该参数只有当参数ssl为on时才有效。
+ 设置服务器端是否强制要求SSL连接。该参数只有当参数ssl为on时才有效。
-on:服务器端强制要求SSL连接。 off:服务器端对是否通过SSL连接不作强制要求。
+on:服务器端强制要求SSL连接。 off:服务器端对是否通过SSL连接不作强制要求。
默认值: off
- ssl_cert_file
+ ssl_cert_file
- 指定服务器证书文件,包含服务器端的公钥。服务器证书用以表明服务器身份的合法性,公钥将发送给对端用来对数据进行加密。
+ 指定服务器证书文件,包含服务器端的公钥。服务器证书用以表明服务器身份的合法性,公钥将发送给对端用来对数据进行加密。
- 请以实际的证书名为准。必须使用相对路径,相对路径是相对于数据目录的。
+ 请以实际的证书名为准。必须使用相对路径,相对路径是相对于数据目录的。
默认值 :server.crt
- ssl_key_file
+ ssl_key_file
- 指定服务器私钥文件,用以对公钥加密的数据进行解密。
+ 指定服务器私钥文件,用以对公钥加密的数据进行解密。
- 请以实际的服务器私钥名称为准。必须使用相对路径,相对路径是相对于数据目录的。
+ 请以实际的服务器私钥名称为准。必须使用相对路径,相对路径是相对于数据目录的。
默认值 :server.key
- ssl_ca_file
+ ssl_ca_file
- CA服务器的根证书。此参数可选择配置,需要验证客户端证书的合法性时才需要配置。
+ CA服务器的根证书。此参数可选择配置,需要验证客户端证书的合法性时才需要配置。
- 请以实际的CA服务器根证书名称为准。
- 默认值 : cacert.pem
+ 请以实际的CA服务器根证书名称为准。
+ 默认值 :cacert.pem
- ssl_crl_file
+ ssl_crl_file
- 证书吊销列表,如果客户端证书在该列表中,则当前客户端证书被视为无效证书。
+ 证书吊销列表,如果客户端证书在该列表中,则当前客户端证书被视为无效证书。
- 请以实际的证书吊销列表名称为准。
+ 请以实际的证书吊销列表名称为准。
默认值 :空,表示没有吊销列表。
- ssl_ciphers
+ ssl_ciphers
- SSL通讯使用的加密算法。
+ SSL通讯使用的加密算法。
- 本产品支持的加密算法的详细信息请参见表4 。
+ 本产品支持的加密算法的详细信息请参见表4 。
默认值: ALL,表示允许对端使用产品支持的所有加密算法,但不包含ADH、LOW、EXP、MD5算法。
diff --git "a/content/zh/docs/Developerguide/\347\224\250\346\210\267.md" "b/content/zh/docs/Developerguide/\347\224\250\346\210\267.md"
index 237947ab0ea4b31a5926a5641535e61e5d4bafc0..d14714e2b549f5215d249c2c222321dfedae1c86 100644
--- "a/content/zh/docs/Developerguide/\347\224\250\346\210\267.md"
+++ "b/content/zh/docs/Developerguide/\347\224\250\346\210\267.md"
@@ -1,14 +1,14 @@
# 用户
-使用CREATE USER和ALTER USER可以创建和管理数据库用户。openGauss包含一个或多个已命名数据库。用户和角色在openGauss范围内是共享的,但是其数据并不共享。即用户可以连接任何数据库,但当连接成功后,任何用户都只能访问连接请求里声明的那个数据库。
+使用CREATE USER和ALTER USER可以创建和管理数据库用户。openGauss包含一个或多个已命名数据库。用户和角色在整个openGauss范围内是共享的,但是其数据并不共享。即用户可以连接任何数据库,但当连接成功后,任何用户都只能访问连接请求里声明的那个数据库。
-非[三权分立](三权分立.md#ZH-CN_TOPIC_0246507960)下,openGauss用户帐户只能由系统管理员或拥有CREATEROLE属性的安全管理员创建和删除。三权分立时,用户帐户只能由初始用户和安全管理员创建。
+非[三权分立](三权分立.md)下,openGauss用户帐户只能由系统管理员或拥有CREATEROLE属性的安全管理员创建和删除。三权分立时,用户帐户只能由初始用户和安全管理员创建。
在用户登录openGauss时会对其进行身份验证。用户可以拥有数据库和数据库对象(例如表),并且可以向用户和角色授予对这些对象的权限以控制谁可以访问哪个对象。除系统管理员外,具有CREATEDB属性的用户可以创建数据库并授予对这些数据库的权限。
## 创建、修改和删除用户
-- 要创建用户,请使用SQL语句[CREATE USER](CREATE-USER.md#ZH-CN_TOPIC_0242370589)。
+- 要创建用户,请使用SQL语句[CREATE USER](CREATE-USER.md)。
例如:创建用户joe,并设置用户拥有CREATEDB属性。
@@ -17,10 +17,10 @@
CREATE ROLE
```
-- 要创建系统管理员,请使用带有SYSADMIN选项的[CREATE USER](CREATE-USER.md#ZH-CN_TOPIC_0242370589)语句 。
+- 要创建系统管理员,请使用带有SYSADMIN选项的[CREATE USER](CREATE-USER.md)语句 。
- 要删除现有用户,请使用[DROP USER](DROP-USER.md)。
-- 要更改用户帐户(例如,重命名用户或更改密码),请使用[ALTER USER](ALTER-USER.md#ZH-CN_TOPIC_0242370547)。
-- 要查看用户列表,请查询视图[PG\_USER](PG_USER.md#ZH-CN_TOPIC_0242385999):
+- 要更改用户帐户(例如,重命名用户或更改密码),请使用[ALTER USER](ALTER-USER.md)。
+- 要查看用户列表,请查询视图[PG\_USER](PG_USER.md):
```
postgres=# SELECT * FROM pg_user;
@@ -37,7 +37,7 @@
对于有多个业务部门,各部门间使用不同的数据库用户进行业务操作,同时有一个同级的数据库维护部门使用数据库管理员进行维护操作的场景下,业务部门可能希望在未经授权的情况下,管理员用户只能对各部门的数据进行控制操作(DROP、ALTER、TRUNCATE),但是不能进行访问操作(INSERT、DELETE、UPDATE、SELECT、COPY)。即针对管理员用户,表对象的控制权和访问权要能够分离,提高普通用户数据安全性。
-[三权分立](三权分立.md#ZH-CN_TOPIC_0246507960)情况下,管理员对其他用户放在属于各自模式下的表无权限。但是,这种无权限包含了无控制权限,因此不能满足上面的诉求。为此,openGauss提供了私有用户方案。即在非三权分立模式下,创建具有INDEPENDENT属性的私有用户。
+[三权分立](三权分立.md)情况下,管理员对其他用户放在属于各自模式下的表无权限。但是,这种无权限包含了无控制权限,因此不能满足上面的诉求。为此,openGauss提供了私有用户方案。即在非三权分立模式下,创建具有INDEPENDENT属性的私有用户。
```
postgres=# CREATE USER user_independent WITH INDEPENDENT IDENTIFIED BY "1234@abc";
diff --git "a/content/zh/docs/Developerguide/\347\224\250\346\210\267\350\207\252\345\256\232\344\271\211\345\207\275\346\225\260.md" "b/content/zh/docs/Developerguide/\347\224\250\346\210\267\350\207\252\345\256\232\344\271\211\345\207\275\346\225\260.md"
new file mode 100644
index 0000000000000000000000000000000000000000..4a8a0c5cf7a6870409e0d4c25424b95a02476df6
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\224\250\346\210\267\350\207\252\345\256\232\344\271\211\345\207\275\346\225\260.md"
@@ -0,0 +1,5 @@
+# 用户自定义函数
+
+- **[PL/pgSQL语言函数](PL-pgSQL语言函数.md)**
+
+
diff --git "a/content/zh/docs/Developerguide/\347\233\270\345\205\263\346\246\202\345\277\265.md" "b/content/zh/docs/Developerguide/\347\233\270\345\205\263\346\246\202\345\277\265.md"
index b6d5c04c32b51d9bf54ef44ca7be41df8c33e610..ad860fb45c8811fd6f895ef768f902abf4fcc429 100644
--- "a/content/zh/docs/Developerguide/\347\233\270\345\205\263\346\246\202\345\277\265.md"
+++ "b/content/zh/docs/Developerguide/\347\233\270\345\205\263\346\246\202\345\277\265.md"
@@ -18,5 +18,5 @@ openGauss使用用户和角色来控制对数据库的访问。根据角色自
## 事务管理
-在事务管理上,openGauss采取了MVCC(多版本并发控制)结合两阶段锁的方式,其特点是读写之间不阻塞。openGauss的MVCC没有将历史版本数据统一存放,而是和当前元组的版本放在了一起。openGauss没有回滚段的概念,但是为了定期清除历史版本数据openGauss引入了一个VACUUM线程。一般情况下用户不用关注它,除非要做性能调优。此外,openGauss是自动提交事务。
+在事务管理上,openGauss采取了MVCC(多版本并发控制)结合两阶段锁的方式,其特点是读写之间不阻塞。openGauss统一存放,而是和当前元组的版本放在了一起。openGauss期清除历史版本数据openGauss引入了一个VACUUM线程。一般情况下用户不用关注它,除非要做性能调优。此外,openGauss是自动提交事务。
diff --git "a/content/zh/docs/Developerguide/\347\241\254\344\273\266\347\223\266\351\242\210\347\202\271\345\210\206\346\236\220.md" "b/content/zh/docs/Developerguide/\347\241\254\344\273\266\347\223\266\351\242\210\347\202\271\345\210\206\346\236\220.md"
new file mode 100644
index 0000000000000000000000000000000000000000..e16f102c855e22532bb2c8b8a9d21ca0ab72e034
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\241\254\344\273\266\347\223\266\351\242\210\347\202\271\345\210\206\346\236\220.md"
@@ -0,0 +1,13 @@
+# 硬件瓶颈点分析
+
+获取openGauss节点的CPU、内存、I/O和网络资源使用情况,确认这些资源是否已被充分利用,是否存在瓶颈点。
+
+- **[CPU](CPU.md)**
+通过top命令查看openGauss内节点CPU使用情况,分析是否存在由于CPU负载过高导致的性能瓶颈。
+- **[内存](内存.md)**
+通过top命令查看openGauss节点内存使用情况,分析是否存在由于内存占用率过高导致的性能瓶颈。
+- **[I/O](I-O.md)**
+通过iostat、pidstat命令或openGauss健康检查工具查看openGauss内节点I/O繁忙度和吞吐量,分析是否存在由于I/O导致的性能瓶颈。
+- **[网络](网络.md)**
+通过sar或ifconfig命令查看openGauss内节点网络使用情况,分析是否存在由于网络导致的性能瓶颈。
+
diff --git "a/content/zh/docs/Developerguide/\347\241\256\345\256\232\346\200\247\350\203\275\350\260\203\344\274\230\350\214\203\345\233\264.md" "b/content/zh/docs/Developerguide/\347\241\256\345\256\232\346\200\247\350\203\275\350\260\203\344\274\230\350\214\203\345\233\264.md"
new file mode 100644
index 0000000000000000000000000000000000000000..fd1b7e1d26cb7e96d13af1bf28b06fc62ae27b09
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\241\256\345\256\232\346\200\247\350\203\275\350\260\203\344\274\230\350\214\203\345\233\264.md"
@@ -0,0 +1,46 @@
+# 确定性能调优范围
+
+数据库性能调优通常发生在用户对业务的执行效率不满意,期望通过调优加快业务执行的情况下。正如“[性能因素](#zh-cn_topic_0237121484_zh-cn_topic_0073259659_zh-cn_topic_0040046511_section218827915473)”小节所述,数据库性能受影响因素多,从而性能调优是一项复杂的工程,有些时候无法系统性地说明和解释,而是依赖于DBA的经验判断。尽管如此,此处还是期望能尽量系统性的对性能调优方法加以说明,方便应用开发人员和刚接触openGauss的DBA参考。
+
+## 性能因素
+
+多个性能因素会影响数据库性能,了解这些因素可以帮助定位和分析性能问题。
+
+- 系统资源
+
+ 数据库性能在很大程度上依赖于磁盘的I/O和内存使用情况。为了准确设置性能指标,用户需要了解openGauss部署硬件的基本性能。CPU,硬盘,磁盘控制器,内存和网络接口等这些硬件性能将显著影响数据库的运行速度。
+
+- 负载
+
+ 负载等于数据库系统的需求总量,它会随着时间变化。总体负载包含用户查询,应用程序,并行作业,事务以及数据库随时传递的系统命令。比如:多用户在执行多个查询时会提高负载。负载会显著地影响数据库的性能。了解工作负载高峰期可以帮助用户更合理地利用系统资源,更有效地完成系统任务。
+
+- 吞吐量
+
+ 使用系统的吞吐量来定义处理数据的整体能力。数据库的吞吐量以每秒的查询次数、每秒的处理事务数量或平均响应时间来测量。数据库的处理能力与底层系统(磁盘I/O,CPU速度,存储器带宽等)有密切的关系,所以当设置数据库吞吐量目标时,需要提前了解硬件的性能。
+
+- 竞争
+
+ 竞争是指两组或多组负载组件尝试使用冲突的方式使用系统的情况。比如,多条查询视图同一时间更新相同的数据,或者多个大量的负载争夺系统资源。随着竞争的增加,吞吐量下降。
+
+- 优化
+
+ 数据库优化可以影响到整个系统的性能。在执行SQL制定、数据库配置参数、表设计、数据分布等操作时,启用数据库查询优化器打造最有效的执行计划。
+
+
+## 调优范围确定
+
+性能调优主要通过查看openGauss节点的CPU、内存、I/O和网络这些硬件资源的使用情况,确认这些资源是否已被充分利用,是否存在瓶颈点,然后针对性调优。
+
+- 如果某个资源已达瓶颈,则:
+ 1. 检查关键的操作系统参数和数据库参数是否合理设置,进行[系统调优指南](系统调优指南.md)。
+ 2. 通过查询最耗时的SQL语句、跑不出来的SQL语句,找出耗资源的SQL,进行[SQL调优指南](SQL调优指南.md)。
+
+- 如果所有资源均未达瓶颈,则表明性能仍有提升潜力。可以查询最耗时的SQL语句,或者跑不出来的SQL语句,进行针对性的[SQL调优指南](SQL调优指南.md)。
+
+- **[硬件瓶颈点分析](硬件瓶颈点分析.md)**
+获取openGauss节点的CPU、内存、I/O和网络资源使用情况,确认这些资源是否已被充分利用,是否存在瓶颈点。
+- **[查询最耗性能的SQL](查询最耗性能的SQL.md)**
+
+- **[分析作业是否被阻塞](分析作业是否被阻塞.md)**
+
+
diff --git "a/content/zh/docs/Developerguide/\347\244\272\344\276\213-2.md" "b/content/zh/docs/Developerguide/\347\244\272\344\276\213-2.md"
new file mode 100644
index 0000000000000000000000000000000000000000..13413d1f0a2b361c23388dba0ab4fe13c339153f
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\244\272\344\276\213-2.md"
@@ -0,0 +1,339 @@
+# 示例
+
+## 常用功能示例代码
+
+```
+// 此示例演示如何通过ODBC方式获取openGauss中的数据。
+// DBtest.c (compile with: libodbc.so)
+#include
+#include
+#include
+#ifdef WIN32
+#include
+#endif
+SQLHENV V_OD_Env; // Handle ODBC environment
+SQLHSTMT V_OD_hstmt; // Handle statement
+SQLHDBC V_OD_hdbc; // Handle connection
+char typename[100];
+SQLINTEGER value = 100;
+SQLINTEGER V_OD_erg,V_OD_buffer,V_OD_err,V_OD_id;
+int main(int argc,char *argv[])
+{
+ // 1. 申请环境句柄
+ V_OD_erg = SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&V_OD_Env);
+ if ((V_OD_erg != SQL_SUCCESS) && (V_OD_erg != SQL_SUCCESS_WITH_INFO))
+ {
+ printf("Error AllocHandle\n");
+ exit(0);
+ }
+ // 2. 设置环境属性(版本信息)
+ SQLSetEnvAttr(V_OD_Env, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
+ // 3. 申请连接句柄
+ V_OD_erg = SQLAllocHandle(SQL_HANDLE_DBC, V_OD_Env, &V_OD_hdbc);
+ if ((V_OD_erg != SQL_SUCCESS) && (V_OD_erg != SQL_SUCCESS_WITH_INFO))
+ {
+ SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env);
+ exit(0);
+ }
+ // 4. 设置连接属性
+ SQLSetConnectAttr(V_OD_hdbc, SQL_ATTR_AUTOCOMMIT, SQL_AUTOCOMMIT_ON, 0);
+ // 5. 连接数据源,这里的“userName”与“password”分别表示连接数据库的用户名和用户密码,请根据实际情况修改。
+ // 如果odbc.ini文件中已经配置了用户名密码,那么这里可以留空("");但是不建议这么做,因为一旦odbc.ini权限管理不善,将导致数据库用户密码泄露。
+ V_OD_erg = SQLConnect(V_OD_hdbc, (SQLCHAR*) "gaussdb", SQL_NTS,
+ (SQLCHAR*) "userName", SQL_NTS, (SQLCHAR*) "password", SQL_NTS);
+ if ((V_OD_erg != SQL_SUCCESS) && (V_OD_erg != SQL_SUCCESS_WITH_INFO))
+ {
+ printf("Error SQLConnect %d\n",V_OD_erg);
+ SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env);
+ exit(0);
+ }
+ printf("Connected !\n");
+ // 6. 设置语句属性
+ SQLSetStmtAttr(V_OD_hstmt,SQL_ATTR_QUERY_TIMEOUT,(SQLPOINTER *)3,0);
+ // 7. 申请语句句柄
+ SQLAllocHandle(SQL_HANDLE_STMT, V_OD_hdbc, &V_OD_hstmt);
+ // 8. 直接执行SQL语句。
+ SQLExecDirect(V_OD_hstmt,"drop table IF EXISTS customer_t1",SQL_NTS);
+ SQLExecDirect(V_OD_hstmt,"CREATE TABLE customer_t1(c_customer_sk INTEGER, c_customer_name VARCHAR(32));",SQL_NTS);
+ SQLExecDirect(V_OD_hstmt,"insert into customer_t1 values(25,li)",SQL_NTS);
+ // 9. 准备执行
+ SQLPrepare(V_OD_hstmt,"insert into customer_t1 values(?)",SQL_NTS);
+ // 10. 绑定参数
+ SQLBindParameter(V_OD_hstmt,1,SQL_PARAM_INPUT,SQL_C_SLONG,SQL_INTEGER,0,0,
+ &value,0,NULL);
+ // 11. 执行准备好的语句
+ SQLExecute(V_OD_hstmt);
+ SQLExecDirect(V_OD_hstmt,"select id from testtable",SQL_NTS);
+ // 12. 获取结果集某一列的属性
+ SQLColAttribute(V_OD_hstmt,1,SQL_DESC_TYPE,typename,100,NULL,NULL);
+ printf("SQLColAtrribute %s\n",typename);
+ // 13. 绑定结果集
+ SQLBindCol(V_OD_hstmt,1,SQL_C_SLONG, (SQLPOINTER)&V_OD_buffer,150,
+ (SQLLEN *)&V_OD_err);
+ // 14. 通过SQLFetch取结果集中数据
+ V_OD_erg=SQLFetch(V_OD_hstmt);
+ // 15. 通过SQLGetData获取并返回数据。
+ while(V_OD_erg != SQL_NO_DATA)
+ {
+ SQLGetData(V_OD_hstmt,1,SQL_C_SLONG,(SQLPOINTER)&V_OD_id,0,NULL);
+ printf("SQLGetData ----ID = %d\n",V_OD_id);
+ V_OD_erg=SQLFetch(V_OD_hstmt);
+ };
+ printf("Done !\n");
+ // 16. 断开数据源连接并释放句柄资源
+ SQLFreeHandle(SQL_HANDLE_STMT,V_OD_hstmt);
+ SQLDisconnect(V_OD_hdbc);
+ SQLFreeHandle(SQL_HANDLE_DBC,V_OD_hdbc);
+ SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env);
+ return(0);
+ }
+```
+
+## 批量绑定示例代码
+
+```
+/**********************************************************************
+* 请在数据源中打开UseBatchProtocol,同时指定数据库中参数support_batch_bind
+* 为on
+* CHECK_ERROR的作用是检查并打印错误信息。
+* 此示例将与用户交互式获取DSN、模拟的数据量,忽略的数据量,并将最终数据入库到test_odbc_batch_insert中
+***********************************************************************/
+#include
+#include
+#include
+#include
+#include
+
+#include "util.c"
+
+void Exec(SQLHDBC hdbc, SQLCHAR* sql)
+{
+ SQLRETURN retcode; // Return status
+ SQLHSTMT hstmt = SQL_NULL_HSTMT; // Statement handle
+ SQLCHAR loginfo[2048];
+
+ // Allocate Statement Handle
+ retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
+ CHECK_ERROR(retcode, "SQLAllocHandle(SQL_HANDLE_STMT)",
+ hstmt, SQL_HANDLE_STMT);
+
+ // Prepare Statement
+ retcode = SQLPrepare(hstmt, (SQLCHAR*) sql, SQL_NTS);
+ sprintf((char*)loginfo, "SQLPrepare log: %s", (char*)sql);
+ CHECK_ERROR(retcode, loginfo, hstmt, SQL_HANDLE_STMT);
+
+ // Execute Statement
+ retcode = SQLExecute(hstmt);
+ sprintf((char*)loginfo, "SQLExecute stmt log: %s", (char*)sql);
+ CHECK_ERROR(retcode, loginfo, hstmt, SQL_HANDLE_STMT);
+
+ // Free Handle
+ retcode = SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
+ sprintf((char*)loginfo, "SQLFreeHandle stmt log: %s", (char*)sql);
+ CHECK_ERROR(retcode, loginfo, hstmt, SQL_HANDLE_STMT);
+}
+
+int main ()
+{
+ SQLHENV henv = SQL_NULL_HENV;
+ SQLHDBC hdbc = SQL_NULL_HDBC;
+ int batchCount = 1000;
+ SQLLEN rowsCount = 0;
+ int ignoreCount = 0;
+
+ SQLRETURN retcode;
+ SQLCHAR dsn[1024] = {'\0'};
+ SQLCHAR loginfo[2048];
+
+ // 交互获取数据源名称
+ getStr("Please input your DSN", (char*)dsn, sizeof(dsn), 'N');
+ // 交互获取批量绑定的数据量
+ getInt("batchCount", &batchCount, 'N', 1);
+ do
+ {
+ // 交互获取批量绑定的数据中,不要入库的数据量
+ getInt("ignoreCount", &ignoreCount, 'N', 1);
+ if (ignoreCount > batchCount)
+ {
+ printf("ignoreCount(%d) should be less than batchCount(%d)\n", ignoreCount, batchCount);
+ }
+ }while(ignoreCount > batchCount);
+
+ retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
+ CHECK_ERROR(retcode, "SQLAllocHandle(SQL_HANDLE_ENV)",
+ henv, SQL_HANDLE_ENV);
+
+ // Set ODBC Verion
+ retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION,
+ (SQLPOINTER*)SQL_OV_ODBC3, 0);
+ CHECK_ERROR(retcode, "SQLSetEnvAttr(SQL_ATTR_ODBC_VERSION)",
+ henv, SQL_HANDLE_ENV);
+
+ // Allocate Connection
+ retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
+ CHECK_ERROR(retcode, "SQLAllocHandle(SQL_HANDLE_DBC)",
+ henv, SQL_HANDLE_DBC);
+
+ // Set Login Timeout
+ retcode = SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)5, 0);
+ CHECK_ERROR(retcode, "SQLSetConnectAttr(SQL_LOGIN_TIMEOUT)",
+ hdbc, SQL_HANDLE_DBC);
+
+ // Set Auto Commit
+ retcode = SQLSetConnectAttr(hdbc, SQL_ATTR_AUTOCOMMIT,
+ (SQLPOINTER)(1), 0);
+ CHECK_ERROR(retcode, "SQLSetConnectAttr(SQL_ATTR_AUTOCOMMIT)",
+ hdbc, SQL_HANDLE_DBC);
+
+ // Connect to DSN
+ sprintf(loginfo, "SQLConnect(DSN:%s)", dsn);
+ retcode = SQLConnect(hdbc, (SQLCHAR*) dsn, SQL_NTS,
+ (SQLCHAR*) NULL, 0, NULL, 0);
+ CHECK_ERROR(retcode, loginfo, hdbc, SQL_HANDLE_DBC);
+
+ // init table info.
+ Exec(hdbc, "drop table if exists test_odbc_batch_insert");
+ Exec(hdbc, "create table test_odbc_batch_insert(id int primary key, col varchar2(50))");
+
+ // 下面的代码根据用户输入的数据量,构造出将要入库的数据:
+ {
+ SQLRETURN retcode;
+ SQLHSTMT hstmtinesrt = SQL_NULL_HSTMT;
+ int i;
+ SQLCHAR *sql = NULL;
+ SQLINTEGER *ids = NULL;
+ SQLCHAR *cols = NULL;
+ SQLLEN *bufLenIds = NULL;
+ SQLLEN *bufLenCols = NULL;
+ SQLUSMALLINT *operptr = NULL;
+ SQLUSMALLINT *statusptr = NULL;
+ SQLULEN process = 0;
+
+ // 这里是按列构造,每个字段的内存连续存放在一起。
+ ids = (SQLINTEGER*)malloc(sizeof(ids[0]) * batchCount);
+ cols = (SQLCHAR*)malloc(sizeof(cols[0]) * batchCount * 50);
+ // 这里是每个字段中,每一行数据的内存长度。
+ bufLenIds = (SQLLEN*)malloc(sizeof(bufLenIds[0]) * batchCount);
+ bufLenCols = (SQLLEN*)malloc(sizeof(bufLenCols[0]) * batchCount);
+ // 该行是否需要被处理,SQL_PARAM_IGNORE 或 SQL_PARAM_PROCEED
+ operptr = (SQLUSMALLINT*)malloc(sizeof(operptr[0]) * batchCount);
+ memset(operptr, 0, sizeof(operptr[0]) * batchCount);
+ // 该行的处理结果。
+ // 注:由于数据库中处理方式是同一语句隶属同一事务中,所以如果出错,那么待处理数据都将是出错的,并不会部分入库。
+ statusptr = (SQLUSMALLINT*)malloc(sizeof(statusptr[0]) * batchCount);
+ memset(statusptr, 88, sizeof(statusptr[0]) * batchCount);
+
+ if (NULL == ids || NULL == cols || NULL == bufLenCols || NULL == bufLenIds)
+ {
+ fprintf(stderr, "FAILED:\tmalloc data memory failed\n");
+ goto exit;
+ }
+
+ for (int i = 0; i < batchCount; i++)
+ {
+ ids[i] = i;
+ sprintf(cols + 50 * i, "column test value %d", i);
+ bufLenIds[i] = sizeof(ids[i]);
+ bufLenCols[i] = strlen(cols + 50 * i);
+ operptr[i] = (i < ignoreCount) ? SQL_PARAM_IGNORE : SQL_PARAM_PROCEED;
+ }
+
+ // Allocate Statement Handle
+ retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmtinesrt);
+ CHECK_ERROR(retcode, "SQLAllocHandle(SQL_HANDLE_STMT)",
+ hstmtinesrt, SQL_HANDLE_STMT);
+
+ // Prepare Statement
+ sql = (SQLCHAR*)"insert into test_odbc_batch_insert values(?, ?)";
+ retcode = SQLPrepare(hstmtinesrt, (SQLCHAR*) sql, SQL_NTS);
+ sprintf((char*)loginfo, "SQLPrepare log: %s", (char*)sql);
+ CHECK_ERROR(retcode, loginfo, hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLSetStmtAttr(hstmtinesrt, SQL_ATTR_PARAMSET_SIZE, (SQLPOINTER)batchCount, sizeof(batchCount));
+ CHECK_ERROR(retcode, "SQLSetStmtAttr", hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLBindParameter(hstmtinesrt, 1, SQL_PARAM_INPUT, SQL_C_SLONG, SQL_INTEGER, sizeof(ids[0]), 0,&(ids[0]), 0, bufLenIds);
+ CHECK_ERROR(retcode, "SQLBindParameter for id", hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLBindParameter(hstmtinesrt, 2, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, 50, 50, cols, 50, bufLenCols);
+ CHECK_ERROR(retcode, "SQLBindParameter for cols", hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLSetStmtAttr(hstmtinesrt, SQL_ATTR_PARAMS_PROCESSED_PTR, (SQLPOINTER)&process, sizeof(process));
+ CHECK_ERROR(retcode, "SQLSetStmtAttr for SQL_ATTR_PARAMS_PROCESSED_PTR", hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLSetStmtAttr(hstmtinesrt, SQL_ATTR_PARAM_STATUS_PTR, (SQLPOINTER)statusptr, sizeof(statusptr[0]) * batchCount);
+ CHECK_ERROR(retcode, "SQLSetStmtAttr for SQL_ATTR_PARAM_STATUS_PTR", hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLSetStmtAttr(hstmtinesrt, SQL_ATTR_PARAM_OPERATION_PTR, (SQLPOINTER)operptr, sizeof(operptr[0]) * batchCount);
+ CHECK_ERROR(retcode, "SQLSetStmtAttr for SQL_ATTR_PARAM_OPERATION_PTR", hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLExecute(hstmtinesrt);
+ sprintf((char*)loginfo, "SQLExecute stmt log: %s", (char*)sql);
+ CHECK_ERROR(retcode, loginfo, hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLRowCount(hstmtinesrt, &rowsCount);
+ CHECK_ERROR(retcode, "SQLRowCount execution", hstmtinesrt, SQL_HANDLE_STMT);
+
+ if (rowsCount != (batchCount - ignoreCount))
+ {
+ sprintf(loginfo, "(batchCount - ignoreCount)(%d) != rowsCount(%d)", (batchCount - ignoreCount), rowsCount);
+ CHECK_ERROR(SQL_ERROR, loginfo, NULL, SQL_HANDLE_STMT);
+ }
+ else
+ {
+ sprintf(loginfo, "(batchCount - ignoreCount)(%d) == rowsCount(%d)", (batchCount - ignoreCount), rowsCount);
+ CHECK_ERROR(SQL_SUCCESS, loginfo, NULL, SQL_HANDLE_STMT);
+ }
+
+ // check row number returned
+ if (rowsCount != process)
+ {
+ sprintf(loginfo, "process(%d) != rowsCount(%d)", process, rowsCount);
+ CHECK_ERROR(SQL_ERROR, loginfo, NULL, SQL_HANDLE_STMT);
+ }
+ else
+ {
+ sprintf(loginfo, "process(%d) == rowsCount(%d)", process, rowsCount);
+ CHECK_ERROR(SQL_SUCCESS, loginfo, NULL, SQL_HANDLE_STMT);
+ }
+
+ for (int i = 0; i < batchCount; i++)
+ {
+ if (i < ignoreCount)
+ {
+ if (statusptr[i] != SQL_PARAM_UNUSED)
+ {
+ sprintf(loginfo, "statusptr[%d](%d) != SQL_PARAM_UNUSED", i, statusptr[i]);
+ CHECK_ERROR(SQL_ERROR, loginfo, NULL, SQL_HANDLE_STMT);
+ }
+ }
+ else if (statusptr[i] != SQL_PARAM_SUCCESS)
+ {
+ sprintf(loginfo, "statusptr[%d](%d) != SQL_PARAM_SUCCESS", i, statusptr[i]);
+ CHECK_ERROR(SQL_ERROR, loginfo, NULL, SQL_HANDLE_STMT);
+ }
+ }
+
+ retcode = SQLFreeHandle(SQL_HANDLE_STMT, hstmtinesrt);
+ sprintf((char*)loginfo, "SQLFreeHandle hstmtinesrt");
+ CHECK_ERROR(retcode, loginfo, hstmtinesrt, SQL_HANDLE_STMT);
+ }
+
+
+exit:
+ printf ("\nComplete.\n");
+
+ // Connection
+ if (hdbc != SQL_NULL_HDBC) {
+ SQLDisconnect(hdbc);
+ SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
+ }
+
+ // Environment
+ if (henv != SQL_NULL_HENV)
+ SQLFreeHandle(SQL_HANDLE_ENV, henv);
+
+ return 0;
+}
+```
+
diff --git "a/content/zh/docs/Developerguide/\347\244\272\344\276\213-3.md" "b/content/zh/docs/Developerguide/\347\244\272\344\276\213-3.md"
new file mode 100644
index 0000000000000000000000000000000000000000..3d185d7384c14d0d93c4a09d3a336844af9cd152
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\244\272\344\276\213-3.md"
@@ -0,0 +1,446 @@
+# 示例
+
+## 常用功能示例代码1
+
+```
+// 此示例演示如何通过ODBC方式获取openGauss中的数据。
+// DBtest.c (compile with: libodbc.so)
+#include
+#include
+#include
+#ifdef WIN32
+#include
+#endif
+SQLHENV V_OD_Env; // Handle ODBC environment
+SQLHSTMT V_OD_hstmt; // Handle statement
+SQLHDBC V_OD_hdbc; // Handle connection
+char typename[100];
+SQLINTEGER value = 100;
+SQLINTEGER V_OD_erg,V_OD_buffer,V_OD_err,V_OD_id;
+int main(int argc,char *argv[])
+{
+ // 1. 申请环境句柄
+ V_OD_erg = SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&V_OD_Env);
+ if ((V_OD_erg != SQL_SUCCESS) && (V_OD_erg != SQL_SUCCESS_WITH_INFO))
+ {
+ printf("Error AllocHandle\n");
+ exit(0);
+ }
+ // 2. 设置环境属性(版本信息)
+ SQLSetEnvAttr(V_OD_Env, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
+ // 3. 申请连接句柄
+ V_OD_erg = SQLAllocHandle(SQL_HANDLE_DBC, V_OD_Env, &V_OD_hdbc);
+ if ((V_OD_erg != SQL_SUCCESS) && (V_OD_erg != SQL_SUCCESS_WITH_INFO))
+ {
+ SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env);
+ exit(0);
+ }
+ // 4. 设置连接属性
+ SQLSetConnectAttr(V_OD_hdbc, SQL_ATTR_AUTOCOMMIT, SQL_AUTOCOMMIT_ON, 0);
+ // 5. 连接数据源,这里的“userName”与“password”分别表示连接数据库的用户名和用户密码,请根据实际情况修改。
+ // 如果odbc.ini文件中已经配置了用户名密码,那么这里可以留空("");但是不建议这么做,因为一旦odbc.ini权限管理不善,将导致数据库用户密码泄露。
+ V_OD_erg = SQLConnect(V_OD_hdbc, (SQLCHAR*) "gaussdb", SQL_NTS,
+ (SQLCHAR*) "userName", SQL_NTS, (SQLCHAR*) "password", SQL_NTS);
+ if ((V_OD_erg != SQL_SUCCESS) && (V_OD_erg != SQL_SUCCESS_WITH_INFO))
+ {
+ printf("Error SQLConnect %d\n",V_OD_erg);
+ SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env);
+ exit(0);
+ }
+ printf("Connected !\n");
+ // 6. 设置语句属性
+ SQLSetStmtAttr(V_OD_hstmt,SQL_ATTR_QUERY_TIMEOUT,(SQLPOINTER *)3,0);
+ // 7. 申请语句句柄
+ SQLAllocHandle(SQL_HANDLE_STMT, V_OD_hdbc, &V_OD_hstmt);
+ // 8. 直接执行SQL语句。
+ SQLExecDirect(V_OD_hstmt,"drop table IF EXISTS customer_t1",SQL_NTS);
+ SQLExecDirect(V_OD_hstmt,"CREATE TABLE customer_t1(c_customer_sk INTEGER, c_customer_name VARCHAR(32));",SQL_NTS);
+ SQLExecDirect(V_OD_hstmt,"insert into customer_t1 values(25,li)",SQL_NTS);
+ // 9. 准备执行
+ SQLPrepare(V_OD_hstmt,"insert into customer_t1 values(?)",SQL_NTS);
+ // 10. 绑定参数
+ SQLBindParameter(V_OD_hstmt,1,SQL_PARAM_INPUT,SQL_C_SLONG,SQL_INTEGER,0,0,
+ &value,0,NULL);
+ // 11. 执行准备好的语句
+ SQLExecute(V_OD_hstmt);
+ SQLExecDirect(V_OD_hstmt,"select id from testtable",SQL_NTS);
+ // 12. 获取结果集某一列的属性
+ SQLColAttribute(V_OD_hstmt,1,SQL_DESC_TYPE,typename,100,NULL,NULL);
+ printf("SQLColAtrribute %s\n",typename);
+ // 13. 绑定结果集
+ SQLBindCol(V_OD_hstmt,1,SQL_C_SLONG, (SQLPOINTER)&V_OD_buffer,150,
+ (SQLLEN *)&V_OD_err);
+ // 14. 通过SQLFetch取结果集中数据
+ V_OD_erg=SQLFetch(V_OD_hstmt);
+ // 15. 通过SQLGetData获取并返回数据。
+ while(V_OD_erg != SQL_NO_DATA)
+ {
+ SQLGetData(V_OD_hstmt,1,SQL_C_SLONG,(SQLPOINTER)&V_OD_id,0,NULL);
+ printf("SQLGetData ----ID = %d\n",V_OD_id);
+ V_OD_erg=SQLFetch(V_OD_hstmt);
+ };
+ printf("Done !\n");
+ // 16. 断开数据源连接并释放句柄资源
+ SQLFreeHandle(SQL_HANDLE_STMT,V_OD_hstmt);
+ SQLDisconnect(V_OD_hdbc);
+ SQLFreeHandle(SQL_HANDLE_DBC,V_OD_hdbc);
+ SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env);
+ return(0);
+ }
+```
+
+## 常用功能示例代码2
+
+```
+#include
+#include
+#include
+
+static void exit_nicely(PGconn *conn)
+{
+ PQfinish(conn);
+ exit(1);
+}
+
+int main(int argc, char **argv)
+{
+ const char *conninfo;
+ PGconn *conn;
+ PGresult *res;
+ int nFields;
+ int i,j;
+
+ /*
+ * 如果用户在命令行上提供了一个参数,将它用作连接信息串。
+ * 否则默认用设置 dbname=postgres 并且为所有其他链接参数使用环境变量或默认值。
+ */
+ if (argc > 1)
+ conninfo = argv[1];
+ else
+ conninfo = "dbname = postgres";
+
+ /* 建立到数据库的一个连接 */
+ conn = PQconnectdb(conninfo);
+
+ /* 检查看后端连接是否成功建立 */
+ if (PQstatus(conn) != CONNECTION_OK)
+ {
+ fprintf(stderr, "Connection to database failed: %s",
+ PQerrorMessage(conn));
+ exit_nicely(conn);
+ }
+
+ /*
+ * 我们的测试案例这里涉及使用一个游标,对它我们必须用在一个事务块内。
+ * 我们可以在一个单一的 "select * from pg_database" 的 PQexec() 中做整个事情,
+ * 但是作为一个好的例子它太琐碎。
+ */
+
+ /* 开始一个事务块 */
+ res = PQexec(conn, "BEGIN");
+ if (PQresultStatus(res) != PGRES_COMMAND_OK)
+ {
+ fprintf(stderr, "BEGIN command failed: %s", PQerrorMessage(conn));
+ PQclear(res);
+ exit_nicely(conn);
+ }
+
+ /* 任何时候不再需要 PGresult 时,应该 PQclear 它来避免内存泄露 */
+ PQclear(res);
+
+ /* 从 pg_database 取得行,它是数据库的系统目录 */
+ res = PQexec(conn, "DECLARE myportal CURSOR FOR select * from pg_database");
+ if (PQresultStatus(res) != PGRES_COMMAND_OK)
+ {
+ fprintf(stderr, "DECLARE CURSOR failed: %s", PQerrorMessage(conn));
+ PQclear(res);
+ exit_nicely(conn);
+ }
+ PQclear(res);
+
+ res = PQexec(conn, "FETCH ALL in myportal");
+ if (PQresultStatus(res) != PGRES_TUPLES_OK)
+ {
+ fprintf(stderr, "FETCH ALL failed: %s", PQerrorMessage(conn));
+ PQclear(res);
+ exit_nicely(conn);
+ }
+
+ /* 首先,打印出属性名 */
+ nFields = PQnfields(res);
+ for (i = 0; i < nFields; i++)
+ printf("%-15s", PQfname(res, i));
+ printf("\n\n");
+
+ /* 接下来,打印出行 */
+ for (i = 0; i < PQntuples(res); i++)
+ {
+ for (j = 0; j < nFields; j++)
+ printf("%-15s", PQgetvalue(res, i, j));
+ printf("\n");
+ }
+
+ PQclear(res);
+
+ /* 关闭入口,我们不需要考虑检查错误 */
+ res = PQexec(conn, "CLOSE myportal");
+ PQclear(res);
+
+ /* 结束事务 */
+ res = PQexec(conn, "END");
+ PQclear(res);
+
+ /* 关闭到数据库的连接并且清理 */
+ PQfinish(conn);
+
+ return 0;
+}
+```
+
+## 批量绑定示例代码
+
+```
+/**********************************************************************
+* 请在数据源中打开UseBatchProtocol,同时指定数据库中参数support_batch_bind
+* 为on
+* CHECK_ERROR的作用是检查并打印错误信息。
+* 此示例将与用户交互式获取DSN、模拟的数据量,忽略的数据量,并将最终数据入库到test_odbc_batch_insert中
+***********************************************************************/
+#include
+#include
+#include
+#include
+#include
+
+#include "util.c"
+
+void Exec(SQLHDBC hdbc, SQLCHAR* sql)
+{
+ SQLRETURN retcode; // Return status
+ SQLHSTMT hstmt = SQL_NULL_HSTMT; // Statement handle
+ SQLCHAR loginfo[2048];
+
+ // Allocate Statement Handle
+ retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
+ CHECK_ERROR(retcode, "SQLAllocHandle(SQL_HANDLE_STMT)",
+ hstmt, SQL_HANDLE_STMT);
+
+ // Prepare Statement
+ retcode = SQLPrepare(hstmt, (SQLCHAR*) sql, SQL_NTS);
+ sprintf((char*)loginfo, "SQLPrepare log: %s", (char*)sql);
+ CHECK_ERROR(retcode, loginfo, hstmt, SQL_HANDLE_STMT);
+
+ // Execute Statement
+ retcode = SQLExecute(hstmt);
+ sprintf((char*)loginfo, "SQLExecute stmt log: %s", (char*)sql);
+ CHECK_ERROR(retcode, loginfo, hstmt, SQL_HANDLE_STMT);
+
+ // Free Handle
+retcode = SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
+ sprintf((char*)loginfo, "SQLFreeHandle stmt log: %s", (char*)sql);
+ CHECK_ERROR(retcode, loginfo, hstmt, SQL_HANDLE_STMT);
+}
+
+int main ()
+{
+ SQLHENV henv = SQL_NULL_HENV;
+ SQLHDBC hdbc = SQL_NULL_HDBC;
+ int batchCount = 1000;
+ SQLLEN rowsCount = 0;
+ int ignoreCount = 0;
+
+ SQLRETURN retcode;
+ SQLCHAR dsn[1024] = {'\0'};
+ SQLCHAR loginfo[2048];
+
+ // 交互获取数据源名称
+ getStr("Please input your DSN", (char*)dsn, sizeof(dsn), 'N');
+ // 交互获取批量绑定的数据量
+ getInt("batchCount", &batchCount, 'N', 1);
+ do
+ {
+ // 交互获取批量绑定的数据中,不要入库的数据量
+ getInt("ignoreCount", &ignoreCount, 'N', 1);
+ if (ignoreCount > batchCount)
+ {
+ printf("ignoreCount(%d) should be less than batchCount(%d)\n", ignoreCount, batchCount);
+ }
+ }while(ignoreCount > batchCount);
+
+ retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
+ CHECK_ERROR(retcode, "SQLAllocHandle(SQL_HANDLE_ENV)",
+ henv, SQL_HANDLE_ENV);
+
+ // Set ODBC Verion
+ retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION,
+ (SQLPOINTER*)SQL_OV_ODBC3, 0);
+ CHECK_ERROR(retcode, "SQLSetEnvAttr(SQL_ATTR_ODBC_VERSION)",
+ henv, SQL_HANDLE_ENV);
+
+ // Allocate Connection
+ retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
+ CHECK_ERROR(retcode, "SQLAllocHandle(SQL_HANDLE_DBC)",
+ henv, SQL_HANDLE_DBC);
+
+ // Set Login Timeout
+ retcode = SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)5, 0);
+ CHECK_ERROR(retcode, "SQLSetConnectAttr(SQL_LOGIN_TIMEOUT)",
+ hdbc, SQL_HANDLE_DBC);
+
+ // Set Auto Commit
+ retcode = SQLSetConnectAttr(hdbc, SQL_ATTR_AUTOCOMMIT,
+ (SQLPOINTER)(1), 0);
+ CHECK_ERROR(retcode, "SQLSetConnectAttr(SQL_ATTR_AUTOCOMMIT)",
+ hdbc, SQL_HANDLE_DBC);
+
+ // Connect to DSN
+ sprintf(loginfo, "SQLConnect(DSN:%s)", dsn);
+ retcode = SQLConnect(hdbc, (SQLCHAR*) dsn, SQL_NTS,
+ (SQLCHAR*) NULL, 0, NULL, 0);
+ CHECK_ERROR(retcode, loginfo, hdbc, SQL_HANDLE_DBC);
+
+ // init table info.
+ Exec(hdbc, "drop table if exists test_odbc_batch_insert");
+ Exec(hdbc, "create table test_odbc_batch_insert(id int primary key, col varchar2(50))");
+
+ // 下面的代码根据用户输入的数据量,构造出将要入库的数据:
+ {
+ SQLRETURN retcode;
+ SQLHSTMT hstmtinesrt = SQL_NULL_HSTMT;
+ int i;
+ SQLCHAR *sql = NULL;
+ SQLINTEGER *ids = NULL;
+ SQLCHAR *cols = NULL;
+ SQLLEN *bufLenIds = NULL;
+ SQLLEN *bufLenCols = NULL;
+ SQLUSMALLINT *operptr = NULL;
+ SQLUSMALLINT *statusptr = NULL;
+ SQLULEN process = 0;
+
+ // 这里是按列构造,每个字段的内存连续存放在一起。
+ ids = (SQLINTEGER*)malloc(sizeof(ids[0]) * batchCount);
+ cols = (SQLCHAR*)malloc(sizeof(cols[0]) * batchCount * 50);
+ // 这里是每个字段中,每一行数据的内存长度。
+ bufLenIds = (SQLLEN*)malloc(sizeof(bufLenIds[0]) * batchCount);
+ bufLenCols = (SQLLEN*)malloc(sizeof(bufLenCols[0]) * batchCount);
+ // 该行是否需要被处理,SQL_PARAM_IGNORE 或 SQL_PARAM_PROCEED
+ operptr = (SQLUSMALLINT*)malloc(sizeof(operptr[0]) * batchCount);
+ memset(operptr, 0, sizeof(operptr[0]) * batchCount);
+ // 该行的处理结果。
+ // 注:由于数据库中处理方式是同一语句隶属同一事务中,所以如果出错,那么待处理数据都将是出错的,并不会部分入库。
+ statusptr = (SQLUSMALLINT*)malloc(sizeof(statusptr[0]) * batchCount);
+ memset(statusptr, 88, sizeof(statusptr[0]) * batchCount);
+
+ if (NULL == ids || NULL == cols || NULL == bufLenCols || NULL == bufLenIds)
+ {
+ fprintf(stderr, "FAILED:\tmalloc data memory failed\n");
+ goto exit;
+ }
+
+ for (int i = 0; i < batchCount; i++)
+ {
+ ids[i] = i;
+ sprintf(cols + 50 * i, "column test value %d", i);
+ bufLenIds[i] = sizeof(ids[i]);
+ bufLenCols[i] = strlen(cols + 50 * i);
+ operptr[i] = (i < ignoreCount) ? SQL_PARAM_IGNORE : SQL_PARAM_PROCEED;
+ }
+
+ // Allocate Statement Handle
+ retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmtinesrt);
+ CHECK_ERROR(retcode, "SQLAllocHandle(SQL_HANDLE_STMT)",
+ hstmtinesrt, SQL_HANDLE_STMT);
+
+ // Prepare Statement
+ sql = (SQLCHAR*)"insert into test_odbc_batch_insert values(?, ?)";
+ retcode = SQLPrepare(hstmtinesrt, (SQLCHAR*) sql, SQL_NTS);
+ sprintf((char*)loginfo, "SQLPrepare log: %s", (char*)sql);
+ CHECK_ERROR(retcode, loginfo, hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLSetStmtAttr(hstmtinesrt, SQL_ATTR_PARAMSET_SIZE, (SQLPOINTER)batchCount, sizeof(batchCount));
+ CHECK_ERROR(retcode, "SQLSetStmtAttr", hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLBindParameter(hstmtinesrt, 1, SQL_PARAM_INPUT, SQL_C_SLONG, SQL_INTEGER, sizeof(ids[0]), 0,&(ids[0]), 0, bufLenIds);
+ CHECK_ERROR(retcode, "SQLBindParameter for id", hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLBindParameter(hstmtinesrt, 2, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, 50, 50, cols, 50, bufLenCols);
+ CHECK_ERROR(retcode, "SQLBindParameter for cols", hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLSetStmtAttr(hstmtinesrt, SQL_ATTR_PARAMS_PROCESSED_PTR, (SQLPOINTER)&process, sizeof(process));
+ CHECK_ERROR(retcode, "SQLSetStmtAttr for SQL_ATTR_PARAMS_PROCESSED_PTR", hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLSetStmtAttr(hstmtinesrt, SQL_ATTR_PARAM_STATUS_PTR, (SQLPOINTER)statusptr, sizeof(statusptr[0]) * batchCount);
+ CHECK_ERROR(retcode, "SQLSetStmtAttr for SQL_ATTR_PARAM_STATUS_PTR", hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLSetStmtAttr(hstmtinesrt, SQL_ATTR_PARAM_OPERATION_PTR, (SQLPOINTER)operptr, sizeof(operptr[0]) * batchCount);
+ CHECK_ERROR(retcode, "SQLSetStmtAttr for SQL_ATTR_PARAM_OPERATION_PTR", hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLExecute(hstmtinesrt);
+ sprintf((char*)loginfo, "SQLExecute stmt log: %s", (char*)sql);
+ CHECK_ERROR(retcode, loginfo, hstmtinesrt, SQL_HANDLE_STMT);
+
+ retcode = SQLRowCount(hstmtinesrt, &rowsCount);
+ CHECK_ERROR(retcode, "SQLRowCount execution", hstmtinesrt, SQL_HANDLE_STMT);
+
+ if (rowsCount != (batchCount - ignoreCount))
+ {
+ sprintf(loginfo, "(batchCount - ignoreCount)(%d) != rowsCount(%d)", (batchCount - ignoreCount), rowsCount);
+ CHECK_ERROR(SQL_ERROR, loginfo, NULL, SQL_HANDLE_STMT);
+ }
+ else
+ {
+ sprintf(loginfo, "(batchCount - ignoreCount)(%d) == rowsCount(%d)", (batchCount - ignoreCount), rowsCount);
+ CHECK_ERROR(SQL_SUCCESS, loginfo, NULL, SQL_HANDLE_STMT);
+ }
+
+ if (rowsCount != process)
+ {
+ sprintf(loginfo, "process(%d) != rowsCount(%d)", process, rowsCount);
+ CHECK_ERROR(SQL_ERROR, loginfo, NULL, SQL_HANDLE_STMT);
+ }
+ else
+ {
+ sprintf(loginfo, "process(%d) == rowsCount(%d)", process, rowsCount);
+ CHECK_ERROR(SQL_SUCCESS, loginfo, NULL, SQL_HANDLE_STMT);
+ }
+
+ for (int i = 0; i < batchCount; i++)
+ {
+ if (i < ignoreCount)
+ {
+ if (statusptr[i] != SQL_PARAM_UNUSED)
+ {
+ sprintf(loginfo, "statusptr[%d](%d) != SQL_PARAM_UNUSED", i, statusptr[i]);
+ CHECK_ERROR(SQL_ERROR, loginfo, NULL, SQL_HANDLE_STMT);
+ }
+ }
+ else if (statusptr[i] != SQL_PARAM_SUCCESS)
+ {
+ sprintf(loginfo, "statusptr[%d](%d) != SQL_PARAM_SUCCESS", i, statusptr[i]);
+ CHECK_ERROR(SQL_ERROR, loginfo, NULL, SQL_HANDLE_STMT);
+ }
+ }
+
+ retcode = SQLFreeHandle(SQL_HANDLE_STMT, hstmtinesrt);
+ sprintf((char*)loginfo, "SQLFreeHandle hstmtinesrt");
+ CHECK_ERROR(retcode, loginfo, hstmtinesrt, SQL_HANDLE_STMT);
+ }
+
+
+exit:
+ printf ("\nComplete.\n");
+
+ // Connection
+ if (hdbc != SQL_NULL_HDBC) {
+ SQLDisconnect(hdbc);
+ SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
+ }
+
+ // Environment
+ if (henv != SQL_NULL_HENV)
+ SQLFreeHandle(SQL_HANDLE_ENV, henv);
+
+ return 0;
+}
+```
+
diff --git "a/content/zh/docs/Developerguide/\347\244\272\344\276\213-\344\273\216MY\345\220\221openGauss\350\277\233\350\241\214\346\225\260\346\215\256\350\277\201\347\247\273.md" "b/content/zh/docs/Developerguide/\347\244\272\344\276\213-\344\273\216MY\345\220\221openGauss\350\277\233\350\241\214\346\225\260\346\215\256\350\277\201\347\247\273.md"
new file mode 100644
index 0000000000000000000000000000000000000000..9e986cc2a4a7e0dbbea82699a03c3ab7436f613a
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\244\272\344\276\213-\344\273\216MY\345\220\221openGauss\350\277\233\350\241\214\346\225\260\346\215\256\350\277\201\347\247\273.md"
@@ -0,0 +1,91 @@
+# 示例:从MY向openGauss进行数据迁移
+
+下面示例演示如何通过CopyManager从MY向openGauss进行数据迁移的过程。
+
+```
+import java.io.StringReader;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import org.postgresql.copy.CopyManager;
+import org.postgresql.core.BaseConnection;
+
+public class Migration{
+
+ public static void main(String[] args) {
+ String url = new String("jdbc:postgresql://10.180.155.74:8000/postgres"); //数据库URL
+ String user = new String("jack"); //openGauss用户名
+ String pass = new String("Gauss@123"); //openGauss密码
+ String tablename = new String("migration_table"); //定义表信息
+ String delimiter = new String("|"); //定义分隔符
+ String encoding = new String("UTF8"); //定义字符集
+ String driver = "org.postgresql.Driver";
+ StringBuffer buffer = new StringBuffer(); //定义存放格式化数据的缓存
+
+ try {
+ //获取源数据库查询结果集
+ ResultSet rs = getDataSet();
+
+ //遍历结果集,逐行获取记录
+ //将每条记录中各字段值,按指定分隔符分割,由换行符结束,拼成一个字符串
+ //把拼成的字符串,添加到缓存buffer
+ while (rs.next()) {
+ buffer.append(rs.getString(1) + delimiter
+ + rs.getString(2) + delimiter
+ + rs.getString(3) + delimiter
+ + rs.getString(4)
+ + "\n");
+ }
+ rs.close();
+
+ try {
+ //建立目标数据库连接
+ Class.forName(driver);
+ Connection conn = DriverManager.getConnection(url, user, pass);
+ BaseConnection baseConn = (BaseConnection) conn;
+ baseConn.setAutoCommit(false);
+
+ //初始化表信息
+ String sql = "Copy " + tablename + " from STDIN DELIMITER " + "'" + delimiter + "'" + " ENCODING " + "'" + encoding + "'";
+
+ //提交缓存buffer中的数据
+ CopyManager cp = new CopyManager(baseConn);
+ StringReader reader = new StringReader(buffer.toString());
+ cp.copyIn(sql, reader);
+ baseConn.commit();
+ reader.close();
+ baseConn.close();
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace(System.out);
+ } catch (SQLException e) {
+ e.printStackTrace(System.out);
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ //********************************
+ // 从源数据库返回查询结果集
+ //*********************************
+ private static ResultSet getDataSet() {
+ ResultSet rs = null;
+ try {
+ Class.forName("com.MY.jdbc.Driver").newInstance();
+ Connection conn = DriverManager.getConnection("jdbc:MY://10.119.179.227:3306/jack?useSSL=false&allowPublicKeyRetrieval=true", "jack", "Gauss@123");
+ Statement stmt = conn.createStatement();
+ rs = stmt.executeQuery("select * from migration_table");
+ } catch (SQLException e) {
+ e.printStackTrace();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return rs;
+ }
+}
+```
+
diff --git "a/content/zh/docs/Developerguide/\347\244\272\344\276\213-\345\270\270\347\224\250\346\223\215\344\275\234.md" "b/content/zh/docs/Developerguide/\347\244\272\344\276\213-\345\270\270\347\224\250\346\223\215\344\275\234.md"
new file mode 100644
index 0000000000000000000000000000000000000000..cd76af61c81c1e099fc86a3de4b1615d7613445d
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\244\272\344\276\213-\345\270\270\347\224\250\346\223\215\344\275\234.md"
@@ -0,0 +1,218 @@
+# 示例:常用操作
+
+## 示例1
+
+此示例将演示如何基于openGauss提供的JDBC接口开发应用程序。
+
+```
+//DBtest.java
+//演示基于JDBC开发的主要步骤,会涉及创建数据库、创建表、插入数据等。
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.sql.CallableStatement;
+
+public class DBTest {
+
+ //创建数据库连接。
+ public static Connection GetConnection(String username, String passwd) {
+ String driver = "org.postgresql.Driver";
+ String sourceURL = "jdbc:postgresql://localhost:8000/postgres";
+ Connection conn = null;
+ try {
+ //加载数据库驱动。
+ Class.forName(driver).newInstance();
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+
+ try {
+ //创建数据库连接。
+ conn = DriverManager.getConnection(sourceURL, username, passwd);
+ System.out.println("Connection succeed!");
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+
+ return conn;
+ };
+
+ //执行普通SQL语句,创建customer_t1表。
+ public static void CreateTable(Connection conn) {
+ Statement stmt = null;
+ try {
+ stmt = conn.createStatement();
+
+ //执行普通SQL语句。
+ int rc = stmt
+ .executeUpdate("CREATE TABLE customer_t1(c_customer_sk INTEGER, c_customer_name VARCHAR(32));");
+
+ stmt.close();
+ } catch (SQLException e) {
+ if (stmt != null) {
+ try {
+ stmt.close();
+ } catch (SQLException e1) {
+ e1.printStackTrace();
+ }
+ }
+ e.printStackTrace();
+ }
+ }
+
+ //执行预处理语句,批量插入数据。
+ public static void BatchInsertData(Connection conn) {
+ PreparedStatement pst = null;
+
+ try {
+ //生成预处理语句。
+ pst = conn.prepareStatement("INSERT INTO customer_t1 VALUES (?,?)");
+ for (int i = 0; i < 3; i++) {
+ //添加参数。
+ pst.setInt(1, i);
+ pst.setString(2, "data " + i);
+ pst.addBatch();
+ }
+ //执行批处理。
+ pst.executeBatch();
+ pst.close();
+ } catch (SQLException e) {
+ if (pst != null) {
+ try {
+ pst.close();
+ } catch (SQLException e1) {
+ e1.printStackTrace();
+ }
+ }
+ e.printStackTrace();
+ }
+ }
+
+ //执行预编译语句,更新数据。
+ public static void ExecPreparedSQL(Connection conn) {
+ PreparedStatement pstmt = null;
+ try {
+ pstmt = conn
+ .prepareStatement("UPDATE customer_t1 SET c_customer_name = ? WHERE c_customer_sk = 1");
+ pstmt.setString(1, "new Data");
+ int rowcount = pstmt.executeUpdate();
+ pstmt.close();
+ } catch (SQLException e) {
+ if (pstmt != null) {
+ try {
+ pstmt.close();
+ } catch (SQLException e1) {
+ e1.printStackTrace();
+ }
+ }
+ e.printStackTrace();
+ }
+ }
+
+
+//执行存储过程。
+ public static void ExecCallableSQL(Connection conn) {
+ CallableStatement cstmt = null;
+ try {
+
+ cstmt=conn.prepareCall("{? = CALL TESTPROC(?,?,?)}");
+ cstmt.setInt(2, 50);
+ cstmt.setInt(1, 20);
+ cstmt.setInt(3, 90);
+ cstmt.registerOutParameter(4, Types.INTEGER); //注册out类型的参数,类型为整型。
+ cstmt.execute();
+ int out = cstmt.getInt(4); //获取out参数
+ System.out.println("The CallableStatment TESTPROC returns:"+out);
+ cstmt.close();
+ } catch (SQLException e) {
+ if (cstmt != null) {
+ try {
+ cstmt.close();
+ } catch (SQLException e1) {
+ e1.printStackTrace();
+ }
+ }
+ e.printStackTrace();
+ }
+ }
+
+
+ /**
+ * 主程序,逐步调用各静态方法。
+ * @param args
+ */
+ public static void main(String[] args) {
+ //创建数据库连接。
+ Connection conn = GetConnection("tester", "Password1234");
+
+ //创建表。
+ CreateTable(conn);
+
+ //批插数据。
+ BatchInsertData(conn);
+
+ //执行预编译语句,更新数据。
+ ExecPreparedSQL(conn);
+
+ //执行存储过程。
+ ExecCallableSQL(conn);
+
+ //关闭数据库连接。
+ try {
+ conn.close();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+}
+```
+
+## 示例2 客户端内存占用过多解决
+
+此示例主要使用setFetchSize来调整客户端内存使用,它的原理是通过数据库游标来分批获取服务器端数据,但它会加大网络交互,可能会损失部分性能。
+
+由于游标事务内有效,故需要先关闭自动提交,最后需要执行手动提交。
+
+```
+// 关闭掉自动提交
+conn.setAutoCommit(false);
+Statement st = conn.createStatement();
+
+// 打开游标,每次获取50行数据
+st.setFetchSize(50);
+ResultSet rs = st.executeQuery("SELECT * FROM mytable");
+conn.commit();
+while (rs.next())
+{
+ System.out.print("a row was returned.");
+}
+rs.close();
+
+// 关闭服务器游标。
+st.setFetchSize(0);
+rs = st.executeQuery("SELECT * FROM mytable");
+conn.commit();
+while (rs.next())
+{
+ System.out.print("many rows were returned.");
+}
+rs.close();
+
+// Close the statement.
+st.close();
+conn.close();
+```
+
+执行完毕后可使用如下命令恢复自动提交:
+
+```
+conn.setAutoCommit(true);
+```
+
diff --git "a/content/zh/docs/Developerguide/\347\244\272\344\276\213-\351\200\232\350\277\207\346\234\254\345\234\260\346\226\207\344\273\266\345\257\274\345\205\245\345\257\274\345\207\272\346\225\260\346\215\256.md" "b/content/zh/docs/Developerguide/\347\244\272\344\276\213-\351\200\232\350\277\207\346\234\254\345\234\260\346\226\207\344\273\266\345\257\274\345\205\245\345\257\274\345\207\272\346\225\260\346\215\256.md"
new file mode 100644
index 0000000000000000000000000000000000000000..ea38cb7485a8c641476528c8a06ec1377a0bbf99
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\244\272\344\276\213-\351\200\232\350\277\207\346\234\254\345\234\260\346\226\207\344\273\266\345\257\274\345\205\245\345\257\274\345\207\272\346\225\260\346\215\256.md"
@@ -0,0 +1,113 @@
+# 示例:通过本地文件导入导出数据
+
+在使用JAVA语言基于openGauss进行二次开发时,可以使用CopyManager接口,通过流方式,将数据库中的数据导出到本地文件或者将本地文件导入数据库中,文件格式支持CSV、TEXT等格式。
+
+样例程序如下,执行时需要加载openGauss jdbc驱动。
+
+```
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.io.IOException;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.sql.SQLException;
+import org.postgresql.copy.CopyManager;
+import org.postgresql.core.BaseConnection;
+
+public class Copy{
+
+ public static void main(String[] args)
+ {
+ String urls = new String("jdbc:postgresql://10.180.155.74:8000/postgres"); //数据库URL
+ String username = new String("jack"); //用户名
+ String password = new String("Gauss@123"); //密码
+ String tablename = new String("migration_table"); //定义表信息
+ String tablename1 = new String("migration_table_1"); //定义表信息
+ String driver = "org.postgresql.Driver";
+ Connection conn = null;
+
+ try {
+ Class.forName(driver);
+ conn = DriverManager.getConnection(urls, username, password);
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace(System.out);
+ } catch (SQLException e) {
+ e.printStackTrace(System.out);
+ }
+
+ // 将SELECT * FROM migration_table查询结果导出到本地文件d:/data.txt
+ try {
+ copyToFile(conn, "d:/data.txt", "(SELECT * FROM migration_table)");
+ } catch (SQLException e) {
+ k
+ e.printStackTrace();
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ }
+ //将d:/data.txt中的数据导入到migration_table_1中。
+ try {
+ copyFromFile(conn, "d:/data.txt", tablename1);
+ } catch (SQLException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ }
+
+ // 将migration_table_1中的数据导出到本地文件d:/data1.txt
+ try {
+ copyToFile(conn, "d:/data1.txt", tablename1);
+ } catch (SQLException e) {
+
+ e.printStackTrace();
+ } catch (IOException e) {
+
+
+ e.printStackTrace();
+ }
+ }
+ // 使用copyIn把数据从文件中导入数据库,
+ public static void copyFromFile(Connection connection, String filePath, String tableName)
+ throws SQLException, IOException {
+
+ FileInputStream fileInputStream = null;
+
+ try {
+ CopyManager copyManager = new CopyManager((BaseConnection)connection);
+ fileInputStream = new FileInputStream(filePath);
+ copyManager.copyIn("COPY " + tableName + " FROM STDIN", fileInputStream);
+ } finally {
+ if (fileInputStream != null) {
+ try {
+ fileInputStream.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+ // 使用copyOut把数据从数据库中导出到文件中
+ public static void copyToFile(Connection connection, String filePath, String tableOrQuery)
+ throws SQLException, IOException {
+
+ FileOutputStream fileOutputStream = null;
+
+ try {
+ CopyManager copyManager = new CopyManager((BaseConnection)connection);
+ fileOutputStream = new FileOutputStream(filePath);
+ copyManager.copyOut("COPY " + tableOrQuery + " TO STDOUT", fileOutputStream);
+ } finally {
+ if (fileOutputStream != null) {
+ try {
+ fileOutputStream.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+}
+```
+
diff --git "a/content/zh/docs/Developerguide/\347\244\272\344\276\213-\351\207\215\346\226\260\346\211\247\350\241\214\345\272\224\347\224\250SQL.md" "b/content/zh/docs/Developerguide/\347\244\272\344\276\213-\351\207\215\346\226\260\346\211\247\350\241\214\345\272\224\347\224\250SQL.md"
new file mode 100644
index 0000000000000000000000000000000000000000..2afff9ef3e53d9ee3ad5034210763d9ad77bb5aa
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\244\272\344\276\213-\351\207\215\346\226\260\346\211\247\350\241\214\345\272\224\347\224\250SQL.md"
@@ -0,0 +1,199 @@
+# 示例:重新执行应用SQL
+
+当主数据库节点故障且10s未恢复时,openGauss会将对应的备数据库节点升主,使openGauss正常运行。备升主期间正在运行的作业会失败;备升主后启动的作业不会再受影响。如果要做到数据库节点主备切换过程中,上层业务不感知,可参考此示例构建业务层SQL重试机制。
+
+```
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+class ExitHandler extends Thread {
+ private Statement cancel_stmt = null;
+
+ public ExitHandler(Statement stmt) {
+ super("Exit Handler");
+ this.cancel_stmt = stmt;
+ }
+ public void run() {
+ System.out.println("exit handle");
+ try {
+ this.cancel_stmt.cancel();
+ } catch (SQLException e) {
+ System.out.println("cancel query failed.");
+ e.printStackTrace();
+ }
+ }
+}
+
+public class SQLRetry {
+ //创建数据库连接。
+ public static Connection GetConnection(String username, String passwd) {
+ String driver = "org.postgresql.Driver";
+ String sourceURL = "jdbc:postgresql://10.131.72.136:8000/postgres";
+ Connection conn = null;
+ try {
+ //加载数据库驱动。
+ Class.forName(driver).newInstance();
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+
+ try {
+ //创建数据库连接。
+ conn = DriverManager.getConnection(sourceURL, username, passwd);
+ System.out.println("Connection succeed!");
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+
+ return conn;
+}
+
+ //执行普通SQL语句,创建jdbc_test1表。
+ public static void CreateTable(Connection conn) {
+ Statement stmt = null;
+ try {
+ stmt = conn.createStatement();
+
+
+ Runtime.getRuntime().addShutdownHook(new ExitHandler(stmt));
+
+ //执行普通SQL语句。
+ int rc2 = stmt
+ .executeUpdate("DROP TABLE if exists jdbc_test1;");
+
+ int rc1 = stmt
+ .executeUpdate("CREATE TABLE jdbc_test1(col1 INTEGER, col2 VARCHAR(10));");
+
+ stmt.close();
+ } catch (SQLException e) {
+ if (stmt != null) {
+ try {
+ stmt.close();
+ } catch (SQLException e1) {
+ e1.printStackTrace();
+ }
+ }
+ e.printStackTrace();
+ }
+ }
+
+ //执行预处理语句,批量插入数据。
+ public static void BatchInsertData(Connection conn) {
+ PreparedStatement pst = null;
+
+ try {
+ //生成预处理语句。
+ pst = conn.prepareStatement("INSERT INTO jdbc_test1 VALUES (?,?)");
+ for (int i = 0; i < 100; i++) {
+ //添加参数。
+ pst.setInt(1, i);
+ pst.setString(2, "data " + i);
+ pst.addBatch();
+ }
+ //执行批处理。
+ pst.executeBatch();
+ pst.close();
+ } catch (SQLException e) {
+ if (pst != null) {
+ try {
+ pst.close();
+ } catch (SQLException e1) {
+ e1.printStackTrace();
+ }
+ }
+ e.printStackTrace();
+ }
+ }
+
+ //执行预编译语句,更新数据。
+ private static boolean QueryRedo(Connection conn){
+ PreparedStatement pstmt = null;
+ boolean retValue = false;
+ try {
+ pstmt = conn
+ .prepareStatement("SELECT col1 FROM jdbc_test1 WHERE col2 = ?");
+
+ pstmt.setString(1, "data 10");
+ ResultSet rs = pstmt.executeQuery();
+
+ while (rs.next()) {
+ System.out.println("col1 = " + rs.getString("col1"));
+ }
+ rs.close();
+
+ pstmt.close();
+ retValue = true;
+ } catch (SQLException e) {
+ System.out.println("catch...... retValue " + retValue);
+ if (pstmt != null) {
+ try {
+ pstmt.close();
+ } catch (SQLException e1) {
+ e1.printStackTrace();
+ }
+ }
+ e.printStackTrace();
+ }
+
+ System.out.println("finesh......");
+ return retValue;
+ }
+
+ //查询语句,执行失败重试,重试次数可配置。
+ public static void ExecPreparedSQL(Connection conn) throws InterruptedException {
+ int maxRetryTime = 50;
+ int time = 0;
+ String result = null;
+ do {
+ time++;
+ try {
+ System.out.println("time:" + time);
+ boolean ret = QueryRedo(conn);
+ if(ret == false){
+ System.out.println("retry, time:" + time);
+ Thread.sleep(10000);
+ QueryRedo(conn);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ } while (null == result && time < maxRetryTime);
+
+ }
+
+ /**
+ * 主程序,逐步调用各静态方法。
+ * @param args
+ * @throws InterruptedException
+ */
+ public static void main(String[] args) throws InterruptedException {
+ //创建数据库连接。
+ Connection conn = GetConnection("testuser", "test@123");
+
+ //创建表。
+ CreateTable(conn);
+
+ //批插数据。
+ BatchInsertData(conn);
+
+ //执行预编译语句,更新数据。
+ ExecPreparedSQL(conn);
+
+ //关闭数据库连接。
+ try {
+ conn.close();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ }
+```
+
diff --git "a/content/zh/docs/Developerguide/\347\244\272\344\276\213.md" "b/content/zh/docs/Developerguide/\347\244\272\344\276\213.md"
index 13413d1f0a2b361c23388dba0ab4fe13c339153f..cf705c67203f9e664e85b6644fc71a6241b614c6 100644
--- "a/content/zh/docs/Developerguide/\347\244\272\344\276\213.md"
+++ "b/content/zh/docs/Developerguide/\347\244\272\344\276\213.md"
@@ -1,4 +1,4 @@
-# 示例
+# 示例
## 常用功能示例代码
diff --git "a/content/zh/docs/Developerguide/\347\244\272\344\276\2132-\344\273\216MY\345\220\221openGauss\346\225\260\346\215\256\345\272\223\350\277\233\350\241\214\346\225\260\346\215\256\350\277\201\347\247\273.md" "b/content/zh/docs/Developerguide/\347\244\272\344\276\2132-\344\273\216MY\345\220\221openGauss\346\225\260\346\215\256\345\272\223\350\277\233\350\241\214\346\225\260\346\215\256\350\277\201\347\247\273.md"
new file mode 100644
index 0000000000000000000000000000000000000000..3933f86ad71742b3277304447238f22649c6962a
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\244\272\344\276\2132-\344\273\216MY\345\220\221openGauss\346\225\260\346\215\256\345\272\223\350\277\233\350\241\214\346\225\260\346\215\256\350\277\201\347\247\273.md"
@@ -0,0 +1,91 @@
+# 示例2:从MY向openGauss数据库进行数据迁移
+
+下面示例演示如何通过CopyManager从MY向openGauss数据库进行数据迁移的过程。
+
+```
+import java.io.StringReader;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import org.postgresql.copy.CopyManager;
+import org.postgresql.core.BaseConnection;
+
+public class Migration{
+
+ public static void main(String[] args) {
+ String url = new String("jdbc:postgresql://localhost:8000/postgres"); //数据库URL
+ String user = new String("username"); //openGauss数据库用户名
+ String pass = new String("passwd"); //openGauss数据库密码
+ String tablename = new String("migration_table_1"); //定义表信息
+ String delimiter = new String("|"); //定义分隔符
+ String encoding = new String("UTF8"); //定义字符集
+ String driver = "org.postgresql.Driver";
+ StringBuffer buffer = new StringBuffer(); //定义存放格式化数据的缓存
+
+ try {
+ //获取源数据库查询结果集
+ ResultSet rs = getDataSet();
+
+ //遍历结果集,逐行获取记录
+ //将每条记录中各字段值,按指定分隔符分割,由换行符结束,拼成一个字符串
+ //把拼成的字符串,添加到缓存buffer
+ while (rs.next()) {
+ buffer.append(rs.getString(1) + delimiter
+ + rs.getString(2) + delimiter
+ + rs.getString(3) + delimiter
+ + rs.getString(4)
+ + "\n");
+ }
+ rs.close();
+
+ try {
+ //建立目标数据库连接
+ Class.forName(driver);
+ Connection conn = DriverManager.getConnection(url, user, pass);
+ BaseConnection baseConn = (BaseConnection) conn;
+ baseConn.setAutoCommit(false);
+
+ //初始化表信息
+ String sql = "Copy " + tablename + " from STDIN with (DELIMITER " + "'" + delimiter + "'" +","+ " ENCODING " + "'" + encoding + "'");
+
+ //提交缓存buffer中的数据
+ CopyManager cp = new CopyManager(baseConn);
+ StringReader reader = new StringReader(buffer.toString());
+ cp.copyIn(sql, reader);
+ baseConn.commit();
+ reader.close();
+ baseConn.close();
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace(System.out);
+ } catch (SQLException e) {
+ e.printStackTrace(System.out);
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ //********************************
+ // 从源数据库返回查询结果集
+ //*********************************
+ private static ResultSet getDataSet() {
+ ResultSet rs = null;
+ try {
+ Class.forName("com.MY.jdbc.Driver").newInstance();
+ Connection conn = DriverManager.getConnection("jdbc:MY://10.119.179.227:3306/jack?useSSL=false&allowPublicKeyRetrieval=true", "jack", "Gauss@123");
+ Statement stmt = conn.createStatement();
+ rs = stmt.executeQuery("select * from migration_table");
+ } catch (SQLException e) {
+ e.printStackTrace();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return rs;
+ }
+}
+```
+
diff --git "a/content/zh/docs/Developerguide/\347\251\272\350\257\255\345\217\245.md" "b/content/zh/docs/Developerguide/\347\251\272\350\257\255\345\217\245.md"
new file mode 100644
index 0000000000000000000000000000000000000000..201c493a3cbaf6cff912d6a33f47516fc1ae9ce0
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\251\272\350\257\255\345\217\245.md"
@@ -0,0 +1,20 @@
+# 空语句
+
+在PL/SQL程序中,可以用NULL语句来说明“不用做任何事情”,相当于一个占位符,可以使某些语句变得有意义,提高程序的可读性。
+
+## 语法
+
+空语句的用法如下:
+
+```
+DECLARE
+ …
+BEGIN
+ …
+ IF v_num IS NULL THEN
+ NULL; -- 不需要处理任何数据。
+ END IF;
+END;
+/
+```
+
diff --git "a/content/zh/docs/Developerguide/\347\256\200\345\215\225\350\241\250\350\276\276\345\274\217.md" "b/content/zh/docs/Developerguide/\347\256\200\345\215\225\350\241\250\350\276\276\345\274\217.md"
index 58197c8979efcb0fe0699cd3628c7639b66553ba..f7ab23a0bcb260f9ed6b0dc2f5cbd9e0eeddf9cd 100644
--- "a/content/zh/docs/Developerguide/\347\256\200\345\215\225\350\241\250\350\276\276\345\274\217.md"
+++ "b/content/zh/docs/Developerguide/\347\256\200\345\215\225\350\241\250\350\276\276\345\274\217.md"
@@ -2,11 +2,11 @@
## 逻辑表达式
-逻辑表达式的操作符和运算规则,请参见[逻辑操作符](逻辑操作符.md#ZH-CN_TOPIC_0242370429)。
+逻辑表达式的操作符和运算规则,请参见[逻辑操作符](逻辑操作符.md)。
## 比较表达式
-常用的比较操作符,请参见[比较操作符](比较操作符.md#ZH-CN_TOPIC_0242370430)。
+常用的比较操作符,请参见[操作符](操作符.md)。
除比较操作符外,还可以使用以下句式结构:
diff --git "a/content/zh/docs/Developerguide/\347\256\227\345\255\220\347\272\247\350\260\203\344\274\230.md" "b/content/zh/docs/Developerguide/\347\256\227\345\255\220\347\272\247\350\260\203\344\274\230.md"
new file mode 100644
index 0000000000000000000000000000000000000000..a1e8f3548d87fefaa5f6e519faf9c116cebbd159
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\256\227\345\255\220\347\272\247\350\260\203\344\274\230.md"
@@ -0,0 +1,54 @@
+# 算子级调优
+
+## 算子级调优介绍
+
+一个查询语句要经过多个算子步骤才会输出最终的结果。由于各别算子耗时过长导致整体查询性能下降的情况比较常见。这些算子是整个查询的瓶颈算子。通用的优化手段是EXPLAIN ANALYZE/PERFORMANCE命令查看执行过程的瓶颈算子,然后进行针对性优化。
+
+如下面的执行过程信息中,Hashagg算子的执行时间占总时间的:\(51016-13535\)/ 56476 ≈66%,此处Hashagg算子就是这个查询的瓶颈算子,在进行性能优化时应当优先考虑此算子的优化。
+
+
+
+## 算子级调优示例
+
+**示例1:**基表扫描时,对于点查或者范围扫描等过滤大量数据的查询,如果使用SeqScan全表扫描会比较耗时,可以在条件列上建立索引选择IndexScan进行索引扫描提升扫描效率。
+
+```
+postgres=# explain (analyze on, costs off) select * from store_sales where ss_sold_date_sk = 2450944;
+ id | operation | A-time | A-rows | Peak Memory | A-width
+----+--------------------------------+---------------------+--------+--------------+---------
+ 1 | -> Streaming (type: GATHER) | 3666.020 | 3360 | 195KB |
+ 2 | -> Seq Scan on store_sales | [3594.611,3594.611] | 3360 | [34KB, 34KB] |
+(2 rows)
+
+ Predicate Information (identified by plan id)
+-----------------------------------------------
+ 2 --Seq Scan on store_sales
+ Filter: (ss_sold_date_sk = 2450944)
+ Rows Removed by Filter: 4968936
+```
+
+```
+postgres=# create index idx on store_sales_row(ss_sold_date_sk);
+CREATE INDEX
+postgres=# explain (analyze on, costs off) select * from store_sales_row where ss_sold_date_sk = 2450944;
+ id | operation | A-time | A-rows | Peak Memory | A-width
+----+------------------------------------------------+-----------------+--------+--------------+----------
+ 1 | -> Streaming (type: GATHER) | 81.524 | 3360 | 195KB |
+ 2 | -> Index Scan using idx on store_sales_row | [13.352,13.352] | 3360 | [34KB, 34KB] |
+(2 rows)
+```
+
+上述例子中,全表扫描返回3360条数据,过滤掉大量数据,在ss\_sold\_date\_sk列上建立索引后,使用IndexScan扫描效率显著提高,从3.6秒提升到13毫秒。
+
+**示例2:**如果从执行计划中看,两表join选择了NestLoop,而实际行数比较大时,NestLoop Join可能执行比较慢。如下的例子中NestLoop耗时181秒,如果设置参数enable\_mergejoin=off关掉Merge Join,同时设置参数enable\_nestloop=off关掉NestLoop,让优化器选择HashJoin,则Join耗时提升至200多毫秒。
+
+.png)
+
+.png)
+
+**示例3**:通常情况下Agg选择HashAgg性能较好,如果大结果集选择了Sort+GroupAgg,则需要设置enable\_sort=off,HashAgg耗时明显优于Sort+GroupAgg。
+
+.png)
+
+.png)
+
diff --git "a/content/zh/docs/Developerguide/\347\256\241\347\220\206\344\272\213\345\212\241.md" "b/content/zh/docs/Developerguide/\347\256\241\347\220\206\344\272\213\345\212\241.md"
index b039f912cad0ce0e1aacda60ce916f32750d067d..96a877459d7b49ab254092130527628298aaf9f2 100644
--- "a/content/zh/docs/Developerguide/\347\256\241\347\220\206\344\272\213\345\212\241.md"
+++ "b/content/zh/docs/Developerguide/\347\256\241\347\220\206\344\272\213\345\212\241.md"
@@ -28,7 +28,7 @@
事务隔离级别,它决定多个事务并发操作同一个对象时的处理方式。
> **说明:**
->在事务中第一个数据修改语句(SELECT,INSERT,DELETE,UPDATE,FETCH,COPY)执行之后,事务隔离级别就不能再次设置。
+>在事务中第一个数据修改语句(SELECT, INSERT,DELETE,UPDATE,FETCH,COPY)执行之后,事务隔离级别就不能再次设置。
- **READ COMMITTED**:读已提交隔离级别,事务只能读到已提交的数据而不会读到未提交的数据,这是缺省值。
diff --git "a/content/zh/docs/Developerguide/\347\256\241\347\220\206\345\221\230.md" "b/content/zh/docs/Developerguide/\347\256\241\347\220\206\345\221\230.md"
index e67b0155d399f3ff17b057dd74b7d2af8db7ba19..8072dc53d9750a40ba79eb42ea94008a7b67901d 100644
--- "a/content/zh/docs/Developerguide/\347\256\241\347\220\206\345\221\230.md"
+++ "b/content/zh/docs/Developerguide/\347\256\241\347\220\206\345\221\230.md"
@@ -8,7 +8,7 @@ openGauss安装过程中自动生成的帐户称为初始用户。初始用户
## 系统管理员
-系统管理员是指具有SYSADMIN属性的帐户,默认安装情况下具有与对象所有者相同的权限,但不包括dbms\_perf模式的对象权限。
+系统管理员是指具有SYSADMIN属性的帐户,默认安装情况下具有与对象所有者相同的权限,但不包括dbe\_perf模式的对象权限。
要创建新的系统管理员,请以初始用户或者系统管理员用户身份连接数据库,并使用带SYSADMIN选项的[CREATE USER](CREATE-USER.md)语句或 [ALTER USER](ALTER-USER.md)语句进行设置。
@@ -26,7 +26,7 @@ ALTER USER时,要求用户已存在。
## 监控管理员
-监控管理员是指具有MONADMIN属性的帐户,具有查看dbms\_perf模式下视图和函数的权限,亦可以对dbms\_perf模式的对象权限进行授予或收回。
+监控管理员是指具有MONADMIN属性的帐户,具有查看dbe\_perf模式下视图和函数的权限,亦可以对dbe\_perf模式的对象权限进行授予或收回。
要创建新的监控管理员,请以初始用户身份连接数据库,并使用带MONADMIN选项的[CREATE USER](CREATE-USER.md)语句或 [ALTER USER](ALTER-USER.md)语句进行设置。
diff --git "a/content/zh/docs/Developerguide/\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\345\256\211\345\205\250.md" "b/content/zh/docs/Developerguide/\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\345\256\211\345\205\250.md"
index 6f718c31651ee60a1e8efe58109ffb7fd8f0c23c..da00644862b9fa52710150a3943adc8b87d21af7 100644
--- "a/content/zh/docs/Developerguide/\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\345\256\211\345\205\250.md"
+++ "b/content/zh/docs/Developerguide/\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\345\256\211\345\205\250.md"
@@ -1,6 +1,6 @@
# 管理数据库安全
-- **[客户端接入认证](客户端接入认证-0.md)**
+- **[客户端接入认证](客户端接入认证.md)**
- **[管理用户及权限](管理用户及权限.md)**
diff --git "a/content/zh/docs/Developerguide/\347\261\273\345\236\213\350\275\254\346\215\242.md" "b/content/zh/docs/Developerguide/\347\261\273\345\236\213\350\275\254\346\215\242.md"
index e97377642853c6cbd0136c547e12bb3b6e808a06..44cd771234abef6fd14962812f21cc96e5d444f5 100644
--- "a/content/zh/docs/Developerguide/\347\261\273\345\236\213\350\275\254\346\215\242.md"
+++ "b/content/zh/docs/Developerguide/\347\261\273\345\236\213\350\275\254\346\215\242.md"
@@ -1,6 +1,6 @@
# 类型转换
-- **[概述](概述-15.md)**
+- **[概述](概述-16.md)**
- **[操作符](操作符.md)**
diff --git "a/content/zh/docs/Developerguide/\347\263\273\347\273\237\344\277\241\346\201\257\345\207\275\346\225\260.md" "b/content/zh/docs/Developerguide/\347\263\273\347\273\237\344\277\241\346\201\257\345\207\275\346\225\260.md"
index ab5509a1663140e2bf7709655c574f4bef7c6511..12691e36bd5d9e1149f802b9943928e511649da7 100644
--- "a/content/zh/docs/Developerguide/\347\263\273\347\273\237\344\277\241\346\201\257\345\207\275\346\225\260.md"
+++ "b/content/zh/docs/Developerguide/\347\263\273\347\273\237\344\277\241\346\201\257\345\207\275\346\225\260.md"
@@ -110,9 +110,9 @@
(1 row)
```
- 备注:current\_user是用于权限检查的用户标识。通常,他表示会话用户,但是可以通过[SET ROLE](SET-ROLE.md#ZH-CN_TOPIC_0242370652)改变他。在函数执行的过程中随着属性SECURITY DEFINER的改变,其值也会改变。
+ 备注:current\_user是用于权限检查的用户标识。通常,他表示会话用户,但是可以通过[SET ROLE](SET-ROLE.md)改变他。在函数执行的过程中随着属性SECURITY DEFINER的改变,其值也会改变。
-- pg\_current\_user\(\)
+- pg\_current\_sessionid\(\)
描述:当前执行环境下的会话ID。
@@ -353,7 +353,7 @@
(1 row)
```
- 备注:session\_user通常是连接当前数据库的初始用户,不过系统管理员可以用[SET SESSION AUTHORIZATION](SET-SESSION-AUTHORIZATION.md#ZH-CN_TOPIC_0242370653)修改这个设置。
+ 备注:session\_user通常是连接当前数据库的初始用户,不过系统管理员可以用[SET SESSION AUTHORIZATION](SET-SESSION-AUTHORIZATION.md)修改这个设置。
- user
@@ -477,7 +477,7 @@
返回类型:Boolean
- 备注:has\_function\_privilege检查一个用户是否能以指定方式访问一个函数。其参数类似has\_table\_privilege。使用文本字符而不是OID声明一个函数时,允许输入的类型和regprocedure数据类型一样(请参考[对象标识符类型](对象标识符类型.md#ZH-CN_TOPIC_0242370424))。访问权限类型必须是EXECUTE。
+ 备注:has\_function\_privilege检查一个用户是否能以指定方式访问一个函数。其参数类似has\_table\_privilege。使用文本字符而不是OID声明一个函数时,允许输入的类型和regprocedure数据类型一样(请参考[对象标识符类型](对象标识符类型.md))。访问权限类型必须是EXECUTE。
- has\_language\_privilege\(user, language, privilege\)
@@ -777,18 +777,6 @@ postgres=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid);
备注:pg\_get\_keywords返回一组关于描述服务器识别SQL关键字的记录。word列包含关键字。catcode列包含一个分类代码:U表示通用的,C表示列名,T表示类型或函数名,或R表示保留。catdesc列包含了一个可能本地化描述分类的字符串。
-- pg\_get\_ruledef\(rule\_oid\)
-
- 描述:获取规则的CREATE RULE命令
-
- 返回类型:text
-
-- pg\_get\_ruledef\(rule\_oid, pretty\_bool\)
-
- 描述:获取规则的CREATE RULE命令
-
- 返回类型:text
-
- pg\_get\_userbyid\(role\_oid\)
描述:获取给定OID的角色名
@@ -871,7 +859,7 @@ postgres=# SELECT relname FROM pg_class WHERE pg_table_is_visible(oid);
返回类型:regtype
- 备注:pg\_typeof返回传递给他的值的数据类型OID。这可能有助于故障排除或动态构造SQL查询。声明此函数返回regtype,这是一个OID别名类型(请参考[对象标识符类型](对象标识符类型.md#ZH-CN_TOPIC_0242370424));这意味着它是一个为了比较而显示类型名称的OID。
+ 备注:pg\_typeof返回传递给他的值的数据类型OID。这可能有助于故障排除或动态构造SQL查询。声明此函数返回regtype,这是一个OID别名类型(请参考[对象标识符类型](对象标识符类型.md));这意味着它是一个为了比较而显示类型名称的OID。
示例:
diff --git "a/content/zh/docs/Developerguide/\347\263\273\347\273\237\346\223\215\344\275\234.md" "b/content/zh/docs/Developerguide/\347\263\273\347\273\237\346\223\215\344\275\234.md"
index fa62627f688822e4afc88871591d5f4f68b48af7..11551873c2801be8a2b4620fff7dbf76a97cbf0f 100644
--- "a/content/zh/docs/Developerguide/\347\263\273\347\273\237\346\223\215\344\275\234.md"
+++ "b/content/zh/docs/Developerguide/\347\263\273\347\273\237\346\223\215\344\275\234.md"
@@ -8,15 +8,15 @@ openGauss通过SQL语句执行不同的系统操作,比如:设置变量,
## 显示执行计划
-显示openGauss为SQL语句规划的执行计划,请参考[EXPLAIN](EXPLAIN.md#ZH-CN_TOPIC_0242370627)。
+显示openGauss为SQL语句规划的执行计划,请参考[EXPLAIN](EXPLAIN.md)。
## 事务日志检查点
-预写式日志(WAL)缺省时在事务日志中每隔一段时间放置一个检查点。CHECKPOINT强迫立即进行检查,而不是等到下一次调度时的检查点。请参考[CHECKPOINT](CHECKPOINT.md#ZH-CN_TOPIC_0242370553)。
+预写式日志(WAL)缺省时在事务日志中每隔一段时间放置一个检查点。CHECKPOINT强迫立即进行检查,而不是等到下一次调度时的检查点。请参考[CHECKPOINT](CHECKPOINT.md)。
## 垃圾收集
-进行垃圾收集以及可选择的对数据库进行分析。请参考[VACUUM](VACUUM.md#ZH-CN_TOPIC_0242370659)。
+进行垃圾收集以及可选择的对数据库进行分析。请参考[VACUUM](VACUUM.md)。
## 收集统计信息
@@ -24,5 +24,5 @@ openGauss通过SQL语句执行不同的系统操作,比如:设置变量,
## 设置当前事务的约束检查模式
-设置当前事务里的约束检查的特性。请参考[SET CONSTRAINTS](SET-CONSTRAINTS.md#ZH-CN_TOPIC_0242370651)。
+设置当前事务里的约束检查的特性。请参考[SET CONSTRAINTS](SET-CONSTRAINTS.md)。
diff --git "a/content/zh/docs/Developerguide/\347\263\273\347\273\237\350\247\206\345\233\276.md" "b/content/zh/docs/Developerguide/\347\263\273\347\273\237\350\247\206\345\233\276.md"
index 8d0fc22f7792afea80a32dec991b65fc54fb5b69..fdff4254acb897669ce6262df892f97d90ee9f5d 100644
--- "a/content/zh/docs/Developerguide/\347\263\273\347\273\237\350\247\206\345\233\276.md"
+++ "b/content/zh/docs/Developerguide/\347\263\273\347\273\237\350\247\206\345\233\276.md"
@@ -1,7 +1,5 @@
# 系统视图
-- **[GET\_GTM\_LITE\_STATUS](GET_GTM_LITE_STATUS.md)**
-
- **[GS\_SESSION\_CPU\_STATISTICS](GS_SESSION_CPU_STATISTICS.md)**
- **[GS\_SESSION\_MEMORY\_STATISTICS](GS_SESSION_MEMORY_STATISTICS.md)**
@@ -33,7 +31,7 @@
- **[MPP\_TABLES](MPP_TABLES.md)**
- **[PG\_AVAILABLE\_EXTENSION\_VERSIONS](PG_AVAILABLE_EXTENSION_VERSIONS.md)**
-PG\_AVAILABLE\_EXTENSION\_VERSIONS视图显示数据库中某些特性的扩展版本信息。
+
- **[PG\_AVAILABLE\_EXTENSIONS](PG_AVAILABLE_EXTENSIONS.md)**
- **[PG\_CURSORS](PG_CURSORS.md)**
@@ -66,8 +64,6 @@ PG\_AVAILABLE\_EXTENSION\_VERSIONS视图显示数据库中某些特性的扩展
- **[PG\_RULES](PG_RULES.md)**
-- **[PG\_RUNNING\_XACTS](PG_RUNNING_XACTS.md)**
-
- **[PG\_SECLABELS](PG_SECLABELS.md)**
- **[PG\_SESSION\_WLMSTAT](PG_SESSION_WLMSTAT.md)**
@@ -140,8 +136,6 @@ PG\_AVAILABLE\_EXTENSION\_VERSIONS视图显示数据库中某些特性的扩展
- **[PG\_TIMEZONE\_NAMES](PG_TIMEZONE_NAMES.md)**
-- **[PG\_TOTAL\_MEMORY\_DETAIL](PG_TOTAL_MEMORY_DETAIL.md)**
-
- **[PG\_TOTAL\_USER\_RESOURCE\_INFO](PG_TOTAL_USER_RESOURCE_INFO.md)**
- **[PG\_USER](PG_USER.md)**
@@ -162,15 +156,13 @@ PG\_AVAILABLE\_EXTENSION\_VERSIONS视图显示数据库中某些特性的扩展
- **[GS\_SESSION\_MEMORY](GS_SESSION_MEMORY.md)**
-- **[GS\_SESSION\_MEMORY\_CONTEXT](GS_SESSION_MEMORY_CONTEXT.md)**
-
- **[GS\_SESSION\_MEMORY\_DETAIL](GS_SESSION_MEMORY_DETAIL.md)**
- **[GS\_SESSION\_STAT](GS_SESSION_STAT.md)**
- **[GS\_SESSION\_TIME](GS_SESSION_TIME.md)**
-- **[GS\_THREAD\_MEMORY\_CONTEXT](GS_THREAD_MEMORY_CONTEXT.md)**
+- **[GS\_THREAD\_MEMORY\_DETAIL](GS_THREAD_MEMORY_DETAIL.md)**
- **[GS\_TOTAL\_MEMORY\_DETAIL](GS_TOTAL_MEMORY_DETAIL.md)**
diff --git "a/content/zh/docs/Developerguide/\347\263\273\347\273\237\350\260\203\344\274\230\346\214\207\345\215\227.md" "b/content/zh/docs/Developerguide/\347\263\273\347\273\237\350\260\203\344\274\230\346\214\207\345\215\227.md"
new file mode 100644
index 0000000000000000000000000000000000000000..c0393374502b470dcb7a53a7ce7e2e0399c72f5e
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\263\273\347\273\237\350\260\203\344\274\230\346\214\207\345\215\227.md"
@@ -0,0 +1,11 @@
+# 系统调优指南
+
+系统调优是指进行操作系统级以及数据库系统级的调优,更充分地利用机器的CPU、内存、I/O和网络资源,避免资源冲突,提升整个系统查询的吞吐量。
+
+- **[操作系统参数调优](操作系统参数调优.md)**
+在性能调优过程中,可以根据实际业务情况修改关键操作系统\(OS\)配置参数,以提升openGauss数据库的性能。
+- **[数据库系统参数调优](数据库系统参数调优.md)**
+
+- **[配置LLVM](配置LLVM.md)**
+
+
diff --git "a/content/zh/docs/Developerguide/\347\273\217\351\252\214\346\200\273\347\273\223-SQL\350\257\255\345\217\245\346\224\271\345\206\231\350\247\204\345\210\231.md" "b/content/zh/docs/Developerguide/\347\273\217\351\252\214\346\200\273\347\273\223-SQL\350\257\255\345\217\245\346\224\271\345\206\231\350\247\204\345\210\231.md"
new file mode 100644
index 0000000000000000000000000000000000000000..61c962f193f9d1eddc0cca380c5afd51a907f8c6
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\273\217\351\252\214\346\200\273\347\273\223-SQL\350\257\255\345\217\245\346\224\271\345\206\231\350\247\204\345\210\231.md"
@@ -0,0 +1,57 @@
+# 经验总结:SQL语句改写规则
+
+根据数据库的SQL执行机制以及大量的实践,总结发现:通过一定的规则调整SQL语句,在保证结果正确的基础上,能够提高SQL执行效率。如果遵守这些规则,常常能够大幅度提升业务查询效率。
+
+- **使用union all代替union**
+
+ union在合并两个集合时会执行去重操作,而union all则直接将两个结果集合并、不执行去重。执行去重会消耗大量的时间,因此,在一些实际应用场景中,如果通过业务逻辑已确认两个集合不存在重叠,可用union all替代union以便提升性能。
+
+- **join列增加非空过滤条件**
+
+ 若join列上的NULL值较多,则可以加上is not null过滤条件,以实现数据的提前过滤,提高join效率。
+
+- **not in转not exists**
+
+ not in语句需要使用nestloop anti join来实现,而not exists则可以通过hash anti join来实现。在join列不存在null值的情况下,not exists和not in等价。因此在确保没有null值时,可以通过将not in转换为not exists,通过生成hash join来提升查询效率。
+
+ 如下所示,如果t2.d2字段中没有null值\(t2.d2字段在表定义中not null\)查询可以修改为
+
+ ```
+ SELECT * FROM t1 WHERE NOT EXISTS (SELECT * FROM t2 WHERE t1.c1=t2.d2);
+ ```
+
+ 产生的计划如下:
+
+ ```
+ QUERY PLAN
+ ------------------------------
+ Hash Anti Join
+ Hash Cond: (t1.c1 = t2.d2)
+ -> Seq Scan on t1
+ -> Hash
+ -> Seq Scan on t2
+ (5 rows)
+ ```
+
+- **选择hashagg。**
+
+ 查询中GROUP BY语句如果生成了groupagg+sort的plan性能会比较差,可以通过加大work\_mem的方法生成hashagg的plan,因为不用排序而提高性能。
+
+- **尝试将函数替换为case语句。**
+
+ openGauss函数调用性能较低,如果出现过多的函数调用导致性能下降很多,可以根据情况把可下推函数的函数改成CASE表达式。
+
+- **避免对索引使用函数或表达式运算。**
+
+ 对索引使用函数或表达式运算会停止使用索引转而执行全表扫描。
+
+- **尽量避免在where子句中使用!=或<\>操作符、null值判断、or连接、参数隐式转换。**
+- **对复杂SQL语句进行拆分。**
+
+ 对于过于复杂并且不易通过以上方法调整性能的SQL可以考虑拆分的方法,把SQL中某一部分拆分成独立的SQL并把执行结果存入临时表,拆分常见的场景包括但不限于:
+
+ - 作业中多个SQL有同样的子查询,并且子查询数据量较大。
+ - Plan cost计算不准,导致子查询hash bucket太小,比如实际数据1000W行,hash bucket只有1000。
+ - 函数(如substr,to\_number)导致大数据量子查询选择度计算不准。
+
+
diff --git "a/content/zh/docs/Developerguide/\347\273\237\350\256\241\344\277\241\346\201\257\345\207\275\346\225\260.md" "b/content/zh/docs/Developerguide/\347\273\237\350\256\241\344\277\241\346\201\257\345\207\275\346\225\260.md"
index 2d2d38fb3abc03a839347a2a99944a25d3dbdad4..f7ceaa17a67246c25914e919a8a6c73dc7579bd9 100644
--- "a/content/zh/docs/Developerguide/\347\273\237\350\256\241\344\277\241\346\201\257\345\207\275\346\225\260.md"
+++ "b/content/zh/docs/Developerguide/\347\273\237\350\256\241\344\277\241\346\201\257\345\207\275\346\225\260.md"
@@ -360,28 +360,28 @@
int4
- 当前该用户io在 数据库节点 中的最小值。对于行存,以万次/s为单位;对于列存,以次/s为单位。
+ 当前该用户io在数据库节点中的最小值。对于行存,以万次/s为单位;对于列存,以次/s为单位。
max_curr_iops
int4
- 当前该用户io在 数据库节点 中的最大值。对于行存,以万次/s为单位;对于列存,以次/s为单位。
+ 当前该用户io在数据库节点中的最大值。对于行存,以万次/s为单位;对于列存,以次/s为单位。
min_peak_iops
int4
- 该用户io峰值中, 数据库节点 的最小值。对于行存,以万次/s为单位;对于列存,以次/s为单位。
+ 该用户io峰值中,数据库节点的最小值。对于行存,以万次/s为单位;对于列存,以次/s为单位。
max_peak_iops
int4
- 该用户io峰值中, 数据库节点 的最大值。对于行存,以万次/s为单位;对于列存,以次/s为单位。
+ 该用户io峰值中,数据库节点的最大值。对于行存,以万次/s为单位;对于列存,以次/s为单位。
io_limits
@@ -925,7 +925,7 @@
-- DBMS\_PERF.get\_global\_instance\_time\(\)
+- DBE\_PERF.get\_global\_instance\_time\(\)
描述:提供openGauss各个关键阶段的时间消耗,仅在数据库主节点上支持查询,查询该函数必须具有sysadmin权限。
@@ -933,7 +933,7 @@
- get\_instr\_unique\_sql\(\)
- 描述:获取当前结点的执行语句(归一化SQL)信息,查询该函数必须具有sysadmin权限。
+ 描述:获取当前节点的执行语句(归一化SQL)信息,查询该函数必须具有sysadmin权限。
返回值类型:record
@@ -951,65 +951,53 @@
- get\_instr\_user\_login\(\)
- 描述:获取当前结点的用户登入登出次数信息,查询该函数必须具有sysadmin权限。
+ 描述:获取当前节点的用户登入登出次数信息,查询该函数必须具有sysadmin权限。
返回值类型:record
- get\_instr\_rt\_percentile\(\)
- 描述:获取CCN结点SQL 响应时间P80,P95分布信息,openGauss统一的信息在CCN节点上,其他节点查询为0。
+ 描述:获取CCN节点SQL 响应时间P80,P95分布信息,openGauss统一的信息在CCN节点上,其他节点查询为0。
返回值类型:record
- get\_node\_stat\_reset\_time\(\)
- 描述:获取当前结点的统计信息重置(重启,主备倒换,数据库删除)时间。
+ 描述:获取当前节点的统计信息重置(重启,主备倒换,数据库删除)时间。
返回值类型:record
-- dbms\_perf.get\_average\_value\(\)
-
- 描述:获取当前结点的统计信息重置(重启,主备倒换,数据库删除)时间。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_global\_os\_runtime\(\)
+- DBE\_PERF.get\_global\_os\_runtime\(\)
描述:显示当前操作系统运行的状态信息,仅在数据库主节点上支持查询,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_os\_threads\(\)
-
- 描述:提供openGauss中所有正常节点下的线程状态信息,仅在数据库主节点上支持查询,查询该函数必须具有sysadmin权限。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_global\_os\_threads\(\)
+- DBE\_PERF.get\_global\_os\_threads\(\)
描述:提供openGauss中所有正常节点下的线程状态信息,仅在数据库主节点上支持查询,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_workload\_sql\_count\(\)
+- DBE\_PERF.get\_summary\_workload\_sql\_count\(\)
描述:提供openGauss中不同负载SELECT,UPDATE,INSERT,DELETE,DDL, DML,DCL计数信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_workload\_sql\_elapse\_time\(\)
+- DBE\_PERF.get\_summary\_workload\_sql\_elapse\_time\(\)
描述:提供openGauss中不同负载SELECT,UPDATE,INSERT,DELETE,响应时间信息(TOTAL,AVG, MIN, MAX),查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_workload\_transaction\(\)
+- DBE\_PERF.get\_global\_workload\_transaction\(\)
描述:获取openGauss内所有节点上的事务量信息,事务时间信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_session\_stat\(\)
+- DBE\_PERF.get\_global\_session\_stat\(\)
描述:获取openGauss节点上的会话状态信息,查询该函数必须具有sysadmin权限。
@@ -1021,19 +1009,19 @@
>blocks\_read\_time,blocks\_write\_time,sort\_imemory,sort\_idisk,cu\_mem\_hit,
>cu\_hdd\_sync\_read,cu\_hdd\_asyread
-- DBMS\_PERF.get\_global\_session\_time\(\)
+- DBE\_PERF.get\_global\_session\_time\(\)
描述:提供openGauss各节点各个关键阶段的时间消耗,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_session\_memory\(\)
+- DBE\_PERF.get\_global\_session\_memory\(\)
描述:汇聚各节点的Session级别的内存使用情况,包含执行作业在数据节点上Postgres线程和Stream线程分配的所有内存,单位为MB,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_session\_memory\_detail\(\)
+- DBE\_PERF.get\_global\_session\_memory\_detail\(\)
描述:汇聚各节点的线程的内存使用情况,以MemoryContext节点来统计,查询该函数必须具有sysadmin权限。
@@ -1045,487 +1033,403 @@
返回值类型:record
-- DBMS\_PERF.get\_global\_session\_stat\_activity\(\)
+- DBE\_PERF.get\_global\_session\_stat\_activity\(\)
描述:汇聚openGauss内各节点上正在运行的线程相关的信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_thread\_wait\_status\(\)
+- DBE\_PERF.get\_global\_thread\_wait\_status\(\)
- 描述:汇聚所有结点上工作线程(backend thread)以及辅助线程(auxiliary thread)的阻塞等待情况,查询该函数必须具有sysadmin权限。
+ 描述:汇聚所有节点上工作线程(backend thread)以及辅助线程(auxiliary thread)的阻塞等待情况,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_wlm\_controlgroup\_ng\_config\(\)
-
- 描述:数据库内所有的控制组信息,查询该函数必须具有sysadmin权限。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_wlm\_user\_resource\_runtime\(\)
+- DBE\_PERF.get\_wlm\_user\_resource\_runtime\(\)
描述:显示所有用户资源使用情况,参数use\_workload\_manager为on时才有效,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_wlm\_workload\_runtime\(\)
-
- 描述:汇聚当前用户在数据库主节点上执行作业时在数据库主节点上的状态信息,查询该函数必须具有sysadmin权限。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_global\_operator\_ec\_history\(\)
-
- 描述:汇聚当前用户在数据库主节点上EC算子的历史状态信息,查询该函数必须具有sysadmin权限。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_global\_operator\_ec\_history\_table\(\)
-
- 描述:汇聚当前用户在数据库主节点上EC算子的历史状态信息(持久化),查询该函数必须具有sysadmin权限。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_global\_operator\_ec\_runtime\(\)
-
- 描述:汇聚当前用户在数据库主节点上EC算子的实时状态信息,查询该函数必须具有sysadmin权限。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_global\_operator\_history\_table\(\)
+- DBE\_PERF.get\_global\_operator\_history\_table\(\)
描述:汇聚当前用户数据库主节点上执行作业结束后的算子相关记录(持久化),查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_operator\_history\(\)
+- DBE\_PERF.get\_global\_operator\_history\(\)
描述:汇聚当前用户数据库主节点上执行作业结束后的算子相关记录,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_operator\_runtime\(\)
+- DBE\_PERF.get\_global\_operator\_runtime\(\)
描述:汇聚当前用户数据库主节点上执行作业实时的算子相关记录,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_statement\_complex\_history\(\)
+- DBE\_PERF.get\_global\_statement\_complex\_history\(\)
描述:汇聚当前用户数据库主节点上复杂查询的历史记录,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_statement\_complex\_history\_table\(\)
+- DBE\_PERF.get\_global\_statement\_complex\_history\_table\(\)
描述:汇聚当前用户数据库主节点上复杂查询的历史记录(持久化),查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_statement\_complex\_runtime\(\)
+- DBE\_PERF.get\_global\_statement\_complex\_runtime\(\)
描述:汇聚当前用户数据库主节点上复杂查询的实时信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_memory\_node\_detail\(\)
+- DBE\_PERF.get\_global\_memory\_node\_detail\(\)
描述:汇聚所有节点某个数据库节点内存使用情况,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_shared\_memory\_detail\(\)
+- DBE\_PERF.get\_global\_shared\_memory\_detail\(\)
描述:汇聚所有节点已产生的共享内存上下文的使用信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_comm\_delay\(\)
-
- 描述:汇聚数据库节点的通信库时延状态,查询该函数必须具有sysadmin权限。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_global\_comm\_recv\_stream\(\)
-
- 描述:汇聚数据库节点的通信库接收流状态,查询该函数必须具有sysadmin权限。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_global\_comm\_send\_stream\(\)
-
- 描述:汇聚数据库节点的通信库发送流状态,查询该函数必须具有sysadmin权限。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_global\_comm\_status\(\)
-
- 描述:汇聚数据库节点的通信库状态,查询该函数必须具有sysadmin权限。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_global\_statio\_all\_indexes
+- DBE\_PERF.get\_global\_statio\_all\_indexes
描述:汇聚所有节点当前数据库中的每个索引行,显示特定索引的I/O的统计,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_local\_toastname\_and\_toastindexname\(\)
+- DBE\_PERF.get\_local\_toastname\_and\_toastindexname\(\)
描述:提供本地toast表的name和index和其关联表的对应关系。
返回值类型:record
-- DBMS\_PERF.get\_summary\_statio\_all\_indexes
+- DBE\_PERF.get\_summary\_statio\_all\_indexes\(\)
描述:统计所有节点当前数据库中的每个索引行,显示特定索引的I/O的统计,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_statio\_all\_sequences
+- DBE\_PERF.get\_global\_statio\_all\_sequences\(\)
描述:提供命名空间中所有sequences的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_statio\_all\_tables
+- DBE\_PERF.get\_global\_statio\_all\_tables\(\)
描述:汇聚各节点的数据库中每个表I/O的统计,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_statio\_all\_tables
+- DBE\_PERF.get\_summary\_statio\_all\_tables\(\)
描述:统计openGauss内数据库中每个表I/O的统计,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_local\_toast\_relation\(\)
+- DBE\_PERF.get\_local\_toast\_relation\(\)
- 描述:提供本地toast表的name和其关联表的对应关系。
+ 描述:提供本地toast表的name和其关联表的对应关系,查询该函数必须具有sysadmin权限
返回值类型:record
-- DBMS\_PERF.get\_global\_statio\_sys\_indexes\(\)
+- DBE\_PERF.get\_global\_statio\_sys\_indexes\(\)
描述:汇聚各节点的命名空间中所有系统表索引的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_statio\_sys\_indexes\(\)
+- DBE\_PERF.get\_summary\_statio\_sys\_indexes\(\)
描述:统计各节点的命名空间中所有系统表索引的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_statio\_sys\_sequences\(\)
+- DBE\_PERF.get\_global\_statio\_sys\_sequences\(\)
描述:提供命名空间中所有系统表为sequences的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_statio\_sys\_tables\(\)
+- DBE\_PERF.get\_global\_statio\_sys\_tables\(\)
描述:提供各节点的命名空间中所有系统表的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_statio\_sys\_tables\(\)
+- DBE\_PERF.get\_summary\_statio\_sys\_tables\(\)
描述:openGauss内汇聚命名空间中所有系统表的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_statio\_user\_indexes\(\)
+- DBE\_PERF.get\_global\_statio\_user\_indexes\(\)
描述:各节点的命名空间中所有用户关系表索引的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_statio\_user\_indexes\(\)
+- DBE\_PERF.get\_summary\_statio\_user\_indexes\(\)
描述:openGauss内汇聚命名空间中所有用户关系表索引的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_statio\_user\_sequences\(\)
+- DBE\_PERF.get\_global\_statio\_user\_sequences\(\)
描述:显示各节点的命名空间中所有用户的sequences的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_statio\_user\_tables\(\)
+- DBE\_PERF.get\_global\_statio\_user\_tables\(\)
描述:显示各节点的命名空间中所有用户关系表的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_statio\_user\_tables\(\)
+- DBE\_PERF.get\_summary\_statio\_user\_tables\(\)
描述:openGauss内汇聚命名空间中所有用户关系表的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_stat\_db\_cu\(\)
+- DBE\_PERF.get\_stat\_db\_cu\(\)
描述:视图查询openGauss各个节点,每个数据库的CU命中情况,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_dn\_stat\_all\_tables\(\)
-
- 描述:汇聚数据库节点结点数据库中每个表的统计信息,查询该函数必须具有sysadmin权限。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_global\_cn\_stat\_all\_tables\(\)
+- DBE\_PERF.get\_global\_stat\_all\_indexes\(\)
- 描述:汇聚数据库主节点结点数据库中每个表的统计信息,查询该函数必须具有sysadmin权限。
+ 描述:汇聚所有节点数据库中每个索引的统计信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_dn\_stat\_all\_tables\(\)
+- DBE\_PERF.get\_summary\_stat\_all\_indexes\(\)
- 描述:统计数据库节点结点数据库中每个表的统计信息,查询该函数必须具有sysadmin权限。
+ 描述:统计所有节点数据库中每个索引的统计信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_cn\_stat\_all\_tables\(\)
-
- 描述:统计数据库主节点结点数据库中每个表的统计信息,查询该函数必须具有sysadmin权限。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_global\_stat\_all\_indexes\(\)
-
- 描述:汇聚所有结点数据库中每个索引的统计信息,查询该函数必须具有sysadmin权限。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_summary\_stat\_all\_indexes\(\)
-
- 描述:统计所有结点数据库中每个索引的统计信息,查询该函数必须具有sysadmin权限。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_global\_stat\_sys\_tables\(\)
+- DBE\_PERF.get\_global\_stat\_sys\_tables\(\)
描述:汇聚各节点pg\_catalog、information\_schema模式的所有命名空间中系统表的统计信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_stat\_sys\_tables\(\)
+- DBE\_PERF.get\_summary\_stat\_sys\_tables\(\)
描述:统计各节点pg\_catalog、information\_schema模式的所有命名空间中系统表的统计信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_stat\_sys\_indexes\(\)
+- DBE\_PERF.get\_global\_stat\_sys\_indexes\(\)
描述:汇聚各节点pg\_catalog、information\_schema模式中所有系统表的索引状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_stat\_sys\_indexes\(\)
+- DBE\_PERF.get\_summary\_stat\_sys\_indexes\(\)
描述:统计各节点pg\_catalog、information\_schema模式中所有系统表的索引状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_stat\_user\_tables\(\)
+- DBE\_PERF.get\_global\_stat\_user\_tables\(\)
描述:汇聚所有命名空间中用户自定义普通表的状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_stat\_user\_tables\(\)
+- DBE\_PERF.get\_summary\_stat\_user\_tables\(\)
描述:统计所有命名空间中用户自定义普通表的状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_stat\_user\_indexes\(\)
+- DBE\_PERF.get\_global\_stat\_user\_indexes\(\)
描述:汇聚所有数据库中用户自定义普通表的索引状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_stat\_user\_indexes\(\)
+- DBE\_PERF.get\_summary\_stat\_user\_indexes\(\)
描述:统计所有数据库中用户自定义普通表的索引状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_stat\_database\(\)
+- DBE\_PERF.get\_global\_stat\_database\(\)
描述:汇聚所有节点数据库统计信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_stat\_database\_conflicts\(\)
+- DBE\_PERF.get\_global\_stat\_database\_conflicts\(\)
描述:统计所有节点数据库统计信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_stat\_xact\_all\_tables\(\)
+- DBE\_PERF.get\_global\_stat\_xact\_all\_tables\(\)
描述:汇聚命名空间中所有普通表和toast表的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_stat\_xact\_all\_tables\(\)
+- DBE\_PERF.get\_summary\_stat\_xact\_all\_tables\(\)
描述:统计命名空间中所有普通表和toast表的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_stat\_xact\_sys\_tables\(\)
+- DBE\_PERF.get\_global\_stat\_xact\_sys\_tables\(\)
描述:汇聚所有节点命名空间中系统表的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_stat\_xact\_sys\_tables\(\)
+- DBE\_PERF.get\_summary\_stat\_xact\_sys\_tables\(\)
描述:统计所有节点命名空间中系统表的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_stat\_xact\_user\_tables\(\)
+- DBE\_PERF.get\_global\_stat\_xact\_user\_tables\(\)
描述:汇聚所有节点命名空间中用户表的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_stat\_xact\_user\_tables\(\)
+- DBE\_PERF.get\_summary\_stat\_xact\_user\_tables\(\)
描述:统计所有节点命名空间中用户表的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_stat\_user\_functions\(\)
+- DBE\_PERF.get\_global\_stat\_user\_functions\(\)
描述:汇聚所有节点命名空间中用户定义函数的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_stat\_xact\_user\_functions\(\)
+- DBE\_PERF.get\_global\_stat\_xact\_user\_functions\(\)
描述:统计所有节点命名空间中用户定义函数的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_stat\_bad\_block\(\)
+- DBE\_PERF.get\_global\_stat\_bad\_block\(\)
描述:汇聚所有节点表、索引等文件的读取失败信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_file\_redo\_iostat\(\)
+- DBE\_PERF.get\_global\_file\_redo\_iostat\(\)
描述:统计所有节点表、索引等文件的读取失败信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_file\_iostat\(\)
+- DBE\_PERF.get\_global\_file\_iostat\(\)
描述:汇聚所有节点数据文件IO的统计,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_locks\(\)
+- DBE\_PERF.get\_global\_locks\(\)
描述:汇聚所有节点的锁信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_replication\_slots\(\)
+- DBE\_PERF.get\_global\_replication\_slots\(\)
描述:汇聚所有节点上逻辑复制信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_bgwriter\_stat\(\)
+- DBE\_PERF.get\_global\_bgwriter\_stat\(\)
描述:汇聚所有节点后端写进程活动的统计信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_replication\_stat\(\)
+- DBE\_PERF.get\_global\_replication\_stat\(\)
描述:汇聚各节点日志同步状态信息,如发起端发送日志位置,收端接收日志位置等,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_pooler\_status\(\)
-
- 描述:汇聚数据库主节点的pooler中的缓存连接状态,查询该函数必须具有sysadmin权限。
-
- 返回值类型:record
-
-- DBMS\_PERF.get\_global\_transactions\_running\_xacts\(\)
+- DBE\_PERF.get\_global\_transactions\_running\_xacts\(\)
描述:汇聚各节点运行事务的信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_transactions\_running\_xacts\(\)
+- DBE\_PERF.get\_summary\_transactions\_running\_xacts\(\)
描述:统计各节点运行事务的信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_transactions\_prepared\_xacts\(\)
+- DBE\_PERF.get\_global\_transactions\_prepared\_xacts\(\)
描述:汇聚各节点当前准备好进行两阶段提交的事务的信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_transactions\_prepared\_xacts\(\)
+- DBE\_PERF.get\_summary\_transactions\_prepared\_xacts\(\)
描述:统计各节点当前准备好进行两阶段提交的事务的信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_statement\(\)
+- DBE\_PERF.get\_summary\_statement\(\)
描述:汇聚各节点历史执行语句状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_statement\_count\(\)
+- DBE\_PERF.get\_global\_statement\_count\(\)
描述:汇聚各节点SELECT,UPDATE,INSERT,DELETE,响应时间信息(TOTAL,AVG, MIN, MAX),查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_config\_settings\(\)
+- DBE\_PERF.get\_global\_config\_settings\(\)
描述:汇聚各节点GUC参数配置信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_wait\_events\(\)
+- DBE\_PERF.get\_global\_wait\_events\(\)
描述:汇聚各节点wait events状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_statement\_responsetime\_percentile\(\)
+- DBE\_PERF.get\_statement\_responsetime\_percentile\(\)
描述:获取openGaussSQL响应时间P80,P95分布信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_summary\_user\_login\(\)
+- DBE\_PERF.get\_summary\_user\_login\(\)
描述:统计openGauss各节点用户登入登出次数信息,查询该函数必须具有sysadmin权限。
返回值类型:record
-- DBMS\_PERF.get\_global\_record\_reset\_time\(\)
+- DBE\_PERF.get\_global\_record\_reset\_time\(\)
描述:汇聚openGauss统计信息重置(重启,主备倒换,数据库删除)时间,查询该函数必须具有sysadmin权限。
@@ -1543,70 +1447,12 @@
返回值类型:record
-- DBMS\_PERF.get\_global\_rel\_iostat\(\)
+- DBE\_PERF.get\_global\_rel\_iostat\(\)
描述:汇聚所有节点数据文件IO的统计,查询该函数必须具有sysadmin权限。
返回值类型:record
-- 函数返回字段描述如下:
-
-**表 1** PGXC\_GTM\_SNAPSHOT\_STATUS返回参数说明
-
-
- 名称
-
- 类型
-
- 描述
-
-
-
- xmin
-
- xid
-
- 仍在运行的最小事务号。
-
-
- xmax
-
- xid
-
- 已完成的所有事务号中最大事务号的下一个事务号。
-
-
- csn
-
- integer
-
- 待提交事务的序列号。
-
-
- oldestxmin
-
- xid
-
- 当前最早的活跃事务在其取快照时,所有运行事务号最小的事务。
-
-
- xcnt
-
- integer
-
- 当前活跃的事务个数。
-
-
- running_xids
-
- text
-
- 当前活跃的事务号。
-
-
-
-
-
示例:
@@ -1630,5 +1476,3 @@ postgres=# SELECT pg_stat_get_backend_pid(1);
(1 row)
```
-> **须知:**
-
diff --git "a/content/zh/docs/Developerguide/\347\273\237\350\256\241\344\277\241\346\201\257\350\260\203\344\274\230.md" "b/content/zh/docs/Developerguide/\347\273\237\350\256\241\344\277\241\346\201\257\350\260\203\344\274\230.md"
new file mode 100644
index 0000000000000000000000000000000000000000..dbecdd2e0df1981a5bbcb4701ce86e0295041e53
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\273\237\350\256\241\344\277\241\346\201\257\350\260\203\344\274\230.md"
@@ -0,0 +1,93 @@
+# 统计信息调优
+
+## 统计信息调优介绍
+
+openGauss是基于代价估算生成的最优执行计划。优化器需要根据analyze收集的统计信息行数估算和代价估算,因此统计信息对优化器行数估算和代价估算起着至关重要的作用。通过analyze收集全局统计信息,主要包括:pg\_class表中的relpages和reltuples;pg\_statistic表中的stadistinct、stanullfrac、stanumbersN、stavaluesN、histogram\_bounds等。
+
+## 实例分析1:未收集统计信息导致查询性能差
+
+在很多场景下,由于查询中涉及到的表或列没有收集统计信息,会对查询性能有很大的影响。
+
+表结构如下所示:
+
+```
+CREATE TABLE LINEITEM
+(
+L_ORDERKEY BIGINT NOT NULL
+, L_PARTKEY BIGINT NOT NULL
+, L_SUPPKEY BIGINT NOT NULL
+, L_LINENUMBER BIGINT NOT NULL
+, L_QUANTITY DECIMAL(15,2) NOT NULL
+, L_EXTENDEDPRICE DECIMAL(15,2) NOT NULL
+, L_DISCOUNT DECIMAL(15,2) NOT NULL
+, L_TAX DECIMAL(15,2) NOT NULL
+, L_RETURNFLAG CHAR(1) NOT NULL
+, L_LINESTATUS CHAR(1) NOT NULL
+, L_SHIPDATE DATE NOT NULL
+, L_COMMITDATE DATE NOT NULL
+, L_RECEIPTDATE DATE NOT NULL
+, L_SHIPINSTRUCT CHAR(25) NOT NULL
+, L_SHIPMODE CHAR(10) NOT NULL
+, L_COMMENT VARCHAR(44) NOT NULL
+) with (orientation = column, COMPRESSION = MIDDLE);
+
+CREATE TABLE ORDERS
+(
+O_ORDERKEY BIGINT NOT NULL
+, O_CUSTKEY BIGINT NOT NULL
+, O_ORDERSTATUS CHAR(1) NOT NULL
+, O_TOTALPRICE DECIMAL(15,2) NOT NULL
+, O_ORDERDATE DATE NOT NULL
+, O_ORDERPRIORITY CHAR(15) NOT NULL
+, O_CLERK CHAR(15) NOT NULL
+, O_SHIPPRIORITY BIGINT NOT NULL
+, O_COMMENT VARCHAR(79) NOT NULL
+)with (orientation = column, COMPRESSION = MIDDLE);
+```
+
+查询语句如下所示:
+
+```
+explain verbose select
+count(*) as numwait
+from
+lineitem l1,
+orders
+where
+o_orderkey = l1.l_orderkey
+and o_orderstatus = 'F'
+and l1.l_receiptdate > l1.l_commitdate
+and not exists (
+select
+*
+from
+lineitem l3
+where
+l3.l_orderkey = l1.l_orderkey
+and l3.l_suppkey <> l1.l_suppkey
+and l3.l_receiptdate > l3.l_commitdate
+)
+order by
+numwait desc;
+```
+
+当出现该问题时,可以通过如下方法确认查询中涉及到的表或列有没有做过analyze收集统计信息。
+
+1. 通过explain verbose执行query分析执行计划时会提示WARNING信息,如下所示:
+
+ ```
+ WARNING:Statistics in some tables or columns(public.lineitem.l_receiptdate, public.lineitem.l_commitdate, public.lineitem.l_orderkey, public.lineitem.l_suppkey, public.orders.o_orderstatus, public.orders.o_orderkey) are not collected.
+ HINT:Do analyze for them in order to generate optimized plan.
+ ```
+
+2. 可以通过在pg\_log目录下的日志文件中查找以下信息来确认是当前执行的query是否由于没有收集统计信息导致查询性能变差。
+
+ ```
+ 2017-06-14 17:28:30.336 CST 140644024579856 20971684 [BACKEND] LOG:Statistics in some tables or columns(public.lineitem.l_receiptdate, public.lineitem.l_commitdate, public.lineitem.l_orderkey, public.linei
+ tem.l_suppkey, public.orders.o_orderstatus, public.orders.o_orderkey) are not collected.
+ 2017-06-14 17:28:30.336 CST 140644024579856 20971684 [BACKEND] HINT:Do analyze for them in order to generate optimized plan.
+ ```
+
+
+当通过以上方法查看到哪些表或列没有做analyze,可以通过对WARNING或日志中上报的表或列做analyze可以解决由于为收集统计信息导致查询变慢的问题。
+
diff --git "a/content/zh/docs/Developerguide/\347\273\264\346\212\244\345\256\241\350\256\241\346\227\245\345\277\227.md" "b/content/zh/docs/Developerguide/\347\273\264\346\212\244\345\256\241\350\256\241\346\227\245\345\277\227.md"
index b3e9f34d01a57c9a3e9c91e2e5b3468b02f2d75a..0aca73388296b4a155c6626304415519f1a7e4d9 100644
--- "a/content/zh/docs/Developerguide/\347\273\264\346\212\244\345\256\241\350\256\241\346\227\245\345\277\227.md"
+++ "b/content/zh/docs/Developerguide/\347\273\264\346\212\244\345\256\241\350\256\241\346\227\245\345\277\227.md"
@@ -115,7 +115,7 @@
连接成功后,系统显示类似如下信息:
```
- gsql ((openGauss 1.0 build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131
+ gsql ((openGauss 1.0 build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
@@ -147,7 +147,7 @@
2. 建议执行如下命令设置成默认值1024MB。
```
- gs_guc reload -Z coordinator -Z datanode -N all -I all -c "audit_space_limit=1024MB"
+ gs_guc reload -N all -I all -c "audit_space_limit=1024MB"
```
配置审计文件个数的最大值(audit\_file\_remain\_threshold)。
@@ -167,7 +167,7 @@
2. 建议执行如下命令设置成默认值1048576。
```
- gs_guc reload -Z coordinator -Z datanode -N all -I all -c "audit_file_remain_threshold=1048576"
+ gs_guc reload -N all -I all -c "audit_file_remain_threshold=1048576"
```
- 手动备份审计文件
diff --git "a/content/zh/docs/Developerguide/\347\275\221\347\273\234.md" "b/content/zh/docs/Developerguide/\347\275\221\347\273\234.md"
new file mode 100644
index 0000000000000000000000000000000000000000..203180ac2a22eb0662253a42b9c9142de605fcbf
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\347\275\221\347\273\234.md"
@@ -0,0 +1,60 @@
+# 网络
+
+通过sar或ifconfig命令查看openGauss内节点网络使用情况,分析是否存在由于网络导致的性能瓶颈。
+
+## 查看网络状况
+
+查询服务器网络状况的方法主要有以下两种方式:
+
+- 使用root用户身份登录服务器,执行如下命令查看服务器网络连接。
+
+ ```
+ SIA1000056771:~ # ifconfig
+ eth0 Link encap:Ethernet HWaddr 28:6E:D4:86:7D:D5
+ inet addr:10.180.123.163 Bcast:10.180.123.255 Mask:255.255.254.0
+ inet6 addr: fe80::2a6e:d4ff:fe86:7dd5/64 Scope:Link
+ UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
+ RX packets:5669314 errors:0 dropped:0 overruns:0 frame:0
+ TX packets:4955927 errors:0 dropped:0 overruns:0 carrier:0
+ collisions:0 txqueuelen:1000
+ RX bytes:508077795 (484.5 Mb) TX bytes:818004366 (780.1 Mb)
+
+ lo Link encap:Local Loopback
+ inet addr:127.0.0.1 Mask:255.0.0.0
+ inet6 addr: ::1/128 Scope:Host
+ UP LOOPBACK RUNNING MTU:16436 Metric:1
+ RX packets:711938 errors:0 dropped:0 overruns:0 frame:0
+ TX packets:711938 errors:0 dropped:0 overruns:0 carrier:0
+ collisions:0 txqueuelen:0
+ RX bytes:164158862 (156.5 Mb) TX bytes:164158862 (156.5 Mb)
+ ```
+
+ - “errors”表示收包错误的总数量。
+ - “dropped”表示数据包已经进入了Ring Buffer,但是由于内存不够等系统原因,导致在拷贝到内存的过程中被丢弃的总数量。
+ - “overruns”表示Ring Buffer队列中被丢弃的报文数目,由于Ring Buffer\(aka Driver Queue\)传输的IO大于kernel能够处理的IO导致。
+
+ 分析时,如果发现上述三个值持续增长,则表示网络负载过大或者存在网卡、内存等硬件故障。
+
+- 使用sar命令查看服务器网络连接。
+
+ ```
+ sar -n DEV 1 //1为间隔时间
+ Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
+ Average: lo 1926.94 1926.94 25573.92 25573.92 0.00 0.00 0.00 0.00
+ Average: A1-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
+ Average: A1-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
+ Average: NIC0 5.17 1.48 0.44 0.92 0.00 0.00 0.00 0.00
+ Average: NIC1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
+ Average: A0-0 8173.06 92420.66 97102.22 133305.09 0.00 0.00 0.00 0.00
+ Average: A0-1 11431.37 9373.06 156950.45 494.40 0.00 0.00 0.00 0.00
+ Average: B3-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
+ Average: B3-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
+ ```
+
+ “rxkB/s”为每秒接收的kB数,“txkB/s”为每秒发送的kB数。
+
+ 分析时,请主要关注每个网卡的传输量和是否达到传输上限。
+
+ 检查完后,按“Ctrl+Z”键退出查看。
+
+
diff --git "a/content/zh/docs/Developerguide/\347\275\221\347\273\234\345\234\260\345\235\200\347\261\273\345\236\213.md" "b/content/zh/docs/Developerguide/\347\275\221\347\273\234\345\234\260\345\235\200\347\261\273\345\236\213.md"
index 909caa22932032fbfab0c5f0ca027efea2d3c603..ef91740aba524e9981500458c968d2f7affa790c 100644
--- "a/content/zh/docs/Developerguide/\347\275\221\347\273\234\345\234\260\345\235\200\347\261\273\345\236\213.md"
+++ "b/content/zh/docs/Developerguide/\347\275\221\347\273\234\345\234\260\345\235\200\347\261\273\345\236\213.md"
@@ -2,7 +2,7 @@
openGauss提供用于存储IPv4、IPv6、MAC地址的数据类型。
-用这些数据类型存储网络地址比用纯文本类型好,因为这些类型提供输入错误检查和特殊的操作和功能(请参见[网络地址函数和操作符](网络地址函数和操作符.md#ZH-CN_TOPIC_0242370439))。
+用这些数据类型存储网络地址比用纯文本类型好,因为这些类型提供输入错误检查和特殊的操作和功能(请参见[网络地址函数和操作符](网络地址函数和操作符.md))。
**表 1** 网络地址类型
diff --git "a/content/zh/docs/Developerguide/\350\201\232\351\233\206\345\207\275\346\225\260.md" "b/content/zh/docs/Developerguide/\350\201\232\351\233\206\345\207\275\346\225\260.md"
index d48607e8c1713422430e765f2af90f1c6571c86d..976dbe7f0dc9e536243660541188adfb2a67be0c 100644
--- "a/content/zh/docs/Developerguide/\350\201\232\351\233\206\345\207\275\346\225\260.md"
+++ "b/content/zh/docs/Developerguide/\350\201\232\351\233\206\345\207\275\346\225\260.md"
@@ -445,63 +445,6 @@
(1 row)
```
-- rank\(expression\)
-
- 描述:根据expression对不同组内的元组进行跳跃排序。
-
- 返回类型:BIGINT
-
- 示例:
-
- ```
- postgres=# SELECT d_moy, d_fy_week_seq, rank() OVER(PARTITION BY d_moy ORDER BY d_fy_week_seq) FROM tpcds.date_dim WHERE d_moy < 4 AND d_fy_week_seq < 7 ORDER BY 1,2;
- d_moy | d_fy_week_seq | rank
- -------+---------------+------
- 1 | 1 | 1
- 1 | 1 | 1
- 1 | 1 | 1
- 1 | 1 | 1
- 1 | 1 | 1
- 1 | 1 | 1
- 1 | 1 | 1
- 1 | 2 | 8
- 1 | 2 | 8
- 1 | 2 | 8
- 1 | 2 | 8
- 1 | 2 | 8
- 1 | 2 | 8
- 1 | 2 | 8
- 1 | 3 | 15
- 1 | 3 | 15
- 1 | 3 | 15
- 1 | 3 | 15
- 1 | 3 | 15
- 1 | 3 | 15
- 1 | 3 | 15
- 1 | 4 | 22
- 1 | 4 | 22
- 1 | 4 | 22
- 1 | 4 | 22
- 1 | 4 | 22
- 1 | 4 | 22
- 1 | 4 | 22
- 1 | 5 | 29
- 1 | 5 | 29
- 2 | 5 | 1
- 2 | 5 | 1
- 2 | 5 | 1
- 2 | 5 | 1
- 2 | 5 | 1
- 2 | 6 | 6
- 2 | 6 | 6
- 2 | 6 | 6
- 2 | 6 | 6
- 2 | 6 | 6
- 2 | 6 | 6
- 2 | 6 | 6
- (42 rows)
- ```
-
- regr\_avgx\(Y, X\)
描述:自变量的平均值 \(sum\(X\)/N\)
diff --git "a/content/zh/docs/Developerguide/\350\216\267\345\217\226\345\270\256\345\212\251-13.md" "b/content/zh/docs/Developerguide/\350\216\267\345\217\226\345\270\256\345\212\251-13.md"
new file mode 100644
index 0000000000000000000000000000000000000000..261614471e7d566d36c381683cab34310dfeb39b
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\350\216\267\345\217\226\345\270\256\345\212\251-13.md"
@@ -0,0 +1,31 @@
+# 获取帮助
+
+使用Sqldiag工具前,您可以通过以下指令获取帮助。
+
+```
+cd src
+python main.py --help
+```
+
+显示如下帮助信息:
+
+```
+usage: main.py [-h] [--train TRAIN] [--model MODEL] [--predict PREDICT]
+ [--ratio RATIO]
+ {all,train,predict}
+
+Slow SQL Diagnose
+
+positional arguments:
+ {all,train,predict} Execution style
+
+optional arguments:
+ -h, --help show this help message and exit
+ --train TRAIN History Log Data Directory
+ --model MODEL Output data directory
+ --predict PREDICT To-be-predicted workload data directory
+ --ratio RATIO Ratio threshold for retrain recommend
+```
+
+您也可以通过工具内的Readme文件获取更加详细的帮助。
+
diff --git "a/content/zh/docs/Developerguide/\350\216\267\345\217\226\345\270\256\345\212\251.md" "b/content/zh/docs/Developerguide/\350\216\267\345\217\226\345\270\256\345\212\251.md"
new file mode 100644
index 0000000000000000000000000000000000000000..4402577a30b253f4e9b12cf01919049d70f45c9d
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\350\216\267\345\217\226\345\270\256\345\212\251.md"
@@ -0,0 +1,45 @@
+# 获取帮助
+
+启动调优程序之前,可以通过如下命令获取帮助信息:
+
+```
+python main.py --help
+```
+
+输出帮助信息结果如下:
+
+```
+usage: main.py [-h] [-m {train,tune}] [-f CONFIG_FILE] [--db-name DB_NAME]
+[--db-user DB_USER] [--port PORT] [--host HOST]
+[--host-user HOST_USER] [--host-ssh-port HOST_SSH_PORT]
+[--scenario {ap,tp,htap}] [--benchmark BENCHMARK]
+[--model-path MODEL_PATH] [-v]
+
+X-Tuner: a self-tuning toolkit for OpenGauss.
+
+optional arguments:
+-h, --help show this help message and exit
+-m {train,tune}, --mode {train,tune}
+train a reinforcement learning model or tune by your
+trained model.
+-f CONFIG_FILE, --config-file CONFIG_FILE
+you can pass a config file path or you should manually
+set database information.
+--db-name DB_NAME database name.
+--db-user DB_USER database user name.
+--port PORT database connection port.
+--host HOST where did your database install on?
+--host-user HOST_USER
+user name of the host where your database installed
+on.
+--host-ssh-port HOST_SSH_PORT
+host ssh port.
+--scenario {ap,tp,htap}
+--benchmark BENCHMARK
+--model-path MODEL_PATH
+the place where you want to save model weights to or
+load model weights from.
+-v, --version
+show version.
+```
+
diff --git "a/content/zh/docs/Developerguide/\350\241\214\346\225\260\347\232\204Hint.md" "b/content/zh/docs/Developerguide/\350\241\214\346\225\260\347\232\204Hint.md"
new file mode 100644
index 0000000000000000000000000000000000000000..4b37ebaee8b0d5935f1b36d005509afdef4a552c
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\350\241\214\346\225\260\347\232\204Hint.md"
@@ -0,0 +1,42 @@
+# 行数的Hint
+
+## 功能描述
+
+指明中间结果集的大小,支持绝对值和相对值的hint。
+
+## 语法格式
+
+```
+rows(table_list #|+|-|* const)
+```
+
+## 参数说明
+
+- **\#**,**+**,**-**,**\***,进行行数估算hint的四种操作符号。\#表示直接使用后面的行数进行hint。+,-,\*表示对原来估算的行数进行加、减、乘操作,运算后的行数最小值为1行。table\_list为hint对应的单表或多表join结果集,与[Join方式的Hint](Join方式的Hint.md)中[table\_list](Join方式的Hint.md#zh-cn_topic_0237121534_li1090312446510)相同。
+
+- **const**可以是任意非负数,支持科学计数法。
+
+例如:
+
+rows\(t1 \#5\)表示:指定t1表的结果集为5行。
+
+rows\(t1 t2 t3 \*1000\)表示:指定t1, t2, t3 join完的结果集的行数乘以1000。
+
+## 建议
+
+- 推荐使用两个表\*的hint。对于两个表的采用\*操作符的hint,只要两个表出现在join的两端,都会触发hint。例如:设置hint为rows\(t1 t2 \* 3\),对于\(t1 t3 t4\)和\(t2 t5 t6\)join时,由于t1和t2出现在join的两端,所以其join的结果集也会应用该hint规则乘以3。
+- rows hint支持在单表、多表、function table及subquery scan table的结果集上指定hint。
+
+## 示例
+
+对[示例](Plan-Hint调优概述.md#zh-cn_topic_0237121532_section671421102912)中原语句使用如下hint:
+
+```
+explain
+select /*+ rows(store_sales store_returns *50) */ i_product_name product_name ...
+```
+
+该hint表示:store\_sales,store\_returns关联的结果集估算行数在原估算行数基础上乘以50。生成计划如下所示:
+
+
+
diff --git "a/content/zh/docs/Developerguide/\350\247\222\350\211\262.md" "b/content/zh/docs/Developerguide/\350\247\222\350\211\262.md"
index 7af9c132b011a495e50f2abbee6bdaaec7c09fe1..9d409ea5c72b61db11cfb36bc198f58643691b81 100644
--- "a/content/zh/docs/Developerguide/\350\247\222\350\211\262.md"
+++ "b/content/zh/docs/Developerguide/\350\247\222\350\211\262.md"
@@ -12,9 +12,9 @@ SELECT * FROM PG_ROLES;
## 创建、修改和删除角色
-非[三权分立](三权分立.md#ZH-CN_TOPIC_0246507960)时,只有系统管理员和具有CREATEROLE属性的用户才能创建、修改或删除角色。三权分立下,只有初始用户和具有CREATEROLE属性的用户才能创建、修改或删除角色。
+非[三权分立](三权分立.md)时,只有系统管理员和具有CREATEROLE属性的用户才能创建、修改或删除角色。三权分立下,只有初始用户和具有CREATEROLE属性的用户才能创建、修改或删除角色。
- 要创建角色,请使用[CREATE ROLE](CREATE-ROLE.md)。
-- 要在现有角色中添加或删除用户,请使用[ALTER ROLE](ALTER-ROLE.md#ZH-CN_TOPIC_0242370532)。
-- 要删除角色,请使用[DROP ROLE](DROP-ROLE.md#ZH-CN_TOPIC_0242370611)。DROP ROLE只会删除角色,并不会删除角色中的成员用户帐户。
+- 要在现有角色中添加或删除用户,请使用[ALTER ROLE](ALTER-ROLE.md)。
+- 要删除角色,请使用[DROP ROLE](DROP-ROLE.md)。DROP ROLE只会删除角色,并不会删除角色中的成员用户帐户。
diff --git "a/content/zh/docs/Developerguide/\350\247\243\346\236\220\346\226\207\346\241\243.md" "b/content/zh/docs/Developerguide/\350\247\243\346\236\220\346\226\207\346\241\243.md"
index 446669b80ae93f287b763215d7cf7ad60c4ef402..e63198dce71627ffca1481cdcb2f31abb17ad45b 100644
--- "a/content/zh/docs/Developerguide/\350\247\243\346\236\220\346\226\207\346\241\243.md"
+++ "b/content/zh/docs/Developerguide/\350\247\243\346\236\220\346\226\207\346\241\243.md"
@@ -20,7 +20,7 @@ postgres=# SELECT to_tsvector('english', 'a fat cat sat on a mat - it ate a fat
to\_tsvector函数内部调用一个解析器,将文档的文本分解成token并给每个token指定一个类型。对于每个token,有一系列词典可供查询。词典系列因token类型的不同而不同。识别token的第一本词典将发出一个或多个标准词素来表示token。例如:
- rats变成rat因为词典认为词rats是rat的复数形式。
-- 有些词被作为停用词(请参考[停用词](停用词.md#ZH-CN_TOPIC_0242370499)),这样它们就会被忽略,因为它们出现得太过频繁以致于搜索中没有用处。比如例子中的a、on和it。
+- 有些词被作为停用词(请参考[停用词](停用词.md)),这样它们就会被忽略,因为它们出现得太过频繁以致于搜索中没有用处。比如例子中的a、on和it。
- 如果没有词典识别token,那么它也被忽略。在这个例子中,符号“-”被忽略,因为词典没有给它分配token类型(空间符号),即空间记号永远不会被索引。
语法解析器、词典和要索引的token类型由选定的文本搜索分词器决定。可以在同一个数据库中有多种不同的分词器,以及提供各种语言的预定义分词器。在以上例子中,使用缺省分词器english。
@@ -42,5 +42,5 @@ postgres=# UPDATE tsearch.tt SET ti =
postgres=# DROP TABLE tsearch.tt;
```
-上例使用setweight标记已完成的tsvector中的每个词的来源,并且使用tsvector连接操作符||合并标记过的tsvector值,[处理tsvector](处理tsvector.md#ZH-CN_TOPIC_0242370492)一节详细介绍了这些操作。
+上例使用setweight标记已完成的tsvector中的每个词的来源,并且使用tsvector连接操作符||合并标记过的tsvector值,[处理tsvector](处理tsvector.md)一节详细介绍了这些操作。
diff --git "a/content/zh/docs/Developerguide/\350\247\243\346\236\220\346\237\245\350\257\242.md" "b/content/zh/docs/Developerguide/\350\247\243\346\236\220\346\237\245\350\257\242.md"
index 2cc0d1b0b7f579e7a4f0aa03d72ce9706705be31..531d44b27e2334325bda3e3545905f7e5501a377 100644
--- "a/content/zh/docs/Developerguide/\350\247\243\346\236\220\346\237\245\350\257\242.md"
+++ "b/content/zh/docs/Developerguide/\350\247\243\346\236\220\346\237\245\350\257\242.md"
@@ -6,7 +6,7 @@ openGauss提供了函数to\_tsquery和plainto\_tsquery将查询转换为tsquery
to_tsquery([ config regconfig, ] querytext text) returns tsquery
```
-to\_tsquery从querytext中创建一个tsquery,querytext必须由布尔运算符& \(AND\),| \(OR\)和! \(NOT\)分割的单个token组成。这些运算符可以用圆括弧分组。换句话说,to\_tsquery输入必须遵循tsquery输入的通用规则,具体请参见[文本搜索类型](文本搜索类型.md#ZH-CN_TOPIC_0242370420)。不同的是基本tsquery以token表面值作为输入,而to\_tsquery使用指定或默认分词器将每个token标准化成词素,并依据分词器丢弃属于停用词的token。例如:
+to\_tsquery从querytext中创建一个tsquery,querytext必须由布尔运算符& \(AND\),| \(OR\)和! \(NOT\)分割的单个token组成。这些运算符可以用圆括弧分组。换句话说,to\_tsquery输入必须遵循tsquery输入的通用规则,具体请参见[文本搜索类型](文本搜索类型.md)。不同的是基本tsquery以token表面值作为输入,而to\_tsquery使用指定或默认分词器将每个token标准化成词素,并依据分词器丢弃属于停用词的token。例如:
```
postgres=# SELECT to_tsquery('english', 'The & Fat & Rats');
diff --git "a/content/zh/docs/Developerguide/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\344\275\215\347\275\256.md" "b/content/zh/docs/Developerguide/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\344\275\215\347\275\256.md"
index 220372ffee5b7f3058a68ce6971d9e649795debc..f521e53134897b425c42c455b27e6d71fb0f90cc 100644
--- "a/content/zh/docs/Developerguide/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\344\275\215\347\275\256.md"
+++ "b/content/zh/docs/Developerguide/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\344\275\215\347\275\256.md"
@@ -126,6 +126,8 @@
0表示关闭基于容量的新日志文件的创建。
+建议该值大小设置级别至少为MB级,利于日志文件的及时划分。
+
**默认值:**20MB
## syslog\_facility
@@ -150,7 +152,7 @@
## event\_source
-**参数说明:**该参数openGauss暂未使用。windows环境下log\_destination设置为eventlog时,event\_source设置在日志中openGauss日志消息的标识。
+**参数说明:**该参数仅在windows环境下生效, openGauss暂不支持。log\_destination设置为eventlog时,event\_source设置在日志中openGauss日志消息的标识。
该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
diff --git "a/content/zh/docs/Developerguide/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\345\206\205\345\256\271.md" "b/content/zh/docs/Developerguide/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\345\206\205\345\256\271.md"
index 6cb653b6ae61a01c2c4ca792730b131a83d564d5..30b867288fb0c9b37db59f098dc5626cec58e67e 100644
--- "a/content/zh/docs/Developerguide/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\345\206\205\345\256\271.md"
+++ "b/content/zh/docs/Developerguide/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\345\206\205\345\256\271.md"
@@ -253,7 +253,7 @@
> to_hex(pid)
>FROM pg_stat_activity;
>```
->- 当log\_line\_prefix设置为空值时,请将其最后一个字符作为一个独立的段,以此来直观地与后续的日志进行区分,也可以使用一个标点符号。
+>- 当log\_line\_prefix设置为非空值时,请将其最后一个字符作为一个独立的段,以此来直观地与后续的日志进行区分,也可以使用一个标点符号。
>- Syslog生成自己的时间戳及进程ID信息,所以当登录日志时,不需要包含这些转义字符。
**取值范围:**字符串
diff --git "a/content/zh/docs/Developerguide/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\346\227\266\351\227\264.md" "b/content/zh/docs/Developerguide/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\346\227\266\351\227\264.md"
index 131019550fd916a3442f783e536b3f22d36936f0..91f664369401dd030632d4d31194e077f26100ca 100644
--- "a/content/zh/docs/Developerguide/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\346\227\266\351\227\264.md"
+++ "b/content/zh/docs/Developerguide/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\346\227\266\351\227\264.md"
@@ -74,7 +74,7 @@
**默认值:**panic
-[表1](#zh-cn_topic_0237124722_zh-cn_topic_0059778452_zh-cn_topic_0058967791_table55180162)解释openGauss中使用的消息安全级别。当日志输出到syslog或者eventlog时,openGauss进行如表中的转换。
+[表1](#zh-cn_topic_0237124722_zh-cn_topic_0059778452_zh-cn_topic_0058967791_table55180162)解释openGauss中使用的消息安全级别。当日志输出到syslog或者eventlog\(仅windows环境下, openGauss版本不涉及该参数\)时,openGauss进行如表中的转换。
**表 1** 信息严重程度分类
diff --git "a/content/zh/docs/Developerguide/\350\256\276\347\275\256.md" "b/content/zh/docs/Developerguide/\350\256\276\347\275\256.md"
index 1bbd1dedf75f5f949817c007c3aa9e5a9d04effa..883b78837e92604ee3d93640c8592cf77c249100 100644
--- "a/content/zh/docs/Developerguide/\350\256\276\347\275\256.md"
+++ "b/content/zh/docs/Developerguide/\350\256\276\347\275\256.md"
@@ -8,6 +8,7 @@
> **须知:**
>- 如果需要启用WAL日志归档和主备机的数据流复制,必须将此参数设置为archive或者hot\_standby。
+>- 如果此参数设置为minimal, archive\_mode必须设置为off, hot\_standby必须设置为off,max\_wal\_senders参数设置为0, 且需为单机环境, 否则将导致数据库无法启动。
>- 如果此参数设置为archive,hot\_standby必须设置为off,否则将导致数据库无法启动。但是,hot\_standby在双机环境中不能设置为off,具体参见hot\_standby参数说明。
**取值范围**:枚举类型
@@ -78,7 +79,7 @@
- fsync\_writethrough表示每次提交的时候调用fsync\(\)强制把缓冲区任何数据写入磁盘。
> **说明:**
- >由于历史原因,我们允许在Windows平台上将wal\_sync\_method设置为fsync\_writethrough,尽管它和fsync等效。
+ >由于历史原因,Windows平台支持将wal\_sync\_method设置为fsync\_writethrough。在windows平台上fsync\_writethrough和fsync等效。
- fsync表示每次提交的时候调用fsync\(\)。(支持suse10和suse11)
- open\_sync表示用带O\_SYNC选项的open\(\)写“WAL”文件。(支持suse10和suse11)
@@ -124,7 +125,7 @@
**取值范围:**-1\~218
- 如果设置为-1,表示wal\_buffers的大小随着参数shared\_buffers自动调整,为shared\_buffers的1/32,最小值为8个XLOG\_BLCKSZ,最大值为2048个XLOG\_BLCKSZ。
-- 如果设置为其他值,当小于8时,会被默认设置为8;当大于2048的时,会被强制设置为2048。
+- 如果设置为其他值,当小于4时,会被默认设置为4。
**默认值:**16MB
@@ -185,5 +186,5 @@
**取值范围**:整型,单位为8KB。
-**默认值:**16MB \(2048 \* 8KB\)
+**默认值:**16MB \(2048 \* 8KB\)
diff --git "a/content/zh/docs/Developerguide/\350\256\276\347\275\256\345\257\206\347\240\201\345\256\211\345\205\250\347\255\226\347\225\245.md" "b/content/zh/docs/Developerguide/\350\256\276\347\275\256\345\257\206\347\240\201\345\256\211\345\205\250\347\255\226\347\225\245.md"
index edce2c41e0dd35a15f848425b6a43791b1d02829..44a1758d4be1a6160b1186b2f5eb4b158d77cc58 100644
--- "a/content/zh/docs/Developerguide/\350\256\276\347\275\256\345\257\206\347\240\201\345\256\211\345\205\250\347\255\226\347\225\245.md"
+++ "b/content/zh/docs/Developerguide/\350\256\276\347\275\256\345\257\206\347\240\201\345\256\211\345\205\250\347\255\226\347\225\245.md"
@@ -20,7 +20,7 @@
连接成功后,系统显示类似如下信息:
```
- gsql ((openGauss 1.0 build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131
+ gsql ((openGauss 1.0 build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
@@ -42,7 +42,7 @@
4. 执行如下命令将其设置为安全的加密算法。
```
- gs_guc reload -Z coordinator -Z datanode -N all -I all -c "password_encryption_type=2"
+ gs_guc reload -N all -I all -c "password_encryption_type=2"
```
> **须知:**
@@ -92,7 +92,7 @@
3. 执行如下命令设置成默认值1。
```
- gs_guc reload -Z coordinator -Z datanode -N all -I all -c "password_policy=1"
+ gs_guc reload -N all -I all -c "password_policy=1"
```
帐户密码的复杂度要求如下:
@@ -152,7 +152,7 @@
>不建议设置为0,即使需要设置也要将所有openGauss节点中的password\_reuse\_time都设置为0才能生效。
```
- gs_guc reload -Z coordinator -Z datanode -N all -I all -c "password_reuse_time=60"
+ gs_guc reload -N all -I all -c "password_reuse_time=60"
```
配置password\_reuse\_max参数。
@@ -190,7 +190,7 @@
3. 执行如下命令设置成默认值0。
```
- gs_guc reload -Z coordinator -Z datanode -N all -I all -c "password_reuse_max = 0"
+ gs_guc reload -N all -I all -c "password_reuse_max = 0"
```
- 密码有效期限
@@ -235,7 +235,7 @@
3. 执行如下命令设置成默认值90(不建议设置为0)。
```
- gs_guc reload -Z coordinator -Z datanode -N all -I all -c "password_effect_time = 90"
+ gs_guc reload -N all -I all -c "password_effect_time = 90"
```
配置password\_notify\_time参数。
@@ -271,7 +271,7 @@
3. 如果显示结果不为7,执行如下命令设置成默认值7(不建议设置为0)。
```
- gs_guc reload -Z coordinator -Z datanode -N all -I all -c "password_notify_time = 7"
+ gs_guc reload -N all -I all -c "password_notify_time = 7"
```
- 密码修改
diff --git "a/content/zh/docs/Developerguide/\350\256\276\347\275\256\345\270\220\345\217\267\346\234\211\346\225\210\346\234\237.md" "b/content/zh/docs/Developerguide/\350\256\276\347\275\256\345\270\220\345\217\267\346\234\211\346\225\210\346\234\237.md"
index c514fa9477f657215eee34a7ac11d128dc1eafa7..80e8451e8bc2801a0186372631ed3223b2cea193 100644
--- "a/content/zh/docs/Developerguide/\350\256\276\347\275\256\345\270\220\345\217\267\346\234\211\346\225\210\346\234\237.md"
+++ "b/content/zh/docs/Developerguide/\350\256\276\347\275\256\345\270\220\345\217\267\346\234\211\346\225\210\346\234\237.md"
@@ -20,7 +20,7 @@
连接成功后,系统显示类似如下信息:
```
- gsql ((openGauss 1.0 build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131
+ gsql ((openGauss 1.0 build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
diff --git "a/content/zh/docs/Developerguide/\350\256\276\347\275\256\345\270\220\346\210\267\345\256\211\345\205\250\347\255\226\347\225\245.md" "b/content/zh/docs/Developerguide/\350\256\276\347\275\256\345\270\220\346\210\267\345\256\211\345\205\250\347\255\226\347\225\245.md"
index 64d20584f22d33c338b86085fb7cf119b3810324..a8ae8cf34dd1137ba3a21601351adcc7beaee476 100644
--- "a/content/zh/docs/Developerguide/\350\256\276\347\275\256\345\270\220\346\210\267\345\256\211\345\205\250\347\255\226\347\225\245.md"
+++ "b/content/zh/docs/Developerguide/\350\256\276\347\275\256\345\270\220\346\210\267\345\256\211\345\205\250\347\255\226\347\225\245.md"
@@ -51,7 +51,7 @@ openGauss为帐户提供了自动锁定和解锁帐户、手动锁定和解锁
4. 执行如下命令设置成默认值10。
```
- gs_guc reload -Z coordinator -D /gaussdb/data/dbnode -c "failed_login_attempts=10"
+ gs_guc reload -D /gaussdb/data/dbnode -c "failed_login_attempts=10"
```
@@ -91,7 +91,7 @@ openGauss为帐户提供了自动锁定和解锁帐户、手动锁定和解锁
4. 执行如下命令设置成默认值1。
```
- gs_guc reload -Z coordinator -Z datanode -N all -I all -c "password_lock_time=1"
+ gs_guc reload -N all -I all -c "password_lock_time=1"
```
diff --git "a/content/zh/docs/Developerguide/\350\256\276\347\275\256\346\225\260\346\215\256\345\272\223\345\256\241\350\256\241.md" "b/content/zh/docs/Developerguide/\350\256\276\347\275\256\346\225\260\346\215\256\345\272\223\345\256\241\350\256\241.md"
index 8702bd2b57226f6020051d314b4be5bb3ec931fd..85beaa6b217bdc947a4acc4ce241325ad8e6e0c7 100644
--- "a/content/zh/docs/Developerguide/\350\256\276\347\275\256\346\225\260\346\215\256\345\272\223\345\256\241\350\256\241.md"
+++ "b/content/zh/docs/Developerguide/\350\256\276\347\275\256\346\225\260\346\215\256\345\272\223\345\256\241\350\256\241.md"
@@ -6,6 +6,6 @@
- **[维护审计日志](维护审计日志.md)**
-- **[设置文件权限安全策略](设置文件权限安全策略-9.md)**
+- **[设置文件权限安全策略](设置文件权限安全策略.md)**
diff --git "a/content/zh/docs/Developerguide/\350\256\276\347\275\256\346\226\207\344\273\266\346\235\203\351\231\220\345\256\211\345\205\250\347\255\226\347\225\245.md" "b/content/zh/docs/Developerguide/\350\256\276\347\275\256\346\226\207\344\273\266\346\235\203\351\231\220\345\256\211\345\205\250\347\255\226\347\225\245.md"
index 1f7742325339be12e2010768aa01661c5b8afc3a..97d72f9e35084671f0a14c9350107e5eebc10da8 100644
--- "a/content/zh/docs/Developerguide/\350\256\276\347\275\256\346\226\207\344\273\266\346\235\203\351\231\220\345\256\211\345\205\250\347\255\226\347\225\245.md"
+++ "b/content/zh/docs/Developerguide/\350\256\276\347\275\256\346\226\207\344\273\266\346\235\203\351\231\220\345\256\211\345\205\250\347\255\226\347\225\245.md"
@@ -1,4 +1,4 @@
-# 设置文件权限安全策略
+# 设置文件权限安全策略
## 背景信息
@@ -48,6 +48,13 @@
0700
+ data(数据库节点/数据库主节点)
+
+ -
+
+ 0700
+
+
base
实例数据目录
diff --git "a/content/zh/docs/Developerguide/\350\257\201\344\271\246\346\233\277\346\215\242.md" "b/content/zh/docs/Developerguide/\350\257\201\344\271\246\346\233\277\346\215\242.md"
index 3c90f8be8789af38d7d138a99ab2fe20b46fc637..fa0522f79830b82514d4791a9bb9f268f1cc0100 100644
--- "a/content/zh/docs/Developerguide/\350\257\201\344\271\246\346\233\277\346\215\242.md"
+++ "b/content/zh/docs/Developerguide/\350\257\201\344\271\246\346\233\277\346\215\242.md"
@@ -1,4 +1,4 @@
-# 证书替换
+# 证书替换
## 操作场景
@@ -56,7 +56,7 @@ openGauss目前只支持X509v3的PEM格式证书。
gs_om -t start
```
+ > **说明:**
+ >证书具有rollback功能,可以把上一次执行证书替换之前的证书,进行回退。可以使用gs\_om -t cert --rollback进行远程调用该接口;使用gs\_om -t cert --rollback -L进行本地调用该接口。以上一次成功执行证书替换后,被替换的证书版本为基础进行回退。
-> **说明:**
->证书具有rollback功能,可以把上一次执行证书替换之前的证书,进行回退。可以使用gs\_om -t cert --rollback进行远程调用该接口;使用gs\_om -t cert --rollback -L进行本地调用该接口。以上一次成功执行证书替换后,被替换的证书版本为基础进行回退。
diff --git "a/content/zh/docs/Developerguide/\350\257\201\344\271\246\347\224\237\346\210\220.md" "b/content/zh/docs/Developerguide/\350\257\201\344\271\246\347\224\237\346\210\220.md"
index be9c79eba3130f74c79346b19f517b5883d773c4..71e37e6dbdcdd6f795ae727be43af202ae1721e8 100644
--- "a/content/zh/docs/Developerguide/\350\257\201\344\271\246\347\224\237\346\210\220.md"
+++ "b/content/zh/docs/Developerguide/\350\257\201\344\271\246\347\224\237\346\210\220.md"
@@ -1,4 +1,4 @@
-# 证书生成
+# 证书生成
## 操作场景
@@ -16,7 +16,7 @@ Linux环境安装了openssl组件。
--假设用户为omm已存在,搭建CA的路径为test
--以root用户身份登录Linux环境,切换到用户omm
mkdir test
- cd /etc/ssl
+ cd /etc/pki/tls
--copy 配置文件openssl.cnf到test下
cp openssl.cnf ~/test
cd ~/test
@@ -27,9 +27,9 @@ Linux环境安装了openssl组件。
--创建serial文件,写入01
echo '01'>./demoCA/serial
--创建文件index.txt
- touch /home/omm/test/demoCA/index.txt
+ touch ./demoCA/index.txt
--修改openssl.cnf配置文件中的参数
- dir = /home/omm/test/demoCA
+ dir = ./demoCA
default_md = sha256
--至此CA环境搭建完成
```
diff --git "a/content/zh/docs/Developerguide/\350\257\215\345\205\270\346\246\202\350\277\260.md" "b/content/zh/docs/Developerguide/\350\257\215\345\205\270\346\246\202\350\277\260.md"
index 4514e863dc732f526fdc92f39175f96c21106569..7ea758a70dbcdddbbeaa80a2a45ea0fc6f76e7a7 100644
--- "a/content/zh/docs/Developerguide/\350\257\215\345\205\270\346\246\202\350\277\260.md"
+++ "b/content/zh/docs/Developerguide/\350\257\215\345\205\270\346\246\202\350\277\260.md"
@@ -10,7 +10,7 @@
- 如果token在词典中已知,返回对应lexeme数组(注意,一个标记可能对应多个lexeme)。
-- 一个lexeme。(该lexeme为设置了TSL\_FILTER标志的lexeme,TSL\_FILTER标志为过滤词典内部自动设置,用户不感知。)一个新token会代替输入token被传递给后继词典(当前词典可被称为过滤词典)。
+- 一个lexeme。一个新token会代替输入token被传递给后继词典(当前词典可被称为过滤词典)。
- 如果token在词典中已知,但它是一个停用词,返回空数组。
- 如果词典不能识别输入的token,返回NULL。
diff --git "a/content/zh/docs/Developerguide/\350\257\246\350\247\243.md" "b/content/zh/docs/Developerguide/\350\257\246\350\247\243.md"
new file mode 100644
index 0000000000000000000000000000000000000000..fe71206febf479fc336199d0dbec3d4a512b98c8
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\350\257\246\350\247\243.md"
@@ -0,0 +1,99 @@
+# 详解
+
+如[SQL执行计划概述](SQL执行计划概述.md)节中所说,EXPLAIN会显示执行计划,但并不会实际执行SQL语句。EXPLAIN ANALYZE和EXPLAIN PERFORMANCE两者都会实际执行SQL语句并返回执行信息。在这一节将详细解释执行计划及执行信息。
+
+## 执行计划
+
+以如下SQL语句为例:
+
+```
+SELECT * FROM t1, t2 WHERE t1.c1 = t2.c2;
+```
+
+执行EXPLAIN的输出为:
+
+
+
+**执行计划层级解读(纵向):**
+
+1. 第一层:Seq Scan on t2
+
+ 表扫描算子,用Seq Scan的方式扫描表t2。这一层的作用是把表t2的数据从buffer或者磁盘上读上来输送给上层节点参与计算。
+
+2. 第二层:Hash
+
+ Hash算子,作用是把下层计算输送上来的算子计算hash值,为后续hash join操作做数据准备
+
+3. 第三层:Seq Scan on t1
+
+ 表扫描算子,用Seq Scan的方式扫描表t1。这一层的作用是把表t1的数据从buffer或者磁盘上读上来输送给上层节点参与hash join计算。
+
+4. 第四层:Hash Join
+
+ join算子,主要作用是将t1表和t2表的数据通过hash join的方式连接,并输出结果数据
+
+
+**执行计划中的关键字说明:**
+
+1. 表访问方式
+ - Seq Scan
+
+ 全表顺序扫描。
+
+ - Index Scan
+
+ 优化器决定使用两步的规划:最底层的规划节点访问一个索引,找出匹配索引条件的行的位置,然后上层规划节点真实地从表中抓取出那些行。独立地抓取数据行比顺序地读取它们的开销高很多,但是因为并非所有表的页面都被访问了,这么做实际上仍然比一次顺序扫描开销要少。使用两层规划的原因是,上层规划节点在读取索引标识出来的行位置之前,会先将它们按照物理位置排序,这样可以最小化独立抓取的开销。
+
+ 如果在WHERE里面使用的好几个字段上都有索引,那么优化器可能会使用索引的AND或OR的组合。但是这么做要求访问两个索引,因此与只使用一个索引,而把另外一个条件只当作过滤器相比,这个方法未必是更优。
+
+ 索引扫描可以分为以下几类,他们之间的差异在于索引的排序机制。
+
+ - Bitmap Index Scan
+
+ 使用位图索引抓取数据页。
+
+ - Index Scan using index\_name
+
+ 使用简单索引搜索,该方式表的数据行是以索引顺序抓取的,这样就令读取它们的开销更大,但是这里的行少得可怜,因此对行位置的额外排序并不值得。最常见的就是看到这种规划类型只抓取一行,以及那些要求ORDER BY条件匹配索引顺序的查询。因为那时候没有多余的排序步骤是必要的以满足ORDER BY。
+
+
+2. 表连接方式
+ - Nested Loop
+
+ 嵌套循环,适用于被连接的数据子集较小的查询。在嵌套循环中,外表驱动内表,外表返回的每一行都要在内表中检索找到它匹配的行,因此整个查询返回的结果集不能太大(不能大于10000),要把返回子集较小的表作为外表,而且在内表的连接字段上建议要有索引。
+
+ - \(Sonic\) Hash Join
+
+ 哈希连接,适用于数据量大的表的连接方式。优化器使用两个表中较小的表,利用连接键在内存中建立hash表,然后扫描较大的表并探测散列,找到与散列匹配的行。Sonic和非Sonic的Hash Join的区别在于所使用hash表结构不同,不影响执行的结果集。
+
+ - Merge Join
+
+ 归并连接,通常情况下执行性能差于哈希连接。如果源数据已经被排序过,在执行融合连接时,并不需要再排序,此时融合连接的性能优于哈希连接。
+
+3. 运算符
+ - sort
+
+ 对结果集进行排序。
+
+ - filter
+
+ EXPLAIN输出显示WHERE子句当作一个"filter"条件附属于顺序扫描计划节点。这意味着规划节点为它扫描的每一行检查该条件,并且只输出符合条件的行。预计的输出行数降低了,因为有WHERE子句。不过,扫描仍将必须访问所有 10000 行,因此开销没有降低;实际上它还增加了一些(确切的说,通过10000 \* cpu\_operator\_cost)以反映检查WHERE条件的额外CPU时间。
+
+ - LIMIT
+
+ LIMIT限定了执行结果的输出记录数。如果增加了LIMIT,那么不是所有的行都会被检索到。
+
+
+
+## 执行信息
+
+以如下SQL语句为例:
+
+```
+select sum(t2.c1) from t1,t2 where t1.c1=t2.c2 group by t1.c2;
+```
+
+执行EXPLAIN PERFORMANCE输出为:
+
+
+
diff --git "a/content/zh/docs/Developerguide/\350\257\255\345\217\245\350\241\214\344\270\272.md" "b/content/zh/docs/Developerguide/\350\257\255\345\217\245\350\241\214\344\270\272.md"
index 14d07e9d0d7a48050debbe49574f4458915d9d7b..ff3b653317ce1dc8584b8c46a613707fbe26e25c 100644
--- "a/content/zh/docs/Developerguide/\350\257\255\345\217\245\350\241\214\344\270\272.md"
+++ "b/content/zh/docs/Developerguide/\350\257\255\345\217\245\350\241\214\344\270\272.md"
@@ -99,7 +99,6 @@
**取值范围:**枚举类型
-- read uncommitted表示隔离级别是读未提交。
- read committed表示事务读已提交。
- repeatable read表示事务可重复读。
- serializable,openGauss目前功能上不支持此隔离级别,等价于repeatable read。
@@ -157,7 +156,7 @@ openGauss不支持可串行化的隔离级别,因此,该参数无实际意
该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
-**取值范围:**整型,最小值为0,最大值为2147483648,单位为毫秒。
+**取值范围:**整型,最小值为0,最大值为2147483647,单位为毫秒。
**默认值:**0
diff --git "a/content/zh/docs/Developerguide/\350\260\203\344\274\230\346\265\201\347\250\213.md" "b/content/zh/docs/Developerguide/\350\260\203\344\274\230\346\265\201\347\250\213.md"
new file mode 100644
index 0000000000000000000000000000000000000000..8ae1d1aa2d3ca87a00d57916013820f74f315902
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\350\260\203\344\274\230\346\265\201\347\250\213.md"
@@ -0,0 +1,12 @@
+# 调优流程
+
+对慢SQL语句进行分析,通常包括以下步骤:
+
+## 操作步骤
+
+1. 收集SQL中涉及到的所有表的统计信息。在数据库中,统计信息是规划器生成计划的源数据。没有收集统计信息或者统计信息陈旧往往会造成执行计划严重劣化,从而导致性能问题。从经验数据来看,10%左右性能问题是因为没有收集统计信息。具体请参见[更新统计信息](更新统计信息.md)。
+2. 通过查看执行计划来查找原因。如果SQL长时间运行未结束,通过EXPLAIN命令查看执行计划,进行初步定位。如果SQL可以运行出来,则推荐使用EXPLAIN ANALYZE或EXPLAIN PERFORMANCE查看执行计划及实际运行情况,以便更精准地定位问题原因。有关执行计划的详细介绍请参见[SQL执行计划介绍](SQL执行计划介绍.md)。
+3. [审视和修改表定义](审视和修改表定义.md)。
+4. 针对EXPLAIN或EXPLAIN PERFORMANCE信息,定位SQL慢的具体原因以及改进措施,具体参见[典型SQL调优点](典型SQL调优点.md)。
+5. 通常情况下,有些SQL语句可以通过查询重写转换成等价的,或特定场景下等价的语句。重写后的语句比原语句更简单,且可以简化某些执行步骤达到提升性能的目的。查询重写方法在各个数据库中基本是通用的。[经验总结:SQL语句改写规则](经验总结-SQL语句改写规则.md)介绍了几种常用的通过改写SQL进行调优的方法。
+
diff --git "a/content/zh/docs/Developerguide/\350\260\203\347\224\250\350\257\255\345\217\245.md" "b/content/zh/docs/Developerguide/\350\260\203\347\224\250\350\257\255\345\217\245.md"
new file mode 100644
index 0000000000000000000000000000000000000000..802863a22d995c0c31e190043fd98ab1e226295a
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\350\260\203\347\224\250\350\257\255\345\217\245.md"
@@ -0,0 +1,38 @@
+# 调用语句
+
+## 语法
+
+调用一个语句的语法请参见[图1](#zh-cn_topic_0237122223_zh-cn_topic_0059778001_fa4de2ab1dc7e4c04b4997c6238ee1861)。
+
+**图 1** call\_clause::=
+
+
+对以上语法格式的解释如下:
+
+- procedure\_name:存储过程名。
+- parameter:存储过程的参数,可以没有或者有多个参数。
+
+## 示例
+
+```
+--创建存储过程proc_staffs
+postgres=# CREATE OR REPLACE PROCEDURE proc_staffs
+(
+section NUMBER(6),
+salary_sum out NUMBER(8,2),
+staffs_count out INTEGER
+)
+IS
+BEGIN
+SELECT sum(salary), count(*) INTO salary_sum, staffs_count FROM hr.staffs where section_id = section;
+END;
+/
+
+--调用存储过程proc_return.
+postgres=# CALL proc_staffs(2,8,6);
+
+--清除存储过程
+postgres=# DROP PROCEDURE proc_staffs;
+
+```
+
diff --git "a/content/zh/docs/Developerguide/\350\260\203\350\257\225-20.md" "b/content/zh/docs/Developerguide/\350\260\203\350\257\225-20.md"
new file mode 100644
index 0000000000000000000000000000000000000000..c3bbd2d1abe88d9a31b499a2afce75d3fc0de925
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\350\260\203\350\257\225-20.md"
@@ -0,0 +1,122 @@
+# 调试
+
+## 语法
+
+RAISE有以下五种语法格式:
+
+**图 1** raise\_format::=
+
+
+**图 2** raise\_condition::=
+
+
+**图 3** raise\_sqlstate::=
+
+
+**图 4** raise\_option::=
+
+
+**图 5** raise::=
+
+
+**参数说明:**
+
+- level选项用于指定错误级别,有DEBUG,LOG,INFO,NOTICE,WARNING以及EXCEPTION(默认值)。EXCEPTION抛出一个正常终止当前事务的异常,其他的仅产生不同异常级别的信息。特殊级别的错误信息是否报告到客户端、写到服务器日志由[log\_min\_messages](记录日志的时间.md#zh-cn_topic_0237124722_zh-cn_topic_0059778452_sc6c47ec8cc1b47e28be98dbb24b1b39a)和[client\_min\_messages](记录日志的时间.md#zh-cn_topic_0237124722_zh-cn_topic_0059778452_s2955da1f1cb24b0aa68ddc77700233e0)这两个配置参数控制。
+- format:格式字符串,指定要报告的错误消息文本。格式字符串后可跟表达式,用于向消息文本中插入。在格式字符串中,%由format后面跟着的参数的值替换,%%用于打印出%。例如:
+
+ ```
+ --v_job_id 将替换字符串中的 %:
+ RAISE NOTICE 'Calling cs_create_job(%)',v_job_id;
+ ```
+
+- option = expression:向错误报告中添加另外的信息。关键字option可以是MESSAGE、DETAIL、HINT以及ERRCODE,并且每一个expression可以是任意的字符串。
+ - MESSAGE,指定错误消息文本,这个选项不能用于在USING前包含一个格式字符串的RAISE语句中。
+ - DETAIL,说明错误的详细信息。
+ - HINT,用于打印出提示信息。
+ - ERRCODE,向报告中指定错误码(SQLSTATE)。可以使用条件名称或者直接用五位字符的SQLSTATE错误码。
+
+- condition\_name:错误码对应的条件名。
+- sqlstate:错误码。
+
+如果在RAISE EXCEPTION命令中既没有指定条件名也没有指定SQLSTATE,默认用RAISE EXCEPTION \(P0001\)。如果没有指定消息文本,默认用条件名或者SQLSTATE作为消息文本。
+
+> **须知:**
+>当由SQLSTATE指定了错误码,则不局限于已定义的错误码,可以选择任意包含五个数字或者大写的ASCII字母的错误码,而不是00000。建议避免使用以三个0结尾的错误码,因为这种错误码是类别码,会被整个种类捕获。
+
+> **说明:**
+>[图5](#zh-cn_topic_0237122256_zh-cn_topic_0059777683_f6b9d7253ecad413e9ee92ba78199a6b4)所示的语法不接任何参数。这种形式仅用于一个BEGIN块中的EXCEPTION语句,它使得错误重新被处理。
+
+## 示例
+
+终止事务时,给出错误和提示信息:
+
+```
+CREATE OR REPLACE PROCEDURE proc_raise1(user_id in integer)
+AS
+BEGIN
+RAISE EXCEPTION 'Noexistence ID --> %',user_id USING HINT = 'Please check your user ID';
+END;
+/
+
+call proc_raise1(300011);
+
+--执行结果
+ERROR: Noexistence ID --> 300011
+HINT: Please check your user ID
+```
+
+两种设置SQLSTATE的方式:
+
+```
+CREATE OR REPLACE PROCEDURE proc_raise2(user_id in integer)
+AS
+BEGIN
+RAISE 'Duplicate user ID: %',user_id USING ERRCODE = 'unique_violation';
+END;
+/
+
+\set VERBOSITY verbose
+call proc_raise2(300011);
+
+--执行结果
+ERROR: Duplicate user ID: 300011
+SQLSTATE: 23505
+LOCATION: exec_stmt_raise, pl_exec.cpp:3482
+```
+
+如果主要的参数是条件名或者是SQLSTATE,可以使用:
+
+RAISE division\_by\_zero;
+
+RAISE SQLSTATE '22012';
+
+例如:
+
+```
+CREATE OR REPLACE PROCEDURE division(div in integer, dividend in integer)
+AS
+DECLARE
+res int;
+ BEGIN
+ IF dividend=0 THEN
+ RAISE division_by_zero;
+ RETURN;
+ ELSE
+ res := div/dividend;
+ RAISE INFO 'division result: %', res;
+ RETURN;
+ END IF;
+ END;
+/
+call division(3,0);
+
+--执行结果
+ERROR: division_by_zero
+```
+
+或者另一种方式:
+
+```
+RAISE unique_violation USING MESSAGE = 'Duplicate user ID: ' || user_id;
+```
+
diff --git "a/content/zh/docs/Developerguide/\350\260\203\350\257\225.md" "b/content/zh/docs/Developerguide/\350\260\203\350\257\225.md"
new file mode 100644
index 0000000000000000000000000000000000000000..72eb72cb9229b26d4a398cfab8aebd0050b7dbd7
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\350\260\203\350\257\225.md"
@@ -0,0 +1,160 @@
+# 调试
+
+用户可以根据自己的需要,通过修改实例数据目录下的postgresql.conf文件中特定的配置参数来控制日志的输出,从而更好的了解数据库的运行状态。
+
+可调整的配置参数请参见[表1](#zh-cn_topic_0237120444_zh-cn_topic_0059779333_tec23904511dd4695b8b01f8c7c04563a)。
+
+**表 1** 配置参数
+
+
+ 参数名称
+
+ 描述
+
+ 取值范围
+
+ 备注
+
+
+
+ client_min_messages
+
+ 配置发送到客户端信息的级别。
+
+DEBUG5 DEBUG4 DEBUG3 DEBUG2 DEBUG1 LOG NOTICE WARNING ERROR FATAL PANIC
+ 默认值:NOTICE 。
+
+ 设置级别后,发送到客户端的信息包含所设级别及以下所有低级别会发送的信息。级别越低,发送的信息越少。
+
+
+ log_min_messages
+
+ 配置写到服务器日志里信息的级别。
+
+DEBUG5 DEBUG4 DEBUG3 DEBUG2 DEBUG1 INFO NOTICE WARNING ERROR LOG FATAL PANIC
+ 默认值:WARNING。
+
+ 指定某一级别后,写到日志的信息包含所有更高级别会输出的信息。级别越高,服务器日志的信息越少。
+
+
+ log_min_error_statement
+
+ 配置写到服务器日志中错误SQL语句的级别。
+
+DEBUG5 DEBUG4 DEBUG3 DEBUG2 DEBUG1 INFO NOTICE WARNING ERROR FATAL PANIC
+ 缺省值:ERROR。
+
+ 所有导致一个特定级别(或者更高级别)错误的SQL语句都将记录在服务器日志中。
+ 只有系统管理员可以修改该参数。
+
+
+ log_min_duration_statement
+
+ 配置语句执行持续的最短时间。如果某个语句的持续时间大于或者等于设置的毫秒数,则会在日志中记录该语句及其持续时间。打开这个选项可以方便地跟踪需要优化的查询。
+
+ INT类型。
+ 默认值:-1。
+ 单位:毫秒。
+
+ 设置为-1表示关闭这个功能。
+ 只有系统管理员可以修改该参数。
+
+
+ log_connections/log_disconnections
+
+ 配置是否在每次会话连接或结束时向服务器日志里打印一条信息。
+
+on:每次会话连接或结束时向日志里打印一条信息。 off:每次会话连接或结束时不向日志里打印信息。
+ 默认值:off。
+
+ -
+
+
+ log_duration
+
+ 配置是否记录每个已完成语句的持续时间。
+
+on:记录每个已完成语句的持续时间。 off:不记录已完成语句的持续时间。
+ 默认值:off。
+
+ 只有系统管理员可以修改该参数。
+
+
+ log_statement
+
+ 配置日志中记录哪些SQL语句。
+
+none:不记录任何SQL语句。 ddl:记录数据定义语句。 mod:记录数据定义语句和数据操作语句。 all :记录所有语句。
+ 默认值: none。
+
+ 只有系统管理员可以修改该参数。
+
+
+ log_hostname
+
+ 配置是否记录主机名。
+
+
+ 默认值:off。
+
+ 缺省时,连接日志只记录所连接主机的IP地址。打开这个选项会同时记录主机名。
+ 该参数同时影响 查看审计结果 、GS_WLM_SESSION_HISTORY 、PG_STAT_ACTIVITY 和log_line_prefix 参数。
+
+
+
+
+
+上表有关参数级别的说明请参见[表2](#zh-cn_topic_0237120444_zh-cn_topic_0059779333_t3c729a4a94d145c7bdc4ca788236d8a7)。
+
+**表 2** 日志级别参数说明
+
+
+ 级别
+
+ 说明
+
+
+
+ DEBUG[1-5]
+
+ 提供开发人员使用的信息。5级为最高级别,依次类推,1级为最低级别。
+
+
+ INFO
+
+ 提供用户隐含要求的信息。如在VACUUM VERBOSE过程中的信息。
+
+
+ NOTICE
+
+ 提供可能对用户有用的信息。如长标识符的截断,作为主键一部分创建的索引。
+
+
+ WARNING
+
+ 提供给用户的警告。如在事务块范围之外的COMMIT。
+
+
+ ERROR
+
+ 报告导致当前命令退出的错误。
+
+
+ LOG
+
+ 报告一些管理员感兴趣的信息。如检查点活跃性。
+
+
+ FATAL
+
+ 报告导致当前会话终止的原因。
+
+
+ PANIC
+
+ 报告导致所有会话退出的原因。
+
+
+
+
+
diff --git "a/content/zh/docs/Developerguide/\350\264\237\350\275\275\347\256\241\347\220\206.md" "b/content/zh/docs/Developerguide/\350\264\237\350\275\275\347\256\241\347\220\206.md"
index 864cb5dc20513b89b790fe9fe2af69025f06edc5..218a295ffa7029e8e906ab844a5ad6aa90a23842 100644
--- "a/content/zh/docs/Developerguide/\350\264\237\350\275\275\347\256\241\347\220\206.md"
+++ "b/content/zh/docs/Developerguide/\350\264\237\350\275\275\347\256\241\347\220\206.md"
@@ -37,10 +37,7 @@
**取值范围**:字符串
-**默认值:**DefaultClass:Medium
-
-> **说明:**
->DefaultClass:Medium表示DefaultClass下Timeshare控制组中的Medium控制组。
+**默认值:**InvalidGroup
## cpu\_collect\_timer
@@ -97,7 +94,7 @@
## enable\_resource\_record
-**参数说明:**是否开启资源监控记录归档功能。开启时,对于history视图(GS\_WLM\_SESSION\_HISTORY和GS\_WLM\_OPERATOR\_HISTORY)中的记录,每隔3分钟会分别被归档到相应的info视图(GS\_WLM\_SESSION\_INFO和GS\_WLM\_OPERATOR\_INFO),归档后history视图中的记录会被清除。
+**参数说明:**是否开启资源监控记录归档功能。
该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
@@ -139,7 +136,7 @@
参数说明:设置用户历史资源监控数据的保存天数。该参数仅在 enable\_user\_metric\_persistent为on时有效。
-该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中的方法一和方法二进行设置。
取值范围:整型,0 ~ 730,单位为天。
@@ -166,7 +163,7 @@
**参数说明:**设置实例历史资源监控数据的保存天数。该参数仅在enable\_instance\_metric\_persistent为on时有效。
-该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中的方法一和方法二进行设置。
**取值范围**:整型,0 ~3650,单位为天。
@@ -220,7 +217,7 @@
**参数说明:**禁止内存保护功能。当系统内存不足时如果需要查询系统视图,可以先将此参数置为on,禁止内存保护功能,保证视图可以正常查询。该参数只适用于在系统内存不足时进行系统诊断和调试,正常运行时请保持该参数配置为off。
-该参数属于USERSET类型参数,且只对当前会话有效。请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中方式三的方法进行设置。
+该参数属于USERSET类型参数,且只对当前会话有效。请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:布尔型
@@ -279,7 +276,7 @@
**参数说明**:每秒触发IO的上限。
-该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中方式三的方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应类型的设置的方法进行设置。
**取值范围**:整型,0~1073741823
@@ -289,7 +286,7 @@
**参数说明**:IO利用率高达50%时,重消耗IO作业进行IO资源管控时关联的优先级等级。
-该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中方式三的方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应类型的设置的方法进行设置。
**取值范围**:枚举型
@@ -304,7 +301,7 @@
**参数说明**:行存场景下,io管控时用来对io次数进行计数的单位。
-该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中方式三的方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应类型的设置方法进行设置。
记多少次io触发为一计数单位,通过此计数单位所记录的次数进行io管控。
@@ -316,7 +313,7 @@
**参数说明**:当前的session关联的resource pool。
-该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中方式三的方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应类型的设置方法进行设置。
即如果先设置cgroup\_name,再设置session\_respool,那么session\_respool关联的控制组起作用,如果再切换cgroup\_name,那么新切换的cgroup\_name起作用。
diff --git "a/content/zh/docs/Developerguide/\350\265\204\346\272\220\346\266\210\350\200\227.md" "b/content/zh/docs/Developerguide/\350\265\204\346\272\220\346\266\210\350\200\227.md"
index 0d2973e1e97ce549be97634ab0b687aea203dffd..6e466c3dba886c57ba79fcc08251d9ad034dfa93 100644
--- "a/content/zh/docs/Developerguide/\350\265\204\346\272\220\346\266\210\350\200\227.md"
+++ "b/content/zh/docs/Developerguide/\350\265\204\346\272\220\346\266\210\350\200\227.md"
@@ -1,6 +1,6 @@
# 资源消耗
-- **[内存](内存.md)**
+- **[内存](内存-21.md)**
- **[磁盘空间](磁盘空间.md)**
diff --git "a/content/zh/docs/Developerguide/\350\265\213\345\200\274\350\257\255\345\217\245.md" "b/content/zh/docs/Developerguide/\350\265\213\345\200\274\350\257\255\345\217\245.md"
new file mode 100644
index 0000000000000000000000000000000000000000..e107373dfdccfa54e2b50c2fe31e80eaa94f7e9a
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\350\265\213\345\200\274\350\257\255\345\217\245.md"
@@ -0,0 +1,26 @@
+# 赋值语句
+
+## 语法
+
+给变量赋值的语法请参见[图1](#zh-cn_topic_0237122222_zh-cn_topic_0059778597_f1087f61f4ec24addbb3b79a2ccf21917)。
+
+**图 1** assignment\_value::=
+
+
+对以上语法格式的解释如下:
+
+- variable\_name:变量名。
+- value:可以是值或表达式。值value的类型需要和变量variable\_name的类型兼容才能正确赋值。
+
+## 示例
+
+```
+postgres=# DECLARE
+ emp_id INTEGER := 7788;--赋值
+BEGIN
+ emp_id := 5;--赋值
+ emp_id := 5*7784;
+END;
+/
+```
+
diff --git "a/content/zh/docs/Developerguide/\350\277\224\345\233\236\350\257\255\345\217\245.md" "b/content/zh/docs/Developerguide/\350\277\224\345\233\236\350\257\255\345\217\245.md"
new file mode 100644
index 0000000000000000000000000000000000000000..0f692a9546848076681511ecfdd771c3e7479c2e
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\350\277\224\345\233\236\350\257\255\345\217\245.md"
@@ -0,0 +1,9 @@
+# 返回语句
+
+openGauss提供两种方式返回数据:RETURN或RETURN NEXT及RETURN QUERY。其中,RETURN NEXT和RETURN QUERY只适用于函数,不适用存储过程。
+
+- **[RETURN](RETURN.md)**
+
+- **[RETURN NEXT及RETURN QUERY](RETURN-NEXT及RETURN-QUERY.md)**
+
+
diff --git "a/content/zh/docs/Developerguide/\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223-0.md" "b/content/zh/docs/Developerguide/\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223-0.md"
new file mode 100644
index 0000000000000000000000000000000000000000..43717a5bb80fb04b02b14732702c7184f25f0062
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223-0.md"
@@ -0,0 +1,140 @@
+# 连接数据库
+
+在创建数据库连接之后,才能使用它来执行SQL语句操作数据。
+
+## 函数原型
+
+JDBC提供了三个方法,用于创建数据库连接。
+
+- DriverManager.getConnection\(String url\);
+- DriverManager.getConnection\(String url, Properties info\);
+- DriverManager.getConnection\(String url, String user, String password\);
+
+## 参数
+
+**表 1** 数据库连接参数
+
+
+ 参数
+
+ 描述
+
+
+
+ url
+
+ postgresql.jar数据库连接描述符。格式如下:
+jdbc:postgresql:database jdbc:postgresql://host/database jdbc:postgresql://host:port/database jdbc:postgresql://host:port/database?param1=value1¶m2=value2 jdbc:postgresql://host1:port1,host2:port2/database?param1=value1¶m2=value2
+ 说明: database为要连接的数据库名称。 host为数据库服务器名称或IP地址。 连接 openGauss 的机器与 openGauss 不在同一网段时,host指定的IP地址应为Manager界面上所设的coo.cooListenIp2(应用访问IP)的取值。
+ 由于安全原因, 数据库主节点 禁止 openGauss 内部其他节点无认证接入。如果要在 openGauss 内部访问 数据库主节点 ,请将JDBC程序部署在 数据库主节点 所在机器,host使用"127.0.0.1"。否则可能会出现“FATAL: Forbid remote connection with trust method!”错误。
+ 建议业务系统单独部署在 openGauss 外部,否则可能会影响数据库运行性能。
+ 缺省情况下,连接服务器为localhost。
+ port为数据库服务器端口。 缺省情况下,会尝试连接到5431端口的database。
+ param为参数名称,即数据库连接属性。 参数可以配置在URL中,以"?"开始配置,以"="给参数赋值,以"&"作为不同参数的间隔。也可以采用info对象的属性方式进行配置,详细示例会在本节给出。
+ value为参数值,即数据库连接属性值。
+
+
+
+ info
+
+ 数据库连接属性。常用的属性如下:
+PGDBNAME:String类型。表示数据库名称。(URL中无需配置该参数,自动从URL中解析) PGHOST:String类型。主机IP地址。详细示例见下。 PGPORT:Integer类型。主机端口号。详细示例见下。 user:String类型。表示创建连接的数据库用户。 password:String类型。表示数据库用户的密码。 loggerLevel:String类型。目前支持3种级别:OFF、DEBUG、TRACE。设置为OFF关闭日志,设置为DEBUG和TRACE记录的日志信息详细程度不同。 loggerFile:String类型。Logger输出的文件名。需要显示指定日志文件名,若未指定目录则生成在客户端运行程序目录。 allowEncodingChanges:Boolean类型。设置该参数值为“true”进行字符集类型更改,配合characterEncoding=CHARSET设置字符集,二者使用"&"分隔。 currentSchema:String类型。在search-path中指定要设置的schema。 hostRecheckSeconds:Integer类型。JDBC尝试连接主机后会保存主机状态:连接成功或连接失败。在hostRecheckSeconds时间内保持可信,超过则状态失效。缺省值是10秒。 ssl:Boolean类型。以SSL方式连接。 ssl=true可支持NonValidatingFactory通道和使用证书的方式:
+ 1、NonValidatingFactory通道需要配置用户名和密码,同时将SSL设置为true。
+ 2、配置客户端证书、密钥、根证书,将SSL设置为true。
+ sslmode:String类型。SSL认证方式。取值范围为:require、verify-ca、verify-full。require只尝试SSL连接,如果存在CA文件,则应设置成verify-ca的方式验证。 verify-ca只尝试SSL连接,并且验证服务器是否具有由可信任的证书机构签发的证书。 verify-full只尝试SSL连接,并且验证服务器是否具有由可信任的证书机构签发的证书,以及验证服务器主机名是否与证书中的一致。
+ sslcert:String类型。提供证书文件的完整路径。客户端和服务端证书的类型为End Entity。 sslkey:String类型。提供密钥文件的完整路径。使用时将客户端证书转换为DER格式: openssl pkcs8 -topk8 -outform DER -in client.key -out client.key.pk8 -nocrypt
+ sslrootcert:String类型。SSL根证书的文件名。根证书的类型为CA。 sslpassword:String类型。提供给ConsoleCallbackHandler使用。 sslpasswordcallback:String类型。SSL密码提供者的类名。缺省值:org.postgresql.ssl.jdbc4.LibPQFactory.ConsoleCallbackHandler。 sslfactory:String类型。提供的值是SSLSocketFactory在建立SSL连接时用的类名。 sslfactoryarg:String类型。此值是上面提供的sslfactory类的构造函数的可选参数(不推荐使用)。 sslhostnameverifier:String类型。主机名验证程序的类名。接口实现javax.net.ssl.HostnameVerifier,默认使用org.postgresql.ssl.PGjdbcHostnameVerifier。 loginTimeout:Integer类型。指建立数据库连接的等待时间。超时时间单位为秒。 connectTimeout:Integer类型。用于连接服务器操作的超时值。如果连接到服务器花费的时间超过此值,则连接断开。超时时间单位为秒,值为0时表示已禁用,timeout不发生。 socketTimeout:Integer类型。用于socket读取操作的超时值。如果从服务器读取所花费的时间超过此值,则连接关闭。超时时间单位为秒,值为0时表示已禁用,timeout不发生。 cancelSignalTimeout:Integer类型。发送取消消息本身可能会阻塞,此属性控制用于取消命令的“connect超时”和“socket超时”。超时时间单位为秒,默认值为10秒。 tcpKeepAlive:Boolean类型。启用或禁用TCP保活探测功能。默认为false。 logUnclosedConnections:Boolean类型。客户端可能由于未调用Connection对象的close()方法而泄漏Connection对象。最终这些对象将被垃圾回收,并且调用finalize()方法。如果调用者自己忽略了此操作,该方法将关闭Connection。 assumeMinServerVersion:String类型。客户端会发送请求进行float精度设置。该参数设置要连接的服务器版本,如assumeMinServerVersion=9.0,可以在建立时减少相关包的发送。 ApplicationName:String类型。设置正在使用连接的JDBC驱动的名称。通过在数据库主节点上查询pg_stat_activity表可以看到正在连接的客户端信息,JDBC驱动名称显示在application_name列。缺省值为PostgreSQL JDBC Driver。 connectionExtraInfo:Boolean类型。表示驱动是否上报当前驱动的部署路径、进程属主用户到数据库。 取值范围:true或false,默认值为false。设置connectionExtraInfo为true,JDBC驱动会将当前驱动的部署路径、进程属主用户上报到数据库中,记录在connection_info参数里;同时可以在PG_STAT_ACTIVITY中查询到。
+ autosave:String类型。共有3种:"always", "never", "conservative"。如果查询失败,指定驱动程序应该执行的操作。在autosave=always模式下,JDBC驱动程序在每次查询之前设置一个保存点,并在失败时回滚到该保存点。在autosave=never模式(默认)下,无保存点。在autosave=conservative模式下,每次查询都会设置保存点,但是只会在“statement XXX无效”等情况下回滚并重试。 protocolVersion:Integer类型。连接协议版本号,目前仅支持3。注意:设置该参数时将采用md5加密方式,需要同步修改数据库的加密方式:gs_guc set -N all -I all -c "password_encryption_type=1" ,重启 openGauss 生效后需要创建用md5方式加密口令的用户。同时修改pg_hba.conf,将客户端连接方式修改为md5。用新建用户进行登录(不推荐)。 prepareThreshold:Integer类型。控制parse语句何时发送。默认值是5。第一次parse一个SQL比较慢,后面再parse就会比较快,因为有缓存了。如果一个会话连续多次执行同一个SQL,在达到prepareThreshold次数以上时,JDBC将不再对这个SQL发送parse命令。 preparedStatementCacheQueries:Integer类型。确定每个连接中缓存的查询数,默认情况下是256。若在prepareStatement()调用中使用超过256个不同的查询,则最近最少使用的查询缓存将被丢弃。0表示禁用缓存。 preparedStatementCacheSizeMiB:Integer类型。确定每个连接可缓存的最大值(以兆字节为单位),默认情况下是5。若缓存了超过5MB的查询,则最近最少使用的查询缓存将被丢弃。0表示禁用缓存。 databaseMetadataCacheFields:Integer类型。默认值是65536。指定每个连接可缓存的最大值。“0”表示禁用缓存。 databaseMetadataCacheFieldsMiB:Integer类型。默认值是5。每个连接可缓存的最大值,单位是MB。“0”表示禁用缓存。 stringtype:String类型,可选字段为:false, "unspecified", "varchar"。设置通过setString()方法使用的PreparedStatement参数的类型,如果stringtype设置为VARCHAR(默认值),则这些参数将作为varchar参数发送给服务器。若stringtype设置为unspecified,则参数将作为untyped值发送到服务器,服务器将尝试推断适当的类型。 batchMode:Boolean类型。用于确定是否使用batch模式连接。 fetchsize:Integer类型。用于设置数据库连接所创建statement的默认fetchsize。 reWriteBatchedInserts:Boolean类型。批量导入时,该参数设置为on,可将N条插入语句合并为一条:insert into TABLE_NAME values(values1, ..., valuesN), ..., (values1, ..., valuesN);使用该参数时,需设置batchMode=off。 unknownLength:Integer类型,默认为Integer.MAX_VALUE。某些postgresql类型(例如TEXT)没有明确定义的长度,当通过ResultSetMetaData.getColumnDisplaySize和ResultSetMetaData.getPrecision等函数返回关于这些类型的数据时,此参数指定未知长度类型的长度。 defaultRowFetchSize:Integer类型。确定一次fetch在ResultSet中读取的行数。限制每次访问数据库时读取的行数可以避免不必要的内存消耗,从而避免OutOfMemoryException。缺省值是0,这意味着ResultSet中将一次获取所有行。没有负数。 binaryTransfer:Boolean类型。使用二进制格式发送和接收数据,默认值为“false”。 binaryTransferEnable:String类型。启用二进制传输的类型列表,以逗号分隔。OID编号和名称二选一,例如binaryTransferEnable=Integer4_ARRAY,Integer8_ARRAY。 比如:OID名称为BLOB,编号为88,可以如下配置:
+ binaryTransferEnable=BLOB 或 binaryTransferEnable=88
+ binaryTransferDisEnable:String类型。禁用二进制传输的类型列表,以逗号分隔。OID编号和名称二选一。覆盖binaryTransferEnable的设置。 blobMode:String类型。用于设置setBinaryStream方法为不同类型的数据赋值,设置为on时表示为blob类型数据赋值,设置为off时表示为bytea类型数据赋值,默认为on。 socketFactory:String类型。用于创建与服务器socket连接的类的名称。该类必须实现了接口“javax.net.SocketFactory”,并定义无参或单String参数的构造函数。 socketFactoryArg:String类型。此值是上面提供的socketFactory类的构造函数的可选参数,不推荐使用。 receiveBufferSize:Integer类型。该值用于设置连接流上的SO_RCVBUF。 sendBufferSize:Integer类型。该值用于设置连接流上的SO_SNDBUF。 preferQueryMode:String类型。共有4种:"extended", "extendedForPrepared", "extendedCacheEverything", "simple"。用于指定执行查询的模式,simple模式会excute,不parse和bind;extended模式会bind和excute;extendedForPrepared模式为prepared statement扩展使用;extendedCacheEverything模式会缓存每个statement。
+
+
+ user
+
+ 数据库用户。
+
+
+ password
+
+ 数据库用户的密码。
+
+
+
+
+
+## 示例
+
+```
+//以下代码将获取数据库连接操作封装为一个接口,可通过给定用户名和密码来连接数据库。
+public static Connection getConnect(String username, String passwd)
+ {
+ //驱动类。
+ String driver = "org.postgresql.Driver";
+ //数据库连接描述符。
+ String sourceURL = "jdbc:postgresql://10.10.0.13:8000/postgres";
+ Connection conn = null;
+
+ try
+ {
+ //加载驱动。
+ Class.forName(driver);
+ }
+ catch( Exception e )
+ {
+ e.printStackTrace();
+ return null;
+ }
+
+ try
+ {
+ //创建连接。
+ conn = DriverManager.getConnection(sourceURL, username, passwd);
+ System.out.println("Connection succeed!");
+ }
+ catch(Exception e)
+ {
+ e.printStackTrace();
+ return null;
+ }
+
+ return conn;
+ };
+// 以下代码将使用Properties对象作为参数建立连接
+public static Connection getConnectUseProp(String username, String passwd)
+ {
+ //驱动类。
+ String driver = "org.postgresql.Driver";
+ //数据库连接描述符。
+ String sourceURL = "jdbc:postgresql://10.10.0.13:8000/postgres?";
+ Connection conn = null;
+ Properties info = new Properties();
+
+ try
+ {
+ //加载驱动。
+ Class.forName(driver);
+ }
+ catch( Exception e )
+ {
+ e.printStackTrace();
+ return null;
+ }
+
+ try
+ {
+ info.setProperty("user", username);
+ info.setProperty("password", passwd);
+ //创建连接。
+ conn = DriverManager.getConnection(sourceURL, info);
+ System.out.println("Connection succeed!");
+ }
+ catch(Exception e)
+ {
+ e.printStackTrace();
+ return null;
+ }
+
+ return conn;
+ };
+```
+
diff --git "a/content/zh/docs/Developerguide/\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\357\274\210\344\273\245SSL\346\226\271\345\274\217\357\274\211.md" "b/content/zh/docs/Developerguide/\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\357\274\210\344\273\245SSL\346\226\271\345\274\217\357\274\211.md"
new file mode 100644
index 0000000000000000000000000000000000000000..9128620f83a209209ea75754fb4ddbfda13a6b3f
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\357\274\210\344\273\245SSL\346\226\271\345\274\217\357\274\211.md"
@@ -0,0 +1,136 @@
+# 连接数据库(以SSL方式)
+
+用户通过JDBC连接openGauss服务器时,可以通过开启SSL加密客户端和服务器之间的通讯,为敏感数据在Internet上的传输提供了一种安全保障手段。本小节主要介绍应用程序通过JDBC如何采用SSL的方式连接openGauss。在使用本小节所描述的方法前,默认用户已经获取了服务端和客户端所需要的证书和私钥文件,关于证书等文件的获取请参考Openssl相关文档和命令 。
+
+## 服务端配置
+
+当开启SSL模式后,必须提供根证书、服务器证书和私钥。
+
+配置步骤(假设用户的证书文件放在数据目录/gaussdb/data/datanode下,且采用默认文件名):
+
+1. 以操作系统用户omm登录数据库主节点。
+2. 生成并配置证书
+
+ 生成SSL证书,具体请参见[证书生成](证书生成.md)。将生成出的文件server.crt,server.key,cacert.pem拷贝到服务端数据目录下。
+
+ 使用如下命令可以查询数据库节点的数据目录,instance列为数据目录。
+
+ ```
+ gs_om -t status --detail
+ ```
+
+ 在Unix系统上,server.crt、server.key的权限设置必须禁止任何外部或组的访问,请执行如下命令实现这一点。
+
+ ```
+ chmod 0600 server.key
+ ```
+
+3. 开启SSL认证模式。
+
+ ```
+ gs_guc set -D /gaussdb/data/datanode -c "ssl=on"
+ ```
+
+4. 配置客户端接入认证参数,IP为所要连接的主机IP。
+
+ ```
+ gs_guc reload -D /gaussdb/data/datanode -h "hostssl all all 127.0.0.1/32 cert"
+ gs_guc reload -D /gaussdb/data/datanode -h "hostssl all all IP/32 cert"
+ ```
+
+ 表示允许127.0.0.1/32网段的客户端以ssl认证方式连接到openGauss服务器。
+
+ > **须知:**
+ >如果服务端pg\_hba.conf文件中METHOD配置为cert,则只有客户端使用证书(client.crt)中所设置的用户名(common name)才能够成功连接数据库。如果设置为md5或sha256则对连接数据库的用户没有限制。
+
+5. 配置SSL认证相关的数字证书参数。
+
+ 各命令后所附为设置成功的回显。
+
+ ```
+ gs_guc set -D /gaussdb/data/datanode -c "ssl_cert_file='server.crt'"
+ gs_guc set: ssl_cert_file='server.crt'
+ ```
+
+ ```
+ gs_guc set -D /gaussdb/data/datanode -c "ssl_key_file='server.key'"
+ gs_guc set: ssl_key_file='server.key'
+ ```
+
+ ```
+ gs_guc set -D /gaussdb/data/datanode -c "ssl_ca_file='cacert.pem'"
+ gs_guc set: ssl_ca_file='cacert.pem'
+ ```
+
+6. 重启数据库。
+
+ ```
+ gs_om -t stop && gs_om -t start
+ ```
+
+7. 生成并上传证书文件
+
+## 客户端配置
+
+配置步骤如下:
+
+上传证书文件,将在服务端配置章节生成出的文件client.key.pk8,client.crt,cacert.pem放置在客户端。
+
+## 示例
+
+```
+import java.sql.Connection;
+import java.util.Properties;
+import java.sql.DriverManager;
+import java.sql.Statement;
+import java.sql.ResultSet;
+
+public class SSL{
+ public static void main(String[] args) {
+ Properties urlProps = new Properties();
+ String urls = "jdbc:postgresql://10.29.37.136:8000/postgres";
+
+ /**
+ * ================== 示例1 使用NonValidatingFactory通道,pg_hba.conf文件中MTETHOD不为cert
+ */
+/*
+ urlProps.setProperty("sslfactory","org.postgresql.ssl.NonValidatingFactory");
+ urlProps.setProperty("user", "world");
+ //此处的test@123为创建用户CRETAE USER world WITH PASSWORD 'test123@'时指定的密码
+ urlProps.setProperty("password", "test@123");
+ urlProps.setProperty("ssl", "true");
+*/
+ /**
+ * ================== 示例2 - 5 使用证书,pg_hba.conf文件中MTETHOD为cert
+ */
+ urlProps.setProperty("sslcert", "client.crt");
+ // DER格式的客户端秘钥
+ urlProps.setProperty("sslkey", "client.key.pk8");
+ urlProps.setProperty("sslrootcert", "cacert.pem");
+ urlProps.setProperty("user", "world");
+ /* ================== 示例2 设置ssl为true,使用证书认证 */
+ urlProps.setProperty("ssl", "true");
+ /* ================== 示例3 设置sslmode为require,使用证书 */
+// urlProps.setProperty("sslmode", "require");
+ /* ================== 示例4 设置sslmode为verify-ca,使用证书 */
+// urlProps.setProperty("sslmode", "verify-ca");
+ /* ================== 示例5 设置sslmode为verify-full,使用证书(Linux下验证) */
+// urls = "jdbc:postgresql://world:8000/postgres";
+// urlProps.setProperty("sslmode", "verify-full");
+
+ try {
+ Class.forName("org.postgresql.Driver").newInstance();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ try {
+ Connection conn;
+ conn = DriverManager.getConnection(urls,urlProps);
+ conn.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
+```
+
diff --git "a/content/zh/docs/Developerguide/\350\277\236\346\216\245\350\256\276\347\275\256.md" "b/content/zh/docs/Developerguide/\350\277\236\346\216\245\350\256\276\347\275\256.md"
index a008f394f559a11fd34f9bc57960d25ca75299f0..6771aeabfc88f58352c69e6219870d2cb08a3b34 100644
--- "a/content/zh/docs/Developerguide/\350\277\236\346\216\245\350\256\276\347\275\256.md"
+++ "b/content/zh/docs/Developerguide/\350\277\236\346\216\245\350\256\276\347\275\256.md"
@@ -35,7 +35,7 @@
**取值范围:**整型,1~65535
-**默认值:**5432(实际值有安装时的配置文件指定)
+**默认值:**5432(实际值由安装时的配置文件指定)
## max\_connections
@@ -49,7 +49,7 @@
**设置建议:**
-数据库主节点中此参数建议保持默认值。数据库节点中此参数建议设置为数据库主节点的个数乘以数据库主节点中此参数的值。
+数据库主节点中此参数建议保持默认值。
增大这个参数可能导致openGauss要求更多的SystemV共享内存或者信号量,可能超过操作系统缺省配置的最大值。这种情况下,请酌情对数值加以调整。
@@ -135,9 +135,9 @@ Unix域套接字使用普通的Unix文件系统权限集。这个参数的值应
> **说明:**
>- 空字符串,表示当前连接数据库的驱动不支持自动设置connection\_info参数或应用程序未设置。
->- 驱动连接数enable\_resource\_record据库的时候自行拼接的connection\_info参数格式如下:
+>- 驱动连接数据库的时候自行拼接的connection\_info参数格式如下:
> ```
-> {"driver_name":"ODBC","driver_version": "(openGauss x.x build 62e7353e) compiled at 2019-06-26 14:56:09 commit 5361 last mr 9168 debug","driver_path":"/usr/local/lib/psqlodbcw.so","os_user":"omm"}
+> {"driver_name":"ODBC","driver_version": "(GaussDB Kernel V500R001C00 build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131 debug","driver_path":"/usr/local/lib/psqlodbcw.so","os_user":"omm"}
> ```
-> 默认显示driver\_name和driver\_version,driver\_path和os\_user的显示由用户控制。
+> 默认显示driver\_name和driver\_version,driver\_path和os\_user的显示由用户控制(参见[连接数据库](连接数据库-0.md)和[Linux下配置数据源](Linux下配置数据源.md))。
diff --git "a/content/zh/docs/Developerguide/\351\200\211\346\213\251\345\255\230\345\202\250\346\250\241\345\236\213.md" "b/content/zh/docs/Developerguide/\351\200\211\346\213\251\345\255\230\345\202\250\346\250\241\345\236\213.md"
new file mode 100644
index 0000000000000000000000000000000000000000..5eb3288b28592ad4bd005404558133bfdbe3c5c5
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\351\200\211\346\213\251\345\255\230\345\202\250\346\250\241\345\236\213.md"
@@ -0,0 +1,27 @@
+# 选择存储模型
+
+进行数据库设计时,表设计上的一些关键项将严重影响后续整库的查询性能。表设计对数据存储也有影响:好的表设计能够减少I/O操作及最小化内存使用,进而提升查询性能。
+
+表的存储模型选择是表定义的第一步。客户业务属性是表的存储模型的决定性因素,依据下面表格选择适合当前业务的存储模型。
+
+
+ 存储模型
+
+ 适用场景
+
+
+
+ 行存
+
+ 点查询(返回记录少,基于索引的简单查询)。
+ 增删改比较多的场景。
+
+
+ 列存
+
+ 统计分析类查询 (group , join多的场景)。
+
+
+
+
+
diff --git "a/content/zh/docs/Developerguide/\351\200\211\346\213\251\346\225\260\346\215\256\347\261\273\345\236\213.md" "b/content/zh/docs/Developerguide/\351\200\211\346\213\251\346\225\260\346\215\256\347\261\273\345\236\213.md"
new file mode 100644
index 0000000000000000000000000000000000000000..2f4a77b99c6b14d352fca322150c91cfb268debc
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\351\200\211\346\213\251\346\225\260\346\215\256\347\261\273\345\236\213.md"
@@ -0,0 +1,17 @@
+# 选择数据类型
+
+高效数据类型,主要包括以下三方面:
+
+1. **尽量使用执行效率比较高的数据类型**
+
+ 一般来说整型数据运算\(包括=、>、<、≧、≦、≠等常规的比较运算,以及group by\)的效率比字符串、浮点数要高。比如某客户场景中对列存表进行点查询,filter条件在一个numeric列上,执行时间为10+s;修改numeric为int类型之后,执行时间缩短为1.8s左右。
+
+2. **尽量使用短字段的数据类型**
+
+ 长度较短的数据类型不仅可以减小数据文件的大小,提升IO性能;同时也可以减小相关计算时的内存消耗,提升计算性能。比如对于整型数据,如果可以用smallint就尽量不用int,如果可以用int就尽量不用bigint。
+
+3. **使用一致的数据类型**
+
+ 表关联列尽量使用相同的数据类型。如果表关联列数据类型不同,数据库必须动态地转化为相同的数据类型进行比较,这种转换会带来一定的性能开销。
+
+
diff --git "a/content/zh/docs/Developerguide/\351\200\232\344\277\241\345\272\223\345\217\202\346\225\260.md" "b/content/zh/docs/Developerguide/\351\200\232\344\277\241\345\272\223\345\217\202\346\225\260.md"
index 524fa1b798795ae236fe5dfd12358ebf98241344..9386db59f7d95da830669327ef64dd05b1c9bdd5 100644
--- "a/content/zh/docs/Developerguide/\351\200\232\344\277\241\345\272\223\345\217\202\346\225\260.md"
+++ "b/content/zh/docs/Developerguide/\351\200\232\344\277\241\345\272\223\345\217\202\346\225\260.md"
@@ -53,7 +53,7 @@
> **须知:**
>SCTP协议的连接不再提供支持,为了保持兼容,提供此参数的接口,但此参数会在设置过程中强制改为on。
-**取值范围:**布尔型,数据库主节点设置为on表示使用TCP模式连接数据库节点。
+**取值范围:**布尔型,设置为on表示使用TCP模式连接数据库节点。
**默认值:**on
diff --git "a/content/zh/docs/Developerguide/\351\200\232\347\224\250\346\226\207\344\273\266\350\256\277\351\227\256\345\207\275\346\225\260.md" "b/content/zh/docs/Developerguide/\351\200\232\347\224\250\346\226\207\344\273\266\350\256\277\351\227\256\345\207\275\346\225\260.md"
index a8f69bb937f291a4ec8dc1849b7c65b7c4d5e2b9..bd097a76625b74dc2a6a490b5463bef68ac571be 100644
--- "a/content/zh/docs/Developerguide/\351\200\232\347\224\250\346\226\207\344\273\266\350\256\277\351\227\256\345\207\275\346\225\260.md"
+++ "b/content/zh/docs/Developerguide/\351\200\232\347\224\250\346\226\207\344\273\266\350\256\277\351\227\256\345\207\275\346\225\260.md"
@@ -113,7 +113,7 @@
/srv/BigData/gaussdb/data1/dbnode+
1496308688 +
25108 +
- /opt/huawei/Bigdata/gaussdb/gaussdb_tmp +
+ /opt/user/Bigdata/gaussdb/gaussdb_tmp +
* +
25108001 43352069 +
diff --git "a/content/zh/docs/Developerguide/\351\200\232\350\277\207INSERT\350\257\255\345\217\245\347\233\264\346\216\245\345\206\231\345\205\245\346\225\260\346\215\256.md" "b/content/zh/docs/Developerguide/\351\200\232\350\277\207INSERT\350\257\255\345\217\245\347\233\264\346\216\245\345\206\231\345\205\245\346\225\260\346\215\256.md"
index e341b6ff93a679197b38e7be522da458245b8e7c..e55c14f585dc3037f75a437a3637811fb5e3f268 100644
--- "a/content/zh/docs/Developerguide/\351\200\232\350\277\207INSERT\350\257\255\345\217\245\347\233\264\346\216\245\345\206\231\345\205\245\346\225\260\346\215\256.md"
+++ "b/content/zh/docs/Developerguide/\351\200\232\350\277\207INSERT\350\257\255\345\217\245\347\233\264\346\216\245\345\206\231\345\205\245\346\225\260\346\215\256.md"
@@ -1,15 +1,15 @@
# 通过INSERT语句直接写入数据
-用户可以通过以下方式执行[INSERT](INSERT.md)语句直接向openGauss写入数据:
+用户可以通过以下方式执行[INSERT](INSERT.md)语句直接向openGauss数据库写入数据:
-- 使用openGauss提供的客户端工具向openGauss写入数据。
+- 使用openGauss数据库提供的客户端工具向openGauss数据库写入数据。
请参见[向表中插入数据](向表中插入数据.md)。
-- 通过JDBC/ODBC驱动连接数据库执行INSERT语句向openGauss写入数据。
+- 通过JDBC/ODBC驱动连接数据库执行INSERT语句向openGauss数据库写入数据。
详细内容请参见[连接数据库](连接数据库.md)。
-openGauss支持完整的数据库事务级别的增删改操作。INSERT是最简单的一种数据写入方式,这种方式适合数据写入量不大, 并发度不高的场景。
+openGauss数据库支持完整的数据库事务级别的增删改操作。INSERT是最简单的一种数据写入方式,这种方式适合数据写入量不大, 并发度不高的场景。
diff --git "a/content/zh/docs/Developerguide/\351\200\232\350\277\207\345\210\233\345\273\272\344\270\264\346\227\266\350\241\250\345\271\266\346\210\252\346\226\255\345\216\237\345\247\213\350\241\250\346\235\245\346\211\247\350\241\214\346\267\261\345\261\202\345\244\215\345\210\266.md" "b/content/zh/docs/Developerguide/\351\200\232\350\277\207\345\210\233\345\273\272\344\270\264\346\227\266\350\241\250\345\271\266\346\210\252\346\226\255\345\216\237\345\247\213\350\241\250\346\235\245\346\211\247\350\241\214\346\267\261\345\261\202\345\244\215\345\210\266.md"
index 23053ce83bbff730946aa46e8a3b5ee0f9f8f5b7..b9bb681382197cc04b3509c3480dfea9acd94e02 100644
--- "a/content/zh/docs/Developerguide/\351\200\232\350\277\207\345\210\233\345\273\272\344\270\264\346\227\266\350\241\250\345\271\266\346\210\252\346\226\255\345\216\237\345\247\213\350\241\250\346\235\245\346\211\247\350\241\214\346\267\261\345\261\202\345\244\215\345\210\266.md"
+++ "b/content/zh/docs/Developerguide/\351\200\232\350\277\207\345\210\233\345\273\272\344\270\264\346\227\266\350\241\250\345\271\266\346\210\252\346\226\255\345\216\237\345\247\213\350\241\250\346\235\245\346\211\247\350\241\214\346\267\261\345\261\202\345\244\215\345\210\266.md"
@@ -2,7 +2,7 @@
该方法使用CREATE TABLE ... AS语句创建原始表的临时表,然后截断原始表并从临时表填充它完成原始表的深层复制。
-在新建表需要保留父表的主键和外键属性,或如果父表具有依赖项的情况下,建议使用此方法。
+在新建表需要保留父表的主键属性,或如果父表具有依赖项的情况下,建议使用此方法。
## 操作步骤
diff --git "a/content/zh/docs/Developerguide/\351\205\215\347\275\256LLVM.md" "b/content/zh/docs/Developerguide/\351\205\215\347\275\256LLVM.md"
new file mode 100644
index 0000000000000000000000000000000000000000..7e138f039a65751228b88f68f6991f42d453e08b
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\351\205\215\347\275\256LLVM.md"
@@ -0,0 +1,13 @@
+# 配置LLVM
+
+LLVM\(Low Level Virtual Machine\)动态编译技术可以为每个查询生成定制化的机器码用于替换原本的通用函数。通过减少实际查询时冗余的条件逻辑判断、虚函数调用并提高数据局域性,从而达到提升查询整体性能的目的。
+
+由于LLVM需要消耗额外的时间预生成IR中间态表示并编译成机器码,因此在小数据量场景或查询本身耗时较少时,可能引起性能的劣化。
+
+- **[LLVM适用场景与限制](LLVM适用场景与限制.md)**
+
+- **[其他因素对LLVM性能的影响](其他因素对LLVM性能的影响.md)**
+
+- **[LLVM使用建议](LLVM使用建议.md)**
+
+
diff --git "a/content/zh/docs/Developerguide/\351\205\215\347\275\256\345\256\242\346\210\267\347\253\257\346\216\245\345\205\245\350\256\244\350\257\201.md" "b/content/zh/docs/Developerguide/\351\205\215\347\275\256\345\256\242\346\210\267\347\253\257\346\216\245\345\205\245\350\256\244\350\257\201.md"
index 77ac7307a16b136873c74df63cfdb64b3f821e6d..31fd4615aff590f2b4a1d8b38913faa0e772f28f 100644
--- "a/content/zh/docs/Developerguide/\351\205\215\347\275\256\345\256\242\346\210\267\347\253\257\346\216\245\345\205\245\350\256\244\350\257\201.md"
+++ "b/content/zh/docs/Developerguide/\351\205\215\347\275\256\345\256\242\346\210\267\347\253\257\346\216\245\345\205\245\350\256\244\350\257\201.md"
@@ -1,4 +1,4 @@
-# 配置客户端接入认证
+# 配置客户端接入认证
## 背景信息
@@ -38,7 +38,7 @@
这条命令在数据库主节点实例对应的“pg\_hba.conf”文件中添加了一条规则,用于对连接数据库主节点的客户端进行鉴定。
- “pg\_hba.conf”文件中的每条记录可以是下面四种格式之一,四种格式的参数说明请参见[配置文件参考](配置文件参考.md#ZH-CN_TOPIC_0242376655)。
+ “pg\_hba.conf”文件中的每条记录可以是下面四种格式之一,四种格式的参数说明请参见[配置文件参考](配置文件参考.md)。
```
local DATABASE USER METHOD [OPTIONS]
diff --git "a/content/zh/docs/Developerguide/\351\205\215\347\275\256\346\226\207\344\273\266\345\217\202\350\200\203.md" "b/content/zh/docs/Developerguide/\351\205\215\347\275\256\346\226\207\344\273\266\345\217\202\350\200\203.md"
index 6d93c84415662918276bfafb96bc8353caa8ea34..c123dfeef869a97147e4e2f3ba3fffb705129390 100644
--- "a/content/zh/docs/Developerguide/\351\205\215\347\275\256\346\226\207\344\273\266\345\217\202\350\200\203.md"
+++ "b/content/zh/docs/Developerguide/\351\205\215\347\275\256\346\226\207\344\273\266\345\217\202\350\200\203.md"
@@ -1,4 +1,4 @@
-# 配置文件参考
+# 配置文件参考
**表 1** 参数说明
@@ -73,7 +73,7 @@
声明连接时使用的认证方法。
本产品支持如下几种认证方式,详细解释请参见表2 :
-
+
@@ -93,7 +93,7 @@
采用这种认证模式时,本产品只完全信任从服务器本机使用gsql且不指定-U参数的连接,此时不需要口令。
trust认证对于单用户工作站的本地连接是非常合适和方便的,通常不适用于多用户环境。如果想使用这种认证方法,可利用文件系统权限限制对服务器的Unix域套接字文件的访问。要使用这种限制有两个方法:
- 须知: 设置文件系统权限只能Unix域套接字连接,它不会限制本地TCP/IP连接。为保证本地TCP/IP安全, openGauss 不允许远程连接使用trust认证方法。
+
须知: 设置文件系统权限只能Unix域套接字连接,它不会限制本地TCP/IP连接。为保证本地TCP/IP安全, openGauss 不允许远程连接使用trust认证方法。
@@ -105,7 +105,7 @@
md5
要求客户端提供一个md5加密的口令进行认证。
- 须知: 不推荐使用md5认证,因为md5为不安全的加密算法,存在网络安全风险。 openGauss 保留md5认证和密码存储,是为了便于第三方工具的使用(比如TPCC评测工具)。
+
须知: 不推荐使用md5认证,因为md5为不安全的加密算法,存在网络安全风险。 openGauss 保留md5认证和密码存储,是为了便于第三方工具的使用(比如TPCC评测工具)。
@@ -124,7 +124,7 @@
gss
使用基于gssapi的kerberos认证。
- 须知: 该认证方式依赖kerberos server等组件,仅支持 openGauss 内部通信认证。当前版本暂不支持外部客户端通过kerberos认证连接。 开启 openGauss 内部kerberos认证会使增加内部节点建连时间,即影响首次涉及内部建连的SQL操作性能,内部连接建立好后, 后续操作不受影响。
+
须知: 该认证方式依赖kerberos server等组件,仅支持openGauss内部通信认证。当前版本暂不支持外部客户端通过kerberos认证连接。 开启openGauss内部kerberos认证会使增加内部节点建连时间,即影响首次涉及内部建连的SQL操作性能,内部连接建立好后, 后续操作不受影响。
diff --git "a/content/zh/docs/Developerguide/\351\205\215\347\275\256\346\234\215\345\212\241\347\253\257\350\277\234\347\250\213\350\277\236\346\216\245.md" "b/content/zh/docs/Developerguide/\351\205\215\347\275\256\346\234\215\345\212\241\347\253\257\350\277\234\347\250\213\350\277\236\346\216\245.md"
index 8481e734663aba180952cb6e3539617a573a0b64..3ff7e9131ff28006c80c4587c93e9643c6ae9c40 100644
--- "a/content/zh/docs/Developerguide/\351\205\215\347\275\256\346\234\215\345\212\241\347\253\257\350\277\234\347\250\213\350\277\236\346\216\245.md"
+++ "b/content/zh/docs/Developerguide/\351\205\215\347\275\256\346\234\215\345\212\241\347\253\257\350\277\234\347\250\213\350\277\236\346\216\245.md"
@@ -1,13 +1,13 @@
# 配置服务端远程连接
-进行远程连接前,需要在所有部署了数据库主节点的机器上设置允许客户端访问数据库,并配置远程连接。
+进行远程连接前,需要在部署了数据库主节点的机器上设置允许客户端访问数据库,并配置远程连接。
## 操作步骤
-以下步骤需要在openGauss的数据库主节点所在主机上执行。
+以下步骤需要在openGauss所在主机上执行。
1. 以操作系统用户omm登录数据库主节点。
-2. 配置客户端认证方式,请参考[配置客户端接入认证](配置客户端接入认证.md#ZH-CN_TOPIC_0242376654)。
+2. 配置客户端认证方式,请参考[配置客户端接入认证](配置客户端接入认证.md)。
3. 配置[listen\_addresses](连接设置.md#zh-cn_topic_0237124695_zh-cn_topic_0059777636_sed0adde99a3f47669f5d4ab557b36b35),listen\_addresses即远程客户端连接使用的数据库主节点ip或者主机名。
1. 使用如下命令查看数据库主节点目前的listen\_addresses配置。
diff --git "a/content/zh/docs/Developerguide/\351\205\215\347\275\256\347\244\272\344\276\213.md" "b/content/zh/docs/Developerguide/\351\205\215\347\275\256\347\244\272\344\276\213.md"
index 71607e01a933774f8f752a00dddb0661f499f67b..d6a2489af9f22a91eaf31df0c1a699eddf3e4945 100644
--- "a/content/zh/docs/Developerguide/\351\205\215\347\275\256\347\244\272\344\276\213.md"
+++ "b/content/zh/docs/Developerguide/\351\205\215\347\275\256\347\244\272\344\276\213.md"
@@ -50,7 +50,7 @@ openGauss中预定义有一些可用的文本搜索配置,用户也可创建
);
```
-4. 设置文本搜索配置ts\_conf,修改某些类型的token对应的词典列表。关于token类型的详细信息,请参见[解析器](解析器.md#ZH-CN_TOPIC_0242370496)。
+4. 设置文本搜索配置ts\_conf,修改某些类型的token对应的词典列表。关于token类型的详细信息,请参见[解析器](解析器.md)。
```
postgres=# ALTER TEXT SEARCH CONFIGURATION ts_conf
diff --git "a/content/zh/docs/Developerguide/\351\207\215\350\256\276\345\217\202\346\225\260.md" "b/content/zh/docs/Developerguide/\351\207\215\350\256\276\345\217\202\346\225\260.md"
index 1cade6753ac5d4f7cd505fa9ae416ba06a915504..60aeb10e7d15b44edb41fe9f02f721ca9497d60b 100644
--- "a/content/zh/docs/Developerguide/\351\207\215\350\256\276\345\217\202\346\225\260.md"
+++ "b/content/zh/docs/Developerguide/\351\207\215\350\256\276\345\217\202\346\225\260.md"
@@ -94,7 +94,7 @@ openGauss提供了三种方式来修改GUC参数,具体操作请参考[表2](#
使用如下命令修改参数。 gs_guc set -D datadir -c " paraname=value "
说明: 如果参数是一个字符串变量,则使用-c parameter="'value'"或者使用-c "parameter = 'value'"。
-
使用以下命令在 数据库节点 上同时设置某个参数。
+
使用以下命令在数据库节点上同时设置某个参数。
gs_guc set -N all -I all -c " paraname=value "
重启数据库使参数生效。 说明: 重启 openGauss 操作会导致用户执行操作中断,请在操作之前规划好合适的执行窗口。
@@ -106,7 +106,7 @@ openGauss提供了三种方式来修改GUC参数,具体操作请参考[表2](#
方式二
gs_guc reload -D datadir -c "paraname=value "
- 说明: 使用以下命令在 数据库节点 上同时设置某个参数。
+
说明: 使用以下命令在数据库节点上同时设置某个参数。
gs_guc reload -N all -I all -c " paraname=value "
diff --git "a/content/zh/docs/Developerguide/\351\223\276\346\216\245\345\255\227\347\254\246.md" "b/content/zh/docs/Developerguide/\351\223\276\346\216\245\345\255\227\347\254\246.md"
index c139ca32f0b8bfbbfbfc28f19bb61f7c8fbe8f12..68c284b5628ba9ccb82f4205e0627878643140b8 100644
--- "a/content/zh/docs/Developerguide/\351\223\276\346\216\245\345\255\227\347\254\246.md"
+++ "b/content/zh/docs/Developerguide/\351\223\276\346\216\245\345\255\227\347\254\246.md"
@@ -33,6 +33,11 @@
要链接的用户名,缺省是与运行该应用的用户操作系统名同名的用户。
+
dbname
+
+ 数据库名,缺省和用户名相同。
+
+
password
如果服务器要求口令认证,所用的口令。
@@ -40,7 +45,7 @@
connect_timeout
- 链接的最大等待时间,以秒计(用十进制整数字串书写),0或者不声明表示无穷。不建议把链接超时的值设置得小于2秒。
+ 链接的最大等待时间,以秒计(用十进制整数字符串书写),0或者不声明表示无穷。不建议把链接超时的值设置得小于2秒。
client_encoding
@@ -50,7 +55,7 @@
options
- 添加命令行选项以在运行时发送到服务器。例如,设置为-c comm_debug_mode=off设置guc参数comm_debug_mode参数的会话的值为off。
+ 添加命令行选项以在运行时发送到服务器。
application_name
diff --git "a/content/zh/docs/Developerguide/\351\224\201\346\223\215\344\275\234.md" "b/content/zh/docs/Developerguide/\351\224\201\346\223\215\344\275\234.md"
new file mode 100644
index 0000000000000000000000000000000000000000..8e82b1560a9ac2e6089b3e3852ea936776c7d308
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\351\224\201\346\223\215\344\275\234.md"
@@ -0,0 +1,4 @@
+# 锁操作
+
+openGauss提供了多种锁模式用于控制对表中数据的并发访问。这些模式可以用在MVCC(多版本并发控制)无法给出期望行为的场合。同样,大多数openGauss命令自动施加恰当的锁,以保证被引用的表在命令的执行过程中不会以一种不兼容的方式被删除或者修改。比如,在存在其他并发操作的时候,ALTER TABLE是不能在同一个表上执行的。
+
diff --git "a/content/zh/docs/Developerguide/\351\224\231\350\257\257\346\215\225\350\216\267\350\257\255\345\217\245.md" "b/content/zh/docs/Developerguide/\351\224\231\350\257\257\346\215\225\350\216\267\350\257\255\345\217\245.md"
new file mode 100644
index 0000000000000000000000000000000000000000..cb070d9d4a552a942e672618d20cbe38a42b54e4
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\351\224\231\350\257\257\346\215\225\350\216\267\350\257\255\345\217\245.md"
@@ -0,0 +1,112 @@
+# 错误捕获语句
+
+缺省时,当PL/SQL函数执行过程中发生错误时退出函数执行,并且周围的事务也会回滚。可以用一个带有EXCEPTION子句的BEGIN块捕获错误并且从中恢复。其语法是正常的BEGIN块语法的一个扩展:
+
+```
+[<>]
+[DECLARE
+ declarations]
+BEGIN
+ statements
+EXCEPTION
+ WHEN condition [OR condition ...] THEN
+ handler_statements
+ [WHEN condition [OR condition ...] THEN
+ handler_statements
+ ...]
+END;
+```
+
+如果没有发生错误,这种形式的块儿只是简单地执行所有语句,然后转到END之后的下一个语句。但是如果在执行的语句内部发生了一个错误,则这个语句将会回滚,然后转到EXCEPTION列表。寻找匹配错误的第一个条件。若找到匹配,则执行对应的handler\_statements,然后转到END之后的下一个语句。如果没有找到匹配,则会向事务的外层报告错误,和没有EXCEPTION子句一样。
+
+也就是说该错误可以被一个包围块用EXCEPTION捕获,如果没有包围块,则进行退出函数处理。
+
+condition的名称可以是SQL标准错误码编号说明的任意值。特殊的条件名OTHERS匹配除了QUERY\_CANCELED之外的所有错误类型。
+
+如果在选中的handler\_statements里发生了新错误,则不能被这个EXCEPTION子句捕获,而是向事务的外层报告错误。一个外层的EXCEPTION子句可以捕获它。
+
+如果一个错误被EXCEPTION捕获,PL/SQL函数的局部变量保持错误发生时的原值,但是所有该块中想写入数据库中的状态都回滚。
+
+示例:
+
+```
+CREATE TABLE mytab(id INT,firstname VARCHAR(20),lastname VARCHAR(20)) ;
+
+INSERT INTO mytab(firstname, lastname) VALUES('Tom', 'Jones');
+
+CREATE FUNCTION fun_exp() RETURNS INT
+AS $$
+DECLARE
+ x INT :=0;
+ y INT;
+BEGIN
+ UPDATE mytab SET firstname = 'Joe' WHERE lastname = 'Jones';
+ x := x + 1;
+ y := x / 0;
+EXCEPTION
+ WHEN division_by_zero THEN
+ RAISE NOTICE 'caught division_by_zero';
+ RETURN x;
+END;$$
+LANGUAGE plpgsql;
+
+call fun_exp();
+NOTICE: caught division_by_zero
+ fun_exp
+---------
+ 1
+(1 row)
+
+select * from mytab;
+ id | firstname | lastname
+----+-----------+----------
+ | Tom | Jones
+(1 row)
+
+DROP FUNCTION fun_exp();
+DROP TABLE mytab;
+```
+
+当控制到达给y赋值的地方时,会有一个division\_by\_zero错误失败。这个错误将被EXCEPTION子句捕获。而在RETURN语句里返回的数值将是x的增量值。
+
+> **说明:**
+>进入和退出一个包含EXCEPTION子句的块要比不包含的块开销大的多。因此,不必要的时候不要使用EXCEPTION。
+>在下列场景中,无法捕获处理异常,整个存储过程回滚:节点故障、网络故障引起的存储过程参与节点线程退出以及COPY FROM操作中源数据与目标表的表结构不一致造成的异常。
+
+示例 :UPDATE/INSERT异常
+
+这个例子根据使用异常处理器执行恰当的UPDATE或INSERT 。
+
+```
+CREATE TABLE db (a INT, b TEXT);
+
+CREATE FUNCTION merge_db(key INT, data TEXT) RETURNS VOID AS
+$$
+BEGIN
+ LOOP
+
+--第一次尝试更新key
+ UPDATE db SET b = data WHERE a = key;
+ IF found THEN
+ RETURN;
+ END IF;
+--不存在,所以尝试插入key,如果其他人同时插入相同的key,我们可能得到唯一key失败。
+ BEGIN
+ INSERT INTO db(a,b) VALUES (key, data);
+ RETURN;
+ EXCEPTION WHEN unique_violation THEN
+ --什么也不做,并且循环尝试再次更新。
+ END;
+ END LOOP;
+END;
+$$
+LANGUAGE plpgsql;
+
+SELECT merge_db(1, 'david');
+SELECT merge_db(1, 'dennis');
+
+--删除FUNCTION和TABLE
+DROP FUNCTION merge_db;
+DROP TABLE db ;
+```
+
diff --git "a/content/zh/docs/Developerguide/\351\231\204\345\275\225.md" "b/content/zh/docs/Developerguide/\351\231\204\345\275\225.md"
index f6be15669defd940bea3c402f6b54249aed6be82..c4bc9532ae5881f8f500bad1c2b83bb27f34c5bc 100644
--- "a/content/zh/docs/Developerguide/\351\231\204\345\275\225.md"
+++ "b/content/zh/docs/Developerguide/\351\231\204\345\275\225.md"
@@ -1,7 +1,9 @@
-# 附录
+# 附录
-- **[客户端接入认证](客户端接入认证.md)**
+- **[GIN索引](GIN索引.md)**
-- **[设置文件权限安全策略](设置文件权限安全策略.md)**
+- **[扩展函数](扩展函数.md)**
+
+- **[扩展语法](扩展语法.md)**
diff --git "a/content/zh/docs/Developerguide/\351\232\220\345\274\217\346\270\270\346\240\207.md" "b/content/zh/docs/Developerguide/\351\232\220\345\274\217\346\270\270\346\240\207.md"
new file mode 100644
index 0000000000000000000000000000000000000000..0911a9fa193c6b4e53c8b3f0f13e3965a9422f4b
--- /dev/null
+++ "b/content/zh/docs/Developerguide/\351\232\220\345\274\217\346\270\270\346\240\207.md"
@@ -0,0 +1,50 @@
+# 隐式游标
+
+对于非查询语句,如修改、删除操作,则由系统自动地为这些操作设置游标并创建其工作区,这些由系统隐含创建的游标称为隐式游标,隐式游标的名称为SQL,这是由系统定义的。
+
+## 简介
+
+对于隐式游标的操作,如定义、打开、取值及关闭操作,都由系统自动地完成,无需用户进行处理。用户只能通过隐式游标的相关属性,来完成相应的操作。在隐式游标的工作区中,所存放的数据是最新处理的一条SQL语句所包含的数据,与用户自定义的显式游标无关。
+
+**格式调用为**: SQL%
+
+> **说明:**
+>INSERT,UPDATE,DELETE,SELECT语句中不必明确定义游标。
+
+## 属性
+
+隐式游标属性为:
+
+- SQL%FOUND布尔型属性:当最近一次读记录时成功返回,则值为TRUE。
+- SQL%NOTFOUND布尔型属性:与%FOUND相反。
+- SQL%ROWCOUNT数值型属性:返回已从游标中读取得记录数。
+- SQL%ISOPEN布尔型属性:取值总是FALSE。SQL语句执行完毕立即关闭隐式游标。
+
+## 示例
+
+```
+--删除EMP表中某部门的所有员工,如果该部门中已没有员工,则在DEPT表中删除该部门。
+CREATE TABLE hr.staffs_t1 AS TABLE hr.staffs;
+CREATE TABLE hr.sections_t1 AS TABLE hr.sections;
+
+CREATE OR REPLACE PROCEDURE proc_cursor3()
+AS
+ DECLARE
+ V_DEPTNO NUMBER(4) := 100;
+ BEGIN
+ DELETE FROM hr.staffs WHERE section_ID = V_DEPTNO;
+ --根据游标状态做进一步处理
+ IF SQL%NOTFOUND THEN
+ DELETE FROM hr.sections_t1 WHERE section_ID = V_DEPTNO;
+ END IF;
+ END;
+/
+
+CALL proc_cursor3();
+
+--删除存储过程和临时表
+DROP PROCEDURE proc_cursor3;
+DROP TABLE hr.staffs_t1;
+DROP TABLE hr.sections_t1;
+```
+
diff --git "a/content/zh/docs/Developerguide/\351\273\230\350\256\244\346\235\203\351\231\220\346\234\272\345\210\266.md" "b/content/zh/docs/Developerguide/\351\273\230\350\256\244\346\235\203\351\231\220\346\234\272\345\210\266.md"
index afc8999fc771823d599524969555fe3025ce79ef..f972d6570c4f2aa6b23c812b337d580f1d142b22 100644
--- "a/content/zh/docs/Developerguide/\351\273\230\350\256\244\346\235\203\351\231\220\346\234\272\345\210\266.md"
+++ "b/content/zh/docs/Developerguide/\351\273\230\350\256\244\346\235\203\351\231\220\346\234\272\345\210\266.md"
@@ -1,6 +1,6 @@
# 默认权限机制
-数据库对象创建后,进行对象创建的用户就是该对象的所有者。openGauss安装后的默认情况下,未开启[三权分立](三权分立.md#ZH-CN_TOPIC_0246507960),数据库系统管理员具有与对象所有者相同的权限。也就是说对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和销毁对象,以及通过[GRANT](GRANT.md)将对象的权限授予其他用户。
+数据库对象创建后,进行对象创建的用户就是该对象的所有者。openGauss安装后的默认情况下,未开启[三权分立](三权分立.md),数据库系统管理员具有与对象所有者相同的权限。也就是说对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和销毁对象,以及通过[GRANT](GRANT.md)将对象的权限授予其他用户。
为使其他用户能够使用对象,必须向用户或包含该用户的角色授予必要的权限。
@@ -8,7 +8,7 @@ openGauss支持以下的权限:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、
要撤消已经授予的权限,可以使用[REVOKE](REVOKE.md)。对象所有者的权限(例如ALTER、 DROP、GRANT和REVOKE)是隐式的,无法授予或撤消。即只要拥有对象就可以执行对象所有者的这些隐式权限。对象所有者可以撤消自己的普通权限,例如,使表对自己以及其他人只读。
-系统表和系统视图要么只对系统管理员可见,要么对所有用户可见。标识了需要系统管理员权限的系统表和视图只有系统管理员可以查询。 有关信息,请参考[系统表和系统视图](系统表和系统视图.md#ZH-CN_TOPIC_0242385743)。
+系统表和系统视图要么只对系统管理员可见,要么对所有用户可见。标识了需要系统管理员权限的系统表和视图只有系统管理员可以查询。 有关信息,请参考[系统表和系统视图](系统表和系统视图.md)。
-数据库提供对象隔离的特性,对象隔离特性开启时,用户只能查看有权限访问的对象\(表、视图、字段、函数\),系统管理员不受影响。有关信息,请参考[ALTER DATABASE](ALTER-DATABASE.md#ZH-CN_TOPIC_0242370519)。
+数据库提供对象隔离的特性,对象隔离特性开启时,用户只能查看有权限访问的对象\(表、视图、字段、函数\),系统管理员不受影响。有关信息,请参考[ALTER DATABASE](ALTER-DATABASE.md)。
diff --git a/content/zh/docs/Glossary/Glossary.md b/content/zh/docs/Glossary/Glossary.md
new file mode 100644
index 0000000000000000000000000000000000000000..59939648d32e8020bdd3e84b42277d0fc1beb0c8
--- /dev/null
+++ b/content/zh/docs/Glossary/Glossary.md
@@ -0,0 +1,641 @@
+# 术语表
+
+**表 1** 术语表
+
+
+ 术语
+
+ 解释
+
+
+
+ A – E
+
+
+ ACID
+
+ 在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、和持久性(Durability)。
+
+
+ Bgwriter
+
+ 数据库启动时创建的一个后台写线程,此线程用于将数据库中脏页面写入到持久性设备(例如磁盘)中。
+
+
+ bit
+
+ 比特。计算机处理的最小的信息单位。比特用来表示二进制数字1或0,或者一种逻辑条件真或假。在物理上,比特表示一个电路上高或低的电压点或者磁盘上的磁化单程或其它。一个单独的比特位所传达的信息很少有意义的。然而,一个8位组却构成了一个字节,可用于表示如一个英文字母,十进制数字,或其它字符等多种类型的信息。
+
+
+ Bloom Filter
+
+ 布隆过滤器。由Howard Bloom在1970年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员,这种检测只会对在集合内的数据错判,而不会对不是集合内的数据进行错判,这样每个检测请求返回有“在集合内(可能错误)”和“不在集合内(绝对不在集合内)”两种情况,可见Bloom filter是牺牲了正确率换取时间和空间。
+
+
+ CIDR
+
+ Classless Inter-Domain Routing,无类域间路由IP编址方案。CIDR摒弃传统的基于类(A类:8,B类:16,C类:24)的地址分配方式,允许使用任意长度的地址前缀,有效提高地址空间的利用率。CIDR表示方法:IP地址/网络ID的位数。比如192.168.23.35/21,其中“21”表示前面地址中的前21位代表网络部分,其余位代表主机部分。
+
+
+ CLI
+
+ Command-line Interface,命令行界面。应用程序和用户交互的一种方式,完全基于文本输入和输出。命令通过键盘或类似装置输入,由程序编译并执行。结果是以文本或图形的方式呈现在终端界面。
+
+
+ CU
+
+ Compression Unit,压缩单元。列存表的最小存储单位。
+
+
+ core文件
+
+ 当程序出现内存越界、断言失败或者访问非法内存时,操作系统会中止进程,并将当前内存状态导出到core文件中,以便进一步分析。
+ core文件包含内存转储,支持全二进制和指定端口格式。core文件名称由字符串core以及操作系统进程ID组成。
+ core文件不依赖于任何平台。
+
+
+ Core Dump
+
+ 通常在程序异常终止时,核心转储(Core Dump)、内存转储或系统转储用于记录特定时间计算机程序工作内存的状态。实际上,其它关键程序的状态经常在同一时间进行转储,例如处理器寄存器,包括程序指标和栈指针、内存管理信息、其它处理器和操作系统标记及信息。Core Dump经常用于辅助诊断和纠错计算机程序问题。
+
+
+ DBA
+
+ Database Administrator,数据库管理员。指导或执行所有和维护数据库环境相关的操作。
+
+
+ DBLINK
+
+ DBLINK是定义一个数据库到另一个数据库路径的对象,通过它可以查询远程数据库对象。
+
+
+ DBMS
+
+ Database Management System,数据库管理系统。数据库管理系统是为了访问数据库中的信息而使用的一个管理系统软件。它包含一组程序使用户可以进入、管理、查询数据库中数据。基于真实数据的位置,可以分为内存数据库管理系统和磁盘数据库管理系统。
+
+
+ DCL
+
+ Data Control Language,数据控制语言。
+
+
+ DDL
+
+ Data Definition Language,数据定义语言。
+
+
+ DML
+
+ Data Manipulation Language,数据操纵语言。
+
+
+ 备份
+
+ 备份件或者备份过程。指复制并归档计算机数据,当发生数据丢失事件时,可以用该复制并归档的数据来恢复原始数据。
+
+
+ 备份和恢复
+
+ 保护数据库防止由于媒介失效或人为错误造成的数据丢失过程中涉及的一组概念、过程及策略。
+
+
+ 备机
+
+ openGauss双机方案中的一个节点,用于作为主机的备份,在主机异常时,备机会切换到主机状态,以确保能正常提供数据服务。
+
+
+ 崩溃
+
+ 崩溃(或系统崩溃)指计算机或程序(例如软件应用程序或操作系统)异常终止的事件。出现错误后,通常会自动退出。有时出现恶意程序冻结或挂起直到崩溃上报服务记录崩溃的详细信息。对于操作系统内核关键部分的程序,整个计算机可能瘫痪(可能造成致命的系统错误)。
+
+
+ 编码
+
+ 编码是指用代码来表示各组数据资料,使其成为可利用计算机进行处理和分析的信息。用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。
+
+
+ 编码技术
+
+ 呈现计算机软硬件识别的特定字符集数据的技术。
+
+
+ 表
+
+ 表是由行与列组合成的。每一列被当作是一个字段。每个字段中的值代表一种类型的数据。例如,一个表可能有3个字段:姓名、城市和国家。这个表就会有3列:一列代表姓名,一列代表城市,一列代表国家。表中的每一行包含3个字段的内容,姓名字段包含姓名,城市字段包含城市,国家字段包含国家。
+
+
+ 表空间
+
+ 包含表、索引、大对象、长数据等数据的逻辑存储结构。表空间在物理数据和逻辑数据间提供了抽象的一层,为所有的数据库对象分配存储空间。表空间创建好后,创建数据库对象时可以指定该对象所属的表空间。
+
+
+ 并发控制
+
+ 在多用户环境下同时执行多个事务并保证数据完整性的一个DBMS服务。并发控制是openGauss提供的一种多线程管理机制,用来保证多线程环境下在数据库中执行的操作是安全的和一致的。
+
+
+ 查询
+
+ 向数据库发出的信息请求,包含更新、修改、查询或删除信息的请求。
+
+
+ 查询操作符
+
+ Query Operator,也称为查询迭代算子(Iterator)或查询节点(Query Tree Node)。一个查询的执行可以分解为一个或多个查询操作符,是构成一个查询执行的最基本单位。常见的查询操作符包括表扫描(Scan),表关联(Join),表聚集(Aggregation)等。
+
+
+ 持久性
+
+ 数据库事务的ACID特性之一。在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
+
+
+ 存储过程
+
+ 存储过程(StoredProcedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名称并设置参数(如果该存储过程带有参数)来执行它。
+
+
+ 操作系统
+
+ 操作系统OS(operating system)由引导程序加载到计算中,对计算机中其它程序进行管理。其它程序叫做应用或应用程序。
+
+
+ 大对象
+
+ 大对象(Blob)在数据库中指使用二进制方式存储的数据。它通常可以用于存储视频、音频和图像等多媒体数据。
+
+
+ 段
+
+ 数据库中,一段指包含一个或多个区域的数据库中的一部分。区域是数据库的最小范围,由单元调用块组成。一个或多个段组成一个表空间。
+
+
+ F – J
+
+
+ Failover
+
+ 指当某个节点出现故障时,自动切换到备节点上的过程。反之,从备节点上切换回来的过程称为Failback。
+
+
+ FDW
+
+ Foreign Data Wrapper,外部数据封装器。是Postgres提供的一个SQL接口,用于访问远程数据存储中的大数据对象,使DBA可以整合来自不相关数据源的数据,将它们存入数据库中的一个公共模型。
+
+
+ Freeze
+
+ 在事务ID耗尽时由AutoVacuum Worker进程自动执行的操作。openGauss会把事务ID记在行头,在一个事务取得一行时,通过比较行头的事务ID和事务本身的ID判断这行是否可见,而事务ID是一个无符号整数,如果事务ID耗尽,事务ID会跨过整数的界限重新计算,此时原先可见的行就会变成不可见的行,为了避免这个问题,Freeze操作会将行头的事务标记为一个特殊的事务ID,标记了这个特殊的事务ID的行将对所有事务可见,以此避免事务ID耗尽产生的问题。
+
+
+ GDB
+
+ GNU工程调试器,可以监控其它程序运行时的内部情况,或者其它程序要崩溃时发生了什么。GDB支持如下四种主要操作(使PDK功能更加强大),辅助查找缺陷。
+
+
+
+
+
+
+ GIN索引
+
+ Generalized Inverted Index,通用倒排索引。作用为处理索引项为组合值的情况,查询时需要通过索引搜索出出现在组合值中的特定元素值。
+
+
+ GNU
+
+ GNU计划,又称革奴计划,是由RichardStallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。GNU是“GNU's NotUnix”的递归缩写。Stallman宣布GNU应当发音为Guh-NOO以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new相同)。Unix是一种广泛使用的商业操作系统的名称。技术上讲,GNU类似Unix。但是GNU却给了用户自由。
+
+
+ gsql
+
+ openGauss交互终端。通过gsql能够以交互的方式输入查询,下发查询到openGauss,然后查看查询结果。或者,也可以从文件中输入。此外,gsql还提供许多元命令和各种类似shell命令,协助脚本编写及自动化各种任务。
+
+
+ GUC
+
+ Grand Unified Configuration,数据库运行参数。配置这些参数可以影响数据库系统的行为。
+
+
+ HA
+
+ 高可用性(HighAvailability),通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。
+
+
+ HBA
+
+ host-based authentication,主机认证。主机鉴权允许主机鉴权部分或全部系统用户。适用于系统所有用户或者使用Match指令的子集。该类型鉴权对于管理计算集群以及其它完全同质设备非常有用。总之,服务器上的三个文件以及客户端上的一个文件必须修改,为主机鉴权做准备。
+
+
+ 服务器
+
+ 为客户端提供服务的软硬件的组合。单独使用时,指运行服务器操作系统的计算机,也可以指提供服务的软件或者专用硬件。
+
+
+ 隔离性
+
+ 数据库事务的ACID特性之一。它是指一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
+
+
+ 关系型数据库
+
+ 创建在关系模型基础上的数据库。关系型数据库借助于集合代数等数学概念和方法来处理数据库中的数据。
+
+
+ 归档线程
+
+ 数据库打开归档功能时启动的一个线程,此线程用于将数据库日志归档到指定的路径。
+
+
+ 故障接管
+
+ 功能对等的系统部件对于故障部件的自动替换过程。系统部件包含处理器、服务器、网络、数据库等。
+
+
+ 环境变量
+
+ 定义进程操作环境某一方面的变量。例如,环境变量可以为主目录,命令搜索路径,使用终端或当前时区。
+
+
+ 检查点
+
+ 将数据库内存中某一时刻的数据存到磁盘的机制。openGauss定期将已提交的事务数据和未提交的事务数据存到磁盘,这些数据用来和Redo日志一起在数据库重启和崩溃时恢复数据库。
+
+
+ 加密
+
+ 用于传输数据的功能。通过该功能,可以隐藏信息内容,防止非法使用。
+
+
+ 节点
+
+ 将构成openGauss集群环境的各台服务器(物理机或虚拟机)称为集群节点,简称节点。
+
+
+ 纠错
+
+ 系统自动识别软件和数据流上的错误并自动修正错误的能力,提升系统的稳定性和可靠性。
+
+
+ 进程
+
+ 在单个计算机上执行程序的实例。一个进程由一个或多个线程组成。其它进程不能接入某个进程已占用的线程。
+
+
+ 基于时间点恢复
+
+ PITR(Point-In-TIme Recovery),基于时间点恢复是openGauss备份恢复的一个特性,是指在备份数据和WAL日志正常的情况下,数据可以恢复到指定时间点。
+
+
+ 记录
+
+ 在关系型数据库中,每一条记录对应表中的每一行数据。
+
+
+ K – O
+
+
+ 逻辑复制
+
+ 数据库主备或两个集群间的数据同步方式。区别于通过物理日志回放方式的物理复制,逻辑复制在两个集群间传输逻辑日志或通过逻辑日志对应的SQL语句实现数据同步。
+
+
+ 逻辑日志
+
+ 数据库修改的日志记录,可直接对应为SQL语句,一般为行级记录。区别于物理日志,物理日志是记录物理页面修改的日志。
+
+
+ 逻辑解码
+
+ 逻辑解码是一种通过对xlog日志的反解实现将数据库表的所有持久更改抽取到一种清晰、易于理解的格式的处理过程。
+
+
+ 逻辑复制槽
+
+ 在逻辑复制的环境下,逻辑复制槽用以防止Xlog被系统或Vaccum回收。openGauss中用于记录逻辑解码位置的对象,提供创建、删除、读取、推进等多个SQL接口函数。
+
+
+ MVCC
+
+ Multi-Version Concurrency Control,多版本并发控制。数据库并发控制协议的一种,它的基本算法是一个元组可以有多个版本,不同的查询可以工作在不同的版本上。一个基本的好处是读和写可以不冲突。
+
+
+ NameNode
+
+ NameNode是Hadoop系统中的一个中心服务器,负责管理文件系统的名称空间(namespace)以及客户端对文件的访问。
+
+
+ OM
+
+ Operations Management,运维管理模块。提供集群日常运维、配置管理的管理接口、工具。
+
+
+ 客户端
+
+ 连接或请求其它计算机或程序服务的计算机或程序。
+
+
+ 空闲空间管理
+
+ 管理表内空闲空间的机制,通过记录每个表内空闲空间信息,并建立易于查找的数据结构,可以加速对空闲空间进行的操作(例如INSERT)。
+
+
+ 垃圾元组
+
+ 是指使用DELETE和UPDATE语句删除的元组,openGauss在删除元组时只是打个删除标记,由Vacuum线程清理这种垃圾元组。
+
+
+ 列
+
+ 字段的等效概念。在数据库中,表由一列或多列组成。
+
+
+ 逻辑节点
+
+ 一个物理节点上可以安装多个逻辑节点。一个逻辑节点是一个数据库实例。
+
+
+ 模式
+
+ 数据库对象集,包括逻辑结构,例如表、视图、序、存储过程、同义名、索引、集群及数据库链接。
+
+
+ 模式文件
+
+ 用于决定数据库结构的SQL文件。
+
+
+ P – T
+
+
+ Page
+
+ openGauss数据库关系对象结构中行存的最小内存单元。一个Page大小为默认为8KB。
+
+
+ PostgreSQL
+
+ PostgreSQL是一个开源的关系数据库管理系统(DBMS),由全球志愿者团队开发。PostgreSQL不受任何公司或个体所控制,源代码免费使用。
+
+
+ Postmaster
+
+ 数据库服务启动时启动的一个线程。用于监听来自集群其它节点或客户端的连接请求。
+ 主机上监听到备机连接请求,并接受后,就会创建一个WAL Sender线程,用于处理与备机的交互。
+
+
+ RHEL
+
+ Red Hat Enterprise Linux,红帽企业Linux。
+
+
+ REDO日志
+
+ 记录对数据库进行操作的日志,这些日志包含重新执行这些操作所需要的信息。当数据库故障时,可以利用REDO日志将数据库恢复到故障前的状态。
+
+
+ SCTP
+
+ Stream Control Transmission Protocol,流控制传输协议。是IETF于2000年新定义的一个传输层协议。是提供基于不可靠传输业务的协议之上的可靠的数据报传输协议。SCTP的设计用于通过IP网传输SCN窄带信令消息。
+
+
+ Savepoint
+
+ 保存点。是一种在关系数据库管理系统中实现子事务(也称为嵌套事务)的方法。在一个长事务中,可以把操作过程分成几部分,前面部分执行成功后,可以建一个保存点,若后面的执行失败,则回滚到这个保存点即可,无需回滚整个事务。保存点对于在数据库应用程序中实现复杂错误恢复很有用。如果在多语句事务中发生错误,则应用程序可能能够从错误中恢复(通过回滚到保存点)而无需中止整个事务。
+
+
+ Session
+
+ 数据库系统在接收到应用程序的连接请求时,为该连接创建的一个任务。它被Session Manager管理,完成一些初始化任务,执行用户的所有操作。
+
+
+ SLES
+
+ SUSE Linux Enterprise Server,由SUSE提供的企业级Linux操作系统。
+
+
+ SMP
+
+ Symmetric Multi-Processing,对称多处理技术,是指在一台计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。操作系统必须支持多任务和多线程处理,以使得SMP系统发挥高效的性能。数据库领域的SMP并行技术,一般指利用多线程技术实现查询的并行执行,以充分利用CPU资源,从而提升查询性能。
+
+
+ SQL
+
+ Structure Query Language,结构化查询语言。数据库的标准查询语言。它可以分为数据定义语言(DDL),数据操纵语言(DML)和数据控制语言(DCL)。
+
+
+ SSL
+
+ Secure Socket Layer,安全套接层。SSL是Netscape公司率先采用的网络安全协议。它是在传输通信协议(TCP/IP)上实现的一种安全协议,采用公开密钥技术。SSL广泛支持各种类型的网络,同时提供三种基本的安全服务,它们都使用公开密钥技术。SSL支持服务通过网络进行通信而不损害安全性。它在客户端和服务器之间创建一个安全连接。然后通过该连接安全地发送任意数据量。
+
+
+ 收敛比
+
+ 交换机下行带宽与上行带宽的比值。收敛比越高,流量收敛程度越大,丢包越严重。
+
+
+ TCP
+
+ Transmission Control Protocol,传输控制协议。用于将数据信息分解成信息包,使之经过IP协议发送;并对利用IP协议接收来的信息包进行校验并将其重新装配成完整的信息。TCP是面向连接的可靠协议,能够确保信息的无误发送。
+
+
+ trace
+
+ 一种特殊的日志记录方法,用来记录程序执行的信息。程序员使用该信息进行纠错。另外,根据trace日志中信息的类型和内容,有经验的系统管理员或技术支持人员以及软件监控工具诊断软件常见问题。
+
+
+ 强一致性
+
+ 任何查询不会瞬时的看到一个分布式事务的中间状态。
+
+
+ 全备份
+
+ 备份整个数据库。
+
+
+ 全量同步
+
+ openGauss双机方案中的一种数据同步机制,是指把主机中的所有数据同步给备机。
+
+
+ 日志文件
+
+ 计算机记录自身活动的记录。
+
+
+ 事务
+
+ 数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成,事务必须满足ACID原则。
+
+
+ 数据
+
+ 事实或指令的一种表达形式,适用于人为或自动的通信、解释或处理。数据包含常量、变量、阵列和字符串。
+
+
+ 数据分区
+
+ 数据分区是指在一个数据库实例内部,将表按照划分为多个数据互不重叠的部分(Partition)。具体的分区方式可以有:范围分区(Range),它根据元组中指定字段的取值所处的范围映射到目标存储位置。
+
+
+ 数据库
+
+ 数据库是存储在一起的相关数据的集合,这些数据可以被访问,管理以及更新。同一视图中,数据库可以根据存储内容类型分为以下几类:数目类、全文本类、数字类及图像类。
+
+
+ 数据库实例
+
+ 一个数据库实例是一个openGauss进程以及它控制的数据库文件。openGauss在一个物理节点上安装多个数据库实例。一个数据库实例也被称为一个逻辑节点。
+
+
+ 数据库双机
+
+ openGauss提供的高可靠性双机方案。在此方案中,每个openGauss逻辑节点标识为主机或备机。在同一时间内,只有一个openGauss被标识为主机。双机初次建立时,主机会对每个备机数据做全量同步,然后做增量同步。双机建立之后的运行过程中,主机能接受数据读和写的操作请求,备机只做日志同步。
+
+
+ 数据库文件
+
+ 保存用户数据和数据库系统内部数据的二进制文件。
+
+
+ 数据字典
+
+ 数据字典是一系列只读的表,用来提供数据库的信息。这些信息包括:数据库设计信息、存储过程信息、用户权限、用户统计数据、数据库进程信息、数据库增长统计数据和数据库性能统计数据。
+
+
+ 死锁
+
+ 为使用同一资源而产生的无法解决的争用状态。
+
+
+ 索引
+
+ 数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。
+
+
+ 统计信息
+
+ 数据库使用统计信息估算查询代价,以查找代价最小的执行计划,统计信息一般是数据库自动收集的,包括表级信息(元组数、页面数等)和列级信息(列的值域分布直方图)。
+
+
+ 停用词
+
+ 在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为Stop Words(停用词)。
+
+
+ U – Z
+
+
+ Vacuum
+
+ 数据库定期启动的清理垃圾元组的线程,根据配置参数可以同时启动多个。
+
+
+ verbose
+
+ verbose选项指定显示在屏幕上的处理信息。
+
+
+ WAL
+
+ Write-Ahead Logging,预写日志系统。实现事务日志的标准方法,是指对数据文件(表和索引的载体)持久化修改之前必须先持久化相应的日志。
+
+
+ WAL Receiver
+
+ 数据库复制时备机创建的一个线程的名称。此线程用于从主机接收数据、命令,并反馈确认信息至主机。一个备机只有一个WAL Receiver线程。
+
+
+ WAL Sender
+
+ 数据库复制过程中,主机接受到备机的连接请求后创建的一个线程的名称。此线程用于发送命令、数据到备机,并从备机接收信息。一个主机可能会有多个WAL Sender线程,每一个WAL Sender线程对应一个备机的一个连接请求。
+
+
+ WAL Writer
+
+ 数据库启动时创建的一个写Redo日志的线程,用于将内存中的日志写入到持久性设备(如:磁盘)。
+
+
+ Xlog
+
+ 表示事务日志,一个逻辑节点中只有一个,不允许创建多个Xlog文件。
+
+
+ xDR
+
+ 详单。用户面和信令面详单的统称,包括CDR和UFDR、TDR和SDR。
+
+
+ 物理节点
+
+ 一个物理机器称为一个物理节点。
+
+
+ 系统表
+
+ 存储数据库元信息的表,元信息包括数据库中的用户表、索引、列、函数和数据类型等。
+
+
+ 下推
+
+ openGauss是分布式数据库,其可以利用多DN分布式并行执行查询计划,即将CN中的查询计划下发到各DN中并行执行。这种行为称为下推。与将数据抽取到CN上执行查询的方式相比,下推可以大幅提升查询性能。
+
+
+ 压缩
+
+ 数据压缩,信源编码,或比特率降低涉及使用相比原来较少比特的编码信息。压缩可以是有损或无损。无损压缩通过识别和消除统计冗余降低比特位。无损压缩中没有信息丢失。有损压缩识别并删除次要信息,减少了比特位。减少数据文件大小的方法被普遍称为数据压缩,尽管其正式名称为源编码(数据源的编码,然后将其存储或传输)。
+
+
+ 一致性
+
+ 数据库事务的ACID特性之一。在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
+
+
+ 元数据
+
+ 用来定义数据的数据。主要是描述数据自身信息,包含源、大小、格式或其它数据特征。数据库字段中,元数据用于理解以及诠释数据仓库的内容。
+
+
+ 原子性
+
+ 数据库事务的ACID特性之一。整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。
+
+
+ 脏页面
+
+ 已经被修改且未写入持久性设备的页面。
+
+
+ 增量备份
+
+ 基于上次有效备份之后对文件修改的备份。
+
+
+ 增量同步
+
+ openGauss双机方案中的一种数据同步机制,是指把主机中数据增量同步给备机,即只同步主备间有差异的数据。
+
+
+ 主机
+
+ openGauss数据库双机系统中接受数据读写操作的节点,和所有备机一起协同工作。在同一时间内,双机系统中只有一个节点被标识为主机。
+
+
+ 主题词
+
+ 在标引和检索中用以表达文献主题的规范化的词或词组。
+
+
+ 转储文件
+
+ 转储文件是一种特定类型的trace文件。转储文件为响应事件过程中一次性输出的诊断数据,trace文件指诊断数据的连续输出。
+
+
+ 最小恢复点
+
+ 最小恢复点是openGauss提供的数据一致性保障手段之一。最小恢复点特性可以在openGauss启动时检查出WAL日志和持久化到磁盘的数据的不一致性,并提示用户进行处理。
+
+
+
+
+
diff --git a/content/zh/docs/Glossary/public_sys-resources/icon-caution.gif b/content/zh/docs/Glossary/public_sys-resources/icon-caution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571
Binary files /dev/null and b/content/zh/docs/Glossary/public_sys-resources/icon-caution.gif differ
diff --git a/content/zh/docs/Glossary/public_sys-resources/icon-danger.gif b/content/zh/docs/Glossary/public_sys-resources/icon-danger.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571
Binary files /dev/null and b/content/zh/docs/Glossary/public_sys-resources/icon-danger.gif differ
diff --git a/content/zh/docs/Glossary/public_sys-resources/icon-note.gif b/content/zh/docs/Glossary/public_sys-resources/icon-note.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6314297e45c1de184204098efd4814d6dc8b1cda
Binary files /dev/null and b/content/zh/docs/Glossary/public_sys-resources/icon-note.gif differ
diff --git a/content/zh/docs/Glossary/public_sys-resources/icon-notice.gif b/content/zh/docs/Glossary/public_sys-resources/icon-notice.gif
new file mode 100644
index 0000000000000000000000000000000000000000..86024f61b691400bea99e5b1f506d9d9aef36e27
Binary files /dev/null and b/content/zh/docs/Glossary/public_sys-resources/icon-notice.gif differ
diff --git a/content/zh/docs/Glossary/public_sys-resources/icon-tip.gif b/content/zh/docs/Glossary/public_sys-resources/icon-tip.gif
new file mode 100644
index 0000000000000000000000000000000000000000..93aa72053b510e456b149f36a0972703ea9999b7
Binary files /dev/null and b/content/zh/docs/Glossary/public_sys-resources/icon-tip.gif differ
diff --git a/content/zh/docs/Glossary/public_sys-resources/icon-warning.gif b/content/zh/docs/Glossary/public_sys-resources/icon-warning.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571
Binary files /dev/null and b/content/zh/docs/Glossary/public_sys-resources/icon-warning.gif differ
diff --git "a/content/zh/docs/Quickstart/GUC\344\275\277\347\224\250\350\257\264\346\230\216.md" "b/content/zh/docs/Quickstart/GUC\344\275\277\347\224\250\350\257\264\346\230\216.md"
index 01d0c344e5a70778a51104a908fbbd270d50eedd..78fa4ecc25cb3ca8222a723fad7435e4f6b32951 100644
--- "a/content/zh/docs/Quickstart/GUC\344\275\277\347\224\250\350\257\264\346\230\216.md"
+++ "b/content/zh/docs/Quickstart/GUC\344\275\277\347\224\250\350\257\264\346\230\216.md"
@@ -1,4 +1,4 @@
-# GUC使用说明
+# GUC使用说明
数据库提供了许多运行参数,配置这些参数可以影响数据库系统的行为。在修改这些参数时请确保用户理解了这些参数对数据库的影响,否则可能会导致无法预料的结果。
diff --git "a/content/zh/docs/Quickstart/GUC\345\217\202\346\225\260\350\257\264\346\230\216.md" "b/content/zh/docs/Quickstart/GUC\345\217\202\346\225\260\350\257\264\346\230\216.md"
index 29470910bb58e9e62a137f26c0d0584eb8a8535f..274f3804eeec7dca8fcf7147082042c0bfa67110 100644
--- "a/content/zh/docs/Quickstart/GUC\345\217\202\346\225\260\350\257\264\346\230\216.md"
+++ "b/content/zh/docs/Quickstart/GUC\345\217\202\346\225\260\350\257\264\346\230\216.md"
@@ -1,4 +1,4 @@
-# GUC参数说明
+# GUC参数说明
- **[GUC使用说明](GUC使用说明.md)**
@@ -14,6 +14,8 @@
- **[双机复制](双机复制.md)**
+- **[内存表](D-idp_ci_server-tasktemp-MarkDown200624133112654-temp-zh-cn_topic_0251900943.md)**
+
- **[查询规划](查询规划.md)**
- **[错误报告和日志](错误报告和日志.md)**
@@ -34,13 +36,15 @@
- **[容错性](容错性.md)**
+- **[连接池参数](连接池参数.md)**
+
- **[openGauss事务](openGauss事务.md)**
- **[开发人员选项](开发人员选项.md)**
- **[审计](审计.md)**
-- **[事务监控](事务监控.md)**
+- **[事务监控](D-idp_ci_server-tasktemp-MarkDown200624133112654-temp-zh-cn_topic_0251900976.md)**
- **[升级参数](升级参数.md)**
diff --git "a/content/zh/docs/Quickstart/JDBC\345\214\205\344\270\216\351\251\261\345\212\250\347\261\273.md" "b/content/zh/docs/Quickstart/JDBC\345\214\205\344\270\216\351\251\261\345\212\250\347\261\273.md"
index 2cba34bb6e5d8f4d006dee0c6b59148797f7305e..b0e5c8b9376850ecbb23b6c46c7e98ed82dc2cbb 100644
--- "a/content/zh/docs/Quickstart/JDBC\345\214\205\344\270\216\351\251\261\345\212\250\347\261\273.md"
+++ "b/content/zh/docs/Quickstart/JDBC\345\214\205\344\270\216\351\251\261\345\212\250\347\261\273.md"
@@ -2,17 +2,14 @@
## JDBC包
-从发布包中获取。包名为openGauss-x.x-操作系统版本号-64bit-Jdbc.tar.gz。
+在源代码目录下执行build.sh,获得驱动jar包postgresql.jar,包位置在源代码目录下。从发布包中获取, 包名为openGauss-x.x.x-操作系统版本号-64bit-Jdbc.tar.gz。
-解压后有两个JDBC的驱动jar包:
-
-- gsjdbc4.jar:与PostgreSQL保持兼容的驱动包,其中类名、类结构与PostgreSQL驱动完全一致,曾经运行于PostgreSQL的应用程序可以直接移植到当前系统使用。
-- gsjdbc200.jar:如果同一JVM进程内需要同时访问PostgreSQL及openGauss请使用此驱动包,它的主类名为“com.huawei.gauss200.jdbc.Driver”(即将“org.postgresql”替换为“com.huawei.gauss200.jdbc”),数据库连接的URL前缀为“jdbc:gaussdb”,其余与gsjdbc4.jar相同。
+驱动包与PostgreSQL保持兼容,其中类名、类结构与PostgreSQL驱动完全一致,曾经运行于PostgreSQL的应用程序可以直接移植到当前系统使用。
## 驱动类
-在创建数据库连接之前,需要加载数据库驱动类“org.postgresql.Driver”(对应包gsjdbc4.jar)或者“com.huawei.gauss200.jdbc.Driver”(对应gsjdbc200.jar)。
+在创建数据库连接之前,需要加载数据库驱动类“org.postgresql.Driver”。
> **说明:**
->由于openGauss在JDBC的使用上与PG的使用方法保持兼容,所以同时在同一进程内使用两个JDBC的驱动的时候,可能会类名冲突。
+>由于openGauss在JDBC的使用上与PG的使用方法保持兼容,所以同时在同一进程内使用两个JDBC驱动的时候,可能会类名冲突。
diff --git a/content/zh/docs/Quickstart/Query.md b/content/zh/docs/Quickstart/Query.md
index bff9860808a1bbc45e9d0b14d933a075c2efbbd4..4f6778e2850657e484a78ab8f7834e8c47ce208e 100644
--- a/content/zh/docs/Quickstart/Query.md
+++ b/content/zh/docs/Quickstart/Query.md
@@ -1,4 +1,4 @@
-# Query
+# Query
## instr\_unique\_sql\_count
@@ -8,7 +8,7 @@
当系统中产生的unique sql信息大于instr\_unique\_sql\_count时,系统产生的unique sql信息不被统计。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:整形 0\~INT\_MAX
@@ -18,7 +18,7 @@
**参数说明:**unique sql记录SQL方式。
-该参数属于INTERNAL类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于INTERNAL类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**枚举类型
@@ -30,7 +30,7 @@
**参数说明:**是否开启计算系统中80%和95%的SQL响应时间的功能
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -43,7 +43,7 @@
**参数说明:**sql响应时间百分比信息,后台计算线程根据设置的值计算相应的百分比信息。
-该参数属于INTERNAL类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于INTERNAL类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**字符串。
@@ -53,7 +53,7 @@
**参数说明:**sql响应时间信息计算间隔,sql响应时间信息计算功能打开后,后台计算线程每隔设置的时间进行一次计算。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,0~3600(秒)。
@@ -63,7 +63,7 @@
**参数说明:是否捕获sql执行的cpu**时间消耗 。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -72,47 +72,3 @@
**默认值**:on
-## enable\_slow\_query\_log
-
-**参数说明:是否**将慢查询信息写到日志文件中 。
-
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
-
-**取值范围:**布尔型
-
-- on:表示需要将慢查询信息写到日志文件中。
-- off:表示不需要将慢查询信息写到日志文件中。
-
-**默认值**:on
-
-## query\_log\_directory
-
-**参数说明:**GUC参数enable\_slow\_query\_log设置为ON,表示需要将慢查询记录写进日志文件中,query\_log\_directory决定存放服务器慢查询日志文件的目录。 它可以是绝对路径,或者是相对路径(相对于数据目录的路径)。query\_log\_directory支持动态修改,可以通过gs\_guc reload实现。
-
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
-
-> **须知:**
->- 当配置文件中query\_log\_directory的值为非法路径时,会导致openGauss无法重新启动。
->- 通过gs\_guc reload动态修改query\_log\_directory时,当指定路径为合法路径时,日志输出到新的路径下。当指定路径为非法路径时,日志输出到上一次合法的日志输出路径下而不影响数据库正常运行。此时即使指定的query\_log\_directory的值非法,也会写入到配置文件中。
-
-> **说明:**
->合法路径:用户对此路径有读写权限
->非法路径:用户对此路径无读写权限
-
-**取值范围:**字符串
-
-**默认值:**sql\_monitor。
-
-## query\_log\_file
-
-**参数说明:**GUC参数enable\_slow\_query\_log设置为ON,表示需要将慢查询记录写进日志文件中,query\_log\_file决定服务器慢查询日志文件的名称。通常日志文件名是按照strftime模式生成,因此可以用系统时间定义日志文件名,用%转义字符实现。
-
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
-
-> **须知:**
->- 建议使用%转义字符定义日志文件名称,否则难以对日志文件进行有效的管理。
-
-**取值范围:**字符串
-
-**默认值:**postgresql-query-log-%Y-%m-%d\_%H%M%S.log
-
diff --git "a/content/zh/docs/Quickstart/figures/openGauss\347\275\221\347\273\234\347\273\204\347\275\221\347\244\272\344\276\213.png" "b/content/zh/docs/Quickstart/figures/openGauss\347\275\221\347\273\234\347\273\204\347\275\221\347\244\272\344\276\213.png"
new file mode 100644
index 0000000000000000000000000000000000000000..9ae90c488e9c1d5121fe2d300922e3a98bf5f56f
Binary files /dev/null and "b/content/zh/docs/Quickstart/figures/openGauss\347\275\221\347\273\234\347\273\204\347\275\221\347\244\272\344\276\213.png" differ
diff --git "a/content/zh/docs/Quickstart/figures/openGauss\351\200\273\350\276\221\346\236\266\346\236\204\345\233\2761.png" "b/content/zh/docs/Quickstart/figures/openGauss\351\200\273\350\276\221\346\236\266\346\236\204\345\233\2761.png"
new file mode 100644
index 0000000000000000000000000000000000000000..27620cd425fe1d95d3ddcef802b04a4d9814e0c6
Binary files /dev/null and "b/content/zh/docs/Quickstart/figures/openGauss\351\200\273\350\276\221\346\236\266\346\236\204\345\233\2761.png" differ
diff --git "a/content/zh/docs/Quickstart/gsql\345\256\242\346\210\267\347\253\257\350\277\236\346\216\245.md" "b/content/zh/docs/Quickstart/gsql\345\256\242\346\210\267\347\253\257\350\277\236\346\216\245.md"
new file mode 100644
index 0000000000000000000000000000000000000000..3a49ef6a6985b226e7283cfb568ee60bf566abc5
--- /dev/null
+++ "b/content/zh/docs/Quickstart/gsql\345\256\242\346\210\267\347\253\257\350\277\236\346\216\245.md"
@@ -0,0 +1,9 @@
+# gsql客户端连接
+
+- **[确认连接信息](确认连接信息.md)**
+
+- **[使用gsql本地连接](使用gsql本地连接.md)**
+
+- **[使用gsql远程连接](使用gsql远程连接.md)**
+
+
diff --git "a/content/zh/docs/Quickstart/openGauss\344\272\213\345\212\241.md" "b/content/zh/docs/Quickstart/openGauss\344\272\213\345\212\241.md"
index 540896dffb0522928bc6e1f9858f87e39b9eecbc..14d01232a6884635dc860aa0340eeeb49fb1e8aa 100644
--- "a/content/zh/docs/Quickstart/openGauss\344\272\213\345\212\241.md"
+++ "b/content/zh/docs/Quickstart/openGauss\344\272\213\345\212\241.md"
@@ -1,4 +1,4 @@
-# openGauss事务
+# openGauss事务
介绍openGauss事务隔离、事务只读、最大prepared事务数、维护模式目的参数设置及取值范围等内容。
@@ -13,7 +13,6 @@
- serializable:openGauss中等价于REPEATABLE READ。
- read committed:只能读取已提交的事务的数据(缺省),不能读取到未提交的数据。
- repeatable read:仅能读取事务开始之前提交的数据,不能读取未提交的数据以及在事务执行期间由其它并发事务提交的修改。
-- read uncommitted:读未提交,可以读取任何时刻的数据。
- default:设置为defualt\_transaction\_isolation所设隔离级别。
**默认值:**read committed
@@ -115,7 +114,9 @@
该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
-**取值范围:**0\~3
+该参数是内部参数,用户不能自己去设置参数值。
+
+**取值范围:**0\~2
- 1 表示使用一主多备模式。
- 0 表示主备从模式。
diff --git "a/content/zh/docs/Quickstart/\344\270\200\344\270\273\344\270\200\345\244\207\351\205\215\347\275\256\346\226\207\344\273\266.md" "b/content/zh/docs/Quickstart/\344\270\200\344\270\273\344\270\200\345\244\207\351\205\215\347\275\256\346\226\207\344\273\266.md"
index 9442b96a8e87128e7d11ea7ea561596d4ad06c97..930201725713802a65f2c1c07881c00431526532 100644
--- "a/content/zh/docs/Quickstart/\344\270\200\344\270\273\344\270\200\345\244\207\351\205\215\347\275\256\346\226\207\344\273\266.md"
+++ "b/content/zh/docs/Quickstart/\344\270\200\344\270\273\344\270\200\345\244\207\351\205\215\347\275\256\346\226\207\344\273\266.md"
@@ -1,4 +1,4 @@
-# 一主一备配置文件
+# 一主一备配置文件
```
@@ -8,10 +8,11 @@
-
-
-
-
+
+
+
+
+
@@ -28,7 +29,7 @@
-
+
diff --git "a/content/zh/docs/Quickstart/\344\270\273\346\234\215\345\212\241\345\231\250.md" "b/content/zh/docs/Quickstart/\344\270\273\346\234\215\345\212\241\345\231\250.md"
index 5551b69da317000c71d52f118c9bf1dbd77cb7eb..8e85c0295eb36ee30c5e6ec7f93161237857f2f2 100644
--- "a/content/zh/docs/Quickstart/\344\270\273\346\234\215\345\212\241\345\231\250.md"
+++ "b/content/zh/docs/Quickstart/\344\270\273\346\234\215\345\212\241\345\231\250.md"
@@ -1,10 +1,10 @@
-# 主服务器
+# 主服务器
## synchronous\_standby\_names
**参数说明:**潜在同步复制的备机名称列表,每个名称用逗号分隔。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
>- 当前连接的同步备机是列表中的第一个名称。如果当前同步备机失去连接,则它会立即更换下一个优先级更高的备机,并将此备机的名称放入列表中。
@@ -18,7 +18,7 @@
**参数说明:**指定在备机同步失败时,是否阻塞主机。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -31,10 +31,10 @@
**参数说明:**控制主备、主从是否进行数据和日志同步。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
->- 此参数属于性能测试参数,用于测试带有备机和不带备机的性能参数。关闭参数后,不能进行升级、切换、故障等异常场景测试,否则会出现主备从不一致的情况。
+>- 此参数属于性能测试参数,用于测试带有备机和不带备机的性能参数。关闭参数后,不能进行切换、故障等异常场景测试,否则会出现主备从不一致的情况。
>- 此参数属于受控参数,不建议正常业务场景下关闭此参数。
**取值范围:**布尔型
@@ -64,7 +64,7 @@
**参数说明:**指定VACUUM使用的事务数,VACUUM会延迟清除无效的行存表记录,延迟的事务个数通过vacuum\_defer\_cleanup\_age进行设置。即VACUUM和VACUUM FULL操作不会立即清理刚刚被删除元组。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,0~1000000,值为0表示不延迟。
@@ -74,9 +74,9 @@
**参数说明:**发送端与接收端传递数据页时,队列占用内存的大小。此参数会影响主备之间复制的缓冲大小。
-该参数属于POSTMASTER类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
-**取值范围:**整型,4096\~1072693248,单位为KB。
+**取值范围:**整型,4096\~1047552,单位为KB。
**默认值:**128MB(即131072KB)
@@ -84,7 +84,7 @@
**参数说明:**设置主机端日志或数据发送缓冲区的大小。
-该参数属于POSTMASTER类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,8\~INT\_MAX,单位为KB。
@@ -94,7 +94,7 @@
**参数说明:**当数据库在数据导入行存表时,主机与备机的数据同步方式可以进行选择。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -107,7 +107,7 @@
**参数说明:**用于查看数据复制时具体数据块的复制状态日志。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -120,7 +120,7 @@
**参数说明:**控制主备之间数据追赶(catchup)的方式。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -133,7 +133,7 @@
**参数说明:**同时控制增量数据追赶(catchup)时,openGauss主备从按顺序启动时等待从备启动的最长时间以及等待从备发回扫描列表的最长时间。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,范围1\~INT\_MAX,单位为秒
diff --git "a/content/zh/docs/Quickstart/\344\272\206\350\247\243\344\272\247\345\223\201.md" "b/content/zh/docs/Quickstart/\344\272\206\350\247\243\344\272\247\345\223\201.md"
index 0be631f40c4031481892faee88b1c9857402d045..67dd57968e932bd38f5777cae05d96bbf7dde290 100644
--- "a/content/zh/docs/Quickstart/\344\272\206\350\247\243\344\272\247\345\223\201.md"
+++ "b/content/zh/docs/Quickstart/\344\272\206\350\247\243\344\272\247\345\223\201.md"
@@ -3,7 +3,7 @@
openGauss是关系型数据库,采用客户端/服务器,单进程多线程架构,支持单机和一主多备部署方式,备机可读,支持双机高可用和读扩展。
- **[产品特点](产品特点.md)**
-openGauss相比其他开源数据库主要有复合应用场景,、高性能和高可用等产品特点。
+openGauss相比其他开源数据库主要有复合应用场景、高性能和高可用等产品特点。
- **[软件架构](软件架构.md)**
openGauss主要包含了openGauss服务器,客户端驱动,OM等模块,本章将介绍这些模块之间的相互关系。
- **[典型组网](典型组网.md)**
diff --git "a/content/zh/docs/Quickstart/\344\272\206\350\247\243\345\256\211\350\243\205\346\265\201\347\250\213.md" "b/content/zh/docs/Quickstart/\344\272\206\350\247\243\345\256\211\350\243\205\346\265\201\347\250\213.md"
index 6ea4ae462bdd212fac080518c6765071892ea85b..4b91852ea4f07d68818dd6bf0a8a480e601291a0 100644
--- "a/content/zh/docs/Quickstart/\344\272\206\350\247\243\345\256\211\350\243\205\346\265\201\347\250\213.md"
+++ "b/content/zh/docs/Quickstart/\344\272\206\350\247\243\345\256\211\350\243\205\346\265\201\347\250\213.md"
@@ -1,54 +1,54 @@
-# 了解安装流程
+# 了解安装流程
本章节通过流程图简要介绍openGauss的安装流程。
-openGauss的安装流程如[图1](#zh-cn_topic_0242552150_fig18264185162412)所示。
+openGauss的安装流程如[图1](#zh-cn_topic_0249784563_fig18264185162412)所示。
-**图 1** 安装流程图
+**图 1** 安装流程图

**表 1** 安装流程图说明
-
- 流程
+
+ 流程
- 说明
+ 说明
- 安装前准备
+ 安装前准备
- openGauss 安装前需要准备相应的软硬件环境以及相关配置。
- 文档提供了 openGauss 安装所需的最低要求,实际安装中,请用户根据实际情况进行规划。
- 更多信息,请参考安装准备 。
+ openGauss 安装前需要准备相应的软硬件环境以及相关配置。
+ 文档提供了 openGauss 安装所需的最低要求,实际安装中,请用户根据实际情况进行规划。
+ 更多信息,请参考安装准备 。
- 获取并校验安装包
+ 获取并校验安装包
- 安装包需要在官方网站上下载并且对安装包进行校验,详细请参见获取并校验安装包 。
+ 安装包需要在官方网站上下载并且对安装包进行校验,详细请参见获取并校验安装包 。
- 配置XML文件
+ 配置XML文件
- 安装openGauss前需要创建XML文件。XML文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件。
- 关于如何配置XML文件,详细请参见创建XML配置文件 。
+ 安装openGauss前需要创建XML文件。XML文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件。
+ 关于如何配置XML文件,详细请参见创建XML配置文件 。
- 初始化安装环境
+ 初始化安装环境
- 安装环境的初始化包含上传安装包和XML文件、解压安装包、使用gs_preinstall准备好安装环境。
- 关于如何初始化安装环境,详细请参见初始化安装环境 。
+ 安装环境的初始化包含上传安装包和XML文件、解压安装包、使用gs_preinstall准备好安装环境。
+ 关于如何初始化安装环境,详细请参见初始化安装环境 。
- 执行安装
+ 执行安装
- 使用gs_install安装openGauss。
- 关于如何执行安装,详细请参见执行安装 。
+ 使用gs_install安装openGauss。
+ 关于如何执行安装,详细请参见执行安装 。
- 设置备机可读
+ 设置备机可读
- 可选操作。在开启备机可读之后,备机将支持读操作,并满足数据一致性要求。
+ 可选操作。在开启备机可读之后,备机将支持读操作,并满足数据一致性要求。
diff --git "a/content/zh/docs/Quickstart/\344\272\206\350\247\243\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\224\250\346\210\267\347\273\204.md" "b/content/zh/docs/Quickstart/\344\272\206\350\247\243\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\224\250\346\210\267\347\273\204.md"
index 9b8dfb879f9691e9c0ec013328ed875185446031..1e8d9eb5b1fd179b411996d95cace400bbd7ed0d 100644
--- "a/content/zh/docs/Quickstart/\344\272\206\350\247\243\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\224\250\346\210\267\347\273\204.md"
+++ "b/content/zh/docs/Quickstart/\344\272\206\350\247\243\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\224\250\346\210\267\347\273\204.md"
@@ -1,37 +1,37 @@
-# 了解安装用户及用户组
+# 了解安装用户及用户组
为了实现安装过程中安装帐户权限最小化,及安装后openGauss的系统运行安全性。安装脚本在安装过程中会自动按照用户指定创建安装用户,并将此用户作为后续运行和维护openGauss的管理员帐户。
-
- 用户/组名
+
+ 用户/组名
- 所属类型
+ 所属类型
- 规划建议
+ 规划建议
- dbgrp
+ dbgrp
- 操作系统
+ 操作系统
- 建议规划单独的用户组,例如 dbgrp 。
-初始化安装环境 时,由-G参数所指定的安装用户所属的用户组。该用户组如果不存在,则会自动创建,也可提前创建好用户组。在执行gs_preinstall脚本时会检查权限。gs_preinstall脚本会自动赋予此组中的用户对安装目录、数据目录的访问和执行权限。
- 创建dbgrp用户组命令:
- groupadd dbgrp
+ 建议规划单独的用户组,例如 dbgrp 。
+初始化安装环境 时,由-G参数所指定的安装用户所属的用户组。该用户组如果不存在,则会自动创建,也可提前创建好用户组。在执行gs_preinstall脚本时会检查权限。gs_preinstall脚本会自动赋予此组中的用户对安装目录、数据目录的访问和执行权限。
+ 创建dbgrp用户组命令:
+ groupadd dbgrp
- omm
+ omm
- 操作系统
+ 操作系统
- 建议规划用户用于运行和维护 openGauss ,例如omm。
-初始化安装环境 时,由-U参数所指定和自动创建的操作系统用户,如果已经存在该用户,请清理该用户或更换初始化用户。从安全性考虑,对此用户的所属组规划如下:
- 所属组:dbgrp
+ 建议规划用户用于运行和维护 openGauss ,例如omm。
+初始化安装环境 时,由-U参数所指定和自动创建的操作系统用户,如果已经存在该用户,请清理该用户或更换初始化用户。从安全性考虑,对此用户的所属组规划如下:
+ 所属组:dbgrp
-在安装openGauss过程中运行“gs\_preinstall”时,会创建与安装用户同名的数据库用户,即数据库用户omm。此用户具备数据库的最高操作权限,openGauss为此用户设置的初始密码为GaussDB@2012。为了保证系统的安全性,请及时修改密码。或在安装后通过设置GUC参数modify\_initial\_password为on启用强制修改初始密码特性。启用后,使用此用户首次连接数据库时,系统会强制要求修改此密码。关于GUC参数的修改方法请参见《openGauss 开发者指南》中的“GUC参数说明“。
+在安装openGauss过程中运行“gs\_install”时,会创建与安装用户同名的数据库用户,即数据库用户omm。此用户具备数据库的最高操作权限,此用户初始密码由用户指定。
diff --git "a/content/zh/docs/Quickstart/\344\272\247\345\223\201\347\211\271\347\202\271.md" "b/content/zh/docs/Quickstart/\344\272\247\345\223\201\347\211\271\347\202\271.md"
index a196a5a2d61402b7e45126fde6d9101096a1660c..43c725096dba9eb89a499d685400e1fe68149056 100644
--- "a/content/zh/docs/Quickstart/\344\272\247\345\223\201\347\211\271\347\202\271.md"
+++ "b/content/zh/docs/Quickstart/\344\272\247\345\223\201\347\211\271\347\202\271.md"
@@ -1,6 +1,6 @@
# 产品特点
-openGauss相比其他开源数据库主要有复合应用场景,、高性能和高可用等产品特点。
+openGauss相比其他开源数据库主要有复合应用场景、高性能和高可用等产品特点。
- 复合应用场景
- 行存储,支持业务数据频繁更新场景。
diff --git "a/content/zh/docs/Quickstart/\344\274\230\345\214\226\345\231\250\345\274\200\351\224\200\345\270\270\351\207\217.md" "b/content/zh/docs/Quickstart/\344\274\230\345\214\226\345\231\250\345\274\200\351\224\200\345\270\270\351\207\217.md"
index 5d437de40f2a64cbcef07b5238acc0cf3768f835..59251013f59fdc8dcbe5ac65d6a6b949529e6234 100644
--- "a/content/zh/docs/Quickstart/\344\274\230\345\214\226\345\231\250\345\274\200\351\224\200\345\270\270\351\207\217.md"
+++ "b/content/zh/docs/Quickstart/\344\274\230\345\214\226\345\231\250\345\274\200\351\224\200\345\270\270\351\207\217.md"
@@ -1,4 +1,4 @@
-# 优化器开销常量
+# 优化器开销常量
介绍优化器开销常量。这里描述的开销可以按照任意标准度量。只关心其相对值,因此以相同的系数缩放它们将不会对优化器的选择产生任何影响。缺省时,它们以抓取顺序页的开销为基本单位。也就是说将seq\_page\_cost设为1.0,同时其他开销参数以它为基准设置。也可以使用其他基准,比如以毫秒计的实际执行时间。
@@ -6,7 +6,7 @@
**参数说明**:设置优化器计算一次顺序磁盘页面抓取的开销。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:浮点型,0~DBL\_MAX。
@@ -16,7 +16,7 @@
**参数说明**:设置优化器计算一次非顺序抓取磁盘页面的开销。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
>虽然服务器允许将random\_page\_cost设置的比seq\_page\_cost小,但是物理上实际不受影响。如果所有数据库都位于随机访问内存中时,两者设置为相等很合理。因为在此种情况下,非顺序抓取页并没有副作用。同样,在缓冲率很高的数据库上,应该相对于CPU参数同时降低这两个值,因为获取内存中的页要比通常情况下开销小很多。
@@ -33,7 +33,7 @@
**参数说明**:设置优化器计算在一次查询中处理每一行数据的开销。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:浮点型,0~DBL\_MAX。
@@ -43,7 +43,7 @@
**参数说明**:设置优化器计算在一次索引扫描中处理每条索引的开销。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:浮点型,0~DBL\_MAX。
@@ -53,7 +53,7 @@
**参数说明**:设置优化器计算一次查询中执行一个操作符或函数的开销。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:浮点型,0~DBL\_MAX。
@@ -67,7 +67,7 @@
这个参数对openGauss分配的共享内存大小没有影响,它也不会使用内核磁盘缓冲,它只用于估算。数值是用磁盘页来计算的,通常每个页面是8192字节。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:整型,1~INT\_MAX,单位为8KB。
@@ -79,7 +79,7 @@
**参数说明**:设置优化器计算Hash Join创建Hash表开辟内存空间所需的开销,供Hash join估算不准时调优使用。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:浮点型,0~DBL\_MAX。
diff --git "a/content/zh/docs/Quickstart/\344\274\230\345\214\226\345\231\250\346\226\271\346\263\225\351\205\215\347\275\256.md" "b/content/zh/docs/Quickstart/\344\274\230\345\214\226\345\231\250\346\226\271\346\263\225\351\205\215\347\275\256.md"
index 560e6a65f28040383437ee74a7d68d2910dfd8c3..2c52019203d3a8bd75aa509ede3196704b950a3b 100644
--- "a/content/zh/docs/Quickstart/\344\274\230\345\214\226\345\231\250\346\226\271\346\263\225\351\205\215\347\275\256.md"
+++ "b/content/zh/docs/Quickstart/\344\274\230\345\214\226\345\231\250\346\226\271\346\263\225\351\205\215\347\275\256.md"
@@ -1,4 +1,4 @@
-# 优化器方法配置
+# 优化器方法配置
这些配置参数提供了影响查询优化器选择查询规划的原始方法。如果优化器为特定的查询选择的缺省规划并不是最优的,可以通过使用这些配置参数强制优化器选择一个不同的规划来临时解决这个问题。更好的方法包括调节优化器开销常量、手动运行ANALYZE、增加配置参数default\_statistics\_target的值、增加使用ALTER TABLE SET STATISTICS为指定列增加收集的统计信息。
diff --git "a/content/zh/docs/Quickstart/\344\275\277\347\224\250CSV\346\240\274\345\274\217\345\206\231\346\227\245\345\277\227.md" "b/content/zh/docs/Quickstart/\344\275\277\347\224\250CSV\346\240\274\345\274\217\345\206\231\346\227\245\345\277\227.md"
index d6d8c714874625a01e3735126db94725a3afb39e..8173f313f720e82c4b6ea018fb07b423e73fffa0 100644
--- "a/content/zh/docs/Quickstart/\344\275\277\347\224\250CSV\346\240\274\345\274\217\345\206\231\346\227\245\345\277\227.md"
+++ "b/content/zh/docs/Quickstart/\344\275\277\347\224\250CSV\346\240\274\345\274\217\345\206\231\346\227\245\345\277\227.md"
@@ -1,9 +1,9 @@
-# 使用CSV格式写日志
+# 使用CSV格式写日志
## 前提条件
-- [log\_destination](zh-cn_topic_0237124721.md#zh-cn_topic_0059778787_sb6c9884f69bd4765a60f80810c94f194)的值设置为csvlog。
-- [logging\_collector](zh-cn_topic_0237124721.md#zh-cn_topic_0059778787_s61d6090c04ee464fb54f8b31936ba818)的值设置为on。
+- [log\_destination](记录日志的位置.md#zh-cn_topic_0242371511_zh-cn_topic_0237124721_zh-cn_topic_0059778787_sb6c9884f69bd4765a60f80810c94f194)的值设置为csvlog。
+- [logging\_collector](记录日志的位置.md#zh-cn_topic_0242371511_zh-cn_topic_0237124721_zh-cn_topic_0059778787_s61d6090c04ee464fb54f8b31936ba818)的值设置为on。
## csvlog定义
@@ -15,9 +15,10 @@
CREATE TABLE postgres_log
(
log_time timestamp(3) with time zone,
+node_name text,
user_name text,
database_name text,
-process_id integer,
+process_id bigint,
connection_from text,
"session_id" text,
session_line_num bigint,
@@ -25,6 +26,8 @@ command_tag text,
session_start_time timestamp with time zone,
virtual_transaction_id text,
transaction_id bigint,
+query_id bigint,
+module text,
error_severity text,
sql_state_code text,
message text,
@@ -36,8 +39,7 @@ context text,
query text,
query_pos integer,
location text,
-application_name text,
-PRIMARY KEY ("transaction_id", session_line_num)
+application_name text
);
```
@@ -60,108 +62,117 @@ PRIMARY KEY ("transaction_id", session_line_num)
毫秒级的时间戳
- sql_state_code
+ module
- SQLSTATE代码
+ 日志所属模块
+
+
+ node_name
+
+ 节点名称
+
+ error_severity
+
+ ERRORSTATE代码
user_name
用户名
- message
+ sql_state_code
- 错误消息
+ SQLSTATE代码
database_name
数据库名
- detail
+ message
- 详细错误消息
+ 错误消息
process_id
进程ID
- hint
+ detail
- 提示
+ 详细错误消息
connection_from
客户主机:端口号
- internal_query
+ hint
- 内部查询(查询那些导致错误的信息,如果有的话)
+ 提示
session_id
会话ID
- internal_query_pos
+ internal_query
- 内部查询指针
+ 内部查询(查询那些导致错误的信息,如果有的话)
session_line_num
每个会话的行数
- context
+ internal_query_pos
- 环境
+ 内部查询指针
command_tag
命令标签
- query
+ context
- 错误发生位置的字符统计
+ 环境
session_start_time
会话开始时间
- query_pos
+ query
- 错误发生位置指针
+ 错误发生位置的字符统计
virtual_transaction_id
常规事务
- location
+ query_pos
- 在 openGauss 源代码中错误的位置(如果log_error_verbosity 的值设为verbose )
+ 错误发生位置指针
transaction_id
事务ID
- application_name
+ location
- 应用名称
+ 在 openGauss 源代码中错误的位置(如果log_error_verbosity 的值设为verbose )
- error_state_code
+ query_id
- ERRORSTATE代码
+ 查询ID
- -
+ application_name
- -
+ 应用名称
@@ -180,8 +191,7 @@ COPY postgres_log FROM '/opt/data/pg_log/logfile.csv' WITH csv;
简化输入到CSV日志文件,可以通过如下操作:
-- 设置[log\_filename](zh-cn_topic_0237124721.md#zh-cn_topic_0059778787_s3226ae3209154e249928c24ec67c5809)和[log\_rotation\_age](zh-cn_topic_0237124721.md#zh-cn_topic_0059778787_s3ce09b8a7ae543b18fae13a821a725a5),为日志文件提供一个一致的、可预测的命名方案。通过日志文件名,预测一个独立的日志文件完成并进入准备导入状态的时间。
-- 将[log\_rotation\_size](zh-cn_topic_0237124721.md#zh-cn_topic_0059778787_s282e72143bb14915bedb4b432586b07e)设为0来终止基于尺寸的日志回滚,因为基于尺寸的日志回滚让预测日志文件名变得非常的困难。
-- 将[log\_truncate\_on\_rotation](zh-cn_topic_0237124721.md#zh-cn_topic_0059778787_s143b6d35ddbe48b8810106a4d3929e8a)设为on以便区分在同一日志文件中旧的日志数据和新的日志数据。
-- [表1](#zh-cn_topic_0242371514_zh-cn_topic_0237124724_zh-cn_topic_0059779007_zh-cn_topic_0058967802_table44188316)包含了一个特定的主键,对防止意外导致导入两次相同的信息起到保护作用。COPY命令要求所有的数据在同一时间进行导入,所以在COPY过程中出现的所有错误都会导致整个导入失败。多次对同一日志文件进行导入会发生主键冲突,导致导入失败,请等到日志文件写入完成后再执行导入。设置主键也会限制日志没有写完整时部分日志的导入。
+- 设置[log\_filename](记录日志的位置.md#zh-cn_topic_0242371511_zh-cn_topic_0237124721_zh-cn_topic_0059778787_s3226ae3209154e249928c24ec67c5809)和[log\_rotation\_age](记录日志的位置.md#zh-cn_topic_0242371511_zh-cn_topic_0237124721_zh-cn_topic_0059778787_s3ce09b8a7ae543b18fae13a821a725a5),为日志文件提供一个一致的、可预测的命名方案。通过日志文件名,预测一个独立的日志文件完成并进入准备导入状态的时间。
+- 将[log\_rotation\_size](记录日志的位置.md#zh-cn_topic_0242371511_zh-cn_topic_0237124721_zh-cn_topic_0059778787_s282e72143bb14915bedb4b432586b07e)设为0来终止基于尺寸的日志回滚,因为基于尺寸的日志回滚让预测日志文件名变得非常的困难。
+- 将[log\_truncate\_on\_rotation](记录日志的位置.md#zh-cn_topic_0242371511_zh-cn_topic_0237124721_zh-cn_topic_0059778787_s143b6d35ddbe48b8810106a4d3929e8a)设为on以便区分在同一日志文件中旧的日志数据和新的日志数据。
diff --git "a/content/zh/docs/Quickstart/\344\275\277\347\224\250gsql\346\234\254\345\234\260\350\277\236\346\216\245.md" "b/content/zh/docs/Quickstart/\344\275\277\347\224\250gsql\346\234\254\345\234\260\350\277\236\346\216\245.md"
index b2de427140caee179246930cb2b37cda40997d41..774cac8c6ba3b74330a012230b4268eaf508e1e9 100644
--- "a/content/zh/docs/Quickstart/\344\275\277\347\224\250gsql\346\234\254\345\234\260\350\277\236\346\216\245.md"
+++ "b/content/zh/docs/Quickstart/\344\275\277\347\224\250gsql\346\234\254\345\234\260\350\277\236\346\216\245.md"
@@ -1,16 +1,14 @@
# 使用gsql本地连接
-gsql是openGaussopenGauss提供的在命令行下运行的数据库连接工具。此工具除了具备操作数据库的基本功能,还提供了若干高级特性,便于用户使用。本节只介绍如何使用gsql连接数据库,关于gsql使用方法的更多信息请参考gsql。
+gsql是openGauss提供的在命令行下运行的数据库连接工具。此工具除了具备操作数据库的基本功能,还提供了若干高级特性,便于用户使用。本节只介绍如何使用gsql连接数据库,关于gsql使用方法的更多信息请参考gsql。
## 注意事项
-缺省情况下,客户端连接数据库后长期处于空闲状态,不会自动断开连接。
-
-如果要开启自动断开功能,设置参数session\_timeout非0即可。
+缺省情况下,客户端连接数据库后处于空闲状态时会根据参数[session\_timeout](zh-cn_topic_0242371486.md#zh-cn_topic_0237124696_zh-cn_topic_0059778664_see4820fb6c024e0aa4c56882aeae204a)的默认值自动断开连接。如果要关闭超时设置,设置参数[session\_timeout](zh-cn_topic_0242371486.md#zh-cn_topic_0237124696_zh-cn_topic_0059778664_see4820fb6c024e0aa4c56882aeae204a)为0即可。
## 前提条件
-已[确认连接信息](确认连接信息.md)。
+已[确认连接信息](zh-cn_topic_0242370176.md)。
## 本地连接数据库
@@ -22,15 +20,16 @@ gsql是openGaussopenGauss提供的在命令行下运行的数据库连接工具
执行如下命令连接数据库。
```
- gsql -d postgres -p 8000 -r
+ gsql -d postgres -p 8000
```
- 其中,postgres为需要连接的数据库名称,8000为数据库主节点的端口号。请根据实际情况做替换。
+ 其中postgres为需要连接的数据库名称,8000为数据库主节点的端口号。请根据实际情况替换。
- 连接成功后,系统显示如下信息:
+ 连接成功后,系统显示类似如下信息:
```
- gsql ((openGauss V300R002C00 build 50dc16a6) compiled at 2019-01-29 05:49:21 commit 1071 last mr 1373)
+ gsql ((openGauss 1.0.0 build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131
+ Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
postgres=#
@@ -38,17 +37,15 @@ gsql是openGaussopenGauss提供的在命令行下运行的数据库连接工具
omm用户是管理员用户,因此系统显示“DBNAME=\#”。若使用普通用户身份登录和连接数据库,系统显示“DBNAME=\>”。
- 如果显示如下信息,表示未使用SSL方式连接数据库。如果需要高安全性时,建议使用SSL连接。SSL连接配置过程详见产品文档。
+ “Non-SSL connection”表示未使用SSL方式连接数据库。如果需要高安全性时,请[使用SSL连接](zh-cn_topic_0246507951.md)。
+
+3. 首次登录需要修改密码。原始密码为安装openGauss数据库手动输入的密码,具体请参见《安装指南》,此处需将原始密码修改为自定义的密码,例如Mypwd123,命令如下:
```
- gsql ((openGauss V300R002C00 build 50dc16a6) compiled at 2019-01-29 05:49:21 commit 1071 last mr 1373)
- Non-SSL connection (SSL connection is recommended when requiring high-security)
- Type "help" for help.
-
- postgres=#
+ postgres=# ALTER ROLE omm IDENTIFIED BY 'Mypwd123' REPLACE 'XuanYuan@2012';
```
-3. 退出数据库。
+4. 退出数据库。
```
postgres=# \q
diff --git "a/content/zh/docs/Quickstart/\344\277\256\346\224\271\346\223\215\344\275\234\347\263\273\347\273\237\351\205\215\347\275\256.md" "b/content/zh/docs/Quickstart/\344\277\256\346\224\271\346\223\215\344\275\234\347\263\273\347\273\237\351\205\215\347\275\256.md"
index f6d0646c4f1388b9a6bad64b3a4a5b9dc5009263..b6fe9ce16801f62efb596edc653ff5b1b0d2fbbf 100644
--- "a/content/zh/docs/Quickstart/\344\277\256\346\224\271\346\223\215\344\275\234\347\263\273\347\273\237\351\205\215\347\275\256.md"
+++ "b/content/zh/docs/Quickstart/\344\277\256\346\224\271\346\223\215\344\275\234\347\263\273\347\273\237\351\205\215\347\275\256.md"
@@ -1,4 +1,4 @@
-# 修改操作系统配置
+# 修改操作系统配置
- **[关闭操作系统防火墙](关闭操作系统防火墙.md)**
为了在防火墙开启的状态下,确保openGauss的正常使用。用户需要将同openGauss相关的服务、协议、IP以及端口添加到openGauss各主机的防火墙白名单中。
diff --git "a/content/zh/docs/Quickstart/\345\205\263\351\227\255swap\344\272\244\346\215\242\345\206\205\345\255\230.md" "b/content/zh/docs/Quickstart/\345\205\263\351\227\255swap\344\272\244\346\215\242\345\206\205\345\255\230.md"
index 200415d523796664f591843f7c8d04675ace8183..8968dad793e8e0e1385a30b69a13682819d42780 100644
--- "a/content/zh/docs/Quickstart/\345\205\263\351\227\255swap\344\272\244\346\215\242\345\206\205\345\255\230.md"
+++ "b/content/zh/docs/Quickstart/\345\205\263\351\227\255swap\344\272\244\346\215\242\345\206\205\345\255\230.md"
@@ -1,4 +1,4 @@
-# 关闭swap交换内存
+# 关闭swap交换内存
在各数据库节点上,使用swapoff -a命令将交换内存关闭。
diff --git "a/content/zh/docs/Quickstart/\345\205\263\351\227\255\346\223\215\344\275\234\347\263\273\347\273\237\351\230\262\347\201\253\345\242\231.md" "b/content/zh/docs/Quickstart/\345\205\263\351\227\255\346\223\215\344\275\234\347\263\273\347\273\237\351\230\262\347\201\253\345\242\231.md"
index c3a0f37bfc7285e43d18cc588b7c131e35466655..ec9d25275f7ced1c55f175068a1e5e9b0f5d691c 100644
--- "a/content/zh/docs/Quickstart/\345\205\263\351\227\255\346\223\215\344\275\234\347\263\273\347\273\237\351\230\262\347\201\253\345\242\231.md"
+++ "b/content/zh/docs/Quickstart/\345\205\263\351\227\255\346\223\215\344\275\234\347\263\273\347\273\237\351\230\262\347\201\253\345\242\231.md"
@@ -1,59 +1,59 @@
-# 关闭操作系统防火墙
+# 关闭操作系统防火墙
为了在防火墙开启的状态下,确保openGauss的正常使用。用户需要将同openGauss相关的服务、协议、IP以及端口添加到openGauss各主机的防火墙白名单中。
-以openEuler操作系统为例,假设openGauss信息如[表1](#zh-cn_topic_0242552154_zh-cn_topic_0241802566_zh-cn_topic_0085434636_zh-cn_topic_0059782018_table4312170510523)所示。
+以openEuler操作系统为例,假设openGauss信息如[表1](#zh-cn_topic_0249784527_zh-cn_topic_0241802566_zh-cn_topic_0085434636_zh-cn_topic_0059782018_table4312170510523)所示。
**表 1** openGauss信息
-
- 主机名称
+
+ 主机名称
- 内部IP
+ 内部IP
- 外部IP
+ 外部IP
- plat1
+ plat1
- 192.168.0.11
+ 192.168.0.11
- 10.10.0.11
+ 10.10.0.11
- plat2
+ plat2
- 192.168.0.12
+ 192.168.0.12
- 10.10.0.12
+ 10.10.0.12
- plat3
+ plat3
- 192.168.0.13
+ 192.168.0.13
- 10.10.0.13
+ 10.10.0.13
- plat4
+ plat4
- 192.168.0.14
+ 192.168.0.14
- 10.10.0.14
+ 10.10.0.14
- 管理网络
+ 管理网络
- -
+ -
- 10.10.64.236
+ 10.10.64.236
-## 操作步骤
+## 操作步骤
目前仅支持在防火墙关闭的状态下进行安装。
@@ -63,13 +63,14 @@
systemctl status firewalld
```
- 若防火墙未关闭,请执行[2](#zh-cn_topic_0242552154_zh-cn_topic_0241802566_zh-cn_topic_0085434636_zh-cn_topic_0059782018_li11887129193617);
+ 若防火墙未关闭,请执行[2](#zh-cn_topic_0249784527_zh-cn_topic_0241802566_zh-cn_topic_0085434636_zh-cn_topic_0059782018_li11887129193617);
若防火墙已关闭,则无需再关闭防火墙。
-2. 关闭防火墙。
+2. 关闭防火墙。
```
+ systemctl disable firewalld.service
systemctl stop firewalld.service
```
diff --git "a/content/zh/docs/Quickstart/\345\205\266\344\273\226\344\274\230\345\214\226\345\231\250\351\200\211\351\241\271.md" "b/content/zh/docs/Quickstart/\345\205\266\344\273\226\344\274\230\345\214\226\345\231\250\351\200\211\351\241\271.md"
index 2e41e33a3edafca52ef12fd99f8081e7ece40886..fef186d27ac779f7f12d32b00aeb08fac1f7a2a5 100644
--- "a/content/zh/docs/Quickstart/\345\205\266\344\273\226\344\274\230\345\214\226\345\231\250\351\200\211\351\241\271.md"
+++ "b/content/zh/docs/Quickstart/\345\205\266\344\273\226\344\274\230\345\214\226\345\231\250\351\200\211\351\241\271.md"
@@ -1,4 +1,4 @@
-# 其他优化器选项
+# 其他优化器选项
## default\_statistics\_target
@@ -193,24 +193,6 @@
**默认值:**off
-## query\_dop
-
-**参数说明: **用户自定义的查询并行度。该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
-
-**取值范围:**整型,-64-64
-
-\[1,64\]:打开固定SMP功能,系统会使用固定并行度。
-
-0:打开SMP自适应功能,系统会根据资源情况和计划特征动态选取最优并行度。
-
-\[-64,-1\]:打开SMP自适应功能,并限制自适应选取的最大并行度。
-
-> **说明:**
->- 在开启并行查询后,请保证系统CPU、内存、网络、I/O等资源充足,以达到最佳效果。
->- 为了避免用户设置不合理的过大值造成性能劣化,系统会计算出该数据库节点可用最大CPU核数,并以此来作为query\_dop的上限。如果用户设置query\_dop超过4并且同时超过该上限,那么系统会重置query\_dop为该上限值。
-
-**默认值:**1
-
## enable\_analyze\_check
**参数说明: **标识是否允许在生成计划的时候,对于在pg\_class中显示reltuples和relpages均为0的表,检查该表是否曾进行过统计信息收集。
diff --git "a/content/zh/docs/Quickstart/\345\205\266\344\273\226\347\274\272\347\234\201.md" "b/content/zh/docs/Quickstart/\345\205\266\344\273\226\347\274\272\347\234\201.md"
index eb4ec1a850adebe868704c9eb04f405615eda46e..b7f2309c32363a9da2029d31ee90cf238001ed25 100644
--- "a/content/zh/docs/Quickstart/\345\205\266\344\273\226\347\274\272\347\234\201.md"
+++ "b/content/zh/docs/Quickstart/\345\205\266\344\273\226\347\274\272\347\234\201.md"
@@ -1,4 +1,4 @@
-# 其他缺省
+# 其他缺省
主要介绍数据库系统默认的库加载参数。
diff --git "a/content/zh/docs/Quickstart/\345\205\266\345\256\203\351\200\211\351\241\271.md" "b/content/zh/docs/Quickstart/\345\205\266\345\256\203\351\200\211\351\241\271.md"
index af140c8aa1f134045a47928ed986bea2e6673cba..6ea1697fd5198b66d58a750f6f4c3ce428d4b355 100644
--- "a/content/zh/docs/Quickstart/\345\205\266\345\256\203\351\200\211\351\241\271.md"
+++ "b/content/zh/docs/Quickstart/\345\205\266\345\256\203\351\200\211\351\241\271.md"
@@ -1,4 +1,4 @@
-# 其它选项
+# 其它选项
## server\_version
@@ -36,7 +36,9 @@
该参数属于INTERNAL类型参数,为固定参数,用户无法修改此参数,只能查看。
-**默认值:**131072
+**单位**: 8KB
+
+**默认值:**131072, 即1GB
## max\_index\_keys
@@ -244,7 +246,7 @@ add_months
compat_analyze_sample
analyze采样行为配置项。
- 设置此配置项时,会优化analyze的采样行为,主要体现在analyze时全局采样会更精确的控制在3万条左右,更好的控制analyze时 DBnode 端的内存消耗,保证analyze性能的稳定性。
+ 设置此配置项时,会优化analyze的采样行为,主要体现在analyze时全局采样会更精确的控制在3万条左右,更好的控制analyze时DBnode端的内存消耗,保证analyze性能的稳定性。
bind_schema_tablespace
@@ -264,7 +266,7 @@ add_months
correct_to_number
控制to_number()结果兼容性的配置项。
- 若设置此配置项,则to_number()函数结果与pg11保持一致,否则默认与 a db 保持一致。
+ 若设置此配置项,则to_number()函数结果与pg11保持一致,否则默认与O db保持一致。
unbind_dive_bound
@@ -276,7 +278,7 @@ add_months
merge_update_multi
控制merge into匹配多行时是否进行update操作。
- 若设置此配置项,匹配多行时update不报错,否则默认与 a db 保持一致,报错。
+ 若设置此配置项,匹配多行时update不报错,否则默认与a db保持一致,报错。
return_null_string
@@ -299,12 +301,12 @@ length
compat_concat_variadic
控制函数concat()和concat_ws()对variadic类型结果兼容性的配置项。
- 若设置此配置项,当concat函数参数为variadic类型时,保留 a db 和Teradata兼容模式下不同的结果形式;否则默认 a db 和Teradata兼容模式下结果相同,且与 a db 保持一致。由于mysql无variadic类型,所以该选项对MySQL无影响。
+ 若设置此配置项,当concat函数参数为variadic类型时,保留a db和Teradata兼容模式下不同的结果形式;否则默认a db和Teradata兼容模式下结果相同,且与a db保持一致。由于MY无variadic类型,所以该选项对MY无影响。
merge_update_multi
- 控制在使用MERGE INTO ... WHEN MATCHED THEN UPDATE(参考MERGE INTO ) 和INSERT ... ON DUPLICATE KEY UPDATE(参考INSERT )时,当目标表中一条目标数据与多条源数据冲突时UPDATE行为。
+ 控制在使用MERGE INTO ... WHEN MATCHED THEN UPDATE(参考MERGE INTO ) 和INSERT ... ON DUPLICATE KEY UPDATE(参考INSERT )时,当目标表中一条目标数据与多条源数据冲突时UPDATE行为。
若设置此配置项,当存在上述场景时,该冲突行将会多次执行UPDATE;否则(默认)报错,即MERGE或INSERT操作失败。
@@ -383,19 +385,3 @@ length
默认值:authentication
-## enable\_tsdb
-
-**参数说明:**是否开启时序数据库特性。
-
-该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
-
-**取值范围:**布尔型
-
-- on:表示打开时序数据库特性功能。
-- off:表示关闭时序数据库特性功能。
-
-**默认值**:off
-
-> **说明:**
->开启时序数据库特性后如果需要关闭该特性请谨慎考虑,因为关闭后会对原有业务流量有影响
-
diff --git "a/content/zh/docs/Quickstart/\345\205\270\345\236\213\347\273\204\347\275\221.md" "b/content/zh/docs/Quickstart/\345\205\270\345\236\213\347\273\204\347\275\221.md"
index 84ba1164822c8097c4970e18f0b11a12671680e6..6c08ff19a701a49b28fd1c699b8ae1e02d19cdb5 100644
--- "a/content/zh/docs/Quickstart/\345\205\270\345\236\213\347\273\204\347\275\221.md"
+++ "b/content/zh/docs/Quickstart/\345\205\270\345\236\213\347\273\204\347\275\221.md"
@@ -39,5 +39,7 @@
对于测试系统,上述要求可以适当降低。
**图 2** 数据库管理存储网络组网示例
-
+
+
+
diff --git "a/content/zh/docs/Quickstart/\345\206\205\345\255\230.md" "b/content/zh/docs/Quickstart/\345\206\205\345\255\230.md"
index 53c3a0730550a6c765aa24c3b5823f62f9540875..e3d34188c753116220e1764bc659acb500110ab3 100644
--- "a/content/zh/docs/Quickstart/\345\206\205\345\255\230.md"
+++ "b/content/zh/docs/Quickstart/\345\206\205\345\255\230.md"
@@ -1,4 +1,4 @@
-# 内存
+# 内存
介绍与内存相关的参数设置。
@@ -56,9 +56,7 @@
**设置建议:**
-数据库节点上该数值需要根据系统物理内存及单节点部署主数据库节点个数决定的。计算公式如下:(物理内存大小 – vm.min\_free\_kbytes)\* 0.7 / \(n+主数据库节点个数\)。该参数目的是尽可能保证系统的可靠性,不会因数据库内存膨胀导致节点OOM。这个公式中提到vm.min\_free\_kbytes,其含义是预留操作系统内存供内核使用,通常用作操作系统内核中通信收发内存分配,至少为5%内存。即,max\_process\_memory=物理内存\*0.665/\(n+主数据库节点个数\),其中,当openGauss规模小于256时,n=1;当openGauss规模大于256且小于512时, n=2;当openGauss规模超过512时,n=3。
-
-RAM:openGauss规划时分配给openGauss的最大使用内存,实际为服务器的物理内存。
+数据库节点上该数值需要根据系统物理内存及单节点部署主数据库节点个数决定。建议计算公式如下:物理内存大小 \* 系数 / 主节点个数,系数通常建议为0.8。该系数的目的在于预留内存供操作系统内核使用,尽可能保证系统的可靠性,防止因数据库内存膨胀导致物理节点OOM。节点的物理内存越小, 系数应越小。例如, 128GB物理内存的节点可以使用0.9作为系数, 而32GB的节点可能只适合0.7作为系数。
## enable\_memory\_context\_control
@@ -79,7 +77,7 @@ RAM:openGauss规划时分配给openGauss的最大使用内存,实际为服
该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
-查询时会在参数值的最前面添加标题含义字符串“MemoryContext white list:”"。
+查询时会在参数值的最前面添加标题含义字符串“MemoryContext white list:"。
**取值范围**:字符串
@@ -207,7 +205,7 @@ RAM:openGauss规划时分配给openGauss的最大使用内存,实际为服
**设置建议:**
- 建议设置此参数的值大于[work\_mem](#zh-cn_topic_0242371489_zh-cn_topic_0237124699_zh-cn_topic_0059777577_sd27c81d651ce4d2585febca76c4cc34e),可以改进清理和恢复数据库转储的速度。因为在一个数据库会话里,任意时刻只有一个维护性操作可以执行,并且在执行维护性操作时不会有太多的会话。
-- 当[自动清理](自动清理.md#ZH-CN_TOPIC_0244544107)进程运行时,[autovacuum\_max\_workers](自动清理.md#zh-cn_topic_0242371520_zh-cn_topic_0237124730_zh-cn_topic_0059778244_s76932f79410248ba8923017d19982673)倍数的内存将会被分配,所以此时设置maintenance\_work\_mem的值应该不小于[work\_mem](#zh-cn_topic_0242371489_zh-cn_topic_0237124699_zh-cn_topic_0059777577_sd27c81d651ce4d2585febca76c4cc34e)。
+- 当[自动清理](自动清理.md#ZH-CN_TOPIC_0251900959)进程运行时,[autovacuum\_max\_workers](自动清理.md#zh-cn_topic_0242371520_zh-cn_topic_0237124730_zh-cn_topic_0059778244_s76932f79410248ba8923017d19982673)倍数的内存将会被分配,所以此时设置maintenance\_work\_mem的值应该不小于[work\_mem](#zh-cn_topic_0242371489_zh-cn_topic_0237124699_zh-cn_topic_0059777577_sd27c81d651ce4d2585febca76c4cc34e)。
- 如果进行大数据量的cluster等,可以在session中调大该值。
## psort\_work\_mem
diff --git "a/content/zh/docs/Quickstart/\345\206\205\346\240\270\350\265\204\346\272\220\344\275\277\347\224\250.md" "b/content/zh/docs/Quickstart/\345\206\205\346\240\270\350\265\204\346\272\220\344\275\277\347\224\250.md"
index 2d066286b0439ab91a204b0dae5b8dec4f1b78ad..564c12d2810b4525ccaac86f9fc4caa655f7377a 100644
--- "a/content/zh/docs/Quickstart/\345\206\205\346\240\270\350\265\204\346\272\220\344\275\277\347\224\250.md"
+++ "b/content/zh/docs/Quickstart/\345\206\205\346\240\270\350\265\204\346\272\220\344\275\277\347\224\250.md"
@@ -1,4 +1,4 @@
-# 内核资源使用
+# 内核资源使用
介绍与操作系统内核相关的参数,这些参数是否生效依赖于操作系统的设置。
@@ -8,7 +8,7 @@
但是在一些平台上(特别是大多数BSD系统),内核允许独立进程打开比系统真正可以支持的数目大得多得文件数。如果用户发现有的“Too many open files”这样的失败现象,请尝试缩小这个设置。通常情况下需要满足,系统FD(file descriptor)数量\>=最大并发数\*数据库节点个数\*max\_files\_per\_process\*3。
-该参数属于POSTMASTER类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,25\~2147483647。
@@ -22,7 +22,7 @@
通过预先装载一个共享库并在需要的时候初始化它,可以避免第一次使用这个库的加载时间。但是启动每个服务器进程的时间可能会增加,即使进程从来没有使用过这些库。因此建议对那些将被大多数会话使用的库才使用这个选项。
-该参数属于POSTMASTER类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
>- 如果被声明的库不存在,openGauss服务将会启动失败。
diff --git "a/content/zh/docs/Quickstart/\345\207\206\345\244\207\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\216\257\345\242\203.md" "b/content/zh/docs/Quickstart/\345\207\206\345\244\207\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\216\257\345\242\203.md"
index 550849bbab96ca0d0b4f9b772535a020cfa43c21..fb3bb6bfc74c76a7e57f7fb5bd99e5bcd0ef9b46 100644
--- "a/content/zh/docs/Quickstart/\345\207\206\345\244\207\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\216\257\345\242\203.md"
+++ "b/content/zh/docs/Quickstart/\345\207\206\345\244\207\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\216\257\345\242\203.md"
@@ -1,25 +1,25 @@
-# 准备安装用户及环境
+# 准备安装用户及环境
创建完openGauss配置文件后,在执行安装前,为了后续能以最小权限进行安装及openGauss管理操作,保证系统安全性,需要运行安装前置脚本gs\_preinstall准备好安装用户及环境。
安装前置脚本gs\_preinstall可以协助用户自动完成如下的安装环境准备工作:
-- 自动设置Linux内核参数以达到提高服务器负载能力的目的。这些参数直接影响数据库系统的运行状态,请仅在确认必要时调整。openGauss所设置的Linux内核参数取值请参见[配置操作系统参数](配置操作系统参数.md#ZH-CN_TOPIC_0244544062)。
+- 自动设置Linux内核参数以达到提高服务器负载能力的目的。这些参数直接影响数据库系统的运行状态,请仅在确认必要时调整。openGauss所设置的Linux内核参数取值请参见[配置操作系统参数](配置操作系统参数.md#ZH-CN_TOPIC_0251900908)。
- 自动将openGauss配置文件、安装包拷贝到openGauss主机的相同目录下。
- openGauss安装用户、用户组不存在时,自动创建安装用户以及用户组。
- 读取openGauss配置文件中的目录信息并创建,将目录权限授予安装用户。
-## 前提条件
+## 前提条件
-- 已完成[安装准备](安装准备.md#ZH-CN_TOPIC_0244544038)的所有任务。
+- 已完成[安装准备](安装准备.md#ZH-CN_TOPIC_0251900884)的所有任务。
-## 注意事项
+## 注意事项
- 用户需要检查上层目录权限,保证安装用户对安装包和配置文件目录读写执行的权限。
- xml文件中各主机的名称与IP映射配置正确。
- 只能使用root用户执行gs\_preinstall命令。
-## 操作步骤
+## 操作步骤
1. 以root用户登录待安装openGauss的任意主机,并按规划创建存放安装包的目录。
@@ -40,55 +40,55 @@
tar -zxvf openGauss_x.x.x_PACKAGES_RELEASE.tar.gz
```
- 解压后的安装包说明见[表1](#zh-cn_topic_0244176941_zh-cn_topic_0241805803_zh-cn_topic_0085434653_zh-cn_topic_0059781995_te4a9d557337c400c85acff184476a722)。
+ 解压后的安装包说明见[表1](#zh-cn_topic_0249784578_zh-cn_topic_0241805803_zh-cn_topic_0085434653_zh-cn_topic_0059781995_te4a9d557337c400c85acff184476a722)。
**表 1** 安装包说明
-
- 包名
+
+ 包名
- 说明
+ 说明
- openGauss-x.x.x - open EULER-64bit-ClientTools.tar.gz
+ openGauss-x.x.x -openEULER-64bit-ClientTools.tar.gz
- 用于Linux的客户端工具安装包。含gsql、dump restore tool、ODBC驱动、JDBC驱动、Libpq库。
+ 用于Linux的客户端工具安装包。含gsql、dump restore tool、ODBC驱动、JDBC驱动、Libpq库。
- openGauss-x.x.x - openEULER -64bit-Jdbc.tar.gz
+ openGauss-x.x.x -openEULER-64bit-Jdbc.tar.gz
- 用于Linux的JDBC驱动安装包。
+ 用于Linux的JDBC驱动安装包。
- openGauss-x.x.x - openEULER -64bit-Libpq.tar.gz
+ openGauss-x.x.x -openEULER-64bit-Libpq.tar.gz
- 用于Linux的libpq库。
+ 用于Linux的libpq库。
- openGauss-x.x.x - openEULER -64bit-Odbc.tar.gz
+ openGauss-x.x.x -openEULER-64bit-Odbc.tar.gz
- 用于Linux的ODBC驱动安装包。
+ 用于Linux的ODBC驱动安装包。
- openGauss-x.x.x - openEULER -64bit-symbol.tar.gz
+ openGauss-x.x.x -openEULER-64bit-symbol.tar.gz
- 用于调试和定位数据库问题的支持文件。
+ 用于调试和定位数据库问题的支持文件。
- openGauss-x.x.x - openEULER -64bit.tar.gz
+ openGauss-x.x.x -openEULER-64bit.tar.gz
- 数据库管理系统安装包。即本手册使用的安装包。
+ 数据库管理系统安装包。即本手册使用的安装包。
- openGauss-x.x.x -Sslcert.tar.gz
+ openGauss-x.x.x -Sslcert.tar.gz
- 用于客户端服务器认证的证书。
+ 用于客户端服务器认证的证书。
- openGauss-x.x.x -Inspection.tar.gz
+ openGauss-x.x.x -Inspection.tar.gz
- 用于检查数据库健康状况的巡检工具。
+ 用于检查数据库健康状况的巡检工具。
@@ -130,17 +130,17 @@
- 采用交互模式执行前置,并在执行过程中自动创建root用户互信和openGauss用户互信:
```
- python gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml
+ ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml
```
omm为数据库管理员(也是运行openGauss的操作系统用户),dbgrp为运行openGauss的操作系统用户的群组名称,/opt/software/openGauss/clusterconfig.xml为openGauss配置文件路径。在执行过程中,用户根据提示选择是否创建互信,并输入root用户或openGauss用户的密码。
- - 不允许创建root用户互信时,创建omm用户,在各主机上执行本地模式前置,然后用户手动创建openGauss用户互信:
+ - 不允许创建root用户互信时,创建omm用户,在各主机上执行本地模式前置,然后用户手动创建openGauss用户互信:如果预安装指定-L参数,预安装前需手动将所有节点的主机名和ip映射关系,写入各个主机的/etc/hosts,并在每个映射关系后边加入注释内容:\#Gauss OM IP Hosts Mapping。
1. 执行下面命令准备安装环境。
```
cd /opt/software/openGauss/script
- python gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/clusterconfig.xml
+ ./gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/clusterconfig.xml
```
> **说明:**
@@ -148,12 +148,12 @@
- 采用非交互模式执行前置:
- 1. 参考[手工建立互信](手工建立互信.md#ZH-CN_TOPIC_0244544061)章节手工建立root用户互信和openGauss用户互信。
+ 1. 参考[手工建立互信](手工建立互信.md#ZH-CN_TOPIC_0251900907)章节手工建立root用户互信和openGauss用户互信。
2. 执行下面命令准备安装环境。
```
cd /opt/software/openGauss/script
- python gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml --non-interactive
+ ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml --non-interactive
```
> **说明:**
@@ -163,12 +163,12 @@
-## 示例
+## 示例
执行前置脚本:
```
-plat1:/opt/software/openGauss/script # python gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml
+plat1:/opt/software/openGauss/script # ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml
Parsing the configuration file.
Successfully parsed the configuration file.
Installing the tools on the local node.
@@ -197,20 +197,27 @@ Verifying SSH trust on all hosts.
Successfully verified SSH trust on all hosts.
Successfully created SSH trust.
Successfully created SSH trust for the root permission user.
+Setting pssh path
+Successfully set core path.
Distributing package.
Begin to distribute package to tool path.
Successfully distribute package to tool path.
Begin to distribute package to package path.
Successfully distribute package to package path.
Successfully distributed package.
-Are you sure you want to create the user[gaussdba] and create trust for it (yes/no)? yes
+Are you sure you want to create the user[omm] and create trust for it (yes/no)? yes
+Please enter password for cluster user.
+Password:
+Please enter password for cluster user again.
+Password:
+Successfully created [omm] user on all nodes.
+Preparing SSH service.
+Successfully prepared SSH service.
Installing the tools in the cluster.
Successfully installed the tools in the cluster.
Checking hostname mapping.
Successfully checked hostname mapping.
-Creating SSH trust for [gaussdba] user.
-Please enter password for current user[gaussdba].
-Password:
+Creating SSH trust for [omm] user.
Checking network information.
All nodes in the network are Normal.
Successfully checked network information.
@@ -230,7 +237,9 @@ Successfully distributed SSH trust file to all node.
Verifying SSH trust on all hosts.
Successfully verified SSH trust on all hosts.
Successfully created SSH trust.
-Successfully created SSH trust for [gaussdba] user.
+Successfully created SSH trust for [omm] user.
+Checking OS software.
+Successfully check os software.
Checking OS version.
Successfully checked OS version.
Creating cluster's path.
@@ -240,30 +249,29 @@ Successfully set SCTP service.
Set and check OS parameter.
Setting OS parameters.
Successfully set OS parameters.
-Set and check OS parameter completed.
Preparing CRON service.
Successfully prepared CRON service.
-Preparing SSH service.
-Successfully prepared SSH service.
Setting user environmental variables.
Successfully set user environmental variables.
-Configuring alarms on the cluster nodes.
-Successfully configured alarms on the cluster nodes.
Setting the dynamic link library.
Successfully set the dynamic link library.
-Setting Cgroup.
-Successfully set Cgroup.
+Setting Core file
+Successfully set core path.
+Setting pssh path
+Successfully set pssh path.
Set ARM Optimization.
-Successfully set ARM Optimization.
+No need to set ARM Optimization.
+Fixing server package owner.
Setting finish flag.
Successfully set finish flag.
Preinstallation succeeded.
+S
```
root密码不一致也不能修改为一致,执行前置脚本本地安装模式:
```
-plat1:/opt/software/openGauss/script # python gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/clusterconfig.xml
+plat1:/opt/software/openGauss/script # ./gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/clusterconfig.xml
Parsing the configuration file.
Successfully parsed the configuration file.
Installing the tools on the local node.
@@ -300,7 +308,7 @@ Preinstallation succeeded.
以非交互模式执行前置:
```
-plat1:/opt/software/openGauss/script # python gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml --non-interactive
+plat1:/opt/software/openGauss/script # ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml --non-interactive
Parsing the configuration file.
Successfully parsed the configuration file.
Installing the tools on the local node.
@@ -344,7 +352,7 @@ Successfully set finish flag.
Preinstallation succeeded.
```
-## 错误排查
+## 错误排查
如果准备安装环境失败请根据openGauss日志目录“$GAUSSLOG/om”下的“gs\_preinstall-YYYY-MM-DD\_HHMMSS.log”和“gs\_local-YYYY-MM-DD\_HHMMSS.log”中的日志信息排查错误。例如配置文件中“gaussdbLogPath”参数指定的路径为“/var/log/gaussdb”,则“$GAUSSLOG/om”路径为“/var/log/gaussdb/omm/om”,omm用户为运行openGauss的用户。
diff --git "a/content/zh/docs/Quickstart/\345\207\206\345\244\207\350\275\257\347\241\254\344\273\266\345\256\211\350\243\205\347\216\257\345\242\203.md" "b/content/zh/docs/Quickstart/\345\207\206\345\244\207\350\275\257\347\241\254\344\273\266\345\256\211\350\243\205\347\216\257\345\242\203.md"
index 18b2bb82c7ee5bbe9490ea5a099ca76ca4e87308..1022e8a0d6d95600bfe4319d964cdeac791f81d9 100644
--- "a/content/zh/docs/Quickstart/\345\207\206\345\244\207\350\275\257\347\241\254\344\273\266\345\256\211\350\243\205\347\216\257\345\242\203.md"
+++ "b/content/zh/docs/Quickstart/\345\207\206\345\244\207\350\275\257\347\241\254\344\273\266\345\256\211\350\243\205\347\216\257\345\242\203.md"
@@ -1,4 +1,4 @@
-# 准备软硬件安装环境
+# 准备软硬件安装环境
本章节描述安装前需要进行的环境准备。
diff --git "a/content/zh/docs/Quickstart/\345\210\233\345\273\272XML\351\205\215\347\275\256\346\226\207\344\273\266.md" "b/content/zh/docs/Quickstart/\345\210\233\345\273\272XML\351\205\215\347\275\256\346\226\207\344\273\266.md"
index 7e836d9a67bb5e01ec3a5192e4f8a84a246f3476..d9f68c683825c157b85b576d72d07905d6717b46 100644
--- "a/content/zh/docs/Quickstart/\345\210\233\345\273\272XML\351\205\215\347\275\256\346\226\207\344\273\266.md"
+++ "b/content/zh/docs/Quickstart/\345\210\233\345\273\272XML\351\205\215\347\275\256\346\226\207\344\273\266.md"
@@ -1,4 +1,4 @@
-# 创建XML配置文件
+# 创建XML配置文件
安装openGauss前需要创建XML文件。XML文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件。
diff --git "a/content/zh/docs/Quickstart/\345\210\233\345\273\272\346\225\260\346\215\256\345\272\223.md" "b/content/zh/docs/Quickstart/\345\210\233\345\273\272\346\225\260\346\215\256\345\272\223.md"
index f894a531f510b17aa4b27f0c53827eb4e89c760d..1414541af2e4431419103f02df6891fbc9710ae5 100644
--- "a/content/zh/docs/Quickstart/\345\210\233\345\273\272\346\225\260\346\215\256\345\272\223.md"
+++ "b/content/zh/docs/Quickstart/\345\210\233\345\273\272\346\225\260\346\215\256\345\272\223.md"
@@ -1,11 +1,12 @@
# 创建数据库
-创建一个新的数据库。缺省情况下新数据库将通过复制标准系统数据库template1来创建。可以通过TEMPLATE template指定不同的模板。
+创建一个新的数据库。缺省情况下新数据库将通过复制标准系统数据库template0来创建,且仅支持使用template0来创建。
## 注意事项
- 只有拥有CREATEDB权限的用户才可以创建新数据库,系统管理员默认拥有此权限。
- 不能在事务块中执行创建数据库语句。
+- 在创建数据库过程中,若出现类似“could not initialize database directory”的错误提示,可能是由于文件系统上数据目录的权限不足或磁盘满等原因引起。
## 语法格式
@@ -25,8 +26,8 @@ CREATE DATABASE database_name
```
--创建jim和tom用户。
-postgres=# CREATE USER jim PASSWORD 'Bigdata123@';
-postgres=# CREATE USER tom PASSWORD 'Bigdata123@';
+postgres=# CREATE USER jim PASSWORD 'Bigdata@123';
+postgres=# CREATE USER tom PASSWORD 'Bigdata@123';
--创建一个GBK编码的数据库music(本地环境的编码格式必须也为GBK)。
postgres=# CREATE DATABASE music ENCODING 'GBK' template = template0;
@@ -49,9 +50,29 @@ postgres=# ALTER DATABASE music2 OWNER TO tom;
--设置music3的表空间为PG_DEFAULT。
postgres=# ALTER DATABASE music3 SET TABLESPACE PG_DEFAULT;
+--关闭在数据库music3上缺省的索引扫描。
+postgres=# ALTER DATABASE music3 SET enable_indexscan TO off;
+
+--重置enable_indexscan参数。
+postgres=# ALTER DATABASE music3 RESET enable_indexscan;
+
--删除数据库。
postgres=# DROP DATABASE music2;
postgres=# DROP DATABASE music3;
postgres=# DROP DATABASE music4;
+
+--删除jim和tom用户。
+postgres=# DROP USER jim;
+postgres=# DROP USER tom;
+
+--创建兼容TD格式的数据库。
+postgres=# CREATE DATABASE td_compatible_db DBCOMPATIBILITY 'C';
+
+--创建兼容ORA格式的数据库。
+postgres=# CREATE DATABASE ora_compatible_db DBCOMPATIBILITY 'A';
+
+--删除兼容TD、ORA格式的数据库。
+postgres=# DROP DATABASE td_compatible_db;
+postgres=# DROP DATABASE ora_compatible_db;
```
diff --git "a/content/zh/docs/Quickstart/\345\210\233\345\273\272\347\224\250\346\210\267.md" "b/content/zh/docs/Quickstart/\345\210\233\345\273\272\347\224\250\346\210\267.md"
index ac8241dc7d7e4d805a68a5f608a6665d09fc6f66..a4bf365b63090f467a010ddf2f85cabb7c4da0d2 100644
--- "a/content/zh/docs/Quickstart/\345\210\233\345\273\272\347\224\250\346\210\267.md"
+++ "b/content/zh/docs/Quickstart/\345\210\233\345\273\272\347\224\250\346\210\267.md"
@@ -18,6 +18,9 @@ CREATE USER user_name [ [ WITH ] option [ ... ] ] [ ENCRYPTED | UNENCRYPTED ] {
```
{SYSADMIN | NOSYSADMIN}
+ | {MONADMIN | NOMONADMIN}
+ | {OPRADMIN | NOOPRADMIN}
+ | {POLADMIN | NOPOLADMIN}
| {AUDITADMIN | NOAUDITADMIN}
| {CREATEDB | NOCREATEDB}
| {USEFT | NOUSEFT}
@@ -31,9 +34,9 @@ CREATE USER user_name [ [ WITH ] option [ ... ] ] [ ENCRYPTED | UNENCRYPTED ] {
| VALID BEGIN 'timestamp'
| VALID UNTIL 'timestamp'
| RESOURCE POOL 'respool'
- | USER GROUP 'groupuser'
| PERM SPACE 'spacelimit'
- | NODE GROUP logic_cluster_name
+ | TEMP SPACE 'tmpspacelimit'
+ | SPILL SPACE 'spillspacelimit'
| IN ROLE role_name [, ...]
| IN GROUP role_name [, ...]
| ROLE role_name [, ...]
@@ -49,17 +52,17 @@ CREATE USER user_name [ [ WITH ] option [ ... ] ] [ ENCRYPTED | UNENCRYPTED ] {
## 示例
```
---创建用户jim,登录密码为Bigdata123@。
-postgres=# CREATE USER jim PASSWORD 'Bigdata123@';
+--创建用户jim,登录密码为Bigdata@123。
+postgres=# CREATE USER jim PASSWORD 'Bigdata@123';
--下面语句与上面的等价。
-postgres=# CREATE USER kim IDENTIFIED BY 'Bigdata123@';
+postgres=# CREATE USER kim IDENTIFIED BY 'Bigdata@123';
--如果创建有“创建数据库”权限的用户,则需要加CREATEDB关键字。
-postgres=# CREATE USER dim CREATEDB PASSWORD 'Bigdata123@';
+postgres=# CREATE USER dim CREATEDB PASSWORD 'Bigdata@123';
---将用户jim的登录密码由Bigdata123@修改为Abcd@123。
-postgres=# ALTER USER jim IDENTIFIED BY 'Abcd@123' REPLACE 'Bigdata123@';
+--将用户jim的登录密码由Bigdata@123修改为Abcd@123。
+postgres=# ALTER USER jim IDENTIFIED BY 'Abcd@123' REPLACE 'Bigdata@123';
--为用户jim追加CREATEROLE权限。
postgres=# ALTER USER jim CREATEROLE;
diff --git "a/content/zh/docs/Quickstart/\345\210\233\345\273\272\350\241\250.md" "b/content/zh/docs/Quickstart/\345\210\233\345\273\272\350\241\250.md"
index b89d68c4d72fea5d39e58d8164481fd2dcda16ab..22254a96de3bb4b3c96cccf5d6397d67ad32c4e2 100644
--- "a/content/zh/docs/Quickstart/\345\210\233\345\273\272\350\241\250.md"
+++ "b/content/zh/docs/Quickstart/\345\210\233\345\273\272\350\241\250.md"
@@ -17,9 +17,7 @@
[ WITH ( {storage_parameter = value} [, ... ] ) ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
[ COMPRESS | NOCOMPRESS ]
- [ TABLESPACE tablespace_name ]
- [ DISTRIBUTE BY { REPLICATION | { HASH ( column_name [,...] ) } } ]
- [ TO { GROUP groupname | NODE ( nodename [, ... ] ) } ];
+ [ TABLESPACE tablespace_name ];
```
- 其中列约束column\_constraint为:
@@ -55,8 +53,7 @@
- 其中like选项like\_option为:
```
- { INCLUDING | EXCLUDING } { DEFAULTS | CONSTRAINTS | INDEXES | STORAGE | COMMENTS | PARTITION | RELOPTIONS | DISTRIBUTION | ALL }
-
+ { INCLUDING | EXCLUDING } { DEFAULTS | CONSTRAINTS | INDEXES | STORAGE | COMMENTS | PARTITION | RELOPTIONS | ALL }
```
@@ -72,7 +69,25 @@
```
--创建简单的表。
-postgres=# CREATE TABLE warehouse_t2
+postgres=# CREATE TABLE tpcds.warehouse_t1
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) ,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2)
+);
+
+postgres=# CREATE TABLE tpcds.warehouse_t2
(
W_WAREHOUSE_SK INTEGER NOT NULL,
W_WAREHOUSE_ID CHAR(16) NOT NULL,
@@ -93,7 +108,7 @@ postgres=# CREATE TABLE warehouse_t2
```
--创建表,并指定W_STATE字段的缺省值为GA。
-CREATE TABLE warehouse_t3
+postgres=# CREATE TABLE tpcds.warehouse_t3
(
W_WAREHOUSE_SK INTEGER NOT NULL,
W_WAREHOUSE_ID CHAR(16) NOT NULL,
@@ -110,11 +125,30 @@ CREATE TABLE warehouse_t3
W_COUNTRY VARCHAR(20) ,
W_GMT_OFFSET DECIMAL(5,2)
);
+
+--创建表,并在事务结束时检查W_WAREHOUSE_NAME字段是否有重复。
+postgres=# CREATE TABLE tpcds.warehouse_t4
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) UNIQUE DEFERRABLE,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2)
+);
```
```
--创建一个带有70%填充因子的表。
-CREATE TABLE warehouse_t5
+postgres=# CREATE TABLE tpcds.warehouse_t5
(
W_WAREHOUSE_SK INTEGER NOT NULL,
W_WAREHOUSE_ID CHAR(16) NOT NULL,
@@ -133,10 +167,105 @@ CREATE TABLE warehouse_t5
UNIQUE(W_WAREHOUSE_NAME) WITH(fillfactor=70)
);
+--或者用下面的语法。
+postgres=# CREATE TABLE tpcds.warehouse_t6
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) UNIQUE,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2)
+) WITH(fillfactor=70);
+
+--创建表,并指定该表数据不写入预写日志。
+postgres=# CREATE UNLOGGED TABLE tpcds.warehouse_t7
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) ,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2)
+);
+
+--创建表临时表。
+postgres=# CREATE TEMPORARY TABLE warehouse_t24
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) ,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2)
+);
+
+--事务中创建表临时表,并指定提交事务时删除该临时表数据。
+postgres=# CREATE TEMPORARY TABLE warehouse_t25
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) ,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2)
+) ON COMMIT DELETE ROWS;
+
+--创建表时,不希望因为表已存在而报错。
+postgres=# CREATE TABLE IF NOT EXISTS tpcds.warehouse_t8
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) ,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2)
+);
+
--创建普通表空间。
-CREATE TABLESPACE DS_TABLESPACE1 RELATIVE LOCATION ' tablespace/tablespace_1';
+postgres=# CREATE TABLESPACE DS_TABLESPACE1 RELATIVE LOCATION 'tablespace/tablespace_1';
--创建表时,指定表空间。
-CREATE TABLE warehouse_t9
+postgres=# CREATE TABLE tpcds.warehouse_t9
(
W_WAREHOUSE_SK INTEGER NOT NULL,
W_WAREHOUSE_ID CHAR(16) NOT NULL,
@@ -154,13 +283,31 @@ CREATE TABLE warehouse_t9
W_GMT_OFFSET DECIMAL(5,2)
) TABLESPACE DS_TABLESPACE1;
+--创建表时,单独指定W_WAREHOUSE_NAME的索引表空间。
+postgres=# CREATE TABLE tpcds.warehouse_t10
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) UNIQUE USING INDEX TABLESPACE DS_TABLESPACE1,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2)
+);
```
```
---创建行存表。
-CREATE TABLE warehouse_t15
+--创建一个有主键约束的表。
+postgres=# CREATE TABLE tpcds.warehouse_t11
(
- W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_SK INTEGER PRIMARY KEY,
W_WAREHOUSE_ID CHAR(16) NOT NULL,
W_WAREHOUSE_NAME VARCHAR(20) ,
W_WAREHOUSE_SQ_FT INTEGER ,
@@ -174,12 +321,70 @@ CREATE TABLE warehouse_t15
W_ZIP CHAR(10) ,
W_COUNTRY VARCHAR(20) ,
W_GMT_OFFSET DECIMAL(5,2)
-) WITH (ORIENTATION = ROW);
-```
+);
+
+---或是用下面的语法,效果完全一样。
+postgres=# CREATE TABLE tpcds.warehouse_t12
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) ,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2),
+ PRIMARY KEY(W_WAREHOUSE_SK)
+);
+
+--或是用下面的语法,指定约束的名称。
+postgres=# CREATE TABLE tpcds.warehouse_t13
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) ,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2),
+ CONSTRAINT W_CSTR_KEY1 PRIMARY KEY(W_WAREHOUSE_SK)
+);
+
+--创建一个有复合主键约束的表。
+postgres=# CREATE TABLE tpcds.warehouse_t14
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) ,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2),
+ CONSTRAINT W_CSTR_KEY2 PRIMARY KEY(W_WAREHOUSE_SK, W_WAREHOUSE_ID)
+);
-```
--创建列存表。
-CREATE TABLE warehouse_t16
+postgres=# CREATE TABLE tpcds.warehouse_t15
(
W_WAREHOUSE_SK INTEGER NOT NULL,
W_WAREHOUSE_ID CHAR(16) NOT NULL,
@@ -196,24 +401,234 @@ CREATE TABLE warehouse_t16
W_COUNTRY VARCHAR(20) ,
W_GMT_OFFSET DECIMAL(5,2)
) WITH (ORIENTATION = COLUMN);
+
+--创建局部聚簇存储的列存表。
+postgres=# CREATE TABLE tpcds.warehouse_t16
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) ,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2),
+ PARTIAL CLUSTER KEY(W_WAREHOUSE_SK, W_WAREHOUSE_ID)
+) WITH (ORIENTATION = COLUMN);
+
+--定义一个带压缩的列存表。
+postgres=# CREATE TABLE tpcds.warehouse_t17
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) ,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2)
+) WITH (ORIENTATION = COLUMN, COMPRESSION=HIGH);
+
+--定义一个带压缩的表。
+postgres=# CREATE TABLE tpcds.warehouse_t18
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) ,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2)
+) COMPRESS;
+
+--定义一个检查列约束。
+postgres=# CREATE TABLE tpcds.warehouse_t19
+(
+ W_WAREHOUSE_SK INTEGER PRIMARY KEY CHECK (W_WAREHOUSE_SK > 0),
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) CHECK (W_WAREHOUSE_NAME IS NOT NULL),
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2)
+);
+
+postgres=# CREATE TABLE tpcds.warehouse_t20
+(
+ W_WAREHOUSE_SK INTEGER PRIMARY KEY,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) CHECK (W_WAREHOUSE_NAME IS NOT NULL),
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2),
+ CONSTRAINT W_CONSTR_KEY2 CHECK(W_WAREHOUSE_SK > 0 AND W_WAREHOUSE_NAME IS NOT NULL)
+);
+
+--定义一个表,表中每一个行存在数据库节点中。
+postgres=# CREATE TABLE tpcds.warehouse_t21
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) ,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2)
+);
+
+--定义一个表,使用HASH分布。
+postgres=# CREATE TABLE tpcds.warehouse_t22
+(
+ W_WAREHOUSE_SK INTEGER NOT NULL,
+ W_WAREHOUSE_ID CHAR(16) NOT NULL,
+ W_WAREHOUSE_NAME VARCHAR(20) ,
+ W_WAREHOUSE_SQ_FT INTEGER ,
+ W_STREET_NUMBER CHAR(10) ,
+ W_STREET_NAME VARCHAR(60) ,
+ W_STREET_TYPE CHAR(15) ,
+ W_SUITE_NUMBER CHAR(10) ,
+ W_CITY VARCHAR(60) ,
+ W_COUNTY VARCHAR(30) ,
+ W_STATE CHAR(2) ,
+ W_ZIP CHAR(10) ,
+ W_COUNTRY VARCHAR(20) ,
+ W_GMT_OFFSET DECIMAL(5,2),
+ CONSTRAINT W_CONSTR_KEY3 UNIQUE(W_WAREHOUSE_SK)
+);
+
+--向tpcds.warehouse_t19表中增加一个varchar列。
```
```
---创建表,指定复合主键,由O_W_ID、O_D_ID和O_ID组成,并使用HASH分布。
-CREATE TABLE warehouse_t17
-(
- O_W_ID INTEGER NOT NULL,
- O_D_ID INTEGER NOT NULL,
- O_ID INTEGER ,
- O_C_ID INTEGER ,
- O_CARRIER_ID INTEGER ,
- O_OL_CNT INTEGER ,
- O_ALL_LOCAL INTEGER ,
- O_ENTRY_D TIMESTAMP ,
- PRIMARY KEY (O_W_ID, O_D_ID, O_ID)
-) DISTRIBUTE BY HASH(O_W_ID);
-
---给表warehouse_t17创建一个复合唯一索引warehouse_t17_index1。
-CREATE UNIQUE INDEX warehouse_t17_index1 ON warehouse_t17 (O_W_ID, O_D_ID, O_CARRIER_ID, O_ID);
+postgres=# ALTER TABLE tpcds.warehouse_t19 ADD W_GOODS_CATEGORY varchar(30);
+
+--给tpcds.warehouse_t19表增加一个检查约束。
+postgres=# ALTER TABLE tpcds.warehouse_t19 ADD CONSTRAINT W_CONSTR_KEY4 CHECK (W_STATE IS NOT NULL);
+
+--在一个操作中改变两个现存字段的类型。
+postgres=# ALTER TABLE tpcds.warehouse_t19
+ ALTER COLUMN W_GOODS_CATEGORY TYPE varchar(80),
+ ALTER COLUMN W_STREET_NAME TYPE varchar(100);
+
+--此语句与上面语句等效。
+postgres=# ALTER TABLE tpcds.warehouse_t19 MODIFY (W_GOODS_CATEGORY varchar(30), W_STREET_NAME varchar(60));
+
+--给一个已存在字段添加非空约束。
+postgres=# ALTER TABLE tpcds.warehouse_t19 ALTER COLUMN W_GOODS_CATEGORY SET NOT NULL;
+
+--移除已存在字段的非空约束。
+postgres=# ALTER TABLE tpcds.warehouse_t19 ALTER COLUMN W_GOODS_CATEGORY DROP NOT NULL;
+
+--如果列存表中还未指定局部聚簇,向在一个列存表中添加局部聚簇列。
+postgres=# ALTER TABLE tpcds.warehouse_t17 ADD PARTIAL CLUSTER KEY(W_WAREHOUSE_SK);
+
+--查看约束的名称,并删除一个列存表中的局部聚簇列。
+postgres=# \d+ tpcds.warehouse_t17
+ Table "tpcds.warehouse_t17"
+ Column | Type | Modifiers | Storage | Stats target | Description
+-------------------+-----------------------+-----------+----------+--------------+-------------
+ w_warehouse_sk | integer | not null | plain | |
+ w_warehouse_id | character(16) | not null | extended | |
+ w_warehouse_name | character varying(20) | | extended | |
+ w_warehouse_sq_ft | integer | | plain | |
+ w_street_number | character(10) | | extended | |
+ w_street_name | character varying(60) | | extended | |
+ w_street_type | character(15) | | extended | |
+ w_suite_number | character(10) | | extended | |
+ w_city | character varying(60) | | extended | |
+ w_county | character varying(30) | | extended | |
+ w_state | character(2) | | extended | |
+ w_zip | character(10) | | extended | |
+ w_country | character varying(20) | | extended | |
+ w_gmt_offset | numeric(5,2) | | main | |
+Partial Cluster :
+ "warehouse_t17_cluster" PARTIAL CLUSTER KEY (w_warehouse_sk)
+Has OIDs: no
+Location Nodes: ALL DATANODES
+Options: compression=no, version=0.12
+postgres=# ALTER TABLE tpcds.warehouse_t17 DROP CONSTRAINT warehouse_t17_cluster;
+
+--将表移动到另一个表空间。
+postgres=# ALTER TABLE tpcds.warehouse_t19 SET TABLESPACE PG_DEFAULT;
+--创建模式joe。
+postgres=# CREATE SCHEMA joe;
+
+--将表移动到另一个模式中。
+postgres=# ALTER TABLE tpcds.warehouse_t19 SET SCHEMA joe;
+
+--重命名已存在的表。
+postgres=# ALTER TABLE joe.warehouse_t19 RENAME TO warehouse_t23;
+
+--从warehouse_t23表中删除一个字段。
+postgres=# ALTER TABLE joe.warehouse_t23 DROP COLUMN W_STREET_NAME;
+
+--删除表空间、模式joe和模式表warehouse。
+postgres=# DROP TABLE tpcds.warehouse_t1;
+postgres=# DROP TABLE tpcds.warehouse_t2;
+postgres=# DROP TABLE tpcds.warehouse_t3;
+postgres=# DROP TABLE tpcds.warehouse_t4;
+postgres=# DROP TABLE tpcds.warehouse_t5;
+postgres=# DROP TABLE tpcds.warehouse_t6;
+postgres=# DROP TABLE tpcds.warehouse_t7;
+postgres=# DROP TABLE tpcds.warehouse_t8;
+postgres=# DROP TABLE tpcds.warehouse_t9;
+postgres=# DROP TABLE tpcds.warehouse_t10;
+postgres=# DROP TABLE tpcds.warehouse_t11;
+postgres=# DROP TABLE tpcds.warehouse_t12;
+postgres=# DROP TABLE tpcds.warehouse_t13;
+postgres=# DROP TABLE tpcds.warehouse_t14;
+postgres=# DROP TABLE tpcds.warehouse_t15;
+postgres=# DROP TABLE tpcds.warehouse_t16;
+postgres=# DROP TABLE tpcds.warehouse_t17;
+postgres=# DROP TABLE tpcds.warehouse_t18;
+postgres=# DROP TABLE tpcds.warehouse_t20;
+postgres=# DROP TABLE tpcds.warehouse_t21;
+postgres=# DROP TABLE tpcds.warehouse_t22;
+postgres=# DROP TABLE joe.warehouse_t23;
+postgres=# DROP TABLE tpcds.warehouse_t24;
+postgres=# DROP TABLE tpcds.warehouse_t25;
+postgres=# DROP TABLESPACE DS_TABLESPACE1;
+postgres=# DROP SCHEMA IF EXISTS joe CASCADE;
```
diff --git "a/content/zh/docs/Quickstart/\345\210\233\345\273\272\350\247\222\350\211\262.md" "b/content/zh/docs/Quickstart/\345\210\233\345\273\272\350\247\222\350\211\262.md"
index 8a7f20b2feefb731b22820404e8b029fb8e7a40b..da130b262fcd114b102ed00a06868f23914af9f2 100644
--- "a/content/zh/docs/Quickstart/\345\210\233\345\273\272\350\247\222\350\211\262.md"
+++ "b/content/zh/docs/Quickstart/\345\210\233\345\273\272\350\247\222\350\211\262.md"
@@ -32,9 +32,9 @@ CREATE ROLE role_name [ [ WITH ] option [ ... ] ] [ ENCRYPTED | UNENCRYPTED ] {
| VALID BEGIN 'timestamp'
| VALID UNTIL 'timestamp'
| RESOURCE POOL 'respool'
- | USER GROUP 'groupuser'
| PERM SPACE 'spacelimit'
- | NODE GROUP logic_cluster_name
+ | TEMP SPACE 'tmpspacelimit'
+ | SPILL SPACE 'spillspacelimit'
| IN ROLE role_name [, ...]
| IN GROUP role_name [, ...]
| ROLE role_name [, ...]
@@ -50,14 +50,14 @@ CREATE ROLE role_name [ [ WITH ] option [ ... ] ] [ ENCRYPTED | UNENCRYPTED ] {
## 示例
```
---创建一个角色,名为manager,密码为Bigdata123@。
-postgres=# CREATE ROLE manager IDENTIFIED BY 'Bigdata123@';
+--创建一个角色,名为manager,密码为Bigdata@123。
+postgres=# CREATE ROLE manager IDENTIFIED BY 'Bigdata@123';
--创建一个角色,从2015年1月1日开始生效,到2026年1月1日失效。
-postgres=# CREATE ROLE miriam WITH LOGIN PASSWORD 'Bigdata123@' VALID BEGIN '2015-01-01' VALID UNTIL '2026-01-01';
+postgres=# CREATE ROLE miriam WITH LOGIN PASSWORD 'Bigdata@123' VALID BEGIN '2015-01-01' VALID UNTIL '2026-01-01';
--修改角色manager的密码为abcd@123。
-postgres=# ALTER ROLE manager IDENTIFIED BY 'abcd@123' REPLACE 'Bigdata123@';
+postgres=# ALTER ROLE manager IDENTIFIED BY 'abcd@123' REPLACE 'Bigdata@123';
--修改角色manager为系统管理员。
postgres=# ALTER ROLE manager SYSADMIN;
diff --git "a/content/zh/docs/Quickstart/\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/Quickstart/\345\210\235\345\247\213\345\214\226\345\256\211\350\243\205\347\216\257\345\242\203.md"
index a29e68dfe8848c4ac7cac0d5fde9107acaf87b31..ce15e1e46f30867e0ce5d48b6efbc27031b5477f 100644
--- "a/content/zh/docs/Quickstart/\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/Quickstart/\345\210\235\345\247\213\345\214\226\345\256\211\350\243\205\347\216\257\345\242\203.md"
@@ -1,4 +1,4 @@
-# 初始化安装环境
+# 初始化安装环境
为了保证openGauss的正确安装,请首先对主机环境进行配置。
diff --git "a/content/zh/docs/Quickstart/\345\210\235\345\247\213\351\205\215\347\275\256.md" "b/content/zh/docs/Quickstart/\345\210\235\345\247\213\351\205\215\347\275\256.md"
new file mode 100644
index 0000000000000000000000000000000000000000..b31cef599368e01ba54ecefc414a75b455e8f2d7
--- /dev/null
+++ "b/content/zh/docs/Quickstart/\345\210\235\345\247\213\351\205\215\347\275\256.md"
@@ -0,0 +1,7 @@
+# 初始配置
+
+安装完成后,可以对GUC参数、区域和字符集等进行配置,保证openGauss的平稳运行。
+
+- **[配置区域和字符集](配置区域和字符集.md)**
+区域和字符集在安装过程中通过指定初始化GUC参数来控制,考虑到这两个参数的重要性,在此单独对这两个参数进行详细说明。
+
diff --git "a/content/zh/docs/Quickstart/\345\212\240\350\275\275\351\251\261\345\212\250.md" "b/content/zh/docs/Quickstart/\345\212\240\350\275\275\351\251\261\345\212\250.md"
index 0d46c8800a5c7ddd59560b5e2f89031a6353c12f..508afe8acca534f0052e59ed47bd989d9feeaecf 100644
--- "a/content/zh/docs/Quickstart/\345\212\240\350\275\275\351\251\261\345\212\250.md"
+++ "b/content/zh/docs/Quickstart/\345\212\240\350\275\275\351\251\261\345\212\250.md"
@@ -1,4 +1,4 @@
-# 加载驱动
+# 加载驱动
在创建数据库连接之前,需要先加载数据库驱动程序。
@@ -8,7 +8,6 @@
- 在JVM启动时参数传递:java -Djdbc.drivers=org.postgresql.Driver jdbctest
> **说明:**
- >- 上述jdbctest为测试用例程序的名称。
- >- 当使用gsjdbc200.jar时,上面的Driver类名相应修改为"com.huawei.gauss200.jdbc.Driver"
+ >上述jdbctest为测试用例程序的名称。
diff --git "a/content/zh/docs/Quickstart/\345\214\272\345\237\237\345\222\214\346\240\274\345\274\217\345\214\226.md" "b/content/zh/docs/Quickstart/\345\214\272\345\237\237\345\222\214\346\240\274\345\274\217\345\214\226.md"
index b38ee1c4c7888ec6413d1f0cf5bd06d1dc07b894..b6a7091debb91b8085eac9790a783ffe9d3e8280 100644
--- "a/content/zh/docs/Quickstart/\345\214\272\345\237\237\345\222\214\346\240\274\345\274\217\345\214\226.md"
+++ "b/content/zh/docs/Quickstart/\345\214\272\345\237\237\345\222\214\346\240\274\345\274\217\345\214\226.md"
@@ -1,4 +1,4 @@
-# 区域和格式化
+# 区域和格式化
介绍时间格式设置的相关参数。
@@ -31,7 +31,7 @@
- postgres表示产生与PostgreSQL 8.4版本相匹配的输出,当[DateStyle](#zh-cn_topic_0242371523_zh-cn_topic_0237124733_zh-cn_topic_0059778109_s6464b29eb2274134845cea28f39d915e)参数被设为ISO时。
- postgres\_verbose表示产生与PostgreSQL 8.4版本相匹配的输出,当[DateStyle](#zh-cn_topic_0242371523_zh-cn_topic_0237124733_zh-cn_topic_0059778109_s6464b29eb2274134845cea28f39d915e)参数被设为non\_ISO时。
- iso\_8601表示产生与在ISO 8601中定义的“格式与代号”相匹配的输出。
-- a表示产生于A DB中与numtodsinterval函数相匹配的输出结果,详细请参考[numtodsinterval](zh-cn_topic_0242370436.md#zh-cn_topic_0237121972_zh-cn_topic_0059779084_lf9dae2de082b41c094177f70cf798433)。
+- a表示与numtodsinterval函数相匹配的输出结果,详细请参考[numtodsinterval](zh-cn_topic_0242370436.md#zh-cn_topic_0237121972_zh-cn_topic_0059779084_lf9dae2de082b41c094177f70cf798433)。
> **须知:**
>IntervalStyle参数也会影响不明确的间隔输入的说明。
@@ -44,7 +44,7 @@
该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
-**取值范围:**字符串,可查询视图[PG\_TIMEZONE\_NAMES](zh-cn_topic_0242385996.md#ZH-CN_TOPIC_0242385996)获得。
+**取值范围:**字符串,可查询视图[PG\_TIMEZONE\_NAMES](zh-cn_topic_0242385996.md)获得。
**默认值:**PRC
@@ -62,7 +62,7 @@
**默认值:**Default
> **说明:**
->Default表示通用时区的缩写。但也有其他诸如 'Australia' 和 'India' 等用来定义特定的安装。
+>Default表示通用时区的缩写, 适合绝大部分情况。但也可设置其他诸如 'Australia' 和 'India' 等用来定义特定的安装。而设置除此之外的时区缩写, 需要在建数据库之前通过相应的配置文件进行设置。
## extra\_float\_digits
diff --git "a/content/zh/docs/Quickstart/\345\215\207\347\272\247\345\217\202\346\225\260.md" "b/content/zh/docs/Quickstart/\345\215\207\347\272\247\345\217\202\346\225\260.md"
index ae835dd77f04f1a906cb6e35ea47dfcfc4d138c1..700332117e97c138623a414b295f8545bad738d2 100644
--- "a/content/zh/docs/Quickstart/\345\215\207\347\272\247\345\217\202\346\225\260.md"
+++ "b/content/zh/docs/Quickstart/\345\215\207\347\272\247\345\217\202\346\225\260.md"
@@ -1,4 +1,4 @@
-# 升级参数
+# 升级参数
## IsInplaceUpgrade
diff --git "a/content/zh/docs/Quickstart/\345\215\225\350\212\202\347\202\271\351\205\215\347\275\256\346\226\207\344\273\266.md" "b/content/zh/docs/Quickstart/\345\215\225\350\212\202\347\202\271\351\205\215\347\275\256\346\226\207\344\273\266.md"
index 530a9fa673ef1b7899f4683ba6a95bf93fbce488..aef7dd956052fe6e5aa12cd5d29abd5497ee22e1 100644
--- "a/content/zh/docs/Quickstart/\345\215\225\350\212\202\347\202\271\351\205\215\347\275\256\346\226\207\344\273\266.md"
+++ "b/content/zh/docs/Quickstart/\345\215\225\350\212\202\347\202\271\351\205\215\347\275\256\346\226\207\344\273\266.md"
@@ -1,4 +1,4 @@
-# 单节点配置文件
+# 单节点配置文件
```
@@ -8,10 +8,11 @@
-
-
-
-
+
+
+
+
+
@@ -28,7 +29,7 @@
-
+
diff --git "a/content/zh/docs/Quickstart/\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/Quickstart/\345\216\206\345\217\262\347\211\210\346\234\254\345\205\274\345\256\271\346\200\247.md"
index 1a59d6110c5399a3028e2ccdd8d9fc64d26893e7..0d59fdc8b44fdb3f86ae3d08b1a33a00cebcbd42 100644
--- "a/content/zh/docs/Quickstart/\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/Quickstart/\345\216\206\345\217\262\347\211\210\346\234\254\345\205\274\345\256\271\346\200\247.md"
@@ -1,4 +1,4 @@
-# 历史版本兼容性
+# 历史版本兼容性
openGauss介绍数据库的向下兼容性和对外兼容性特性的参数控制。数据库系统的向后兼容性能够为对旧版本的数据库应用提供支持。本节介绍的参数主要控制数据库的向后兼容性。
@@ -72,7 +72,7 @@ on表示当读取或修改大对象时禁用权限检查,与PostgreSQL 9.0以
## sql\_inheritance
-**参数说明:**控制继承语义。用来控制继承表的访问策略,off表示各种命令不能访问子表,即默认使用ONLY关键字。这是为了兼容7.1之前版本而设置的。
+**参数说明:**控制继承语义。用来控制继承表的访问策略,off表示各种命令不能访问子表,即默认使用ONLY关键字。这是为了兼容旧版本而设置的。
该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
diff --git "a/content/zh/docs/Quickstart/\345\217\214\346\234\272\345\244\215\345\210\266.md" "b/content/zh/docs/Quickstart/\345\217\214\346\234\272\345\244\215\345\210\266.md"
index d283f360cee5c8d91d391b47449bc57761ca96a8..1d542a4a4b93a30cb7a67d7eba38e7cfc53e2175 100644
--- "a/content/zh/docs/Quickstart/\345\217\214\346\234\272\345\244\215\345\210\266.md"
+++ "b/content/zh/docs/Quickstart/\345\217\214\346\234\272\345\244\215\345\210\266.md"
@@ -1,4 +1,4 @@
-# 双机复制
+# 双机复制
- **[发送端服务器](发送端服务器.md)**
diff --git "a/content/zh/docs/Quickstart/\345\217\221\351\200\201\347\253\257\346\234\215\345\212\241\345\231\250.md" "b/content/zh/docs/Quickstart/\345\217\221\351\200\201\347\253\257\346\234\215\345\212\241\345\231\250.md"
index 90fab6d7909fb8ac05239988c39fb0ead9e85e32..ab7eb0b8f605b06e5f6732a86aebe11661113902 100644
--- "a/content/zh/docs/Quickstart/\345\217\221\351\200\201\347\253\257\346\234\215\345\212\241\345\231\250.md"
+++ "b/content/zh/docs/Quickstart/\345\217\221\351\200\201\347\253\257\346\234\215\345\212\241\345\231\250.md"
@@ -1,4 +1,4 @@
-# 发送端服务器
+# 发送端服务器
## max\_wal\_senders
@@ -11,7 +11,7 @@
**取值范围**:整型,0~262143
-**默认值:**100
+**默认值:**单机默认为4, 主备环境默认为8
## wal\_keep\_segments
@@ -36,7 +36,7 @@
该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
->- 如果主机数据较大,重建操作需要增大此参数的值,主机数据在 500G时,此参数的参考值为 600s。
+>- 如果主机数据较大,重建备机数据库时需要增大此参数的值,主机数据在 500G时,此参数的参考值为 600s。
>- 此值不能大于wal\_receiver\_timeout或数据库重建时的超时参数。
**取值范围:**整型, 0 \~ INT\_MAX,单位为毫秒(ms)。
diff --git "a/content/zh/docs/Quickstart/\345\220\216\347\253\257\345\206\231\350\277\233\347\250\213.md" "b/content/zh/docs/Quickstart/\345\220\216\347\253\257\345\206\231\350\277\233\347\250\213.md"
index 7a2edcbb9ecbbfd92bf0e802ce0f537d00ec85a4..5696b22604ff1dd4680ff23a5a437920e85c57dc 100644
--- "a/content/zh/docs/Quickstart/\345\220\216\347\253\257\345\206\231\350\277\233\347\250\213.md"
+++ "b/content/zh/docs/Quickstart/\345\220\216\347\253\257\345\206\231\350\277\233\347\250\213.md"
@@ -1,4 +1,4 @@
-# 后端写进程
+# 后端写进程
介绍后端写(background writer)进程的参数配置。后端写进程的功能就是把共享缓冲区中的脏数据(指共享缓冲区中新增或者修改的内容)写入到磁盘。目的是让数据库进程在进行用户查询时可以很少或者几乎不等待写动作的发生(写动作由后端写进程完成)。
@@ -10,7 +10,7 @@
在许多系统上,休眠延时的有效分辨率是10毫秒。因此,设置一个不是10的倍数的数值与把它设置为下一个10的倍数是一样的效果。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,10\~10000,单位为毫秒。
@@ -22,7 +22,7 @@
**参数说明:**设置后端写进程每次可写入磁盘的“脏”缓存区的个数。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,0~1000
@@ -41,7 +41,7 @@
设置较小的bgwriter\_lru\_maxpages和bgwriter\_lru\_multiplier会减小后端写进程导致的额外I/O开销,但是服务器进程必须自己发出写操作,增加了对查询的响应时间。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**浮点型,0\~10。
diff --git "a/content/zh/docs/Quickstart/\345\221\212\350\255\246\346\243\200\346\265\213.md" "b/content/zh/docs/Quickstart/\345\221\212\350\255\246\346\243\200\346\265\213.md"
index 98fe78c184ee6e60fdfe05add07361cc58c77ea5..5c7e1368219f3599122b5850e027e29999e9e977 100644
--- "a/content/zh/docs/Quickstart/\345\221\212\350\255\246\346\243\200\346\265\213.md"
+++ "b/content/zh/docs/Quickstart/\345\221\212\350\255\246\346\243\200\346\265\213.md"
@@ -1,4 +1,4 @@
-# 告警检测
+# 告警检测
在openGauss运行的过程中,会对数据库中的错误场景进行检测,便于用户及早感知到openGauss的错误。
@@ -6,7 +6,7 @@
**参数说明:**允许打开告警检测线程,检测数据库中可能的错误场景。
-该参数属于POSTMASTER类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -17,9 +17,9 @@
## connection\_alarm\_rate
-**参数说明:**允许和数据库连接的最大并发连接数的比率限制。数据库连接的最大并发连接数为[max\_connections](zh-cn_topic_0237124695.md#zh-cn_topic_0059777636_sa723b719fa70453bb7ec27f323d41c79)\* connection\_alarm\_rate。
+**参数说明:**允许和数据库连接的最大并发连接数的比率限制。数据库连接的最大并发连接数为[max\_connections](连接设置.md#zh-cn_topic_0242371485_zh-cn_topic_0237124695_zh-cn_topic_0059777636_sa723b719fa70453bb7ec27f323d41c79)\* connection\_alarm\_rate。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**浮点型,0.0\~1.0
@@ -29,7 +29,7 @@
**参数说明:**指定告警上报的时间间隔。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,单位为秒。
@@ -39,7 +39,7 @@
**参数说明:**在对告警做上报时,会进行告警抑制,即同一个实例的同一个告警项在alarm\_report\_interval(默认值为10s)内不做重复上报。在这种情况下设置用于处理告警内容的告警组件的位置。
-该参数属于POSTMASTER类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**字符串
diff --git "a/content/zh/docs/Quickstart/\345\237\272\344\272\216\345\274\200\351\224\200\347\232\204\346\270\205\347\220\206\345\273\266\350\277\237.md" "b/content/zh/docs/Quickstart/\345\237\272\344\272\216\345\274\200\351\224\200\347\232\204\346\270\205\347\220\206\345\273\266\350\277\237.md"
index 230c042b268a04887cb2e032bd59b2c69ba08f8d..fcbd0f6f2b4e76993ee1d09c024d6ae8bd7f0422 100644
--- "a/content/zh/docs/Quickstart/\345\237\272\344\272\216\345\274\200\351\224\200\347\232\204\346\270\205\347\220\206\345\273\266\350\277\237.md"
+++ "b/content/zh/docs/Quickstart/\345\237\272\344\272\216\345\274\200\351\224\200\347\232\204\346\270\205\347\220\206\345\273\266\350\277\237.md"
@@ -1,4 +1,4 @@
-# 基于开销的清理延迟
+# 基于开销的清理延迟
这个特性的目的是允许管理员减少VACUUM和ANALYZE语句在并发活动的数据库上的I/O影响。比如,像VACUUM和ANALYZE这样的维护语句并不需要迅速完成,并且不希望他们严重干扰系统执行其他的数据库操作。基于开销的清理延迟为管理员提供了一个实现这个目的手段。
@@ -9,7 +9,7 @@
## 背景信息
-在[ANALYZE | ANALYSE](zh-cn_topic_0237122086.md)和[VACUUM](zh-cn_topic_0237122195.md)语句执行过程中,系统维护一个内部的记数器,跟踪所执行的各种I/O操作的近似开销。如果积累的开销达到了vacuum\_cost\_limit声明的限制,则执行这个操作的进程将睡眠vacuum\_cost\_delay指定的时间。然后它会重置记数器然后继续执行。
+在[ANALYZE | ANALYSE](zh-cn_topic_0242370550.md)和[VACUUM](zh-cn_topic_0242370659.md)语句执行过程中,系统维护一个内部的记数器,跟踪所执行的各种I/O操作的近似开销。如果积累的开销达到了vacuum\_cost\_limit声明的限制,则执行这个操作的进程将睡眠vacuum\_cost\_delay指定的时间。然后它会重置记数器然后继续执行。
这个特性是缺省关闭的。要想打开它,把vacuum\_cost\_delay变量设置为一个非零值。
@@ -21,7 +21,7 @@
此参数一般设置较小,常见的设置是10或20毫秒。调整此特性资源占用率时,最好是调整其他参数,而不是此参数。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**integer(毫秒),0\~100,正数值表示打开基于开销的清理延迟特性;0表示关闭基于开销的清理延迟特性。
@@ -31,7 +31,7 @@
**参数说明:**清理一个在共享缓存里找到的缓冲区的预计开销。他代表锁住缓冲池、查找共享的Hash表、扫描页面内容的开销。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**integer,0\~10000。
@@ -41,7 +41,7 @@
**参数说明:**清理一个要从磁盘上读取的缓冲区的预计开销。他代表锁住缓冲池、查找共享Hash表、从磁盘读取需要的数据块、扫描它的内容的开销。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**integer,0\~10000。
@@ -51,7 +51,7 @@
**参数说明:**清理修改一个原先是干净的块的预计开销。他代表把一个脏的磁盘块再次刷新到磁盘上的额外开销。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**integer,0\~1000
@@ -61,7 +61,7 @@
**参数说明:**导致清理进程休眠的开销限制。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**integer,1\~10000。
diff --git "a/content/zh/docs/Quickstart/\345\237\272\345\233\240\346\237\245\350\257\242\344\274\230\345\214\226\345\231\250.md" "b/content/zh/docs/Quickstart/\345\237\272\345\233\240\346\237\245\350\257\242\344\274\230\345\214\226\345\231\250.md"
index 90ab7aeafcd35547f48930e8e15f76c380a6a1e1..6d23e2a8a5b6093f31f944a549925659863f1e98 100644
--- "a/content/zh/docs/Quickstart/\345\237\272\345\233\240\346\237\245\350\257\242\344\274\230\345\214\226\345\231\250.md"
+++ "b/content/zh/docs/Quickstart/\345\237\272\345\233\240\346\237\245\350\257\242\344\274\230\345\214\226\345\231\250.md"
@@ -1,4 +1,4 @@
-# 基因查询优化器
+# 基因查询优化器
介绍基因查询优化器相关的参数。基因查询优化器(GEQO)是一种启发式的查询规划算法。这个算法减少了对复杂查询规划的时间,而且生成规划的开销有时也小于正常的详尽的查询算法。
@@ -6,7 +6,7 @@
**参数说明**:控制基因查询优化的使用。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
>通常情况下在执行过程中不要关闭,geqo\_threshold变量提供了更精细的控制GEQO的方法。
@@ -22,7 +22,7 @@
**参数说明**:如果执行语句的数量超过设计的FROM的项数,则会使用基因查询优化来执行查询。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
>- 对于简单的查询,通常用详尽搜索方法,当涉及多个表的查询的时候,用GEQO可以更好的管理查询。
@@ -36,7 +36,7 @@
**参数说明**:控制GEQO在规划时间和规划质量之间的平衡。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
>geqo\_effort实际上并没有直接做任何事情,只是用于计算其他影响GEQO的变量的默认值。如果愿意,可以手工设置其他参数。
@@ -52,7 +52,7 @@
**参数说明**:控制GEQO使用池的大小,也就是基因全体中的个体数量。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:整型,0~INT\_MAX。
@@ -65,7 +65,7 @@
**参数说明**:控制GEQO使用的算法的迭代次数。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:整型,0~INT\_MAX。
@@ -78,7 +78,7 @@
**参数说明**:控制GEQO的选择性偏好,即就是一个种群中的选择性压力。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:浮点型,1.5~2.0。
@@ -88,7 +88,7 @@
**参数说明**:控制GEQO使用的随机数生产器的初始化值,用来从顺序连接在一起的查询空间中查找随机路径。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:浮点型,0.0~1.0。
diff --git "a/content/zh/docs/Quickstart/\345\244\207\346\234\215\345\212\241\345\231\250.md" "b/content/zh/docs/Quickstart/\345\244\207\346\234\215\345\212\241\345\231\250.md"
index 331c5a905120334a06b63593d3553e889910add1..75a24cdd24f7f7e1e516fc5ccf2f6f4acef58389 100644
--- "a/content/zh/docs/Quickstart/\345\244\207\346\234\215\345\212\241\345\231\250.md"
+++ "b/content/zh/docs/Quickstart/\345\244\207\346\234\215\345\212\241\345\231\250.md"
@@ -1,13 +1,13 @@
-# 备服务器
+# 备服务器
## hot\_standby
**参数说明:**设置是否允许备机在恢复过程中连接和查询。
-该参数属于POSTMASTER类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
->- 如果此参数设置为on,[wal\_level](zh-cn_topic_0237124707.md#zh-cn_topic_0059778393_s2c76f5957066407a959191148f2c780f)必须设置为hot\_standby,否则将导致数据库无法启动。
+>- 如果此参数设置为on,[wal\_level](设置.md#zh-cn_topic_0242371497_zh-cn_topic_0237124707_zh-cn_topic_0059778393_s2c76f5957066407a959191148f2c780f)必须设置为hot\_standby,否则将导致数据库无法启动。
>- 在双机环境中,因为会对双机其他一些功能产生影响,hot\_standby参数不能设置成off。
**取值范围:**布尔型
@@ -21,7 +21,7 @@
**参数说明:**当开启双机热备模式时,如果备机正处理归档WAL日志数据,这时进行查询就会产生冲突,此参数就是设置备机取消查询之前所等待的时间。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
>-1表示允许备机一直等待冲突的查询完成。
@@ -34,7 +34,7 @@
**参数说明:**当开启双机热备模式时,如果备机正通过流复制接收WAL日志数据,这时进行查询就会产生冲突,这个参数就是设置备机取消查询之前所等待的时间。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
>-1表示允许备机一直等待冲突的查询完成。
@@ -47,30 +47,34 @@
**参数说明:**设置WAL日志接收进程的状态通知给主机的最大时间间隔。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
-**取值范围:**整型,0 \~ INT\_MAX / 1000,单位为毫秒。
+**取值范围:**整型,范围:0 \~ INT\_MAX ,单位为毫秒。
-**默认值:**5s
+**默认值:**5s**(即**5000ms)
## hot\_standby\_feedback
**参数说明:**设置是否允许将备机上执行查询的结果反馈给主机,这可以避免查询冲突。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**布尔型
-- on表示允许将备机上执行查询的结果反馈给主机。
-- off表示不允许将备机上执行查询的结果反馈给主机。
+- on表示允许将备机上执行查询的最小事务号反馈给主机。
+- off表示不允许将备机上执行查询的最小事务号反馈给主机。
**默认值:**off
+> **须知:**
+>当该参数为on时,主机的旧版本数据的清理会受限于备机正在读的事务,即主机只允许清理小于备机反馈回来的事务所作的更改。
+>所以,若该参数开启时,会影响主机的性能。
+
## wal\_receiver\_timeout
**参数说明:**设置从主机接收数据的最大等待时间。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型, 0 \~ INT\_MAX,单位为毫秒。
@@ -80,7 +84,7 @@
**参数说明:**设置连接主机的最大等待超时时间。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型, 0 \~ INT\_MAX / 1000,单位为秒。
@@ -90,7 +94,7 @@
**参数说明:**设置连接主机的最大尝试次数。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型, 1\~ INT\_MAX。
@@ -100,7 +104,7 @@
**参数说明:**备机与从备接收Xlog存放到内存缓冲区的大小。
-该参数属于POSTMASTER类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,4096\~1047552,单位为KB。
@@ -110,7 +114,7 @@
**参数说明:**设置备机对应主机的slot name,用于主备校验,与wal日志删除机制。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**字符型
diff --git "a/content/zh/docs/Quickstart/\345\256\211\345\205\250\345\222\214\350\256\244\350\257\201\357\274\210postgresql-conf\357\274\211.md" "b/content/zh/docs/Quickstart/\345\256\211\345\205\250\345\222\214\350\256\244\350\257\201\357\274\210postgresql-conf\357\274\211.md"
index 51d3fc032524d4afef48ff129bb268dc714126f7..bf3a3a55a528dc449809cd3fcd82d736743ea176 100644
--- "a/content/zh/docs/Quickstart/\345\256\211\345\205\250\345\222\214\350\256\244\350\257\201\357\274\210postgresql-conf\357\274\211.md"
+++ "b/content/zh/docs/Quickstart/\345\256\211\345\205\250\345\222\214\350\256\244\350\257\201\357\274\210postgresql-conf\357\274\211.md"
@@ -1,4 +1,4 @@
-# 安全和认证(postgresql.conf)
+# 安全和认证(postgresql.conf)
介绍设置客户端和服务器的安全认证方式的相关参数。
@@ -52,7 +52,7 @@
> **须知:**
>openGauss目前支持SSL的场景为客户端连接数据库主节点场景,该参数目前建议只在数据库主节点中开启,数据库节点默认值为off。开启此参数需要同时配置ssl\_cert\_file、ssl\_key\_file和ssl\_ca\_file等参数及对应文件,不正确的配置可能会导致openGauss无法正常启动。
-**默认值:**on
+**默认值:**off
## require\_ssl
@@ -76,7 +76,7 @@
该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
-**取值范围:**字符串,如果指定多个加密算法,加密算法之间需要以分号分割。详细请参见[表4](zh-cn_topic_0242376656.md#zh-cn_topic_0237121092_zh-cn_topic_0059778374_t34eea0830ef94be1a866f0410ba3eb07)获取支持的加密算法。
+**取值范围:**字符串,如果指定多个加密算法,加密算法之间需要以分号分割。详细请参见[用SSL进行安全的TCP/IP连接](zh-cn_topic_0246507951.md)获取支持的加密算法。
**默认值:**ALL
@@ -132,7 +132,7 @@
## krb\_server\_keyfile
-**参数说明:**指定Kerberos服务主配置文件的位置,详细请参见[客户端接入认证](zh-cn_topic_0242376653.md#ZH-CN_TOPIC_0242376653)。
+**参数说明:**指定Kerberos服务主配置文件的位置,详细请参见[配置客户端接入认证](zh-cn_topic_0246507949.md)。
该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
@@ -142,7 +142,7 @@
## krb\_srvname
-**参数说明:**设置Kerberos服务名,详细请参见[客户端接入认证](zh-cn_topic_0242376653.md#ZH-CN_TOPIC_0242376653)。
+**参数说明:**设置Kerberos服务名,详细请参见[配置客户端接入认证](zh-cn_topic_0246507949.md)。
该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
@@ -178,7 +178,7 @@
## password\_policy
-**参数说明:**在使用CREATE ROLE/USER或者ALTER ROLE/USER命令创建或者修改openGauss帐户时,该参数决定是否进行密码复杂度检查。
+**参数说明:**在使用CREATE ROLE/USER或者ALTER ROLE/USER命令创建或者修改openGauss帐户时,该参数决定是否进行密码复杂度检查。关于密码复杂度检查策略请参见[设置密码安全策略](zh-cn_topic_0246507969.md)。
该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
@@ -194,7 +194,7 @@
## password\_reuse\_time
-**参数说明:**在使用ALTER USER或者ALTER ROLE修改用户密码时,该参数指定是否对新密码进行可重用天数检查。
+**参数说明:**在使用ALTER USER或者ALTER ROLE修改用户密码时,该参数指定是否对新密码进行可重用天数检查。关于密码可重用策略请参见[设置密码安全策略](zh-cn_topic_0246507969.md)。
该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
@@ -214,7 +214,7 @@
## password\_reuse\_max
-**参数说明:**在使用ALTER USER或者ALTER ROLE修改用户密码时,该参数指定是否对新密码进行可重用次数检查。
+**参数说明:**在使用ALTER USER或者ALTER ROLE修改用户密码时,该参数指定是否对新密码进行可重用次数检查。关于密码可重用策略请参见[设置密码安全策略](zh-cn_topic_0246507969.md)。
该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
@@ -234,7 +234,7 @@
## password\_lock\_time
-**参数说明:**该参数指定帐户被锁定后自动解锁的时间。
+**参数说明:**该参数指定帐户被锁定后自动解锁的时间。关于帐户自动锁定策略请参见[设置密码安全策略](zh-cn_topic_0246507969.md)。
该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
@@ -250,7 +250,7 @@
## failed\_login\_attempts
-**参数说明:**在任意时候,如果输入密码错误的次数达到failed\_login\_attempts则当前帐户被锁定,password\_lock\_time秒后被自动解锁。 例如,登录时输入密码失败,ALTER USER时修改密码失败等。
+**参数说明:**在任意时候,如果输入密码错误的次数达到failed\_login\_attempts则当前帐户被锁定,password\_lock\_time秒后被自动解锁。 例如,登录时输入密码失败,ALTER USER时修改密码失败等。关于帐户自动锁定策略请参见[设置密码安全策略](zh-cn_topic_0246507969.md)。
该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
diff --git "a/content/zh/docs/Quickstart/\345\256\211\350\243\205gsql\345\256\242\346\210\267\347\253\257\345\271\266\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md" "b/content/zh/docs/Quickstart/\345\256\211\350\243\205gsql\345\256\242\346\210\267\347\253\257\345\271\266\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md"
index 4d4e76c8a24ae5f98459a0528311087b6783f0ae..a01d21966cc496f6aa6954c420fc3a4be4e520c8 100644
--- "a/content/zh/docs/Quickstart/\345\256\211\350\243\205gsql\345\256\242\346\210\267\347\253\257\345\271\266\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md"
+++ "b/content/zh/docs/Quickstart/\345\256\211\350\243\205gsql\345\256\242\346\210\267\347\253\257\345\271\266\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md"
@@ -2,9 +2,9 @@
gsql是openGauss提供的在命令行下运行的数据库连接工具。此工具除了具备操作数据库的基本功能,还提供了若干高级特性,便于用户使用。本节只介绍如何安装gsql客户端,使用gsql客户端连接数据库,更多配置请参见openGauss产品文档。
-## 前提条件
+## 前提条件
-已[确认连接信息](确认连接信息.md)。
+已[确认连接信息](zh-cn_topic_0242370176.md)。
## 操作步骤
@@ -17,7 +17,7 @@ gsql是openGauss提供的在命令行下运行的数据库连接工具。此工
mkdir /tmp/tools
```
-3. 获取软件安装包中的“openGauss 1.0-OPENEULER-64bit-ClientTools.tar.gz”上传到“/tmp/tools”路径下。
+3. 获取软件安装包中的“openGauss-1.0.0-openEuler-64bit-Libpq.tar.gz”上传到“/tmp/tools”路径下。
> **说明:**
>- 软件包相对位置为安装时所放位置,根据实际情况填写。
@@ -27,7 +27,7 @@ gsql是openGauss提供的在命令行下运行的数据库连接工具。此工
```
cd /tmp/tools
- tar -zxvf openGauss 1.0-OPENEULER-64bit-ClientTools.tar.gz
+ tar -zxvf openGauss-1.0.0-openEuler-64bit-Libpq.tar.gz
```
5. 设置环境变量。
@@ -56,12 +56,13 @@ gsql是openGauss提供的在命令行下运行的数据库连接工具。此工
数据库安装完成后,默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。
```
- gsql -d postgres -h 10.10.0.11 -U jack -p 8000 -W Bigdata@123 -r
+ gsql -d postgres -h 10.10.0.11 -U jack -p 8000 -W Test@123
```
- postgres为需要连接的数据库名称,10.10.0.11为CN所在的服务器IP地址,jack为连接数据库的用户,8000为数据库主节点的端口号,_Bigdata@123_为连接数据库用户jack的密码。
+ postgres为需要连接的数据库名称,10.10.0.11为数据库主节点所在的服务器IP地址,jack为连接数据库的用户,8000为数据库主节点的端口号,Test@123为连接数据库用户jack的密码。
> **说明:**
- >连接openGauss的机器与openGauss不在同一网段时,-h指定的IP地址应为Manager界面上所设的mpp.coo.cooListenIP2(应用访问IP)的取值。
+ >- 连接openGauss的机器与openGauss不在同一网段时,-h指定的IP地址应为Manager界面上所设的coo.cooListenIp2(应用访问IP)的取值。
+ >- 禁止使用omm用户进行远程连接数据库。
diff --git "a/content/zh/docs/Quickstart/\345\256\211\350\243\205openGauss.md" "b/content/zh/docs/Quickstart/\345\256\211\350\243\205openGauss.md"
index ef5531e5e181baf8800ce8c064a304dfa2478186..c779ebff90bd79a2ca5ce0d27c302d1d0d3d0792 100644
--- "a/content/zh/docs/Quickstart/\345\256\211\350\243\205openGauss.md"
+++ "b/content/zh/docs/Quickstart/\345\256\211\350\243\205openGauss.md"
@@ -1,4 +1,4 @@
-# 安装openGauss
+# 安装openGauss
- **[创建XML配置文件](创建XML配置文件.md)**
安装openGauss前需要创建XML文件。XML文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件。
@@ -8,4 +8,8 @@
执行前置脚本准备好openGauss安装环境之后,按照启动安装过程部署openGauss。
- **[(可选)设置备机可读]((可选)设置备机可读.md)**
备机可读特性为可选特性,需要修改配置参数并重启主备机器后才能使用。在开启备机可读之后,备机将支持读操作,并满足数据一致性要求。
+- **[安装验证](安装验证.md)**
+
+- **[初始配置](初始配置.md)**
+安装完成后,可以对GUC参数、区域和字符集等进行配置,保证openGauss的平稳运行。
diff --git "a/content/zh/docs/Quickstart/\345\256\211\350\243\205\345\207\206\345\244\207.md" "b/content/zh/docs/Quickstart/\345\256\211\350\243\205\345\207\206\345\244\207.md"
index 3ff22ba9c7c1b4260b417680f7bb515b14535d3d..99b4db6180b45d308ce394d2a50595045ce3f286 100644
--- "a/content/zh/docs/Quickstart/\345\256\211\350\243\205\345\207\206\345\244\207.md"
+++ "b/content/zh/docs/Quickstart/\345\256\211\350\243\205\345\207\206\345\244\207.md"
@@ -1,4 +1,4 @@
-# 安装准备
+# 安装准备
本章详细介绍了安装openGauss的环境准备和配置,请在安装之前仔细阅读本章的内容。如果已完成本章节的配置,请进入“安装openGauss”章节。
diff --git "a/content/zh/docs/Quickstart/\345\256\211\350\243\205\351\252\214\350\257\201.md" "b/content/zh/docs/Quickstart/\345\256\211\350\243\205\351\252\214\350\257\201.md"
new file mode 100644
index 0000000000000000000000000000000000000000..473ae33755fcf8cd2448865df6a0a5231b3b4583
--- /dev/null
+++ "b/content/zh/docs/Quickstart/\345\256\211\350\243\205\351\252\214\350\257\201.md"
@@ -0,0 +1,5 @@
+# 安装验证
+
+- **[检查健康状态](检查健康状态.md)**
+
+
diff --git "a/content/zh/docs/Quickstart/\345\256\241\350\256\241.md" "b/content/zh/docs/Quickstart/\345\256\241\350\256\241.md"
index 0eb6c9ea0d8d2592006ba7b7b5f6134d51c14fa5..da4203d1b31c7781d74f110fc7498e7c3f9526cd 100644
--- "a/content/zh/docs/Quickstart/\345\256\241\350\256\241.md"
+++ "b/content/zh/docs/Quickstart/\345\256\241\350\256\241.md"
@@ -1,4 +1,4 @@
-# 审计
+# 审计
- **[审计开关](审计开关.md)**
diff --git "a/content/zh/docs/Quickstart/\345\256\241\350\256\241\345\274\200\345\205\263.md" "b/content/zh/docs/Quickstart/\345\256\241\350\256\241\345\274\200\345\205\263.md"
index 21531bd73496f07c1c5bfc380f50320460115980..c75c0da8574863cf8f41bc8dcb3ffdd90c0fd620 100644
--- "a/content/zh/docs/Quickstart/\345\256\241\350\256\241\345\274\200\345\205\263.md"
+++ "b/content/zh/docs/Quickstart/\345\256\241\350\256\241\345\274\200\345\205\263.md"
@@ -1,10 +1,10 @@
-# 审计开关
+# 审计开关
## audit\_enabled
**参数说明:**控制审计进程的开启和关闭。审计进程开启后,将从管道读取后台进程写入的审计信息,并写入审计文件。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -17,7 +17,7 @@
**参数说明:**审计文件的存储目录。一个相对于数据目录data的路径,可自行指定。
-该参数属于POSTMASTER类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**字符串
@@ -27,7 +27,7 @@
**参数说明:**审计日志文件的格式。当前仅支持二进制格式。
-该参数属于POSTMASTER类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**字符串
@@ -37,7 +37,7 @@
**参数说明**:指定创建一个新审计日志文件的时间间隔。当现在的时间减去上次创建一个审计日志的时间超过了此参数值时,服务器将生成一个新的审计日志文件。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:整型,1\~INT\_MAX/60,单位为min。
@@ -50,7 +50,7 @@
**参数说明**:指定审计日志文件的最大容量。当审计日志消息的总量超过此参数值时,服务器将生成一个新的审计日志文件。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:整型,1024\~1048576,单位为KB。
@@ -63,7 +63,7 @@
**参数说明**:控制审计日志的保存策略,以空间还是时间限制为优先策略。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -76,7 +76,7 @@
**参数说明**:表示需记录审计日志的最短时间要求,该参数在[audit\_resource\_policy](#zh-cn_topic_0242371535_zh-cn_topic_0237124745_section939915522551)为off时生效。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:整型,0\~730,单位为day,0表示无时间限制。
@@ -86,7 +86,7 @@
**参数说明:**审计文件占用的磁盘空间总量。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,1024KB\~1024GB,单位为KB。
@@ -96,7 +96,7 @@
**参数说明:**审计目录下审计文件个数的最大值。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,1\~1048576
diff --git "a/content/zh/docs/Quickstart/\345\256\242\346\210\267\347\253\257\350\277\236\346\216\245\347\274\272\347\234\201\350\256\276\347\275\256.md" "b/content/zh/docs/Quickstart/\345\256\242\346\210\267\347\253\257\350\277\236\346\216\245\347\274\272\347\234\201\350\256\276\347\275\256.md"
index 20ae1d438125f44302803e185dd180c1080fa0a5..e94ecb76b367c722c7491d31b40e344bdfe4938c 100644
--- "a/content/zh/docs/Quickstart/\345\256\242\346\210\267\347\253\257\350\277\236\346\216\245\347\274\272\347\234\201\350\256\276\347\275\256.md"
+++ "b/content/zh/docs/Quickstart/\345\256\242\346\210\267\347\253\257\350\277\236\346\216\245\347\274\272\347\234\201\350\256\276\347\275\256.md"
@@ -1,4 +1,4 @@
-# 客户端连接缺省设置
+# 客户端连接缺省设置
- **[语句行为](语句行为.md)**
diff --git "a/content/zh/docs/Quickstart/\345\256\271\351\224\231\346\200\247.md" "b/content/zh/docs/Quickstart/\345\256\271\351\224\231\346\200\247.md"
index b183f6ee3b9af6d0899ef09bc28bfe7b3db1ec6a..154adfbd49095a3db4ed68d43c7b33f7d6723173 100644
--- "a/content/zh/docs/Quickstart/\345\256\271\351\224\231\346\200\247.md"
+++ "b/content/zh/docs/Quickstart/\345\256\271\351\224\231\346\200\247.md"
@@ -1,4 +1,4 @@
-# 容错性
+# 容错性
当数据库系统发生错误时,以下参数控制服务器处理错误的方式。
diff --git "a/content/zh/docs/Quickstart/\345\271\263\345\217\260\345\222\214\345\256\242\346\210\267\347\253\257\345\205\274\345\256\271\346\200\247.md" "b/content/zh/docs/Quickstart/\345\271\263\345\217\260\345\222\214\345\256\242\346\210\267\347\253\257\345\205\274\345\256\271\346\200\247.md"
index 4a41c0ef7b9e48a6399da37d8af398687c4bdff9..99521a1b704a187bec854e649702ef393642a50d 100644
--- "a/content/zh/docs/Quickstart/\345\271\263\345\217\260\345\222\214\345\256\242\346\210\267\347\253\257\345\205\274\345\256\271\346\200\247.md"
+++ "b/content/zh/docs/Quickstart/\345\271\263\345\217\260\345\222\214\345\256\242\346\210\267\347\253\257\345\205\274\345\256\271\346\200\247.md"
@@ -1,4 +1,4 @@
-# 平台和客户端兼容性
+# 平台和客户端兼容性
很多平台都使用数据库系统,数据库系统的对外兼容性给平台提供了很大的方便。
diff --git "a/content/zh/docs/Quickstart/\345\271\266\350\241\214\345\257\274\345\205\245.md" "b/content/zh/docs/Quickstart/\345\271\266\350\241\214\345\257\274\345\205\245.md"
index 55687e8e57f70bc4ae7294205a5616ec012d1d86..e002263f1244db1c6fcedaea21dc8b3af85b8ff9 100644
--- "a/content/zh/docs/Quickstart/\345\271\266\350\241\214\345\257\274\345\205\245.md"
+++ "b/content/zh/docs/Quickstart/\345\271\266\350\241\214\345\257\274\345\205\245.md"
@@ -1,4 +1,4 @@
-# 并行导入
+# 并行导入
openGauss提供了并行导入功能,以快速、高效地完成大量数据导入。介绍openGauss并行导入的相关参数。
diff --git "a/content/zh/docs/Quickstart/\345\274\200\345\217\221\344\272\272\345\221\230\351\200\211\351\241\271.md" "b/content/zh/docs/Quickstart/\345\274\200\345\217\221\344\272\272\345\221\230\351\200\211\351\241\271.md"
index 74021528b5a2c9cb7900b07fb7852a11a14554b0..58eb1e6885f0ff36b9ca8aa3a5c1d429eb8d4f42 100644
--- "a/content/zh/docs/Quickstart/\345\274\200\345\217\221\344\272\272\345\221\230\351\200\211\351\241\271.md"
+++ "b/content/zh/docs/Quickstart/\345\274\200\345\217\221\344\272\272\345\221\230\351\200\211\351\241\271.md"
@@ -1,4 +1,4 @@
-# 开发人员选项
+# 开发人员选项
## allow\_system\_table\_mods
@@ -102,7 +102,7 @@
该参数属于BACKEND类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
-**取值范围:**整型,最小值为0,最大值为INT\_MAX/1000000,单位为秒。
+**取值范围:**整型,最小值为0,最大值为2147,单位为秒。
**默认值:**0
@@ -188,7 +188,7 @@
**参数说明**:该参数用于控制在特定的客户场景中,使用不同的估算方法使得估算值与真实值更接近。此参数可以同时控制多种方法,与某一方法对应的位做与操作,不为0表示该方法被选择。
-当cost\_param & 1 不为0,表示对于求不等值连接选择率时选择一种改良机制,此方法在自连接(两个相同的表之间连接)的估算中更加准确,V300R002C00版本开始,已弃用cost\_param & 1 不为0时的路径,默认选择更优的估算公式;
+当cost\_param & 1 不为0,表示对于求不等值连接选择率时选择一种改良机制,此方法在自连接(两个相同的表之间连接)的估算中更加准确。目前,已弃用cost\_param & 1 不为0时的路径,默认选择更优的估算公式;
当cost\_param & 2 不为0,表示求多个过滤条件(Filter)的选择率时,选择最小的作为总的选择率,而非两者乘积,此方法在过滤条件的列之间关联性较强时估算更加准确;
@@ -230,7 +230,7 @@
该参数属于BACKEND类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
-**取值范围**:枚举类型,有效值有application,dbnode,gtm,gtmproxy,internaltool,gtmtool。
+**取值范围**:枚举类型,有效值有application,datanode,internaltool。
**默认值**:application
@@ -354,6 +354,11 @@ set rewrite_rule=none; --关闭所有可选查询重写规则
**默认值:**ALL,on\(\),off\(LLVM\_COMPILE,HASH\_CONFLICT,STREAM\_DATA\_CHECK\),不开启任何定位功能。
+> **须知:**
+>设置时,选择开启或者关闭的选项请使用'on\(\)'或'off\(\)'包括,未被显示指定的功能选项会维持原来的值。参考格式:
+>'on\(option1, option2, ...\)'
+>'off\(ALL\)'
+
## resource\_track\_log
**参数说明**:控制自诊断的日志级别。目前仅对多列统计信息进行控制。
@@ -375,7 +380,7 @@ set rewrite_rule=none; --关闭所有可选查询重写规则
该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
-**取值范围:**整型,200\*1024~2147483647,单位为KB。
+**取值范围:**整型,200\*1024~max\_process\_memory,单位为KB。
**默认值:**200MB
@@ -416,7 +421,7 @@ set rewrite_rule=none; --关闭所有可选查询重写规则
- 用户自定义参数(以–D开头,如–Duser.defined.option)
> **须知:**
->如果用户在pljava\_vmoptions中设置参数不满足上述取值范围,会在使用PL/Java语言函数时报错。
+>如果用户在pljava\_vmoptions中设置参数不满足上述取值范围,会在使用PL/Java语言函数时报错。此参数的详细说明参见[PL/pgSQL语言函数](zh-cn_topic_0245374598.md)。
**默认值:**空
@@ -487,7 +492,7 @@ set rewrite_rule=none; --关闭所有可选查询重写规则
**取值范围**:整型,0\~256 (0表示关闭异步刷盘功能),单位页面(8K)。例如,取值64,表示backend线程连续写64个磁盘页,即64\*8=512KB磁盘空间后会进行异步刷盘。
-**默认值**:512KB(即64个页面)
+**默认值**:0
## enable\_parallel\_ddl
diff --git "a/content/zh/docs/Quickstart/\345\274\200\345\247\213\344\275\277\347\224\250\344\272\247\345\223\201.md" "b/content/zh/docs/Quickstart/\345\274\200\345\247\213\344\275\277\347\224\250\344\272\247\345\223\201.md"
index ce68bde556105619042d51c822864ff7eead18af..211a93178ca47096f4d3e4de7d7d3bfff7c033b4 100644
--- "a/content/zh/docs/Quickstart/\345\274\200\345\247\213\344\275\277\347\224\250\344\272\247\345\223\201.md"
+++ "b/content/zh/docs/Quickstart/\345\274\200\345\247\213\344\275\277\347\224\250\344\272\247\345\223\201.md"
@@ -4,7 +4,7 @@
- **[设置openGauss参数](设置openGauss参数.md)**
-- **[gsql客户端连接openGauss](gsql客户端连接openGauss.md)**
+- **[gsql客户端连接](gsql客户端连接.md)**
- **[简单数据管理](简单数据管理.md)**
diff --git "a/content/zh/docs/Quickstart/\345\274\202\346\255\245IO.md" "b/content/zh/docs/Quickstart/\345\274\202\346\255\245IO.md"
index de85d258594c30c8e49b30c82f0e39f584fdabc6..be1f8fdf8cda1e0835ce918591a7cef563353075 100644
--- "a/content/zh/docs/Quickstart/\345\274\202\346\255\245IO.md"
+++ "b/content/zh/docs/Quickstart/\345\274\202\346\255\245IO.md"
@@ -1,10 +1,10 @@
-# 异步IO
+# 异步IO
## enable\_adio\_debug
**参数说明:**允许维护人员输出一些与ADIO相关的日志,便于定位ADIO相关问题。开发人员专用,不建议普通用户使用。
-该参数属于SUSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SUSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -17,7 +17,7 @@
**参数说明:**是否开起ADIO功能。
-该参数属于POSTMASTER类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -30,7 +30,7 @@
**参数说明:**磁盘空间快速分配开关。
-该参数属于SUSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。只有在XFS文件系统上才能开启该开关。
+该参数属于SUSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。只有在XFS文件系统上才能开启该开关。
**取值范围:**布尔型
@@ -43,7 +43,7 @@
**参数说明:**描述行存储使用ADIO预读取IO量的大小。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,128~131072,单位为8KB。
@@ -53,7 +53,7 @@
**参数说明:**描述行存储使用ADIO写入IO量的大小。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,128~131072,单位为8KB。
@@ -63,7 +63,7 @@
**参数说明:**描述列存储使用ADIO预取IO量的大小。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,1024~1048576,单位为KB。
@@ -73,7 +73,7 @@
**参数说明:**描述列存储使用ADIO写入IO量的大小。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,1024~1048576,单位为KB。
@@ -83,7 +83,7 @@
**参数说明:**描述列存储使用ADIO写入数据库可缓存最大的IO量。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,4096~INT\_MAX/2,单位为KB。
@@ -93,7 +93,7 @@
**参数说明:**描述列存储使用ADIO预扩展磁盘的大小。
-该参数属于SUSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SUSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,1024~1048576,单位为KB。
@@ -103,7 +103,7 @@
**参数说明:**磁盘子系统可以同时有效处理的请求数。对于RAID阵列,此参数应该是阵列中驱动器主轴的数量。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型 ,0\~1000
diff --git "a/content/zh/docs/Quickstart/\345\275\222\346\241\243.md" "b/content/zh/docs/Quickstart/\345\275\222\346\241\243.md"
index f6ec07c44e117d32b25ce77584c18de049297241..86a4a3de0c0f68c3fded9370be7bc160085e057b 100644
--- "a/content/zh/docs/Quickstart/\345\275\222\346\241\243.md"
+++ "b/content/zh/docs/Quickstart/\345\275\222\346\241\243.md"
@@ -1,4 +1,4 @@
-# 归档
+# 归档
## archive\_mode
diff --git "a/content/zh/docs/Quickstart/\346\200\247\350\203\275\347\273\237\350\256\241.md" "b/content/zh/docs/Quickstart/\346\200\247\350\203\275\347\273\237\350\256\241.md"
index 42d6502a1e7b80b3b9f08aee7286b799335be9e1..0dd2ecd07a2a9a0de37cc7ce32265dbbeabb62ae 100644
--- "a/content/zh/docs/Quickstart/\346\200\247\350\203\275\347\273\237\350\256\241.md"
+++ "b/content/zh/docs/Quickstart/\346\200\247\350\203\275\347\273\237\350\256\241.md"
@@ -1,4 +1,4 @@
-# 性能统计
+# 性能统计
在数据库运行过程中,会涉及到锁的访问、磁盘IO操作、无效消息的处理,这些操作都可能是数据库的性能瓶颈,通过openGauss提供的性能统计方法,可以方便定位性能问题。
@@ -13,7 +13,7 @@
这些参数只能辅助管理员进行粗略分析,类似Linux中的操作系统工具getrusage\(\) 。
-这些参数属于SUSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+这些参数属于SUSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
>- log\_statement\_stats记录总的语句统计数据,而其他的只记录针对每个模块的统计数据。
@@ -24,5 +24,5 @@
- on表示开启记录性能统计数据的功能。
- off表示关闭记录性能统计数据的功能。
-**默认值:on**
+**默认值:off**
diff --git "a/content/zh/docs/Quickstart/\346\211\213\345\267\245\345\273\272\347\253\213\344\272\222\344\277\241.md" "b/content/zh/docs/Quickstart/\346\211\213\345\267\245\345\273\272\347\253\213\344\272\222\344\277\241.md"
index 7981aec52d04fa45664d1609299261f60d95d8fc..3c344cfcc24ae5898bd80b6119ffabf5ae3d41fe 100644
--- "a/content/zh/docs/Quickstart/\346\211\213\345\267\245\345\273\272\347\253\213\344\272\222\344\277\241.md"
+++ "b/content/zh/docs/Quickstart/\346\211\213\345\267\245\345\273\272\347\253\213\344\272\222\344\277\241.md"
@@ -1,12 +1,11 @@
-# 手工建立互信
+# 手工建立互信
openGauss在安装过程中,需要在openGauss中的主机间执行命令,传送文件等操作。因此,在普通用户安装前需要确保互信是连通的。前置脚本中会先建立root用户间的互信,然后创建普通用户,并建立普通用户间的互信。
> **须知:**
>root用户互信可能会存在安全隐患,因此建议用户在使用完成后,立即删除各主机上root用户的互信。
->单机部署不需要创建互信。
-## 前提条件
+## 前提条件
- 确保ssh服务打开。
- 确保ssh端口不会被防火墙关闭。
@@ -38,7 +37,7 @@ openGauss在安装过程中,需要在openGauss中的主机间执行命令,
```
-## 使用脚本建立互信
+## 使用脚本建立互信
1. 创建一个执行互信脚本所需要的输入文本,并在此文件中添加openGauss中所有主机IP。
@@ -59,7 +58,7 @@ openGauss在安装过程中,需要在openGauss中的主机间执行命令,
/opt/software/hostfile为主机列表,列出所有需要建立互信机器的主机IP。
-## 手工建立互信
+## 手工建立互信
如果openGauss各主机的root密码不一致,gs\_preinstall脚本无法建立互信,可以手工建立互信。
@@ -199,8 +198,7 @@ openGauss在安装过程中,需要在openGauss中的主机间执行命令,
```
plat1:~ # ssh plat2
- Last login: Tue Jan 5 10:28:18 2016 from plat1
- Huawei's internal systems must only be used for conducting Huawei's business or for purposes authorized by Huawei management.Use is subject to audit at any time by Huawei management.
+ Last login: Sat Jun 20 14:01:07 2020
plat2:~ # exit
logout
Connection to plat2 closed.
@@ -211,7 +209,7 @@ openGauss在安装过程中,需要在openGauss中的主机间执行命令,
>如果三个以上节点,和上述过程类似。假设节点名为plat1、plat2、plat3、......。第一步,需要在plat1上生成root用户的本机授权文件;第二步,需要收集所有待建互信主机\(plat1、plat2、plat3、......\)的公钥并写入到本机known\_hosts文件中;第三步,需要将互信文件分发到除本机外的所有其它主机\(plat2、plat3、......\)上;第四步,检查互信是否建立成功。
-## 删除root用户互信
+## 删除root用户互信
为了避免Root用户互信可能存在的安全隐患,因此建议用户在使用完成后,立即删除各主机上root用户的互信。
@@ -232,7 +230,7 @@ openGauss在安装过程中,需要在openGauss中的主机间执行命令,
Are you sure you want to continue connecting \(yes/no\)?
-## 示例
+## 示例
root用户建立互信示例:
diff --git "a/content/zh/docs/Quickstart/\346\211\247\350\241\214\345\215\225\346\235\241SQL.md" "b/content/zh/docs/Quickstart/\346\211\247\350\241\214\345\215\225\346\235\241SQL.md"
index 05b3a426faca728d378ea592393fef861605d2e9..079f5b597390d1ce0185bb3aeb8c467fcffd4ffd 100644
--- "a/content/zh/docs/Quickstart/\346\211\247\350\241\214\345\215\225\346\235\241SQL.md"
+++ "b/content/zh/docs/Quickstart/\346\211\247\350\241\214\345\215\225\346\235\241SQL.md"
@@ -4,7 +4,7 @@
## 前提条件
-已通过客户端工具连接到openGauss,连接方法请参见[确认连接信息](确认连接信息.md)和[使用gsql本地连接](使用gsql本地连接.md)。
+已通过客户端工具连接到openGauss,连接方法请参见[zh-cn\_topic\_0241704253.md](zh-cn_topic_0241704253.md)和[使用gsql本地连接](使用gsql本地连接.md)。
## 操作步骤
diff --git "a/content/zh/docs/Quickstart/\346\211\247\350\241\214\345\256\211\350\243\205.md" "b/content/zh/docs/Quickstart/\346\211\247\350\241\214\345\256\211\350\243\205.md"
index 9e4802eb2936deaa6bbf7ad88bab94e15b817c61..0e4fdc9d3ce18ba4714247e359ec60ba2a713b2a 100644
--- "a/content/zh/docs/Quickstart/\346\211\247\350\241\214\345\256\211\350\243\205.md"
+++ "b/content/zh/docs/Quickstart/\346\211\247\350\241\214\345\256\211\350\243\205.md"
@@ -1,21 +1,23 @@
-# 执行安装
+# 执行安装
执行前置脚本准备好openGauss安装环境之后,按照启动安装过程部署openGauss。
-## 前提条件
+## 前提条件
-- 已成功执行前置脚本gs\_preinstall。即完成了[准备安装用户及环境](准备安装用户及环境.md#ZH-CN_TOPIC_0244544060)。
+- 已成功执行前置脚本gs\_preinstall。即完成了[准备安装用户及环境](准备安装用户及环境.md#ZH-CN_TOPIC_0251900906)。
- 所有服务器操作系统和网络均正常运行。
-- 用户需确保各个主机上的locale保持一致。详细请参见[配置区域和字符集](zh-cn_topic_0244176949.md)。
+- 用户需确保各个主机上的locale保持一致。详细请参见[配置区域和字符集](配置区域和字符集.md#ZH-CN_TOPIC_0251900915)。
-## 操作步骤
+## 操作步骤
-1. (可选)检查安装包和openGauss配置文件在规划路径下是否已存在。如果没有则需要重新上传一份,并解压和修改属主为omm。
+1. 检查安装包和openGauss配置文件在规划路径下是否已存在,如果没有,重新执行预安装,确保预安装成功,再执行以下步骤。
```
- cd /opt/software/openGauss/script
- chmod -R 755 /opt/software/openGauss/script
- chown -R omm:dbgrp /opt/software/openGauss/script
+
+ ```
+
+ ```
+
```
2. 登录到openGauss的主机,并切换到omm用户。
@@ -34,149 +36,147 @@
gs_install -X /opt/software/openGauss/clusterconfig.xml
```
- /opt/software/openGauss/clusterconfig.xml为openGauss配置文件的路径。
+ /opt/software/openGauss/clusterconfig.xml为openGauss配置文件的路径。在执行过程中,用户需根据提示输入数据库的密码,密码具有一定的复杂度,为保证用户正常使用该数据库,请记住输入的数据库密码。
+
+ 设置的密码要符合复杂度要求:
+
+ - 最少包含8个字符;
+ - 不能和用户名和当前密码(ALTER)相同,或和当前密码反序;
+ - 至少包含大写字母(A-Z),小写字母(a-z),数字,非字母数字字符(限定为\~!@\#$%^&\*\(\)-\_=+\\|\[\{\}\];:,<.\>/?)四类字符中的三类字符。
+
+ 安装过程中会生成ssl证书,证书存放路径为\{gaussdbAppPath\}/share/sslcert/om,其中\{gaussdbAppPath\}为集群openGauss配置文件中指定的程序安装目录。
日志文件路径下会生成两个日志文件:“gs\_install-YYYY-MMDD\_HHMMSS.log”和“gs\_local-YYYY-MM-DD\_HHMMSS.log”。
> **说明:**
>执行gs\_install脚本时,如果输入参数--autostart=no, 则工具脚本在配置(config)步骤完成后退出,不会自动启动openGauss,需要用户通过执行gs\_om -t start命令手动启动。
-4. 安装执行成功之后,需要手动删除主机root用户的互信,即删除openGauss数据库各节点上的互信文件。
+4. 安装执行成功之后,需要手动删除主机root用户的互信,即删除openGauss数据库各节点上的互信文件。
```
rm –rf ~/.ssh
```
-## 安装生成的目录
+## 安装生成的目录
-安装后的目录及各目录下的文件说明请参见[表1](#zh-cn_topic_0244176944_zh-cn_topic_0241805806_zh-cn_topic_0085434626_zh-cn_topic_0059782015_tdcb4fb0f38a6419099ee2c47d4d0b37f)。
+安装后的目录及各目录下的文件说明请参见[表1](#zh-cn_topic_0249784555_zh-cn_topic_0241805806_zh-cn_topic_0085434626_zh-cn_topic_0059782015_tdcb4fb0f38a6419099ee2c47d4d0b37f)。
**表 1** 安装生成的目录
-
- 序号
+
+ 序号
- 项目目录说明
+ 项目目录说明
- 目录
+ 目录
- 子目录
+ 子目录
- 说明
+ 说明
- 1
-
- openGauss 安装目录
+ 1
- /opt/gaussdb/app
+ openGauss 安装目录
- bin
+ /opt/opengauss/app
- 存放数据库二进制文件的目录。
-
-
- etc
-
- cgroup工具配置文件。
-
-
- include
+ bin
- 存放数据库运行所需要的头文件。
+ 存放数据库二进制文件的目录。
- jdk
+ etc
- 存放javaJDK环境文件。
+ cgroup工具配置文件。
- utilslib
+ include
- 存放extension扩展依赖库文件。
+ 存放数据库运行所需要的头文件。
- lib
+ lib
- 存放数据库的库文件的目录。
+ 存放数据库的库文件的目录。
- share
+ share
- 存放数据库运行所需要的公共文件,如配置文件模板。
+ 存放数据库运行所需要的公共文件,如配置文件模板。
- 2
+ 2
- openGauss 数据目录
+ openGauss 数据目录
- /gaussdb/data
+ /opt/gaussdb/data
- data_dnxxx
+ data_dnxxx
- DBnode实例的数据目录,其中主实例的目录名为“data_dnxxx”,
- 备实例的为data_dnSxxx。xxx代表DBnode编号。
+ DBnode实例的数据目录,其中主实例的目录名为“data_dnxxx”,
+ 备实例的为data_dnSxxx。xxx代表DBnode编号。
- 3
+ 3
- openGauss 日志目录
+ openGauss 日志目录
- /var/log/gaussdb /用户名
+ /opt/opengauss/gaussdb_log/用户名
- bin
+ bin
- 二进制程序的日志目录。
+ 二进制程序的日志目录。
- gs_profile
+ gs_profile
- 数据库内核性能日志目录。
+ 数据库内核性能日志目录。
- om
+ om
- OM的日志目录。例如:
- 部分local脚本产生的日志,增删数据库节点接口的日志,gs_om接口的日志,前置接口的日志,节点替换接口的日志等。
+ OM的日志目录。例如:
+ 部分local脚本产生的日志,增删数据库节点接口的日志,gs_om接口的日志,前置接口的日志,节点替换接口的日志等。
- pg_audit
+ pg_audit
- 数据库审计日志目录。
+ 数据库审计日志目录。
- pg_log
+ pg_log
- 数据库节点实例的运行日志目录。
+ 数据库节点实例的运行日志目录。
- 4
+ 4
- openGauss 系统工具目录
+ openGauss 系统工具目录
- /opt/huawei/wisequery
+ /opt/opengauss/tool
- script
+ script
- 用于 openGauss 用户进行 openGauss 管理的脚本文件。
+ 用于 openGauss 用户进行 openGauss 管理的脚本文件。
- sudo
+ sudo
- 用于root用户进行 openGauss 管理的脚本文件。
+ 用于root用户进行 openGauss 管理的脚本文件。
- lib
+ lib
- bin目录下的二进制文件依赖的库文件。
+ bin目录下的二进制文件依赖的库文件。
-## 示例
+## 示例
执行安装:
@@ -187,23 +187,35 @@ Check preinstall on every node.
Successfully checked preinstall on every node.
Creating the backup directory.
Successfully created the backup directory.
+begin deploy..
Installing the cluster.
+begin prepare Install Cluster..
Checking the installation environment on all nodes.
+begin install Cluster..
Installing applications on all nodes.
Successfully installed APP.
+begin init Instance..
+encrypt ciper and rand files for database.
+Please enter password for database:
+Please repeat for database:
+begin to create CA cert files
+The sslcert will be generated in /opt/gaussdb/cluster/app/share/sslcert/om
Cluster installation is completed.
Configuring.
Deleting instances from all nodes.
+Successfully deleted instances from all nodes.
Checking node configuration on all nodes.
Initializing instances on all nodes.
Updating instance configuration on all nodes.
+Check consistence of memCheck and coresCheck on DN nodes.
+Successful check consistence of memCheck and coresCheck on all nodes.
Configuring pg_hba on all nodes.
Configuration is completed.
Successfully started cluster.
Successfully installed application.
```
-## 错误排查
+## 错误排查
如果安装失败请根据openGauss日志目录下的“gs\_install-YYYY-MM-DD\_HHMMSS.log”和“gs\_local-YYYY-MM-DD\_HHMMSS.log”中的日志信息排查错误。
diff --git "a/content/zh/docs/Quickstart/\346\211\247\350\241\214\346\211\271\351\207\217\346\226\207\344\273\266.md" "b/content/zh/docs/Quickstart/\346\211\247\350\241\214\346\211\271\351\207\217\346\226\207\344\273\266.md"
index 3c7850eac0b89a50fe9f8357e4b158568c971164..d832fb66381185af2abbe2e65d50fb6dc82ed12e 100644
--- "a/content/zh/docs/Quickstart/\346\211\247\350\241\214\346\211\271\351\207\217\346\226\207\344\273\266.md"
+++ "b/content/zh/docs/Quickstart/\346\211\247\350\241\214\346\211\271\351\207\217\346\226\207\344\273\266.md"
@@ -4,7 +4,7 @@
## 前提条件
-已通过客户端工具连接到openGauss,连接方法请参见[确认连接信息](确认连接信息.md)和[使用gsql远程连接](使用gsql远程连接.md)。
+已通过客户端工具连接到openGauss,连接方法请参见[zh-cn\_topic\_0241704253.md](zh-cn_topic_0241704253.md)和[使用gsql远程连接](使用gsql远程连接.md)。
## 操作步骤
diff --git "a/content/zh/docs/Quickstart/\346\223\215\344\275\234\345\256\241\350\256\241.md" "b/content/zh/docs/Quickstart/\346\223\215\344\275\234\345\256\241\350\256\241.md"
index 08244b702029f3517102630634c31acb4c958b70..39210fcd15f7a901b66e7bb258a918ab75857eba 100644
--- "a/content/zh/docs/Quickstart/\346\223\215\344\275\234\345\256\241\350\256\241.md"
+++ "b/content/zh/docs/Quickstart/\346\223\215\344\275\234\345\256\241\350\256\241.md"
@@ -1,4 +1,4 @@
-# 操作审计
+# 操作审计
## audit\_system\_object
@@ -6,14 +6,14 @@
该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
-**取值范围:**整型,0~262143
+**取值范围:**整型,0~524287
- 0代表关闭openGauss数据库对象的CREATE、DROP、ALTER操作审计功能。
- 非0代表只审计openGauss的某类或者某些数据库对象的CREATE、DROP、ALTER操作。
**取值说明**:
-该参数的值由18个二进制位的组合求出,这18个二进制位分别代表openGauss的18类数据库对象。如果对应的二进制位取值为0,表示不审计对应的数据库对象的CREATE、DROP、ALTER操作;取值为1,表示审计对应的数据库对象的CREATE、DROP、ALTER操作。这18个二进制位代表的具体审计内容请参见[表1](#zh-cn_topic_0242371537_zh-cn_topic_0237124747_zh-cn_topic_0059777487_zh-cn_topic_0058967566_table53712060)。
+该参数的值由19个二进制位的组合求出,这19个二进制位分别代表openGauss的19类数据库对象。如果对应的二进制位取值为0,表示不审计对应的数据库对象的CREATE、DROP、ALTER操作;取值为1,表示审计对应的数据库对象的CREATE、DROP、ALTER操作。这19个二进制位代表的具体审计内容请参见[表1](#zh-cn_topic_0242371537_zh-cn_topic_0237124747_zh-cn_topic_0059777487_zh-cn_topic_0058967566_table53712060)。
**默认值:**12295
@@ -239,14 +239,14 @@
**取值范围:**枚举型
-- A表示同a db兼容。
-- TD表示同Teradata兼容。
-- MYSQL表示同MySQL兼容。
+- A表示同A数据库兼容。
+- B表示同B数据库兼容。
+- C表示同C数据库兼容。
-**默认值:**MYSQL
+**默认值:**A
> **须知:**
->在数据库中,该参数只能是确定的一个值,要么始终设置为ORA,要么始终设置为TD,不能随便改动,否则会导致数据库行为不一致。
+>在数据库中,该参数只能是确定的一个值,要么始终设置为A,要么始终设置为B,不能随便改动,否则会导致数据库行为不一致。
## enableSeparationOfDuty
@@ -304,7 +304,6 @@
**默认值:**off
> **须知:**
->用户在使用高级包UTL\_FILE访问服务器端文件时,要求必须拥有所指定的DIRECTORY对象的权限。
->出于安全考虑,默认情况下,只有初始用户才能够创建、删除DIRECTORY对象。
->如果开启了enable\_access\_server\_directory,那么在三权分立关闭时,系统管理员(包括初始用户)可以创建、删除DIRECTORY对象;而在三权分立开启时,只有初始用户可以创建、删除DIRECTORY对象。
+>- 出于安全考虑,默认情况下,只有初始用户才能够创建、删除DIRECTORY对象。
+>- 如果开启了enable\_access\_server\_directory,那么在三权分立关闭时,系统管理员(包括初始用户)可以创建、删除DIRECTORY对象;而在三权分立开启时,只有初始用户可以创建、删除DIRECTORY对象。
diff --git "a/content/zh/docs/Quickstart/\346\226\207\344\273\266\344\275\215\347\275\256.md" "b/content/zh/docs/Quickstart/\346\226\207\344\273\266\344\275\215\347\275\256.md"
index a59671c4990c07636efca2f8ab6c4c4ba509d481..15ccb1de457251b3b3340f9312fbc7745313d642 100644
--- "a/content/zh/docs/Quickstart/\346\226\207\344\273\266\344\275\215\347\275\256.md"
+++ "b/content/zh/docs/Quickstart/\346\226\207\344\273\266\344\275\215\347\275\256.md"
@@ -1,4 +1,4 @@
-# 文件位置
+# 文件位置
数据库安装后会自动生成三个配置文件(postgresql.conf、pg\_hba.conf和pg\_ident.conf),并统一存放在数据目录(data)下。用户可以使用本节介绍的方法修改配置文件的名称和存放路径。
diff --git "a/content/zh/docs/Quickstart/\346\227\245\345\277\227\345\233\236\346\224\276.md" "b/content/zh/docs/Quickstart/\346\227\245\345\277\227\345\233\236\346\224\276.md"
index cfbcc694504bf4078bb8e9de7a7d7108a66c7876..5bbc2ba0ca9ee0da25524a54e719831c514fbdd1 100644
--- "a/content/zh/docs/Quickstart/\346\227\245\345\277\227\345\233\236\346\224\276.md"
+++ "b/content/zh/docs/Quickstart/\346\227\245\345\277\227\345\233\236\346\224\276.md"
@@ -1,4 +1,4 @@
-# 日志回放
+# 日志回放
## recovery\_time\_target
@@ -28,11 +28,11 @@
该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
-**取值范围**:整型,0\~16
+**取值范围**:整型,1\~16
-0是指不开极致RTO,1\~16是指开极致RTO。需要配合recovery\_redo\_workers使用。若同时开启recovery\_parse\_workers和recovery\_max\_workers,以开启极致RTO的recovery\_parse\_workers为准,并行回放特性失效。
+仅在开启极致RTO情况下可以设置recovery\_parse\_workers为\>1。需要配合recovery\_redo\_workers使用。若同时开启recovery\_parse\_workers和recovery\_max\_workers,以开启极致RTO的recovery\_parse\_workers为准,并行回放特性失效。因极致RTO不支持hot standby模式和主备从模式, 仅在参数[hot\_standby](备服务器.md#zh-cn_topic_0242371504_zh-cn_topic_0237124714_zh-cn_topic_0059778071_sa43017102b08472cb160e9f856e664bd)设置成off,[replication\_type](openGauss事务.md#zh-cn_topic_0242371531_zh-cn_topic_0237124741_section94292665717)设置成1时可以设置recovery\_parse\_workers为\>1。另外,极致RTO也不支持列存,在已经使用列存表或者即将使用列存表的系统中,请关闭极致RTO.
-**默认值:**0
+**默认值:**1
## recovery\_redo\_workers
@@ -42,9 +42,7 @@
**取值范围**:整型,1\~8
-需要配合recovery\_parse\_workers使用。recovery\_redo\_workers是极致RTO特性中每个ParseRedoRecord线程对应的PageRedoWorker线程数量。在配合recovery\_parse\_workers使用时,只有recovery\_parse\_workers大于0
-
-recovery\_redo\_workers参数才生效。
+需要配合recovery\_parse\_workers使用。在配合recovery\_parse\_workers使用时,只有recovery\_parse\_workers大于0,recovery\_redo\_workers参数才生效。
**默认值:**1
diff --git "a/content/zh/docs/Quickstart/\346\235\203\351\231\220\350\265\213\344\272\210.md" "b/content/zh/docs/Quickstart/\346\235\203\351\231\220\350\265\213\344\272\210.md"
index 2c593d15040f7b13f1e11b57972cffdb70ad3388..c7a4d911efc125968cd41e3ca9662f1b9200fc4a 100644
--- "a/content/zh/docs/Quickstart/\346\235\203\351\231\220\350\265\213\344\272\210.md"
+++ "b/content/zh/docs/Quickstart/\346\235\203\351\231\220\350\265\213\344\272\210.md"
@@ -100,11 +100,6 @@
[ WITH GRANT OPTION ];
```
- > **说明:**
- >本版本只有C函数支持所有用户创建,而Java和Internal只支持拥有sysadmin权限的用户创建。
- >- 拥有sysadmin权限的用户通过grant语法来将创建C函数的权限授权给普通用户时,不支持grant usage on language c to public,只支持授权给特定用户。
- >- 拥有sysadmin权限的用户通过grant语法来将创建C函数的权限授权给普通用户时,不支持with grant option。
-
- 将大对象的访问权限赋予指定的用户或角色。
```
@@ -117,15 +112,6 @@
> **说明:**
>本版本暂时不支持大对象。
-- 将子openGauss的访问权限赋予指定的用户或角色。
-
- ```
- GRANT { CREATE | USAGE | COMPUTE | ALL [ PRIVILEGES ] }
- ON NODE GROUP group_name [, ...]
- TO { [ GROUP ] role_name | PUBLIC } [, ...]
- [ WITH GRANT OPTION ];
- ```
-
- 将模式的访问权限赋予指定的用户或角色。
```
@@ -136,7 +122,7 @@
```
> **说明:**
- >将模式中的表或者视图对象授权给其他用户时,需要将表或视图所属的模式的USAGE权限同时授予该用户,若没有该权限,则只能看到这些对象的名字,并不能实际进行对象访问。
+ >将模式中的表或者视图对象授权给其他用户时,需要将表或视图所属的模式的USAGE权限同时授予该用户,若没有该权限,则只能看到这些对象的名称,并不能实际进行对象访问。
- 将表空间的访问权限赋予指定的用户或角色。
@@ -174,37 +160,21 @@
TO role_name;
```
-- 将Data Source对象的权限赋予指定的角色。
-
- ```
- GRANT {USAGE | ALL [PRIVILEGES]}
- ON DATA SOURCE src_name [, ...]
- TO {[GROUP] role_name | PUBLIC} [, ...] [WITH GRANT OPTION];
- ```
-
-- 将directory对象的权限赋予指定的角色。
-
- ```
- GRANT {READ|WRITE| ALL [PRIVILEGES]}
- ON DIRECTORY directory_name [, ...]
- TO {[GROUP] role_name | PUBLIC} [, ...] [WITH GRANT OPTION];
- ```
-
## 示例
-**示例1:将系统权限授权给用户或者角色。**
+**示例:将系统权限授权给用户或者角色。**
创建名为joe的用户,并将sysadmin权限授权给他。
```
-postgres=# CREATE USER joe PASSWORD 'Bigdata123@';
+postgres=# CREATE USER joe PASSWORD 'Bigdata@123';
postgres=# GRANT ALL PRIVILEGES TO joe;
```
授权成功后,用户joe会拥有sysadmin的所有权限。
-**示例2:将对象权限授权给用户或者角色**。
+**示例:将对象权限授权给用户或者角色**。
1. 撤销joe用户的sysadmin权限,然后将模式tpcds的使用权限和表tpcds.reason的所有权限授权给用户joe。
@@ -237,53 +207,53 @@ postgres=# GRANT ALL PRIVILEGES TO joe;
创建角色tpcds\_manager,将模式tpcds的访问权限授权给角色tpcds\_manager,并授予该角色在tpcds下创建对象的权限,不允许该角色中的用户将权限授权给其他人。
```
- CREATE ROLE tpcds_manager PASSWORD '';
- GRANT USAGE,CREATE ON SCHEMA tpcds TO tpcds_manager;
+ postgres=# CREATE ROLE tpcds_manager PASSWORD 'Bigdata@123';
+ postgres=# GRANT USAGE,CREATE ON SCHEMA tpcds TO tpcds_manager;
```
将表空间tpcds\_tbspc的所有权限授权给用户joe,但用户joe无法将权限继续授予其他用户。
```
- CREATE TABLESPACE tpcds_tbspc RELATIVE LOCATION 'tablespace/tablespace_1';
- GRANT ALL ON TABLESPACE tpcds_tbspc TO joe;
+ postgres=# CREATE TABLESPACE tpcds_tbspc RELATIVE LOCATION 'tablespace/tablespace_1';
+ postgres=# GRANT ALL ON TABLESPACE tpcds_tbspc TO joe;
```
-**示例3:将用户或者角色的权限授权给其他用户或角色。**
+**示例:将用户或者角色的权限授权给其他用户或角色。**
1. 创建角色manager,将joe的权限授权给manager,并允许该角色将权限授权给其他人。
```
- CREATE ROLE manager PASSWORD '';
- GRANT joe TO manager WITH ADMIN OPTION;
+ postgres=# CREATE ROLE manager PASSWORD 'Bigdata@123';
+ postgres=# GRANT joe TO manager WITH ADMIN OPTION;
```
2. 创建用户senior\_manager,将用户manager的权限授权给该用户。
```
- CREATE ROLE senior_manager PASSWORD '';
- GRANT manager TO senior_manager;
+ postgres=# CREATE ROLE senior_manager PASSWORD 'Bigdata@123';
+ postgres=# GRANT manager TO senior_manager;
```
3. 撤销权限,并清理用户。
```
- REVOKE manager FROM joe;
- REVOKE senior_manager FROM manager;
- DROP USER manager;
+ postgres=# REVOKE manager FROM joe;
+ postgres=# REVOKE senior_manager FROM manager;
+ postgres=# DROP USER manager;
```
-**示例4:撤销上述授予的权限,并清理角色和用户。**
+**示例:撤销上述授予的权限,并清理角色和用户。**
```
-REVOKE ALL PRIVILEGES ON reason FROM joe;
-REVOKE ALL PRIVILEGES ON SCHEMA tpcds FROM joe;
-REVOKE ALL ON TABLESPACE tpcds_tbspc FROM joe;
-DROP TABLESPACE tpcds_tbspc;
-REVOKE USAGE,CREATE ON SCHEMA tpcds FROM tpcds_manager;
-DROP ROLE tpcds_manager;
-DROP ROLE senior_manager;
-DROP USER joe CASCADE;
+postgres=# REVOKE ALL PRIVILEGES ON tpcds.reason FROM joe;
+postgres=# REVOKE ALL PRIVILEGES ON SCHEMA tpcds FROM joe;
+postgres=# REVOKE ALL ON TABLESPACE tpcds_tbspc FROM joe;
+postgres=# DROP TABLESPACE tpcds_tbspc;
+postgres=# REVOKE USAGE,CREATE ON SCHEMA tpcds FROM tpcds_manager;
+postgres=# DROP ROLE tpcds_manager;
+postgres=# DROP ROLE senior_manager;
+postgres=# DROP USER joe CASCADE;
```
diff --git "a/content/zh/docs/Quickstart/\346\237\245\347\234\213\345\217\202\346\225\260\345\275\223\345\211\215\345\217\226\345\200\274.md" "b/content/zh/docs/Quickstart/\346\237\245\347\234\213\345\217\202\346\225\260\345\275\223\345\211\215\345\217\226\345\200\274.md"
index b2cb7c7de0f45e973e5f9f29f1005cfa3065767e..f9d231f4a98d05bbbcd53fbb3ac678de03b95ca9 100644
--- "a/content/zh/docs/Quickstart/\346\237\245\347\234\213\345\217\202\346\225\260\345\275\223\345\211\215\345\217\226\345\200\274.md"
+++ "b/content/zh/docs/Quickstart/\346\237\245\347\234\213\345\217\202\346\225\260\345\275\223\345\211\215\345\217\226\345\200\274.md"
@@ -1,4 +1,4 @@
-# 查看参数当前取值
+# 查看参数当前取值
openGauss安装后,有一套默认的运行参数,为了使openGauss与业务的配合度更高,用户需要根据业务场景和数据量的大小进行GUC参数调整。
diff --git "a/content/zh/docs/Quickstart/\346\237\245\350\257\242\345\222\214\347\264\242\345\274\225\347\273\237\350\256\241\346\224\266\351\233\206\345\231\250.md" "b/content/zh/docs/Quickstart/\346\237\245\350\257\242\345\222\214\347\264\242\345\274\225\347\273\237\350\256\241\346\224\266\351\233\206\345\231\250.md"
index c7974237e264d465fb4200ee80793bcbb809e9d7..372deb85d1c5b3a84170b4ceb6ad9be373cc8348 100644
--- "a/content/zh/docs/Quickstart/\346\237\245\350\257\242\345\222\214\347\264\242\345\274\225\347\273\237\350\256\241\346\224\266\351\233\206\345\231\250.md"
+++ "b/content/zh/docs/Quickstart/\346\237\245\350\257\242\345\222\214\347\264\242\345\274\225\347\273\237\350\256\241\346\224\266\351\233\206\345\231\250.md"
@@ -1,4 +1,4 @@
-# 查询和索引统计收集器
+# 查询和索引统计收集器
查询和索引统计收集器负责收集数据库系统运行中的统计数据,如在一个表和索引上进行了多少次插入与更新操作、磁盘块的数量和元组的数量、每个表上最近一次执行清理和分析操作的时间等。可以通过查询系统视图pg\_stats和pg\_statistic查看统计数据。下面的参数设置服务器范围内的统计收集特性。
@@ -56,7 +56,7 @@
**取值范围:**枚举类型
- pl表示只追踪过程语言函数。
-- all表示追踪SQL和C语言函数。
+- all表示追踪SQL语言函数。
- none表示关闭函数追踪功能。
**默认值:**none
@@ -137,8 +137,8 @@
> **说明:**
>- track\_sql\_count参数受track\_activities约束:
-> - track\_activities开启而track\_sql\_count关闭时,如果查询了gs\_sql\_count或pgxc\_sql\_count视图,将会有WARNING提示track\_sql\_count是关闭的;
-> - track\_activities和track\_sql\_count同时关闭,那么此时将会有两条WARNING,分别提示track\_activities是关闭的和track\_sql\_count是关闭的;
-> - track\_activities关闭而track\_sql\_count开启,此时将仅有WARNING提示track\_activities是关闭。
+> - track\_activities开启而track\_sql\_count关闭时,如果查询了gs\_sql\_count或pgxc\_sql\_count视图,日志中将会有WARNING提示track\_sql\_count是关闭的;
+> - track\_activities和track\_sql\_count同时关闭,那么此时日志中将会有两条WARNING,分别提示track\_activities是关闭的和track\_sql\_count是关闭的;
+> - track\_activities关闭而track\_sql\_count开启,此时日志中将仅有WARNING提示track\_activities是关闭。
>- 当参数关闭时,查询视图的结果为0行。
diff --git "a/content/zh/docs/Quickstart/\346\237\245\350\257\242\350\247\204\345\210\222.md" "b/content/zh/docs/Quickstart/\346\237\245\350\257\242\350\247\204\345\210\222.md"
index 8b6bfe7415ca6ca84f4b1b5cb3547cd7c9cfe5cb..374f851d0f7740caa21c3f8582e2fff9403f8575 100644
--- "a/content/zh/docs/Quickstart/\346\237\245\350\257\242\350\247\204\345\210\222.md"
+++ "b/content/zh/docs/Quickstart/\346\237\245\350\257\242\350\247\204\345\210\222.md"
@@ -1,4 +1,4 @@
-# 查询规划
+# 查询规划
介绍查询优化器方法配置、开销常量、规划算法以及一些配置参数。
diff --git "a/content/zh/docs/Quickstart/\346\243\200\346\237\245\345\201\245\345\272\267\347\212\266\346\200\201.md" "b/content/zh/docs/Quickstart/\346\243\200\346\237\245\345\201\245\345\272\267\347\212\266\346\200\201.md"
new file mode 100644
index 0000000000000000000000000000000000000000..90ecaf36104c390c9579117ca1a5a72d6d887915
--- /dev/null
+++ "b/content/zh/docs/Quickstart/\346\243\200\346\237\245\345\201\245\345\272\267\347\212\266\346\200\201.md"
@@ -0,0 +1,61 @@
+# 检查健康状态
+
+通过openGauss提供的gs\_checkos工具可以完成操作系统状态检查。
+
+## 前提条件
+
+- 当前的硬件和网络环境正常。
+- 各主机间root互信状态正常。
+- 只能使用root用户执行gs\_checkos命令。
+
+## 操作步骤
+
+1. 以root用户身份登录服务器。
+2. 执行如下命令对openGauss节点服务器的OS参数进行检查。
+
+ ```
+ gs_checkos -i A
+ ```
+
+ 检查节点服务器的OS参数的目的是为了保证openGauss正常通过预安装,并且在安装成功后可以安全高效的运行。详细的检查项目请参见《工具参考》gs\_checkos工具的表 1 操作系统检查项,操作系统参数和文件系统参数。
+
+
+## 示例
+
+执行gs\_checkos前需要先执行前置脚本,准备环境。以参数"A"为例。
+
+```
+gs_checkos -i A
+Checking items:
+ A1. [ OS version status ] : Normal
+ A2. [ Kernel version status ] : Normal
+ A3. [ Unicode status ] : Normal
+ A4. [ Time zone status ] : Normal
+ A5. [ Swap memory status ] : Normal
+ A6. [ System control parameters status ] : Normal
+ A7. [ File system configuration status ] : Normal
+ A8. [ Disk configuration status ] : Normal
+ A9. [ Pre-read block size status ] : Normal
+ A10.[ IO scheduler status ] : Normal
+ A11.[ Network card configuration status ] : Normal
+ A12.[ Time consistency status ] : Warning
+ A13.[ Firewall service status ] : Normal
+ A14.[ THP service status ] : Normal
+Total numbers:14. Abnormal numbers:0. Warning number:1.
+```
+
+以参数"B"为例。
+
+```
+gs_checkos -i B
+Setting items:
+ B1. [ Set system control parameters ] : Normal
+ B2. [ Set file system configuration value ] : Normal
+ B3. [ Set pre-read block size value ] : Normal
+ B4. [ Set IO scheduler value ] : Normal
+ B5. [ Set network card configuration value ] : Normal
+ B6. [ Set THP service ] : Normal
+ B7. [ Set RemoveIPC value ] : Normal
+Total numbers:6. Abnormal numbers:0. Warning number:0.
+```
+
diff --git "a/content/zh/docs/Quickstart/\346\243\200\346\237\245\347\202\271.md" "b/content/zh/docs/Quickstart/\346\243\200\346\237\245\347\202\271.md"
index 3a8bcdc564938d1a2a9ef8f91a61b0225457ac72..8fff2112c62b730c3e7af54ef0c41e3803cd36ae 100644
--- "a/content/zh/docs/Quickstart/\346\243\200\346\237\245\347\202\271.md"
+++ "b/content/zh/docs/Quickstart/\346\243\200\346\237\245\347\202\271.md"
@@ -1,14 +1,14 @@
-# 检查点
+# 检查点
## checkpoint\_segments
**参数说明:**设置[checkpoint\_timeout](#zh-cn_topic_0242371498_zh-cn_topic_0237124708_zh-cn_topic_0059778936_s880baa9f9b594980afbbe95fb8a77182)周期内所保留的最少WAL日志段文件数量。每个日志文件大小为16MB。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:整型,最小值1
-提升此参数可加快大数据的导入速度,但需要结合[checkpoint\_timeout](#zh-cn_topic_0242371498_zh-cn_topic_0237124708_zh-cn_topic_0059778936_s880baa9f9b594980afbbe95fb8a77182)、[shared\_buffers](zh-cn_topic_0237124699.md#zh-cn_topic_0059777577_s55a43fb6d0464430a59031671b37cd07)这两个参数统一考虑。这个参数同时影响WAL日志段文件复用数量,通常情况下pg\_xlog文件夹下最大的复用文件个数为2倍的checkpoint\_segments个,复用的文件被改名为后续即将使用的WAL日志段文件,不会被真正删除。
+提升此参数可加快大数据的导入速度,但需要结合[checkpoint\_timeout](#zh-cn_topic_0242371498_zh-cn_topic_0237124708_zh-cn_topic_0059778936_s880baa9f9b594980afbbe95fb8a77182)、[shared\_buffers](内存.md#zh-cn_topic_0242371489_zh-cn_topic_0237124699_zh-cn_topic_0059777577_s55a43fb6d0464430a59031671b37cd07)这两个参数统一考虑。这个参数同时影响WAL日志段文件复用数量,通常情况下pg\_xlog文件夹下最大的复用文件个数为2倍的checkpoint\_segments个,复用的文件被改名为后续即将使用的WAL日志段文件,不会被真正删除。
**默认值:**64
@@ -16,11 +16,11 @@
**参数说明:**设置自动WAL检查点之间的最长时间。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:整型, 30~3600(秒)
-在提升[checkpoint\_segments](#zh-cn_topic_0242371498_zh-cn_topic_0237124708_zh-cn_topic_0059778936_sbadc77895e6643b882a5e7557e405373)以加快大数据导入的场景也需将此参数调大,同时这两个参数提升会加大[shared\_buffers](zh-cn_topic_0237124699.md#zh-cn_topic_0059777577_s55a43fb6d0464430a59031671b37cd07)的负担,需要综合考虑。
+在提升[checkpoint\_segments](#zh-cn_topic_0242371498_zh-cn_topic_0237124708_zh-cn_topic_0059778936_sbadc77895e6643b882a5e7557e405373)以加快大数据导入的场景也需将此参数调大,同时这两个参数提升会加大[shared\_buffers](内存.md#zh-cn_topic_0242371489_zh-cn_topic_0237124699_zh-cn_topic_0059777577_s55a43fb6d0464430a59031671b37cd07)的负担,需要综合考虑。
**默认值:**15min
@@ -28,7 +28,7 @@
**参数说明:**指定检查点完成的目标。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:0.0~1.0
@@ -41,7 +41,7 @@
**参数说明:**如果由于填充检查点段文件导致检查点发生的时间间隔接近这个参数表示的秒数,就向服务器日志发送一个建议增加[checkpoint\_segments](#zh-cn_topic_0242371498_zh-cn_topic_0237124708_zh-cn_topic_0059778936_sbadc77895e6643b882a5e7557e405373)值的消息。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:整型,0\~INT\_MAX(秒),其中0表示关闭警告。
@@ -53,7 +53,7 @@
**参数说明:**设置请求检查点等待checkpointer线程启动的最长时间。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:整型,2~3600(秒)
@@ -63,7 +63,7 @@
**参数说明:**增量检查点开关。
-该参数属于POSTMASTER类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:布尔型
@@ -73,7 +73,7 @@
**参数说明:**双写开关,增量检查点开关打开时,不再使用full\_page\_writes防止半页写问题,而是依赖双写特性保护。
-该参数属于POSTMASTER类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:布尔型
@@ -83,7 +83,7 @@
**参数说明:**增量检查点开关打开之后,设置自动WAL检查点之间的最长时间。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:整型,1\~3600(秒)
@@ -91,11 +91,21 @@
## enable\_xlog\_prune
-**参数说明:**设置主机是否在任一备机断联时候保留全部xlog不回收。
+**参数说明:**设置在任一备机断联时,主机是否根据xlog日志的大小超过参数max\_size\_for\_xlog\_prune的值而回收日志。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:布尔型
**默认值:**on
+## max\_size\_for\_xlog\_prune
+
+**参数说明:**在enable\_xlog\_prune打开时生效,如果有备机断连且xlog日志大小大于此阈值,则回收日志。
+
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+
+**取值范围**:整型,0~576 460 752 303 423 487,单位为MB
+
+**默认值:**100000,单位MB
+
diff --git "a/content/zh/docs/Quickstart/\347\211\210\346\234\254\345\222\214\345\271\263\345\217\260\345\205\274\345\256\271\346\200\247.md" "b/content/zh/docs/Quickstart/\347\211\210\346\234\254\345\222\214\345\271\263\345\217\260\345\205\274\345\256\271\346\200\247.md"
index a73c64c0c2c4135c69e0e1a43e78e60932b7fa02..e3bb2ce7cdf3a91874e0f952671414b7fd27ab92 100644
--- "a/content/zh/docs/Quickstart/\347\211\210\346\234\254\345\222\214\345\271\263\345\217\260\345\205\274\345\256\271\346\200\247.md"
+++ "b/content/zh/docs/Quickstart/\347\211\210\346\234\254\345\222\214\345\271\263\345\217\260\345\205\274\345\256\271\346\200\247.md"
@@ -1,4 +1,4 @@
-# 版本和平台兼容性
+# 版本和平台兼容性
- **[历史版本兼容性](历史版本兼容性.md)**
diff --git "a/content/zh/docs/Quickstart/\347\224\250\346\210\267\345\222\214\346\235\203\351\231\220\345\256\241\350\256\241.md" "b/content/zh/docs/Quickstart/\347\224\250\346\210\267\345\222\214\346\235\203\351\231\220\345\256\241\350\256\241.md"
index dd8eb967c717d4ece85e49869bdca303f82bf6f3..eebe50703e63d642fc50f5606042ee9cbdbfcaa0 100644
--- "a/content/zh/docs/Quickstart/\347\224\250\346\210\267\345\222\214\346\235\203\351\231\220\345\256\241\350\256\241.md"
+++ "b/content/zh/docs/Quickstart/\347\224\250\346\210\267\345\222\214\346\235\203\351\231\220\345\256\241\350\256\241.md"
@@ -1,10 +1,10 @@
-# 用户和权限审计
+# 用户和权限审计
## audit\_login\_logout
**参数说明:**这个参数决定是否审计openGauss用户的登录(包括登录成功和登录失败)、注销。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,0\~7。
@@ -23,7 +23,7 @@
**参数说明:**该参数决定是否对openGauss的启动、停止、切换和恢复进行审计。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,0、1。
@@ -36,7 +36,7 @@
**参数说明:**该参数决定是否审计openGauss用户的锁定和解锁。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,0、1。
@@ -49,7 +49,7 @@
**参数说明:**该参数决定是否审计用户的越权访问操作。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,0、1。
@@ -62,7 +62,7 @@
**参数说明:**该参数决定是否审计openGauss用户权限授予和回收的操作。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,0、1。
diff --git "a/content/zh/docs/Quickstart/\347\224\250\346\210\267\345\234\250openGauss\350\212\202\347\202\271\351\227\264\347\232\204\344\272\222\344\277\241\344\270\242\345\244\261.md" "b/content/zh/docs/Quickstart/\347\224\250\346\210\267\345\234\250openGauss\350\212\202\347\202\271\351\227\264\347\232\204\344\272\222\344\277\241\344\270\242\345\244\261.md"
index da836d6adb811b0c221aa0937b53468e8c74abb4..e206e10e62c54018aaf3360b33cce2683fbfd8d7 100644
--- "a/content/zh/docs/Quickstart/\347\224\250\346\210\267\345\234\250openGauss\350\212\202\347\202\271\351\227\264\347\232\204\344\272\222\344\277\241\344\270\242\345\244\261.md"
+++ "b/content/zh/docs/Quickstart/\347\224\250\346\210\267\345\234\250openGauss\350\212\202\347\202\271\351\227\264\347\232\204\344\272\222\344\277\241\344\270\242\345\244\261.md"
@@ -53,16 +53,17 @@ Password:
1. 创建一个执行互信脚本所需要的输入文本,并在此文件中添加openGauss中所有主机IP。
```
- plat1:/opt/software> vim hostfile
+ plat1:/opt/software/openGauss> vim hostfile
192.168.0.1
192.168.0.2
192.168.0.3
```
-2. 以需要创建互信的用户执行以下脚本建立互信。
+2. 以需要创建互信的用户执行脚本。
+3. 执行下面脚本建立互信。
```
- plat1:/opt/software/gaussdb/script# gs_sshexkey -f /opt/software/hostfile
+ plat1:/opt/software/openGauss/script# gs_sshexkey -f /opt/software/hostfile
```
/opt/software/hostfile为主机列表,列出所有需要建立互信机器的主机IP。
@@ -77,7 +78,7 @@ Password:
手工建立信任关系,步骤如下,plat1,plat2,plat3是主机名:
-1. 在其中一个主机上,生成root用户的本机授权文件。假设在主机plat1上执行。
+1. 在其中一个主机上,生成root用户的本机授权文件。假设在主机plat1上执行。
1. 生成密钥。
```
@@ -123,7 +124,7 @@ Password:
plat1:~ # cat .ssh/id_rsa.pub >> .ssh/authorized_keys
```
-2. 收集所有的待建互信主机的公钥,写入到本机的known\_hosts文件中。此步骤需要在[步骤1](#zh-cn_topic_0231761642_zh-cn_topic_0085434670_zh-cn_topic_0059782026_li18127395152125)执行的主机上执行。需要收集plat1、plat2、plat3三个主机的公钥。
+2. 收集所有的待建互信主机的公钥,写入到本机的known\_hosts文件中。此步骤需要在步骤1执行的主机上执行。需要收集plat1、plat2、plat3三个主机的公钥。
1. 收集plat1的公钥,写入到本机known\_hosts文件中。
```
@@ -208,8 +209,7 @@ Password:
```
plat1:~ # ssh plat2
- Last login: Tue Jan 5 10:28:18 2016 from plat1
- Huawei's internal systems must only be used for conducting Huawei's business or for purposes authorized by Huawei management.Use is subject to audit at any time by Huawei management.
+ Last login: Sat Jun 20 14:01:07 2020
plat2:~ # exit
logout
Connection to plat2 closed.
diff --git "a/content/zh/docs/Quickstart/\347\241\256\350\256\244\350\277\236\346\216\245\344\277\241\346\201\257.md" "b/content/zh/docs/Quickstart/\347\241\256\350\256\244\350\277\236\346\216\245\344\277\241\346\201\257.md"
index 5b862fe27250037fe0c537a426746fd7ea4433fa..ee1cfccd0b2fb5342a8dccc0cadf7c3aeeddc44e 100644
--- "a/content/zh/docs/Quickstart/\347\241\256\350\256\244\350\277\236\346\216\245\344\277\241\346\201\257.md"
+++ "b/content/zh/docs/Quickstart/\347\241\256\350\256\244\350\277\236\346\216\245\344\277\241\346\201\257.md"
@@ -1,34 +1,34 @@
-# 确认连接信息
+# 确认连接信息
-客户端工具通过数据库主节点连接数据库。因此连接前,需清楚数据库主节点所在服务器的IP地址,及数据库主节点的端口号信息。客户端工具可以通过任何一个数据库主节点连接数据库。
+客户端工具通过数据库主节点连接数据库。因此连接前,需获取数据库主节点所在服务器的IP地址及数据库主节点的端口号信息。
-## 操作步骤
+## 操作步骤
1. 以操作系统用户omm登录数据库主节点。
-2. 使用“gs\_om -t status --detail”命令查询openGauss各实例情况,确认数据库主节点所在的服务器的IP地址及数据路径(端口号查询备用)。
-
- 例如下面示例中,部署了数据库主节点实例的服务器IP地址分别为192.168.10.11、192.168.10.12和192.168.0.13。数据库主节点数据路径为“/srv/BigData/mppdb/data1/datanode”。
+2. 使用“gs\_om -t status --detail”命令查询openGauss各实例情况。
```
gs_om -t status --detail
```
```
- [ Coordinator State ]
+ [ DBnode State ]
node node_ip instance state
-----------------------------------------------------------------------------
- 1 plat1 192.168.0.11 5001 /srv/BigData/mppdb/data1/datanode Normal
- 2 plat2 192.168.0.12 5002 /srv/BigData/mppdb/data1/datanode Normal
- 3 plat3 192.168.0.13 5003 /srv/BigData/mppdb/data1/datanode Normal
+ 1 plat1 192.168.0.11 5001 /srv/BigData/gaussdb/data1/dbnode Normal
+ 2 plat2 192.168.0.12 5002 /srv/BigData/gaussdb/data1/dbnode Normal
+ 3 plat3 192.168.0.13 5003 /srv/BigData/gaussdb/data1/dbnode Normal
```
+ 如上部署了数据库主节点实例的服务器IP地址分别为192.168.10.11、192.168.10.12和192.168.0.13。数据库主节点数据路径为“/srv/BigData/gaussdb/data1/dbnode”。
+
3. 确认数据库主节点的端口号。
- 在[2](#zh-cn_topic_0241234209_zh-cn_topic_0085434639_zh-cn_topic_0059782064_zh-cn_topic_0062129725_li736435692628)查到的数据库主节点数据路径下的postgresql.conf文件中查看端口号信息。示例如下:
+ 在[2](#zh-cn_topic_0242370176_zh-cn_topic_0237120290_zh-cn_topic_0062129725_li736435692628)查到的数据库主节点数据路径下的postgresql.conf文件中查看端口号信息。示例如下:
```
- cat postgresql.conf | grep port
+ cat /srv/BigData/gaussdb/data1/dbnode/postgresql.conf | grep port
```
```
@@ -40,7 +40,6 @@
# e.g. 'localhost=10.145.130.2 localport=12311 remotehost=10.145.130.4 remoteport=12312, localhost=10.145.133.2 localport=12313 remotehost=10.145.133.4 remoteport=12314'
# %r = remote host and port
alarm_report_interval = 10
- pooler_port = 8001
support_extended_features=true
```
diff --git "a/content/zh/docs/Quickstart/\347\243\201\347\233\230\347\251\272\351\227\264.md" "b/content/zh/docs/Quickstart/\347\243\201\347\233\230\347\251\272\351\227\264.md"
index 24fb0449b166ac4c9a3295f8a0c0b0d3a8bd58ea..9bbbb7bbc907dab262acaeef6dd2725abc49e839 100644
--- "a/content/zh/docs/Quickstart/\347\243\201\347\233\230\347\251\272\351\227\264.md"
+++ "b/content/zh/docs/Quickstart/\347\243\201\347\233\230\347\251\272\351\227\264.md"
@@ -1,4 +1,4 @@
-# 磁盘空间
+# 磁盘空间
介绍与磁盘空间相关的参数,用于限制临时文件所占用的磁盘空间。
diff --git "a/content/zh/docs/Quickstart/\347\244\272\344\276\213-0.md" "b/content/zh/docs/Quickstart/\347\244\272\344\276\213-0.md"
index c98a408603076872df25adaa204a3fa46e467afc..93a3cbb1d840bf0f84f09dff3e9c7668d19cfda5 100644
--- "a/content/zh/docs/Quickstart/\347\244\272\344\276\213-0.md"
+++ "b/content/zh/docs/Quickstart/\347\244\272\344\276\213-0.md"
@@ -4,7 +4,6 @@
```
//DBtest.java
-//以下用例以gsjdbc4.jar为例,如果要使用gsjdbc200.jar,请替换驱动类名(将代码中的“org.postgresql”替换成“com.huawei.gauss200.jdbc”)与连接URL串前缀(将“jdbc:postgresql”替换为“jdbc:gaussdb”)。
//演示基于JDBC开发的主要步骤,会涉及创建数据库、创建表、插入数据等。
import java.sql.Connection;
diff --git "a/content/zh/docs/Quickstart/\347\244\272\344\276\213.md" "b/content/zh/docs/Quickstart/\347\244\272\344\276\213.md"
index d6c6c99417862fc3d3592007b64ab620c79fc27e..3382744d84a7e2b45011b30cd94c137b3b38126d 100644
--- "a/content/zh/docs/Quickstart/\347\244\272\344\276\213.md"
+++ "b/content/zh/docs/Quickstart/\347\244\272\344\276\213.md"
@@ -1,4 +1,4 @@
-# 示例
+# 示例
- **[单节点配置文件](单节点配置文件.md)**
diff --git "a/content/zh/docs/Quickstart/\347\255\211\345\276\205\344\272\213\344\273\266.md" "b/content/zh/docs/Quickstart/\347\255\211\345\276\205\344\272\213\344\273\266.md"
index eb03383b15f49b6c1c1a4886bb944b4f9a9b0659..c1bbe24f37002e79fe1d8dce8377bce41ef9f481 100644
--- "a/content/zh/docs/Quickstart/\347\255\211\345\276\205\344\272\213\344\273\266.md"
+++ "b/content/zh/docs/Quickstart/\347\255\211\345\276\205\344\272\213\344\273\266.md"
@@ -1,10 +1,10 @@
-# 等待事件
+# 等待事件
## enable\_instr\_track\_wait
**参数说明:**是否开启等待事件信息实时收集功能。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**布尔型
diff --git "a/content/zh/docs/Quickstart/\347\263\273\347\273\237\346\200\247\350\203\275\345\277\253\347\205\247.md" "b/content/zh/docs/Quickstart/\347\263\273\347\273\237\346\200\247\350\203\275\345\277\253\347\205\247.md"
index 2b984d82d08dc9f1bfca36cd3ba3108b7470cf22..7adc2e2cd21c01dae474193565bd459ff22c254e 100644
--- "a/content/zh/docs/Quickstart/\347\263\273\347\273\237\346\200\247\350\203\275\345\277\253\347\205\247.md"
+++ "b/content/zh/docs/Quickstart/\347\263\273\347\273\237\346\200\247\350\203\275\345\277\253\347\205\247.md"
@@ -1,10 +1,10 @@
-# 系统性能快照
+# 系统性能快照
## enable\_wdr\_snapshot
**参数说明:**是否开启数据库监控快照功能。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -17,7 +17,7 @@
**参数说明:**系统中数据库监控快照数据的保留天数,超过设置的值之后,系统每隔wdr\_snapshot\_interval时间间隔,清理snapshot\_id最小的快照数据。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,1~8。
@@ -27,7 +27,7 @@
**参数说明:**系统执行数据库监控快照操作时,设置快照操作相关的sql语句的执行超时时间。如果语句超过设置的时间没有执行完并返回结果,则本次快照操作失败。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,100~INT\_MAX(秒)。
@@ -37,7 +37,7 @@
**参数说明:**后台线程Snapshot自动对数据库监控数据执行快照操作的时间间隔。
-该参数属于SIGHUP类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**整型,10~60(分钟)。
diff --git "a/content/zh/docs/Quickstart/\350\207\252\345\212\250\346\270\205\347\220\206.md" "b/content/zh/docs/Quickstart/\350\207\252\345\212\250\346\270\205\347\220\206.md"
index a7d96059d41c2b3b464d19a7512941a97c186ac6..78d07f783f14f6e7bc48b73c3d36a9f742708a25 100644
--- "a/content/zh/docs/Quickstart/\350\207\252\345\212\250\346\270\205\347\220\206.md"
+++ "b/content/zh/docs/Quickstart/\350\207\252\345\212\250\346\270\205\347\220\206.md"
@@ -1,12 +1,12 @@
-# 自动清理
+# 自动清理
系统自动清理进程(autovacuum)自动执行VACUUM和ANALYZE命令,回收被标识为删除状态的记录空间,并更新表的统计数据。
## autovacuum
-**参数说明:**控制数据库自动清理进程(autovacuum)的启动。自动清理进程运行的前提是将[track\_counts](zh-cn_topic_0237124727.md#zh-cn_topic_0059779313_s3f4fb0b1004041f69e1454c701952411)设置为on。
+**参数说明:**控制数据库自动清理进程(autovacuum)的启动。自动清理进程运行的前提是将[track\_counts](查询和索引统计收集器.md#zh-cn_topic_0242371517_zh-cn_topic_0237124727_zh-cn_topic_0059779313_s3f4fb0b1004041f69e1454c701952411)设置为on。
-该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
> **说明:**
>- 如果希望系统在故障恢复后,具备自动清理两阶段事务的功能,请将autovacuum设置为on;
@@ -30,7 +30,7 @@
**参数说明:**该参数仅在autovacuum设置为on的场景下生效,它控制autoanalyze或autovacuum的打开情况。
-该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**枚举类型
@@ -45,7 +45,7 @@
**参数说明:**设置autoanalyze的超时时间。在对某张表做autoanalyze时,如果该表的analyze时长超过了autoanalyze\_timeout,则自动取消该表此次analyze。
-该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**int类型,单位是s,0\~2147483。
@@ -55,7 +55,7 @@
**参数说明:**控制autovacuum进程每秒触发IO的上限。
-该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,0~1073741823和-1。其中-1表示不控制,而是使用系统默认控制组。
@@ -65,7 +65,7 @@
**参数说明:**当自动清理的执行时间大于或者等于某个特定的值时,向服务器日志中记录自动清理执行的每一步操作。设置此选项有助于追踪自动清理的行为。
-该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
举例如下:
@@ -83,7 +83,7 @@
**参数说明:**设置能同时运行的自动清理线程的最大数量,该参数的取值上限与GUC参数max\_connections和job\_queue\_processes大小有关。
-该参数属于POSTMASTER类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,最小值为0(表示不会自动进行autovacuum),理论最大值为262143,实际最大值为动态值,计算公式为“262143 - max\_connections - job\_queue\_processes - 辅助线程数 – autovacuum的lancher线程数 - 1”,其中辅助线程数和autovacuum的lancher线程数由两个宏来指定,当前版本的默认值分别为20和2。
@@ -93,7 +93,7 @@
**参数说明:**设置两次自动清理操作的时间间隔。
-该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,单位为s,最小值为1,最大值为2147483。
@@ -103,7 +103,7 @@
**参数说明:**设置触发VACUUM的阈值。当表上被删除或更新的记录数超过设定的阈值时才会对这个表执行VACUUM操作。
-该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,最小值为0,最大值为2147483647。
@@ -113,7 +113,7 @@
**参数说明:**设置触发ANALYZE操作的阈值。当表上被删除、插入或更新的记录数超过设定的阈值时才会对这个表执行ANALYZE操作。
-该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,最小值为0,最大值为2147483647。
@@ -123,7 +123,7 @@
**参数说明:**设置触发一个VACUUM时增加到autovacuum\_vacuum\_threshold的表大小的缩放系数。
-该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**浮点型,0.0~100.0
@@ -133,7 +133,7 @@
**参数说明:**设置触发一个ANALYZE时增加到autovacuum\_analyze\_threshold的表大小的缩放系数。
-该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**浮点型,0.0~100.0
@@ -146,7 +146,7 @@
- VACUUM也可以删除pg\_clog/子目录中的旧文件。
- 即使自动清理进程被禁止,系统也会调用自动清理进程来防止循环重复。
-该参数属于POSTMASTER类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:长**整型,100 000~576 460 752 303 423 487
@@ -156,7 +156,7 @@
**参数说明:**设置在自动VACUUM操作里使用的开销延迟数值。
-该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,-1~100,单位为毫秒(ms)。其中-1表示使用常规的vacuum\_cost\_delay。
@@ -166,7 +166,7 @@
**参数说明:**设置在自动VACUUM操作里使用的开销限制数值。
-该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,-1~10000。其中-1表示使用常规的vacuum\_cost\_limit。
@@ -176,7 +176,7 @@
**参数说明:**该参数用来控制内核调度gs\_clean工具的并发清理数。
-该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,1~10
diff --git "a/content/zh/docs/Quickstart/\350\216\267\345\217\226\345\271\266\346\240\241\351\252\214\345\256\211\350\243\205\345\214\205.md" "b/content/zh/docs/Quickstart/\350\216\267\345\217\226\345\271\266\346\240\241\351\252\214\345\256\211\350\243\205\345\214\205.md"
index f3c6d4f13ffa1e296b47bc19dab8496b16741af7..445aff6126b14165ef7065ef0c4932312bef9709 100644
--- "a/content/zh/docs/Quickstart/\350\216\267\345\217\226\345\271\266\346\240\241\351\252\214\345\256\211\350\243\205\345\214\205.md"
+++ "b/content/zh/docs/Quickstart/\350\216\267\345\217\226\345\271\266\346\240\241\351\252\214\345\256\211\350\243\205\345\214\205.md"
@@ -1,16 +1,15 @@
-# 获取并校验安装包
+# 获取并校验安装包
为了防止安装包在传输过程中被恶意篡改或破坏给客户网络安全造成威胁,在获取到安装包后,需要对安装包的完整性进行校验,通过了校验的安装包才能部署。
-## 前提条件
+## 前提条件
-- 已经获取PGP简易验证工具,如PGPVerify,同时也已获取公钥文件。
- 已经获取openGauss安装包和签名文件,安装包与签名文件是一一对应并放在同一目录下,一个安装包对应一个校验文件,签名文件由各产品与对应的安装包版本同时发布,签名文件的后缀是“asc”,通常情况下名称和安装包名称相同。假设安装包的名称openGauss-x.x.x.x-CentOS-64bit.tar.gz时,对应的校验文件的名称为“openGauss-x.x.x.x-CentOS-64bit.tar.asc”。
-## 操作步骤
+## 操作步骤
-1. **从openGauss开源社区下载对应平台的安装包**。
- 1. 登陆openGauss开源社区。
+1. 从openGauss开源社区下载对应平台的安装包。
+ 1. 登录openGauss开源社区。
2. 单击“下载”。
3. 解压下载后的压缩包。
@@ -18,40 +17,23 @@
1. 解压安装包,检查安装目录及文件是否齐全。在安装包所在目录执行以下命令:
```
- tar -zxvfopenGauss-x.x.x-openEuler-64bit.tar.gz
+ tar -zxvf openGauss-x.x.x-openEuler-64bit.tar.gz
ls -1
```
执行ls命令,显示类似如下信息,其中packages目录中_openGauss-x.x.x-openEuler_-64bit.tar.gz表示数据库安装包,在执行_openGauss-x.x.x_安装的过程中会对数据库安装程序自动执行SHA256校验
```
- total 188632
- -rwxr-xr-x 1 root root 392301 Sep 7 14:53 Copyright Notice.docx
- -rw-r--r-- 1 root root 1615973 Sep 7 14:52 openGauss-x.x.x-Inspection.tar.gz
- -rw-r--r-- 1 root root 17521151 Sep 7 14:54 openGauss-x.x.x-openEuler-64bit-ClientTools.tar.gz
- -rw-r--r-- 1 root root 7386461 Sep 7 14:54 openGauss-x.x.x-openEuler-64bit-Jdbc.tar.gz
- -rw-r--r-- 1 root root 4336455 Sep 7 14:54 openGauss-x.x.x-openEuler-64bit-Libpq.tar.gz
- -rw-r--r-- 1 root root 4982437 Sep 7 14:54 openGauss-x.x.x-openEuler-64bit-Odbc.tar.gz
- -rw-r--r-- 1 root root 2983406 Sep 7 14:54 openGauss-x.x.x-openEuler-64bit-gauss-loader.tar.gz
- -rw-r--r-- 1 root root 4559410 Sep 7 14:54openGauss-x.x.x-openEuler-64bit-gsql.tar.gz
- -rwxr-xr-x 1 root root 95274943 Sep 7 14:51 openGauss-x.x.x-openEuler-64bit-symbol.tar.gz
- -rwx------ 1 root root 184035063 Sep 7 14:53 openGauss-x.x.x-openEuler-64bit.bin
- -rw-r--r-- 1 root root 65 Sep 7 14:53 openGauss-x.x.x-openEuler-64bit.sha256
- -rw-r--r-- 1 root root 224104563 Sep 7 14:54 openGauss-x.x.x-openEuler-64bit.tar.gz
- -rw-r--r-- 1 root root 7253 Sep 7 14:30 openGauss-x.x.x-Sslcert.tar.gz
- -rwx------ 1 root root 370511659 Sep 10 15:14 openGauss-x.x.x_PACKAGES.tar.gz
- -rw------- 1 root root 65 Sep 7 14:53 inplace_upgrade_sql.sha256
- -rw------- 1 root root 193799 Sep 7 14:53 inplace_upgrade_sql.tar.gz
- drwxr-xr-x 9 root root 4096 Sep 7 14:53 lib
- drwxr-xr-x 4 root root 4096 Sep 7 14:53 libcgroup
- drwxr-xr-x 11 root root 4096 Sep 7 14:53 lvs
- drwxr-xr-x 7 root root 4096 Sep 7 14:53 pssh-2.3.1
- drwxr-xr-x 6 root root 4096 Sep 7 14:53 script
- drwxr-xr-x 9 root root 4096 Sep 7 14:53 sctp_patch
- -rwxr-xr-x 1 root root 40 Sep 7 14:53 server.key.cipher
- -rwxr-xr-x 1 root root 24 Sep 7 14:53 server.key.rand
- drwxr-xr-x 5 root root 4096 Sep 7 14:53 sudo
- -rw-r--r-- 1 root root 28 Sep 7 14:53 version.cfg
+ total 577M
+ -rw-r--r-- 1 root root 36 Jun 15 11:46 bepkit_env.conf
+ drwxr-xr-x 14 root root 4.0K Jun 15 11:46 lib
+ -rw-r--r-- 1 root root 65 Jun 15 11:46 openGauss-x.x.x-openEuler-64bit.sha256
+ -rwxr-xr-x 1 root root 214M Jun 15 11:46 openGauss-x.x.x-openEuler-64bit-symbol.tar.gz
+ -rw-r--r-- 1 root root 47M Jun 15 11:46 openGauss-x.x.x-openEuler-64bit.tar.bz2
+ -rw-r--r-- 1 root root 53M Jun 15 11:46 openGauss-x.x.x-openEuler-64bit.tar.gz
+ -rw------- 1 root root 265M Jun 18 15:50 openGauss-x.x.x_PACKAGES_RELEASE.tar.gz
+ drwxr-xr-x 5 root root 4.0K Jun 15 11:46 script
+ -rw-r--r-- 1 root root 32 Jun 15 11:46 version.cfg
```
diff --git "a/content/zh/docs/Quickstart/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\344\275\215\347\275\256.md" "b/content/zh/docs/Quickstart/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\344\275\215\347\275\256.md"
index 31c5273b77baaf3765536fb6efbe5834a810c09b..35c729d9d5b6e2de15e2d3bf06c95fc2c23effed 100644
--- "a/content/zh/docs/Quickstart/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\344\275\215\347\275\256.md"
+++ "b/content/zh/docs/Quickstart/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\344\275\215\347\275\256.md"
@@ -1,4 +1,4 @@
-# 记录日志的位置
+# 记录日志的位置
## log\_destination
@@ -11,7 +11,7 @@
有效值为stderr、csvlog、syslog。
- 取值为stderr,表示日志打印到屏幕。
-- 取值为csvlog,表示日志的输出格式为“逗号分隔值”即CSV (Comma Separated Value)格式。使用csvlog记录日志的前提是将[logging\_collector](#zh-cn_topic_0242371511_zh-cn_topic_0237124721_zh-cn_topic_0059778787_s61d6090c04ee464fb54f8b31936ba818)设置为on,请参见[使用CSV格式写日志](使用CSV格式写日志.md#ZH-CN_TOPIC_0244544101)。
+- 取值为csvlog,表示日志的输出格式为“逗号分隔值”即CSV (Comma Separated Value)格式。使用csvlog记录日志的前提是将[logging\_collector](#zh-cn_topic_0242371511_zh-cn_topic_0237124721_zh-cn_topic_0059778787_s61d6090c04ee464fb54f8b31936ba818)设置为on,请参见[使用CSV格式写日志](使用CSV格式写日志.md#ZH-CN_TOPIC_0251900953)。
- 取值为syslog,表示通过操作系统的syslog记录日志。openGauss使用syslog的LOCAL0 ~ LOCAL7记录日志,请参见[syslog\_facility](#zh-cn_topic_0242371511_zh-cn_topic_0237124721_zh-cn_topic_0059778787_s853e14ac6a8a47678036cdc8e5119090)。使用syslog记录日志需在操作系统后台服务配置文件中添加代码:
```
@@ -126,6 +126,8 @@
0表示关闭基于容量的新日志文件的创建。
+建议该值大小设置级别至少为MB级,利于日志文件的及时划分。
+
**默认值:**20MB
## syslog\_facility
@@ -150,7 +152,7 @@
## event\_source
-**参数说明:**log\_destination设置为eventlog时,event\_source设置在日志中openGauss日志消息的标识。
+**参数说明:**该参数仅在windows环境下生效, openGauss暂不支持。log\_destination设置为eventlog时,event\_source设置在日志中openGauss日志消息的标识。
该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
diff --git "a/content/zh/docs/Quickstart/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\345\206\205\345\256\271.md" "b/content/zh/docs/Quickstart/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\345\206\205\345\256\271.md"
index 70a8ee8c53514e62bcca1707ad8de23e266d507f..a460018b1b931857f0cf2ee07b24f35054a55811 100644
--- "a/content/zh/docs/Quickstart/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\345\206\205\345\256\271.md"
+++ "b/content/zh/docs/Quickstart/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\345\206\205\345\256\271.md"
@@ -1,4 +1,4 @@
-# 记录日志的内容
+# 记录日志的内容
## debug\_print\_parse
@@ -127,7 +127,7 @@
## log\_hostname
-**参数说明:**默认状态下,连接消息日志只显示正在连接主机的IP地址。打开此选项同时可以记录主机名。由于解析主机名可能需要一定的时间,可能影响数据库的性能。
+**参数说明:**选项关闭状态下,连接消息日志只显示正在连接主机的IP地址。打开此选项同时可以记录主机名。由于解析主机名可能需要一定的时间,可能影响数据库的性能。
该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
@@ -253,7 +253,7 @@
> to_hex(pid)
>FROM pg_stat_activity;
>```
->- 当log\_line\_prefix设置为空值时,请将其最后一个字符作为一个独立的段,以此来直观地与后续的日志进行区分,也可以使用一个标点符号。
+>- 当log\_line\_prefix设置为非空值时,请将其最后一个字符作为一个独立的段,以此来直观地与后续的日志进行区分,也可以使用一个标点符号。
>- Syslog生成自己的时间戳及进程ID信息,所以当登录日志时,不需要包含这些转义字符。
**取值范围:**字符串
diff --git "a/content/zh/docs/Quickstart/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\346\227\266\351\227\264.md" "b/content/zh/docs/Quickstart/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\346\227\266\351\227\264.md"
index 87f9e645e445f8fae47eed2c3513d710b30d9e66..3a615abec9f3abfae48ca86909cd7d7caf67a975 100644
--- "a/content/zh/docs/Quickstart/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\346\227\266\351\227\264.md"
+++ "b/content/zh/docs/Quickstart/\350\256\260\345\275\225\346\227\245\345\277\227\347\232\204\346\227\266\351\227\264.md"
@@ -1,10 +1,10 @@
-# 记录日志的时间
+# 记录日志的时间
## client\_min\_messages
**参数说明:**控制发送到客户端的消息级别。每个级别都包含排在它后面的所有级别中的信息。级别越低,发送给客户端的消息就越少。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
>当client\_min\_messages和[log\_min\_messages](#zh-cn_topic_0242371512_zh-cn_topic_0237124722_zh-cn_topic_0059778452_sc6c47ec8cc1b47e28be98dbb24b1b39a)取相同值时,其值所代表的级别不同。
@@ -17,7 +17,7 @@
**参数说明:**控制写到服务器日志文件中的消息级别。每个级别都包含排在它后面的所有级别中的信息。级别越低,服务器运行日志中记录的消息就越少。
-该参数属于SUSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SUSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
>当[client\_min\_messages](#zh-cn_topic_0242371512_zh-cn_topic_0237124722_zh-cn_topic_0059778452_s2955da1f1cb24b0aa68ddc77700233e0)和log\_min\_messages取相同值log时所代表的消息级别不同。
@@ -30,7 +30,7 @@
**参数说明:**控制在服务器日志中记录错误的SQL语句。
-该参数属于SUSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SUSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围:**枚举类型,有效值有debug、debug5、debug4、debug3、debug2、debug1、info、log、notice、warning、error、fatal、panic。参数的详细信息请参见[表1](#zh-cn_topic_0242371512_zh-cn_topic_0237124722_zh-cn_topic_0059778452_zh-cn_topic_0058967791_table55180162)。
@@ -46,10 +46,10 @@
设置log\_min\_duration\_statement可以很方便地跟踪需要优化的查询语句。对于使用扩展查询协议的客户端,语法分析、绑定、执行每一步所花时间被独立记录。
-该参数属于SUSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SUSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
->当此选项与[log\_statement](zh-cn_topic_0237124723.md#zh-cn_topic_0059778400_s77b3e2e16a3e4705a139bef98688be8a)同时使用时,已经被log\_statement记录的语句文本不会被重复记录。在没有使用syslog情况下,推荐使用[log\_line\_prefix](zh-cn_topic_0237124723.md#zh-cn_topic_0059778400_sd57ce2167a8149239e10ab0cef12b949)记录PID或会话ID,方便将当前语句消息连接到最后的持续时间消息。
+>当此选项与[log\_statement](记录日志的内容.md#zh-cn_topic_0242371513_zh-cn_topic_0237124723_zh-cn_topic_0059778400_s77b3e2e16a3e4705a139bef98688be8a)同时使用时,已经被log\_statement记录的语句文本不会被重复记录。在没有使用syslog情况下,推荐使用[log\_line\_prefix](记录日志的内容.md#zh-cn_topic_0242371513_zh-cn_topic_0237124723_zh-cn_topic_0059778400_sd57ce2167a8149239e10ab0cef12b949)记录PID或会话ID,方便将当前语句消息连接到最后的持续时间消息。
**取值范围:**整型,-1 \~ INT\_MAX,单位为毫秒。
@@ -57,13 +57,13 @@
- 设置为0,输出所有语句的持续时间。
- 设置为-1,关闭此功能。
-**默认值:**3s(即3000ms)
+**默认值:**30min
## backtrace\_min\_messages
**参数说明:**控制当产生该设置参数级别相等或更高级别的信息时,会打印函数的堆栈信息到服务器日志文件中。
-该参数属于SUSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于SUSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
>该参数作为客户现场问题定位手段使用,且由于频繁的打印函数栈会对系统的开销及稳定性有一定的影响,因此如果需要进行问题定位时,建议避免将backtrace\_min\_messages的值设置为fatal及panic以外的级别。
@@ -74,7 +74,7 @@
**默认值:**panic
-[表1](#zh-cn_topic_0242371512_zh-cn_topic_0237124722_zh-cn_topic_0059778452_zh-cn_topic_0058967791_table55180162)解释openGauss中使用的消息安全级别。当日志输出到syslog或者eventlog时,openGauss进行如表中的转换。
+[表1](#zh-cn_topic_0242371512_zh-cn_topic_0237124722_zh-cn_topic_0059778452_zh-cn_topic_0058967791_table55180162)解释openGauss中使用的消息安全级别。当日志输出到syslog或者eventlog\(仅windows环境下, openGauss版本不涉及该参数\)时,openGauss进行如表中的转换。
**表 1** 信息严重程度分类
@@ -168,7 +168,7 @@
**参数说明:**该参数用于控制性能日志数据输出的周期。
-该参数属于USERSET类型参数,请参考[表1](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
> **须知:**
>该参数以毫秒为单位的,建议在使用过程中设置值为1000的整数倍,即设置值以秒为最小单位。该参数所控制的性能日志文件以prf为扩展名,文件放置在$GAUSSLOG/gs\_profile/ 目录下面,其中node\_name是由postgres.conf文件中的pgxc\_node\_name的值,不建议外部使用该参数。
diff --git "a/content/zh/docs/Quickstart/\350\256\276\347\275\256.md" "b/content/zh/docs/Quickstart/\350\256\276\347\275\256.md"
index 33545d5fc410729af6bf5cf9fc987621065414c6..9c8dcfa95e2335c57f5b5e873b46168821cc5730 100644
--- "a/content/zh/docs/Quickstart/\350\256\276\347\275\256.md"
+++ "b/content/zh/docs/Quickstart/\350\256\276\347\275\256.md"
@@ -1,4 +1,4 @@
-# 设置
+# 设置
## wal\_level
@@ -8,6 +8,7 @@
> **须知:**
>- 如果需要启用WAL日志归档和主备机的数据流复制,必须将此参数设置为archive或者hot\_standby。
+>- 如果此参数设置为minimal, archive\_mode必须设置为off, hot\_standby必须设置为off,max\_wal\_senders参数设置为0, 且需为单机环境, 否则将导致数据库无法启动。
>- 如果此参数设置为archive,hot\_standby必须设置为off,否则将导致数据库无法启动。但是,hot\_standby在双机环境中不能设置为off,具体参见hot\_standby参数说明。
**取值范围**:枚举类型
@@ -78,7 +79,7 @@
- fsync\_writethrough表示每次提交的时候调用fsync\(\)强制把缓冲区任何数据写入磁盘。
> **说明:**
- >由于历史原因,我们允许在Windows平台上将wal\_sync\_method设置为fsync\_writethrough,尽管它和fsync等效。
+ >由于历史原因,Windows平台支持将wal\_sync\_method设置为fsync\_writethrough。在windows平台上fsync\_writethrough和fsync等效。
- fsync表示每次提交的时候调用fsync\(\)。(支持suse10和suse11)
- open\_sync表示用带O\_SYNC选项的open\(\)写“WAL”文件。(支持suse10和suse11)
@@ -124,7 +125,7 @@
**取值范围:**-1\~218
- 如果设置为-1,表示wal\_buffers的大小随着参数shared\_buffers自动调整,为shared\_buffers的1/32,最小值为8个XLOG\_BLCKSZ,最大值为2048个XLOG\_BLCKSZ。
-- 如果设置为其他值,当小于8时,会被默认设置为8;当大于2048的时,会被强制设置为2048。
+- 如果设置为其他值,当小于4时,会被默认设置为4。
**默认值:**16MB
@@ -185,5 +186,5 @@
**取值范围**:整型,单位为8KB。
-**默认值:**16MB \(2048 \* 8KB\)
+**默认值:**16MB \(2048 \* 8KB\)
diff --git "a/content/zh/docs/Quickstart/\350\256\276\347\275\256root\347\224\250\346\210\267\350\277\234\347\250\213\347\231\273\345\275\225.md" "b/content/zh/docs/Quickstart/\350\256\276\347\275\256root\347\224\250\346\210\267\350\277\234\347\250\213\347\231\273\345\275\225.md"
index 0582124839ec8dc9a20b4edccbd3959e2c1c6e25..b4bc34ad06c1daf5e2a3be5fb8705373cdb436ea 100644
--- "a/content/zh/docs/Quickstart/\350\256\276\347\275\256root\347\224\250\346\210\267\350\277\234\347\250\213\347\231\273\345\275\225.md"
+++ "b/content/zh/docs/Quickstart/\350\256\276\347\275\256root\347\224\250\346\210\267\350\277\234\347\250\213\347\231\273\345\275\225.md"
@@ -1,4 +1,4 @@
-# 设置root用户远程登录
+# 设置root用户远程登录
在openGauss安装时需要root帐户远程登录访问权限,本章介绍如何设置使用root用户远程登录。
diff --git "a/content/zh/docs/Quickstart/\350\256\276\347\275\256\345\255\227\347\254\246\351\233\206\345\217\202\346\225\260.md" "b/content/zh/docs/Quickstart/\350\256\276\347\275\256\345\255\227\347\254\246\351\233\206\345\217\202\346\225\260.md"
index bf10de44f35d8baf02016ff3ccc3715fe5268883..8ca700c88a65fdb5c8df130398f1f7000b533bfc 100644
--- "a/content/zh/docs/Quickstart/\350\256\276\347\275\256\345\255\227\347\254\246\351\233\206\345\217\202\346\225\260.md"
+++ "b/content/zh/docs/Quickstart/\350\256\276\347\275\256\345\255\227\347\254\246\351\233\206\345\217\202\346\225\260.md"
@@ -1,4 +1,4 @@
-# 设置字符集参数
+# 设置字符集参数
将各数据库节点的字符集设置为相同的字符集,可以在/etc/profile文件中添加"export LANG=XXX"(XXX为Unicode编码)。
diff --git "a/content/zh/docs/Quickstart/\350\256\276\347\275\256\346\227\266\345\214\272\345\222\214\346\227\266\351\227\264.md" "b/content/zh/docs/Quickstart/\350\256\276\347\275\256\346\227\266\345\214\272\345\222\214\346\227\266\351\227\264.md"
index 0689b0eace6a2053a0048acba3fd50f755be14ca..594b7180ac40b1ebfbce57095898f9a7bdea663a 100644
--- "a/content/zh/docs/Quickstart/\350\256\276\347\275\256\346\227\266\345\214\272\345\222\214\346\227\266\351\227\264.md"
+++ "b/content/zh/docs/Quickstart/\350\256\276\347\275\256\346\227\266\345\214\272\345\222\214\346\227\266\351\227\264.md"
@@ -1,4 +1,4 @@
-# 设置时区和时间
+# 设置时区和时间
将各数据库节点的时区设置为相同时区,可以将/usr/share/zoneinfo/目录下的时区文件拷贝为/etc/localtime文件。
@@ -7,7 +7,7 @@ cp /usr/share/zoneinfo/$地区/$时区 /etc/localtime
```
> **说明:**
->_$地区/$时区为需要设置时区的信息,例如:Asian_/Shanghai。
+>_$地区/$时区为需要设置时区的信息,例如:Asia_/Shanghai。
使用date -s命令将各主机的时间设置为统一时间,举例如下。
diff --git "a/content/zh/docs/Quickstart/\350\256\276\347\275\256\347\275\221\345\215\241MTU\345\200\274.md" "b/content/zh/docs/Quickstart/\350\256\276\347\275\256\347\275\221\345\215\241MTU\345\200\274.md"
index e5b9937046e4905748581cfc2bfe13031c8e212b..ae61e3804c76a402497a8e5e7b435110c113d9f2 100644
--- "a/content/zh/docs/Quickstart/\350\256\276\347\275\256\347\275\221\345\215\241MTU\345\200\274.md"
+++ "b/content/zh/docs/Quickstart/\350\256\276\347\275\256\347\275\221\345\215\241MTU\345\200\274.md"
@@ -1,4 +1,4 @@
-# 设置网卡MTU值
+# 设置网卡MTU值
将各数据库节点的网卡MTU值设置为相同大小。MTU值推荐8192,要求不小于1500
diff --git "a/content/zh/docs/Quickstart/\350\257\255\345\217\245\350\241\214\344\270\272.md" "b/content/zh/docs/Quickstart/\350\257\255\345\217\245\350\241\214\344\270\272.md"
index d97762757896342fd209e5df9ce725b48a2e7e81..45b47a17bd40818f6494bf3d0adb965b28ae7bd1 100644
--- "a/content/zh/docs/Quickstart/\350\257\255\345\217\245\350\241\214\344\270\272.md"
+++ "b/content/zh/docs/Quickstart/\350\257\255\345\217\245\350\241\214\344\270\272.md"
@@ -1,4 +1,4 @@
-# 语句行为
+# 语句行为
介绍SQL语句执行过程的相关默认参数。
@@ -6,7 +6,7 @@
**参数说明:**当一个被引用对象没有指定模式时,此参数设置模式搜索顺序。它的值由一个或多个模式名构成,不同的模式名用逗号隔开。
-该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
- 当前会话如果存放临时表的模式时,可以使用别名pg\_temp将它列在搜索路径中,如'pg\_temp,public' 。 存放临时表的模式始终会作为第一个被搜索的对象,排在pg\_catalog和search\_path中所有模式的前面,即具有第一搜索优先级。建议用户不要在search\_path中显示设置pg\_temp。如果在search\_path中指定了pg\_temp,但不是在最前面,系统会提示设置无效,pg\_temp仍被优先搜索。通过使用别名pg\_temp,系统只会在存放临时表的模式中搜索表、视图和数据类型这样的数据库对象,不会在里面搜索函数或运算符这样的数据库对象。
- 系统表所在的模式pg\_catalog,总是排在search\_path中指定的所有模式前面被搜索,即具有第二搜索优先级(pg\_temp具有第一搜索优先级)。建议用户不要在search\_path中显式设置pg\_catalog。如果在search\_path中指定了pg\_catalog,但不是在最前面,系统会提示设置无效,pg\_catalog仍被第二优先搜索。
@@ -29,7 +29,7 @@
**参数说明:**此参数设置当前的模式。
-该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**字符串
@@ -46,7 +46,7 @@
- 临时表不使用此参数,可以用[temp\_tablespaces](#zh-cn_topic_0242371522_zh-cn_topic_0237124732_zh-cn_topic_0059779117_sd5bfdc9f2696411894b2912cf3f23fcc)代替。
- 创建数据库时不使用此参数。默认情况下,一个新的数据库从模板数据库继承表空间配置。
- 该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+ 该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**字符串,其中空表示使用默认表空间。
@@ -57,7 +57,7 @@
**参数说明:**此参数设置当前的默认建表所在的Node Group,目前只适用普通表。
-该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
- 值为“installation”表示建表会默认建在安装的Node Group上。
- 值为其他字符串表示建表会默认建在设置的Node Group上。
@@ -72,7 +72,7 @@
其值是一系列表空间名的列表。如果列表中有多个表空间时,每次临时对象的创建,openGauss会在列表中随机选择一个表空间;如果在事务中,连续创建的临时对象被放置在列表里连续的表空间中。如果选择的列表中的元素是一个空串,openGauss将自动将当前的数据库设为默认的表空间。
-该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**字符串。空字符串表示所有的临时对象仅在当前数据库默认的表空间中创建,请参见[default\_tablespace](#zh-cn_topic_0242371522_zh-cn_topic_0237124732_zh-cn_topic_0059779117_sa058ceea3c3142f0a8a40b5799a682d3)。
@@ -82,7 +82,7 @@
**参数说明:**设置是否在CREATE FUNCTION执行过程中进行函数体字符串的合法性验证。为了避免产生问题(比如避免从转储中恢复函数定义时向前引用的问题),偶尔会禁用验证。
-该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -95,11 +95,10 @@
**参数说明:**设置默认的事务隔离级别。
-该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**枚举类型
-- read uncommitted表示隔离级别是读未提交。
- read committed表示事务读已提交。
- repeatable read表示事务可重复读。
- serializable,openGauss目前功能上不支持此隔离级别,等价于repeatable read。
@@ -110,7 +109,7 @@
**参数说明:**设置每个新创建事务是否是只读状态。
-该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -125,7 +124,7 @@
openGauss不支持可串行化的隔离级别,因此,该参数无实际意义。
-该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -138,7 +137,7 @@ openGauss不支持可串行化的隔离级别,因此,该参数无实际意
**参数说明:**控制当前会话与复制相关的触发器和规则的行为。
-该参数属于SUSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SUSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
> **须知:**
>设置此参数会丢弃之前任何缓存的执行计划。
@@ -155,9 +154,9 @@ openGauss不支持可串行化的隔离级别,因此,该参数无实际意
**参数说明:**当语句执行时间超过该参数设置的时间(从服务器收到命令时开始计时)时,该语句将会报错并退出执行。
-该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
-**取值范围:**整型,最小值为0,最大值为2147483648,单位为毫秒。
+**取值范围:**整型,最小值为0,最大值为2147483647,单位为毫秒。
**默认值:**0
@@ -165,7 +164,7 @@ openGauss不支持可串行化的隔离级别,因此,该参数无实际意
**参数说明:**指定VACUUM在扫描一个表时用于判断是否用FrozenXID替换事务ID的中断寿命\(在同一个事务中\)。
-该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,0~576 460 752 303 423 487
@@ -178,7 +177,7 @@ openGauss不支持可串行化的隔离级别,因此,该参数无实际意
**参数说明:**指定VACUUM对全表的扫描冻结元组的时间。如果表的pg\_class.relfrozenxid字段的值已经达到了参数指定的时间,VACUUM对全表进行扫描。
-该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,0~576 460 752 303 423 487
@@ -191,7 +190,7 @@ openGauss不支持可串行化的隔离级别,因此,该参数无实际意
**参数说明:**设置bytea类型值的输出格式。
-该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**枚举类型
@@ -204,7 +203,7 @@ openGauss不支持可串行化的隔离级别,因此,该参数无实际意
**参数说明:**设置二进制值是如何在XML中进行编码的。
-该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**枚举类型
@@ -217,7 +216,7 @@ openGauss不支持可串行化的隔离级别,因此,该参数无实际意
**参数说明:**当XML和字符串值之间进行转换时,设置document或content是否是隐含的。
-该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**枚举类型
@@ -230,7 +229,7 @@ openGauss不支持可串行化的隔离级别,因此,该参数无实际意
**参数说明:**设置服务器存储的函数编译结果的最大数量。存储过多的函数和存储过程的编译结果可能占用很大内存。将此参数设置为一个合理的值,有助于减少内存占用,提升系统性能。
-该参数属于POSTMASTER类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,取值必须大于等于1。
@@ -240,7 +239,7 @@ openGauss不支持可串行化的隔离级别,因此,该参数无实际意
**参数说明:**设置当GIN索引启用fastupdate时,pending list容量的最大值。当pending list的容量大于设置值时,会把pending list中数据批量移动到GIN索引数据结构中以进行清理。单个GIN索引可通过更改索引存储参数覆盖此设置值。
-该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,最小值为64,最大值为INT\_MAX,单位为KB。
diff --git "a/content/zh/docs/Quickstart/\350\264\237\350\275\275\347\256\241\347\220\206.md" "b/content/zh/docs/Quickstart/\350\264\237\350\275\275\347\256\241\347\220\206.md"
index dd54cf40ad8ea640600654cd8db4c2ec81345244..a2fa65052b4bf902f37869bd67d3cd33a569e74b 100644
--- "a/content/zh/docs/Quickstart/\350\264\237\350\275\275\347\256\241\347\220\206.md"
+++ "b/content/zh/docs/Quickstart/\350\264\237\350\275\275\347\256\241\347\220\206.md"
@@ -1,4 +1,4 @@
-# 负载管理
+# 负载管理
未对数据库资源做控制时,容易出现并发任务抢占资源导致操作系统过载甚至最终崩溃。操作系统过载时,其响应用户任务的速度会变慢甚至无响应;操作系统崩溃时,整个系统将无法对用户提供任何服务。openGauss的负载管理功能能够基于可用资源的多少均衡数据库的负载,以避免数据库系统过载。
@@ -37,10 +37,7 @@
**取值范围**:字符串
-**默认值:**DefaultClass:Medium
-
-> **说明:**
->DefaultClass:Medium表示DefaultClass下Timeshare控制组中的Medium控制组。
+**默认值:**InvalidGroup
## cpu\_collect\_timer
@@ -97,7 +94,7 @@
## enable\_resource\_record
-**参数说明:**是否开启资源监控记录归档功能。开启时,对于history视图(GS\_WLM\_SESSION\_HISTORY和GS\_WLM\_OPERATOR\_HISTORY)中的记录,每隔3分钟会分别被归档到相应的info视图(GS\_WLM\_SESSION\_INFO和GS\_WLM\_OPERATOR\_INFO),归档后history视图中的记录会被清除。
+**参数说明:**是否开启资源监控记录归档功能。
该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
@@ -123,7 +120,7 @@
## enable\_user\_metric\_persistent
-参数说明:设置是否开启用户历史资源监控转存功能。开启时,对于PG\_TOTAL\_USER\_RESOURCE\_INFO视图中数据,会定期采样保存到[GS\_WLM\_USER\_RESOURCE\_HISTORY](zh-cn_topic_0242385792.md#ZH-CN_TOPIC_0242385792)系统表中。
+参数说明:设置是否开启用户历史资源监控转存功能。开启时,对于PG\_TOTAL\_USER\_RESOURCE\_INFO视图中数据,会定期采样保存到[GS\_WLM\_USER\_RESOURCE\_HISTORY](zh-cn_topic_0242385792.md)系统表中。
该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
@@ -139,7 +136,7 @@
参数说明:设置用户历史资源监控数据的保存天数。该参数仅在 enable\_user\_metric\_persistent为on时有效。
-该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中的方法一和方法二进行设置。
取值范围:整型,0 ~ 730,单位为天。
@@ -151,7 +148,7 @@
## enable\_instance\_metric\_persistent
-**参数说明:**设置是否开启实例资源监控转存功能。开启时,对实例的监控数据会保存到[GS\_WLM\_INSTANCE\_HISTORY](zh-cn_topic_0242385749.md#ZH-CN_TOPIC_0242385749)系统表中。
+**参数说明:**设置是否开启实例资源监控转存功能。开启时,对实例的监控数据会保存到[GS\_WLM\_INSTANCE\_HISTORY](zh-cn_topic_0242385749.md)系统表中。
该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
@@ -166,7 +163,7 @@
**参数说明:**设置实例历史资源监控数据的保存天数。该参数仅在enable\_instance\_metric\_persistent为on时有效。
-该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中的方法一和方法二进行设置。
**取值范围**:整型,0 ~3650,单位为天。
@@ -220,7 +217,7 @@
**参数说明:**禁止内存保护功能。当系统内存不足时如果需要查询系统视图,可以先将此参数置为on,禁止内存保护功能,保证视图可以正常查询。该参数只适用于在系统内存不足时进行系统诊断和调试,正常运行时请保持该参数配置为off。
-该参数属于USERSET类型参数,且只对当前会话有效。请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中方式三的方法进行设置。
+该参数属于USERSET类型参数,且只对当前会话有效。请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**取值范围**:布尔型
@@ -279,7 +276,7 @@
**参数说明**:每秒触发IO的上限。
-该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中方式三的方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应类型的设置的方法进行设置。
**取值范围**:整型,0~1073741823
@@ -289,7 +286,7 @@
**参数说明**:IO利用率高达50%时,重消耗IO作业进行IO资源管控时关联的优先级等级。
-该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中方式三的方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应类型的设置的方法进行设置。
**取值范围**:枚举型
@@ -304,7 +301,7 @@
**参数说明**:行存场景下,io管控时用来对io次数进行计数的单位。
-该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中方式三的方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应类型的设置方法进行设置。
记多少次io触发为一计数单位,通过此计数单位所记录的次数进行io管控。
@@ -316,7 +313,7 @@
**参数说明**:当前的session关联的resource pool。
-该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中方式三的方法进行设置。
+该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应类型的设置方法进行设置。
即如果先设置cgroup\_name,再设置session\_respool,那么session\_respool关联的控制组起作用,如果再切换cgroup\_name,那么新切换的cgroup\_name起作用。
diff --git "a/content/zh/docs/Quickstart/\350\265\204\346\272\220\346\266\210\350\200\227.md" "b/content/zh/docs/Quickstart/\350\265\204\346\272\220\346\266\210\350\200\227.md"
index 5713570a71ab2762d3d5f8ad405561ddc24ef27f..d7d7323debd036699b767a9a3bca8f43ba3fa931 100644
--- "a/content/zh/docs/Quickstart/\350\265\204\346\272\220\346\266\210\350\200\227.md"
+++ "b/content/zh/docs/Quickstart/\350\265\204\346\272\220\346\266\210\350\200\227.md"
@@ -1,4 +1,4 @@
-# 资源消耗
+# 资源消耗
- **[内存](内存.md)**
diff --git "a/content/zh/docs/Quickstart/\350\275\257\344\273\266\346\236\266\346\236\204.md" "b/content/zh/docs/Quickstart/\350\275\257\344\273\266\346\236\266\346\236\204.md"
index bcec97c8919e84f1e4aada6ea6b2a2c2cd090ea3..c065130b560101b9fc12d1893de596b7264b56b1 100644
--- "a/content/zh/docs/Quickstart/\350\275\257\344\273\266\346\236\266\346\236\204.md"
+++ "b/content/zh/docs/Quickstart/\350\275\257\344\273\266\346\236\266\346\236\204.md"
@@ -7,7 +7,7 @@ openGauss软件的架构如[图1](#f078d2fc7ab574c8aa05c4a988e0df1b3)所示。
**图 1** 软件架构
-
+
图中各模块的含义详见[表1](#t17e13a118cb14f5facbde93d2db56660)。
@@ -33,8 +33,8 @@ openGauss软件的架构如[图1](#f078d2fc7ab574c8aa05c4a988e0df1b3)所示。
客户端驱动(Client Driver)。负责接收来自应用的访问请求,并向应用返回执行结果;负责与openGauss实例的通信,下发SQL在openGauss实例上执行,并接收命令执行结果。
- 负责接收来自应用的访问请求,并向应用返回执行结果。客户端驱动负责建立到openGauss实例的链接,把应用的SQL命令传输给openGauss实例,接收openGauss实例命令执行结果。。
- 客户端驱动和应用运行在同一个进程内,部署在同一个物理节点。。
+ 负责接收来自应用的访问请求,并向应用返回执行结果。客户端驱动负责建立到openGauss实例的链接,把应用的SQL命令传输给openGauss实例,接收openGauss实例命令执行结果。
+ 客户端驱动和应用运行在同一个进程内,部署在同一个物理节点。
openGauss主(备)
diff --git "a/content/zh/docs/Quickstart/\350\275\257\347\241\254\344\273\266\347\216\257\345\242\203\350\246\201\346\261\202.md" "b/content/zh/docs/Quickstart/\350\275\257\347\241\254\344\273\266\347\216\257\345\242\203\350\246\201\346\261\202.md"
index 852b3a1678ac984f7f8c5ccc3f65565c6b997d8a..c43579c575befb973564f472ea6f1763031296c2 100644
--- "a/content/zh/docs/Quickstart/\350\275\257\347\241\254\344\273\266\347\216\257\345\242\203\350\246\201\346\261\202.md"
+++ "b/content/zh/docs/Quickstart/\350\275\257\347\241\254\344\273\266\347\216\257\345\242\203\350\246\201\346\261\202.md"
@@ -1,81 +1,134 @@
-# 软硬件环境要求
+# 软硬件环境要求
介绍openGauss的软硬件环境要求。建议部署openGauss的各服务器具有等价的软硬件配置。
-## 硬件环境要求
+## 硬件环境要求
-[表1](#zh-cn_topic_0242552153_zh-cn_topic_0241802565_zh-cn_topic_0085434629_zh-cn_topic_0059782022_t62cd0eed17004265b1b8ad98f302a4bc)列出了openGauss服务器应具备的最低硬件要求。在实际产品中,硬件配置的规划需考虑数据规模及所期望的数据库响应速度。请根据实际情况进行规划。
+[表1](#zh-cn_topic_0249784577_zh-cn_topic_0241802565_zh-cn_topic_0085434629_zh-cn_topic_0059782022_t62cd0eed17004265b1b8ad98f302a4bc)列出了openGauss服务器应具备的最低硬件要求。在实际产品中,硬件配置的规划需考虑数据规模及所期望的数据库响应速度。请根据实际情况进行规划。
**表 1** 硬件环境要求
-
- 项目
+
+ 项目
- 配置描述
+ 配置描述
- 最小内存
+ 最小内存
- 功能调试32GB以上。
- 性能测试和商业部署时,单实例部署建议128GB以上。
- 复杂的查询对内存的需求量比较高,在高并发场景下,可能出现内存不足。此时建议使用大内存的机器,或使用负载管理限制系统的并发。
+ 功能调试32GB以上。
+ 性能测试和商业部署时,单实例部署建议128GB以上。
+ 复杂的查询对内存的需求量比较高,在高并发场景下,可能出现内存不足。此时建议使用大内存的机器,或使用负载管理限制系统的并发。
- CPU
+ CPU
- 功能调试最小1×8 核 2.0GHz。
- 性能测试和商业部署时,单实例部署建议1×16核 2.0GHz。
- CPU超线程和非超线程两种模式都支持。但是, openGauss 各节点的设置需保持一致。
+ 功能调试最小1×8 核 2.0GHz。
+ 性能测试和商业部署时,单实例部署建议1×16核 2.0GHz。
+ CPU超线程和非超线程两种模式都支持。但是, openGauss 各节点的设置需保持一致。
- 硬盘
+ 硬盘
- 用于安装 openGauss 的硬盘需最少满足如下要求:
-至少1GB用于安装 openGauss 的应用程序包。 每个主机需大约300MB用于元数据存储。 预留70%以上的磁盘剩余空间用于数据存储。
- 建议系统盘配置为Raid1,数据盘配置为Raid5,且规划4组Raid5数据盘用于安装 openGauss 。有关Raid的配置方法在本手册中不做介绍。请参考硬件厂家的手册或互联网上的方法进行配置,其中Disk Cache Policy一项需要设置为Disabled,否则机器异常掉电后有数据丢失的风险。
- openGauss 支持使用SSD盘作为数据库的主存储设备, 支持 SAS接口 和 NVME协议 的SSD盘,以RAID的方式部署使用。
+ 用于安装 openGauss 的硬盘需最少满足如下要求:
+至少1GB用于安装 openGauss 的应用程序包。 每个主机需大约300MB用于元数据存储。 预留70%以上的磁盘剩余空间用于数据存储。
+ 建议系统盘配置为Raid1,数据盘配置为Raid5,且规划4组Raid5数据盘用于安装 openGauss 。有关Raid的配置方法在本手册中不做介绍。请参考硬件厂家的手册或互联网上的方法进行配置,其中Disk Cache Policy一项需要设置为Disabled,否则机器异常掉电后有数据丢失的风险。
+ openGauss 支持使用SSD盘作为数据库的主存储设备,支持SAS接口和NVME协议的SSD盘,以RAID的方式部署使用。
- 网络要求
+ 网络要求
- 300兆以上以太网。
- 建议网卡设置为双网卡冗余bond。有关网卡冗余bond的配置方法在本手册中不做介绍。请参考硬件厂商的手册或互联网上的方法进行配置。
- openGauss 网络如果配置bond,请保证bond模式一致,不一致的bond配置可能导致 openGauss 工作异常。
+ 300兆以上以太网。
+ 建议网卡设置为双网卡冗余bond。有关网卡冗余bond的配置方法在本手册中不做介绍。请参考硬件厂商的手册或互联网上的方法进行配置。
+ openGauss 网络如果配置bond,请保证bond模式一致,不一致的bond配置可能导致 openGauss 工作异常。
-## 软件环境要求
+## 软件环境要求
**表 2** 软件环境要求
-
- 软件类型
+
+ 软件类型
- 配置描述
+ 配置描述
- Linux操作系统
+ Linux操作系统
- openEuler 20.3LTS 和CentOS7.6
+ openEuler 20.3LTS和CentOS 7.6
- Linux文件系统
+ Linux文件系统
- 剩余inode个数 > 15亿(推荐)
+ 剩余inode个数 > 15亿(推荐)
- 工具
+ 工具
- Huawei JDK 1.8.0 、psmisc
+ Huawei JDK 1.8.0、psmisc、bzip2
- Python
+ Python
- Python 3.6.X-3.7.X
+openEuler:支持Python 3.7.X CentOS:支持Python 3.6.X
+
+
+
+
+
+## 软件依赖要求
+
+openGauss的软件依赖要求如[表3](#zh-cn_topic_0249784577_table11459151513383)所示。
+
+建议使用上述操作系统安装光盘或者源中,下列依赖软件的默认安装包,若不存在下列软件,可参看软件对应的建议版本。
+
+**表 3** 软件依赖要求
+
+
+ 所需软件
+
+ 建议版本
+
+
+
+ libaio-devel
+
+ 建议版本:0.3.109-13
+
+
+ flex
+
+ 要求版本:2.5.31 以上
+
+
+ bison
+
+ 建议版本:2.7-4
+
+
+ ncurses-devel
+
+ 建议版本:5.9-13.20130511
+
+
+ glibc.devel
+
+ 建议版本:2.17-111
+
+
+ patch
+
+ 建议版本:2.7.1-10
+
+
+ lsb_release
+
+ 建议版本:4.1
diff --git "a/content/zh/docs/Quickstart/\350\277\220\350\241\214\346\227\266\347\273\237\350\256\241.md" "b/content/zh/docs/Quickstart/\350\277\220\350\241\214\346\227\266\347\273\237\350\256\241.md"
index 2187251d1be1e75e6c51869654acf052e9374d26..f2953a25b6b721e270cd4910c27c74e0ada589a8 100644
--- "a/content/zh/docs/Quickstart/\350\277\220\350\241\214\346\227\266\347\273\237\350\256\241.md"
+++ "b/content/zh/docs/Quickstart/\350\277\220\350\241\214\346\227\266\347\273\237\350\256\241.md"
@@ -1,4 +1,4 @@
-# 运行时统计
+# 运行时统计
- **[查询和索引统计收集器](查询和索引统计收集器.md)**
diff --git "a/content/zh/docs/Quickstart/\350\277\236\346\216\245\345\222\214\350\256\244\350\257\201.md" "b/content/zh/docs/Quickstart/\350\277\236\346\216\245\345\222\214\350\256\244\350\257\201.md"
index e5f24df87beee6f6e45ea3a550286eb22a27e74f..7b9f9a68a1039d90d307270f25ce21c31db707dc 100644
--- "a/content/zh/docs/Quickstart/\350\277\236\346\216\245\345\222\214\350\256\244\350\257\201.md"
+++ "b/content/zh/docs/Quickstart/\350\277\236\346\216\245\345\222\214\350\256\244\350\257\201.md"
@@ -1,4 +1,4 @@
-# 连接和认证
+# 连接和认证
- **[连接设置](连接设置.md)**
diff --git "a/content/zh/docs/Quickstart/\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md" "b/content/zh/docs/Quickstart/\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md"
index 7c65edb862c64ccfc9dd38994f1ee7fb1052b3c8..5f56854a41d69e919bc1a18416b978a6375e5b98 100644
--- "a/content/zh/docs/Quickstart/\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md"
+++ "b/content/zh/docs/Quickstart/\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md"
@@ -1,8 +1,8 @@
-# 连接数据库
+# 连接数据库
在创建数据库连接之后,才能使用它来执行SQL语句操作数据。
-## 函数原型
+## 函数原型
JDBC提供了三个方法,用于创建数据库连接。
@@ -10,58 +10,63 @@ JDBC提供了三个方法,用于创建数据库连接。
- DriverManager.getConnection\(String url, Properties info\);
- DriverManager.getConnection\(String url, String user, String password\);
-## 参数
+## 参数
**表 1** 数据库连接参数
-
- 参数
+
+ 参数
- 描述
+ 描述
- url
+ url
- gsjdbc4.jar数据库连接描述符。格式如下:
-jdbc:postgresql:database jdbc:postgresql://host/database jdbc:postgresql://host:port/database
- 说明: 使用gsjdbc200.jar时,将“jdbc:postgresql”修改为“jdbc:gaussdb”
-
-
缺省情况下,会尝试连接到localhost的 8000 端口的database。
+
postgresql.jar数据库连接描述符。格式如下:
+jdbc:postgresql:database jdbc:postgresql://host/database jdbc:postgresql://host:port/database jdbc:postgresql://host:port/database?param1=value1¶m2=value2 jdbc:postgresql://host1:port1,host2:port2/database?param1=value1¶m2=value2
+ 说明: database为要连接的数据库名称。 host为数据库服务器名称或IP地址。 连接 openGauss 的机器与 openGauss 不在同一网段时,host指定的IP地址应为Manager界面上所设的coo.cooListenIp2(应用访问IP)的取值。
+ 由于安全原因, 数据库主节点 禁止 openGauss 内部其他节点无认证接入。如果要在 openGauss 内部访问 数据库主节点 ,请将JDBC程序部署在 数据库主节点 所在机器,host使用"127.0.0.1"。否则可能会出现“FATAL: Forbid remote connection with trust method!”错误。
+ 建议业务系统单独部署在 openGauss 外部,否则可能会影响数据库运行性能。
+ 缺省情况下,连接服务器为localhost。
+ port为数据库服务器端口。 缺省情况下,会尝试连接到5431端口的database。
+ param为参数名称,即数据库连接属性。 参数可以配置在URL中,以"?"开始配置,以"="给参数赋值,以"&"作为不同参数的间隔。也可以采用info对象的属性方式进行配置,详细示例会在本节给出。
+ value为参数值,即数据库连接属性值。
- info
+ info
- 数据库连接属性。常用的属性如下:
-user:String类型。表示创建连接的数据库用户。 password:String类型。表示数据库用户的密码。 ssl:Boolean类型。表示是否使用SSL连接。 loggerLevel:string类型。为LogStream或LogWriter设置记录进DriverManager当前值的日志信息量。目前支持"OFF"、"DEBUG"和"TRACE"。 值为"DEBUG"时,表示只打印DEBUG级别以上的日志,将记录非常少的信息。值等于TRACE时,表示打印DEBUG和TRACE级别的日志,将产生详细的日志信息。默认值为OFF,表示不打印日志。 prepareThreshold:integer类型。用于确定在转换为服务器端的预备语句之前,要求执行方法PreparedStatement的次数。缺省值是5。 batchMode : boolean类型,用于确定是否使用batch模式连接。 fetchsize : integer类型,用于设置数据库链接所创建statement的默认fetchsize。 ApplicationName:string类型。应用名称,在不做设置时,缺省值为PostgreSQL JDBC Driver。 allowReadOnly:boolean类型,用于设置connection是否允许设置readonly模式,默认为false,若该参数不被设置为true,则执行connnection.setReadOnly不生效。 blobMode:string类型,用于设置setBinaryStream方法为不同的数据类型赋值,设置为on时表示为blob数据类型赋值,设置为off时表示为bytea数据类型赋值,默认为on。 connectionExtraInfo:Boolean类型。表示驱动是否上报当前驱动的部署路径、进程属主用户到数据库。 说明: 取值范围:true或false,默认值为false。设置connectionExtraInfo为true,JDBC驱动会将当前驱动的部署路径、进程属主用户上报到数据库中,记录在connection_info参数里。
-
-
+ 数据库连接属性。常用的属性如下:
+PGDBNAME:String类型。表示数据库名称。(URL中无需配置该参数,自动从URL中解析) PGHOST:String类型。主机IP地址。详细示例见下。 PGPORT:Integer类型。主机端口号。详细示例见下。 user:String类型。表示创建连接的数据库用户。 password:String类型。表示数据库用户的密码。 loggerLevel:String类型。目前支持3种级别:OFF、DEBUG、TRACE。设置为OFF关闭日志,设置为DEBUG和TRACE记录的日志信息详细程度不同。 loggerFile:String类型。Logger输出的文件名。需要显示指定日志文件名,若未指定目录则生成在客户端运行程序目录。 allowEncodingChanges:Boolean类型。设置该参数值为“true”进行字符集类型更改,配合characterEncoding=CHARSET设置字符集,二者使用"&"分隔。 currentSchema:String类型。在search-path中指定要设置的schema。 hostRecheckSeconds:Integer类型。JDBC尝试连接主机后会保存主机状态:连接成功或连接失败。在hostRecheckSeconds时间内保持可信,超过则状态失效。缺省值是10秒。 ssl:Boolean类型。以SSL方式连接。 ssl=true可支持NonValidatingFactory通道和使用证书的方式:
+ 1、NonValidatingFactory通道需要配置用户名和密码,同时将SSL设置为true。
+ 2、配置客户端证书、密钥、根证书,将SSL设置为true。
+ sslmode:String类型。SSL认证方式。取值范围为:require、verify-ca、verify-full。require只尝试SSL连接,如果存在CA文件,则应设置成verify-ca的方式验证。 verify-ca只尝试SSL连接,并且验证服务器是否具有由可信任的证书机构签发的证书。 verify-full只尝试SSL连接,并且验证服务器是否具有由可信任的证书机构签发的证书,以及验证服务器主机名是否与证书中的一致。
+ sslcert:String类型。提供证书文件的完整路径。客户端和服务端证书的类型为End Entity。 sslkey:String类型。提供密钥文件的完整路径。使用时将客户端证书转换为DER格式: openssl pkcs8 -topk8 -outform DER -in client.key -out client.key.pk8 -nocrypt
+ sslrootcert:String类型。SSL根证书的文件名。根证书的类型为CA。 sslpassword:String类型。提供给ConsoleCallbackHandler使用。 sslpasswordcallback:String类型。SSL密码提供者的类名。缺省值:org.postgresql.ssl.jdbc4.LibPQFactory.ConsoleCallbackHandler。 sslfactory:String类型。提供的值是SSLSocketFactory在建立SSL连接时用的类名。 sslfactoryarg:String类型。此值是上面提供的sslfactory类的构造函数的可选参数(不推荐使用)。 sslhostnameverifier:String类型。主机名验证程序的类名。接口实现javax.net.ssl.HostnameVerifier,默认使用org.postgresql.ssl.PGjdbcHostnameVerifier。 loginTimeout:Integer类型。指建立数据库连接的等待时间。超时时间单位为秒。 connectTimeout:Integer类型。用于连接服务器操作的超时值。如果连接到服务器花费的时间超过此值,则连接断开。超时时间单位为秒,值为0时表示已禁用,timeout不发生。 socketTimeout:Integer类型。用于socket读取操作的超时值。如果从服务器读取所花费的时间超过此值,则连接关闭。超时时间单位为秒,值为0时表示已禁用,timeout不发生。 cancelSignalTimeout:Integer类型。发送取消消息本身可能会阻塞,此属性控制用于取消命令的“connect超时”和“socket超时”。超时时间单位为秒,默认值为10秒。 tcpKeepAlive:Boolean类型。启用或禁用TCP保活探测功能。默认为false。 logUnclosedConnections:Boolean类型。客户端可能由于未调用Connection对象的close()方法而泄漏Connection对象。最终这些对象将被垃圾回收,并且调用finalize()方法。如果调用者自己忽略了此操作,该方法将关闭Connection。 assumeMinServerVersion:String类型。客户端会发送请求进行float精度设置。该参数设置要连接的服务器版本,如assumeMinServerVersion=9.0,可以在建立时减少相关包的发送。 ApplicationName:String类型。设置正在使用连接的JDBC驱动的名称。通过在数据库主节点上查询pg_stat_activity表可以看到正在连接的客户端信息,JDBC驱动名称显示在application_name列。缺省值为PostgreSQL JDBC Driver。 connectionExtraInfo:Boolean类型。表示驱动是否上报当前驱动的部署路径、进程属主用户到数据库。 取值范围:true或false,默认值为false。设置connectionExtraInfo为true,JDBC驱动会将当前驱动的部署路径、进程属主用户上报到数据库中,记录在connection_info参数里;同时可以在PG_STAT_ACTIVITY中查询到。
+ autosave:String类型。共有3种:"always", "never", "conservative"。如果查询失败,指定驱动程序应该执行的操作。在autosave=always模式下,JDBC驱动程序在每次查询之前设置一个保存点,并在失败时回滚到该保存点。在autosave=never模式(默认)下,无保存点。在autosave=conservative模式下,每次查询都会设置保存点,但是只会在“statement XXX无效”等情况下回滚并重试。 protocolVersion:Integer类型。连接协议版本号,目前仅支持3。注意:设置该参数时将采用md5加密方式,需要同步修改数据库的加密方式:gs_guc set -N all -I all -c "password_encryption_type=1" ,重启 openGauss 生效后需要创建用md5方式加密口令的用户。同时修改pg_hba.conf,将客户端连接方式修改为md5。用新建用户进行登录(不推荐)。 prepareThreshold:Integer类型。控制parse语句何时发送。默认值是5。第一次parse一个SQL比较慢,后面再parse就会比较快,因为有缓存了。如果一个会话连续多次执行同一个SQL,在达到prepareThreshold次数以上时,JDBC将不再对这个SQL发送parse命令。 preparedStatementCacheQueries:Integer类型。确定每个连接中缓存的查询数,默认情况下是256。若在prepareStatement()调用中使用超过256个不同的查询,则最近最少使用的查询缓存将被丢弃。0表示禁用缓存。 preparedStatementCacheSizeMiB:Integer类型。确定每个连接可缓存的最大值(以兆字节为单位),默认情况下是5。若缓存了超过5MB的查询,则最近最少使用的查询缓存将被丢弃。0表示禁用缓存。 databaseMetadataCacheFields:Integer类型。默认值是65536。指定每个连接可缓存的最大值。“0”表示禁用缓存。 databaseMetadataCacheFieldsMiB:Integer类型。默认值是5。每个连接可缓存的最大值,单位是MB。“0”表示禁用缓存。 stringtype:String类型,可选字段为:false, "unspecified", "varchar"。设置通过setString()方法使用的PreparedStatement参数的类型,如果stringtype设置为VARCHAR(默认值),则这些参数将作为varchar参数发送给服务器。若stringtype设置为unspecified,则参数将作为untyped值发送到服务器,服务器将尝试推断适当的类型。 batchMode:Boolean类型。用于确定是否使用batch模式连接。 fetchsize:Integer类型。用于设置数据库连接所创建statement的默认fetchsize。 reWriteBatchedInserts:Boolean类型。批量导入时,该参数设置为on,可将N条插入语句合并为一条:insert into TABLE_NAME values(values1, ..., valuesN), ..., (values1, ..., valuesN);使用该参数时,需设置batchMode=off。 unknownLength:Integer类型,默认为Integer.MAX_VALUE。某些postgresql类型(例如TEXT)没有明确定义的长度,当通过ResultSetMetaData.getColumnDisplaySize和ResultSetMetaData.getPrecision等函数返回关于这些类型的数据时,此参数指定未知长度类型的长度。 defaultRowFetchSize:Integer类型。确定一次fetch在ResultSet中读取的行数。限制每次访问数据库时读取的行数可以避免不必要的内存消耗,从而避免OutOfMemoryException。缺省值是0,这意味着ResultSet中将一次获取所有行。没有负数。 binaryTransfer:Boolean类型。使用二进制格式发送和接收数据,默认值为“false”。 binaryTransferEnable:String类型。启用二进制传输的类型列表,以逗号分隔。OID编号和名称二选一,例如binaryTransferEnable=Integer4_ARRAY,Integer8_ARRAY。 比如:OID名称为BLOB,编号为88,可以如下配置:
+ binaryTransferEnable=BLOB 或 binaryTransferEnable=88
+ binaryTransferDisEnable:String类型。禁用二进制传输的类型列表,以逗号分隔。OID编号和名称二选一。覆盖binaryTransferEnable的设置。 blobMode:String类型。用于设置setBinaryStream方法为不同类型的数据赋值,设置为on时表示为blob类型数据赋值,设置为off时表示为bytea类型数据赋值,默认为on。 socketFactory:String类型。用于创建与服务器socket连接的类的名称。该类必须实现了接口“javax.net.SocketFactory”,并定义无参或单String参数的构造函数。 socketFactoryArg:String类型。此值是上面提供的socketFactory类的构造函数的可选参数,不推荐使用。 receiveBufferSize:Integer类型。该值用于设置连接流上的SO_RCVBUF。 sendBufferSize:Integer类型。该值用于设置连接流上的SO_SNDBUF。 preferQueryMode:String类型。共有4种:"extended", "extendedForPrepared", "extendedCacheEverything", "simple"。用于指定执行查询的模式,simple模式会excute,不parse和bind;extended模式会bind和excute;extendedForPrepared模式为prepared statement扩展使用;extendedCacheEverything模式会缓存每个statement。
- user
+ user
- 数据库用户。
+ 数据库用户。
- password
+ password
- 数据库用户的密码。
+ 数据库用户的密码。
-## 示例
-
-此示例将演示如何基于openGauss提供的JDBC接口开发应用程序。
+## 示例
```
//以下代码将获取数据库连接操作封装为一个接口,可通过给定用户名和密码来连接数据库。
-
-public static Connection GetConnection(String username, String passwd)
+public static Connection getConnect(String username, String passwd)
{
//驱动类。
String driver = "org.postgresql.Driver";
@@ -92,6 +97,43 @@ public static Connection GetConnection(String username, String passwd)
return null;
}
+ return conn;
+ };
+// 以下代码将使用Properties对象作为参数建立连接
+public static Connection getConnectUseProp(String username, String passwd)
+ {
+ //驱动类。
+ String driver = "org.postgresql.Driver";
+ //数据库连接描述符。
+ String sourceURL = "jdbc:postgresql://10.10.0.13:8000/postgres?";
+ Connection conn = null;
+ Properties info = new Properties();
+
+ try
+ {
+ //加载驱动。
+ Class.forName(driver);
+ }
+ catch( Exception e )
+ {
+ e.printStackTrace();
+ return null;
+ }
+
+ try
+ {
+ info.setProperty("user", username);
+ info.setProperty("password", passwd);
+ //创建连接。
+ conn = DriverManager.getConnection(sourceURL, info);
+ System.out.println("Connection succeed!");
+ }
+ catch(Exception e)
+ {
+ e.printStackTrace();
+ return null;
+ }
+
return conn;
};
```
diff --git "a/content/zh/docs/Quickstart/\350\277\236\346\216\245\346\261\240\345\217\202\346\225\260.md" "b/content/zh/docs/Quickstart/\350\277\236\346\216\245\346\261\240\345\217\202\346\225\260.md"
new file mode 100644
index 0000000000000000000000000000000000000000..1b580b369e73e04ea2a8da7ace99fb8e207010c0
--- /dev/null
+++ "b/content/zh/docs/Quickstart/\350\277\236\346\216\245\346\261\240\345\217\202\346\225\260.md"
@@ -0,0 +1,37 @@
+# 连接池参数
+
+当使用连接池访问数据库时,在系统运行过程中,数据库连接是被当作对象存储在内存中的,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接来使用。用户使用完毕后,数据库并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。
+
+## pooler\_maximum\_idle\_time
+
+**参数说明:**Pooler链接自动清理功能使用,当链接池中链接空闲时间超过所设置值时,会触发自动清理机制,清理各节点的空闲链接数到minimum\_pool\_size。
+
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+
+**取值范围:**整型,最小值为0,最大值为INT\_MAX,最小单位为分钟
+
+**默认值:**1h(即60min)
+
+## minimum\_pool\_size
+
+**参数说明:**Pooler链接自动清理功能使用,自动清理后各pooler链接池对应节点的链接数最小剩余量,当参数设置为0时,可以关闭pooler链接自动清理功能。
+
+该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+
+**取值范围:**整型,最小值为1,最大值为65535
+
+**默认值:**200
+
+## cache\_connection
+
+**参数说明:**是否回收连接池的连接。
+
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+
+**取值范围:**布尔型
+
+- on表示回收连接池的连接。
+- off表示不回收连接池的连接。
+
+**默认值:**on
+
diff --git "a/content/zh/docs/Quickstart/\350\277\236\346\216\245\350\256\276\347\275\256.md" "b/content/zh/docs/Quickstart/\350\277\236\346\216\245\350\256\276\347\275\256.md"
index 1f4fdeb2b56fe0cf9d55d37db3cba5d900b81c6b..0a15c752e94fc40d8b25ab350526e165f459e1dc 100644
--- "a/content/zh/docs/Quickstart/\350\277\236\346\216\245\350\256\276\347\275\256.md"
+++ "b/content/zh/docs/Quickstart/\350\277\236\346\216\245\350\256\276\347\275\256.md"
@@ -1,4 +1,4 @@
-# 连接设置
+# 连接设置
介绍设置客户端和服务器连接方式相关的参数。
@@ -35,7 +35,7 @@
**取值范围:**整型,1~65535
-**默认值:**5432(实际值有安装时的配置文件指定)
+**默认值:**5432(实际值由安装时的配置文件指定)
## max\_connections
@@ -49,7 +49,7 @@
**设置建议:**
-数据库主节点中此参数建议保持默认值。数据库节点中此参数建议设置为数据库主节点的个数乘以数据库主节点中此参数的值。
+数据库主节点中此参数建议保持默认值。
增大这个参数可能导致openGauss要求更多的SystemV共享内存或者信号量,可能超过操作系统缺省配置的最大值。这种情况下,请酌情对数值加以调整。
@@ -135,9 +135,9 @@ Unix域套接字使用普通的Unix文件系统权限集。这个参数的值应
> **说明:**
>- 空字符串,表示当前连接数据库的驱动不支持自动设置connection\_info参数或应用程序未设置。
->- 驱动连接数enable\_resource\_record据库的时候自行拼接的connection\_info参数格式如下:
+>- 驱动连接数据库的时候自行拼接的connection\_info参数格式如下:
> ```
-> {"driver_name":"ODBC","driver_version": "(openGauss x.x build 62e7353e) compiled at 2019-06-26 14:56:09 commit 5361 last mr 9168 debug","driver_path":"/usr/local/lib/psqlodbcw.so","os_user":"omm"}
+> {"driver_name":"ODBC","driver_version": "(GaussDB Kernel V500R001C00 build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131 debug","driver_path":"/usr/local/lib/psqlodbcw.so","os_user":"omm"}
> ```
-> 默认显示driver\_name和driver\_version,driver\_path和os\_user的显示由用户控制。
+> 默认显示driver\_name和driver\_version,driver\_path和os\_user的显示由用户控制(参见[连接数据库](连接数据库.md#ZH-CN_TOPIC_0254904958)和[Linux下配置数据源](zh-cn_topic_0244721235.md))。
diff --git "a/content/zh/docs/Quickstart/\351\200\232\344\277\241\345\272\223\345\217\202\346\225\260.md" "b/content/zh/docs/Quickstart/\351\200\232\344\277\241\345\272\223\345\217\202\346\225\260.md"
index f8361bf23e6a0a250320012a84c90e5729f9d2b9..90efa1d6d70be3ecc9c40879276e34082b76a003 100644
--- "a/content/zh/docs/Quickstart/\351\200\232\344\277\241\345\272\223\345\217\202\346\225\260.md"
+++ "b/content/zh/docs/Quickstart/\351\200\232\344\277\241\345\272\223\345\217\202\346\225\260.md"
@@ -1,4 +1,4 @@
-# 通信库参数
+# 通信库参数
本节介绍通信库相关的参数设置及取值范围等内容。
@@ -53,7 +53,7 @@
> **须知:**
>SCTP协议的连接不再提供支持,为了保持兼容,提供此参数的接口,但此参数会在设置过程中强制改为on。
-**取值范围:**布尔型,数据库主节点设置为on表示使用TCP模式连接数据库节点。
+**取值范围:**布尔型,设置为on表示使用TCP模式连接数据库节点。
**默认值:**on
diff --git "a/content/zh/docs/Quickstart/\351\200\232\350\277\207gs_guc\351\205\215\347\275\256\347\231\275\345\220\215\345\215\225.md" "b/content/zh/docs/Quickstart/\351\200\232\350\277\207gs_guc\351\205\215\347\275\256\347\231\275\345\220\215\345\215\225.md"
index 4fd7bcb96511ef87c5464cdea7a9e5b503ba82e4..270ae1d415c4b687055133969768afacb7069891 100644
--- "a/content/zh/docs/Quickstart/\351\200\232\350\277\207gs_guc\351\205\215\347\275\256\347\231\275\345\220\215\345\215\225.md"
+++ "b/content/zh/docs/Quickstart/\351\200\232\350\277\207gs_guc\351\205\215\347\275\256\347\231\275\345\220\215\345\215\225.md"
@@ -3,25 +3,50 @@
## 操作步骤
1. 以操作系统用户omm登录数据库主节点。
-2. 配置客户端认证方式,允许客户端以“jack”用户连接到本机,此处远程连接禁止使用“omm”用户。
+2. 配置客户端认证方式,允许客户端以“jack”用户连接到本机,此处远程连接禁止使用“omm”用户(即数据库初始化用户)。
例如,下面示例中配置允许IP地址为10.10.0.30的客户端访问本机。
```
- gs_guc set -N all -I all -h "host all jack 10.10.0.30/32 sha256"
+ gs_guc set -N all -I all -h "host all jack 10.10.0.30/32 sha256"
```
> **说明:**
- >- 使用“jack”用户前,请先使用本地连接数据库,详细请参见[gsql客户端连接openGauss](gsql客户端连接openGauss.md),并在数据库中使用如下语句建立“jack”用户。
+ >- 使用“jack”用户前,需先本地连接数据库,并在数据库中使用如下语句建立“jack”用户:
> ```
- > postgres=# CREATE USER jack PASSWORD 'Bigdata@123';
+ > postgres=# CREATE USER jack PASSWORD 'Test@123';
> ```
>- -N all表示openGauss的所有主机。
- >- -I all表示主机中的所有实例。
+ >- -I all表示主机的所有实例。
>- -h表示指定需要在“pg\_hba.conf”增加的语句。
>- all表示允许客户端连接到任意的数据库。
- >- jack表示数据库中已存在的用户。
- >- 10.10.0.30_/32_表示只允许IP地址为10.10.0.30的主机连接。在使用过程中,请根据用户的网络进行配置修改。
+ >- jack表示连接数据库的用户。
+ >- 10.10.0.30_/32_表示只允许IP地址为10.10.0.30的主机连接。此处的IP地址不能为openGauss内的IP,在使用过程中,请根据用户的网络进行配置修改。32表示子网掩码为1的位数,即255.255.255.255
>- sha256表示连接时jack用户的密码使用sha256算法加密。
+ 这条命令在数据库主节点实例对应的“pg\_hba.conf”文件中添加了一条规则,用于对连接数据库主节点的客户端进行鉴定。
+
+ “pg\_hba.conf”文件中的每条记录可以是下面四种格式之一,四种格式的参数说明请参见[配置文件参考](zh-cn_topic_0246507950.md)。
+
+ ```
+ local DATABASE USER METHOD [OPTIONS]
+ host DATABASE USER ADDRESS METHOD [OPTIONS]
+ hostssl DATABASE USER ADDRESS METHOD [OPTIONS]
+ hostnossl DATABASE USER ADDRESS METHOD [OPTIONS]
+ ```
+
+ 因为认证时系统是为每个连接请求顺序检查“pg\_hba.conf”里的记录的,所以这些记录的顺序是非常关键的。
+
+ > **说明:**
+ >在配置“pg\_hba.conf”文件时,请依据通讯需求按照格式内容从上至下配置记录,优先级高的需求需要配置在前面。openGaussopenGauss和扩容配置的IP优先级最高,用户手动配置的IP请放在这二者之后,如果已经进行的客户配置和扩容节点的IP在同一网段,请在扩容前删除,扩容成功后再进行配置。
+
+ 因此对于认证规则的配置建议如下:
+
+ - 靠前的记录有比较严格的连接参数和比较弱的认证方法。
+ - 靠后的记录有比较宽松的连接参数和比较强的认证方法。
+
+ > **说明:**
+ >- 一个用户要想成功连接到特定的数据库,不仅需要通过pg\_hba.conf中的规则检查,还必须要有该数据库上的CONNECT权限。如果希望控制某些用户只能连接到指定数据库,赋予/撤销CONNECT权限通常比在pg\_hba.conf中设置规则更为简单。
+ >- 对应openGauss外部客户端连接,trust为不安全的认证方式,请将认证方式设置为sha256。
+
diff --git "a/content/zh/docs/Quickstart/\351\205\215\347\275\256Host\345\237\272\346\234\254\344\277\241\346\201\257.md" "b/content/zh/docs/Quickstart/\351\205\215\347\275\256Host\345\237\272\346\234\254\344\277\241\346\201\257.md"
index 161425a45df802053c432fd9815f34124fbb6a86..f78afc9619586cd162d84402c586c87c543b2007 100644
--- "a/content/zh/docs/Quickstart/\351\205\215\347\275\256Host\345\237\272\346\234\254\344\277\241\346\201\257.md"
+++ "b/content/zh/docs/Quickstart/\351\205\215\347\275\256Host\345\237\272\346\234\254\344\277\241\346\201\257.md"
@@ -1,4 +1,4 @@
-# 配置Host基本信息
+# 配置Host基本信息
> **说明:**
>每台Host服务器都必须有如下信息,如下示例以node1为例。
@@ -22,40 +22,40 @@
**表 1** 参数说明
-
- 实例类型
+
+ 实例类型
- 参数
+ 参数
- 说明
+ 说明
- 整体信息
+ 整体信息
- name
+ name
- 主机名称。
+ 主机名称。
- azName
+ azName
- 指定azName,字符串(不能含有特殊字符),例如AZ1、AZ2、AZ3。
+ 指定azName,字符串(不能含有特殊字符),例如AZ1、AZ2、AZ3。
- azPriority
+ azPriority
- 指定azPriority的优先级。
+ 指定azPriority的优先级。
- backIp1
+ backIp1
- 主机在后端存储网络中的IP地址(内网IP)。所有openGauss主机使用后端存储网络通讯。
+ 主机在后端存储网络中的IP地址(内网IP)。所有openGauss主机使用后端存储网络通讯。
- sshIp1
+ sshIp1
- 设置SSH可信通道IP地址(外网IP)。若无外网,则可以不设置该选项或者同backIp1设置相同IP。
+ 设置SSH可信通道IP地址(外网IP)。若无外网,则可以不设置该选项或者同backIp1设置相同IP。
diff --git "a/content/zh/docs/Quickstart/\351\205\215\347\275\256\345\214\272\345\237\237\345\222\214\345\255\227\347\254\246\351\233\206.md" "b/content/zh/docs/Quickstart/\351\205\215\347\275\256\345\214\272\345\237\237\345\222\214\345\255\227\347\254\246\351\233\206.md"
new file mode 100644
index 0000000000000000000000000000000000000000..47644f4ba28fdf23c9edeac6d68a5a5698c6c107
--- /dev/null
+++ "b/content/zh/docs/Quickstart/\351\205\215\347\275\256\345\214\272\345\237\237\345\222\214\345\255\227\347\254\246\351\233\206.md"
@@ -0,0 +1,119 @@
+# 配置区域和字符集
+
+区域和字符集在安装过程中通过指定初始化GUC参数来控制,考虑到这两个参数的重要性,在此单独对这两个参数进行详细说明。
+
+## 相关概念
+
+区域:
+
+- 区域是指应用中考虑字母、排序、数字格式等与文化相关的问题。
+- 使用gs\_install脚本初始化一个数据库时会初始化区域。缺省时,gs\_install脚本将会按照操作系统默认的区域初始化数据库。因此,如果操作系统的默认区域与用户规划的相同,则初始化数据库时不需要再设置。
+
+字符集(编码格式):
+
+- openGauss支持GBK、UTF-8和Latin1编码格式。
+- 使用gs\_install脚本初始化数据库时会初始化字符集。缺省时,gs\_install脚本将会按照操作系统默认区域的字符集来初始化数据库。在创建数据库的时候是可以修改默认字符集。因此,多个数据库可以设置为不同的字符集。
+
+## 规划原则和方法
+
+- 规划字符集,选择原则和设置方法请参见[表1](#zh-cn_topic_0249784576_zh-cn_topic_0241805810_zh-cn_topic_0085434664_zh-cn_topic_0059782037_table4528029520399)。
+
+ **表 1** 字符集
+
+
+ 字符集
+
+ 规划原则
+
+ 设置方法
+
+
+
+ GBK
+
+ 如果数据库只需要支持中文,数据量很大,性能要求也很高,那就应该选择双字节定长编码的中文字符集。对 openGauss 来说,中文字符集目前只能选择GBK 。
+
+ 在安装数据库时指定初始化参数-E。 通过SQL语句创建数据库时指定ENCODING参数。
+ 详细请参见示例 。
+
+
+ UTF-8
+
+ 如果应用程序要处理各种各样的文字,或者将处理结果发布到使用不同语言的国家或地区,就应该选择Unicode字符集。对 openGauss 来说,Unicode字符集目前只能选择UTF-8 。
+
+
+ Latin1
+
+ 如果数据库只需要支持ASCII收录的字符、西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号,则可以选择Latin1。
+
+
+
+
+
+ > **说明:**
+ >- openGauss支持字符集的多种写法:gbk/GBK、UTF-8/UTF8/uft8/utf-8和Latine1/latine1。
+ >- 安装时若不指定字符集,默认字符集为SQL\_ASCII,若想指定,请在安装时指定,具体操作请参见[示例](#zh-cn_topic_0249784576_zh-cn_topic_0241805810_zh-cn_topic_0085434664_zh-cn_topic_0059782037_sa523d6a2a09c4cf29d503e2175747721)。
+
+- 规划区域。
+ 1. 检查与指定字符集(假设为UTF-8)匹配的区域。
+
+ ```
+ locale -a |grep utf8
+ ```
+
+ 显示类似如下信息,其中en\_US.utf8表示区域en\_US支持UTF-8编码。
+
+ ```
+ ......
+ en_SG.utf8
+ en_US.utf8
+ ......
+ ```
+
+ 2. 在初始化数据库时设置区域,设置方法请参见[示例](#zh-cn_topic_0249784576_zh-cn_topic_0241805810_zh-cn_topic_0085434664_zh-cn_topic_0059782037_sa523d6a2a09c4cf29d503e2175747721)。
+
+
+## 示例
+
+示例1:在初始化数据库时,指定数据库初始化的字符集为UTF-8,区域为zh\_CN.UTF-8。
+
+```
+gs_initdb -E UTF-8 --locale=zh_CN.UTF-8 /opt/gaussdb/data/data_n1 --nodename dn1 -w "Bigdata@123"
+```
+
+/opt/gaussdb/data/data\_n1为安装后的DBnode目录,Bigdata@123为数据库用户密码。
+
+显示类似如下信息:
+
+```
+The files belonging to this database system will be owned by user "xlnha".
+This user must also own the server process.
+
+The database cluster will be initialized with locale "zh_CN.UTF-8".
+gs_initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8"
+The default text search configuration will be set to "simple".
+
+fixing permissions on existing directory /opt/gaussdb/data1 ... ok
+creating subdirectories ... ok
+selecting default max_connections ... 100
+selecting default shared_buffers ... 32MB
+creating configuration files ... ok
+......
+```
+
+示例2:使用SQL语句创建数据库时,指定数据库的字符集为GBK。
+
+```
+gsql -d postgres -p 1255
+```
+
+```
+postgres=# CREATE DATABASE mydb WITH ENCODING 'GBK' template = template0;
+```
+
+显示类似如下信息:
+
+```
+CREATE DATABASE
+```
+
diff --git "a/content/zh/docs/Quickstart/\351\205\215\347\275\256\346\223\215\344\275\234\347\263\273\347\273\237\345\217\202\346\225\260.md" "b/content/zh/docs/Quickstart/\351\205\215\347\275\256\346\223\215\344\275\234\347\263\273\347\273\237\345\217\202\346\225\260.md"
index 35f10f9e94a5cd0396703b855b0f9e0ec666d833..1a6c0bdeef777e5138f462fe7228558f6350af14 100644
--- "a/content/zh/docs/Quickstart/\351\205\215\347\275\256\346\223\215\344\275\234\347\263\273\347\273\237\345\217\202\346\225\260.md"
+++ "b/content/zh/docs/Quickstart/\351\205\215\347\275\256\346\223\215\344\275\234\347\263\273\347\273\237\345\217\202\346\225\260.md"
@@ -1,4 +1,4 @@
-# 配置操作系统参数
+# 配置操作系统参数
openGauss要求各主机上的操作系统参数设置成一定的值,以满足系统运行的性能要求等。
@@ -7,7 +7,7 @@ openGauss要求各主机上的操作系统参数设置成一定的值,以满
1. 以root用户身份登录服务器。
2. 对文件“/etc/sysctl.conf”进行编辑修改。
- 具体参数的修改请参见[操作系统参数](#zh-cn_topic_0244176943_zh-cn_topic_0241805805_zh-cn_topic_0085434661_zh-cn_topic_0059782062_section3705271819540)。
+ 具体参数的修改请参见[操作系统参数](#zh-cn_topic_0249784554_zh-cn_topic_0241805805_zh-cn_topic_0085434661_zh-cn_topic_0059782062_section3705271819540)。
3. 执行如下命令使修改配置生效。
@@ -16,335 +16,335 @@ openGauss要求各主机上的操作系统参数设置成一定的值,以满
```
-## 操作系统参数
+## 操作系统参数
**表 1** 操作系统参数
-
- 参数名称
+
+ 参数名称
- 参数说明
+ 参数说明
- 推荐取值
+ 推荐取值
- net.ipv4.tcp_max_tw_buckets
+ net.ipv4.tcp_max_tw_buckets
- 表示同时保持TIME_WAIT状态的TCP/IP连接最大数量。如果超过所配置的取值,TIME_WAIT将立刻被释放并打印警告信息。
+ 表示同时保持TIME_WAIT状态的TCP/IP连接最大数量。如果超过所配置的取值,TIME_WAIT将立刻被释放并打印警告信息。
- 10000
+ 10000
- net.ipv4.tcp_tw_reuse
+ net.ipv4.tcp_tw_reuse
- 允许将TIME-WAIT状态的sockets重新用于新的TCP连接。
-
+ 允许将TIME-WAIT状态的sockets重新用于新的TCP连接。
+
- 1
+ 1
- net.ipv4.tcp_tw_recycle
+ net.ipv4.tcp_tw_recycle
- 表示开启TCP连接中TIME-WAIT状态sockets的快速回收。
-
+ 表示开启TCP连接中TIME-WAIT状态sockets的快速回收。
+
- 1
+ 1
- net.ipv4.tcp_keepalive_time
+ net.ipv4.tcp_keepalive_time
- 表示当keepalive启用的时候,TCP发送keepalive消息的频度。
+ 表示当keepalive启用的时候,TCP发送keepalive消息的频度。
- 30
+ 30
- net.ipv4.tcp_keepalive_probes
+ net.ipv4.tcp_keepalive_probes
- 在认定连接失效之前,发送TCP的keepalive探测包数量。这个值乘以tcp_keepalive_intvl之后决定了一个连接发送了keepalive之后可以有多少时间没有回应。
+ 在认定连接失效之前,发送TCP的keepalive探测包数量。这个值乘以tcp_keepalive_intvl之后决定了一个连接发送了keepalive之后可以有多少时间没有回应。
- 9
+ 9
- net.ipv4.tcp_keepalive_intvl
+ net.ipv4.tcp_keepalive_intvl
- 当探测没有确认时,重新发送探测的频度。
+ 当探测没有确认时,重新发送探测的频度。
- 30
+ 30
- net.ipv4.tcp_retries1
+ net.ipv4.tcp_retries1
- 在连接建立过程中TCP协议最大重试次数。
+ 在连接建立过程中TCP协议最大重试次数。
- 5
+ 5
- net.ipv4.tcp_syn_retries
+ net.ipv4.tcp_syn_retries
- TCP协议SYN报文最大重试次数。
+ TCP协议SYN报文最大重试次数。
- 5
+ 5
- net.ipv4.tcp_synack_retries
+ net.ipv4.tcp_synack_retries
- TCP协议SYN应答报文最大重试次数。
+ TCP协议SYN应答报文最大重试次数。
- 5
+ 5
- net.sctp.path_max_retrans
+ net.sctp.path_max_retrans
- SCTP协议最大重试次数。
+ SCTP协议最大重试次数。
- 10
+ 10
- net.sctp.max_init_retransmits
+ net.sctp.max_init_retransmits
- SCTP协议INIT报文最大重试次数。
+ SCTP协议INIT报文最大重试次数。
- 10
+ 10
- net.sctp.association_max_retrans
+ net.sctp.association_max_retrans
- SCTP协议单个逻辑连接最大重试次数。
+ SCTP协议单个逻辑连接最大重试次数。
- 10
+ 10
- net.sctp.hb_interval
+ net.sctp.hb_interval
- SCTP协议心跳检测包重传间隔。
+ SCTP协议心跳检测包重传间隔。
- 30000
+ 30000
- net.ipv4.tcp_retries2
+ net.ipv4.tcp_retries2
- 控制内核向已经建立连接的远程主机重新发送数据的次数,低值可以更早的检测到与远程主机失效的连接,因此服务器可以更快的释放该连接。
- 发生“connection reset by peer”时可以尝试调大该值规避问题。
+ 控制内核向已经建立连接的远程主机重新发送数据的次数,低值可以更早的检测到与远程主机失效的连接,因此服务器可以更快的释放该连接。
+ 发生“connection reset by peer”时可以尝试调大该值规避问题。
- 12
+ 12
- vm.overcommit_memory
+ vm.overcommit_memory
- 控制在做内存分配的时候,内核的检查方式。
-0:表示系统会尽量精确计算当前可用的内存。 1:表示不作检查直接返回成功。 2:内存总量×vm.overcommit_ratio/100+SWAP的总量,如果申请空间超过此数值则返回失败。
- 内核默认是2过于保守,推荐设置为0,如果系统压力大可以设置为1。
+ 控制在做内存分配的时候,内核的检查方式。
+0:表示系统会尽量精确计算当前可用的内存。 1:表示不作检查直接返回成功。 2:内存总量×vm.overcommit_ratio/100+SWAP的总量,如果申请空间超过此数值则返回失败。
+ 内核默认是2过于保守,推荐设置为0,如果系统压力大可以设置为1。
- 0
+ 0
- net.sctp.sndbuf_policy
+ net.sctp.sndbuf_policy
- SCTP发送缓冲区分配原则。
-
+ SCTP发送缓冲区分配原则。
+
- 0
+ 0
- net.sctp.rcvbuf_policy
+ net.sctp.rcvbuf_policy
- SCTP接收缓冲区分配原则。
-
+ SCTP接收缓冲区分配原则。
+
- 0
+ 0
- net.sctp.sctp_mem
+ net.sctp.sctp_mem
- 内核SCTP协议栈的最大可用内存,分无压力,有压力,和压力大三个区间,压力大时会丢包,单位为页面。
+ 内核SCTP协议栈的最大可用内存,分无压力,有压力,和压力大三个区间,压力大时会丢包,单位为页面。
- 94500000 915000000 927000000
+ 94500000 915000000 927000000
- net.sctp.sctp_rmem
+ net.sctp.sctp_rmem
- 内核SCTP协议栈的接收总可用内存,分无压力,有压力和压力大三个区间,压力大时会丢包,单位为页面。
+ 内核SCTP协议栈的接收总可用内存,分无压力,有压力和压力大三个区间,压力大时会丢包,单位为页面。
- 8192 250000 16777216
+ 8192 250000 16777216
- net.sctp.sctp_wmem
+ net.sctp.sctp_wmem
- 内核SCTP协议栈的发送总可用内存,分无压力,有压力和压力大三个区间,压力大时会丢包,单位为页面。
+ 内核SCTP协议栈的发送总可用内存,分无压力,有压力和压力大三个区间,压力大时会丢包,单位为页面。
- 8192 250000 16777216
+ 8192 250000 16777216
- net.ipv4.tcp_rmem
+ net.ipv4.tcp_rmem
- TCP协议接收端缓冲区的可用内存大小。分无压力,有压力,和压力大三个区间,单位为页面。
+ TCP协议接收端缓冲区的可用内存大小。分无压力,有压力,和压力大三个区间,单位为页面。
- 8192 250000 16777216
+ 8192 250000 16777216
- net.ipv4.tcp_wmem
+ net.ipv4.tcp_wmem
- TCP协议发送端缓冲区的可用内存大小。分无压力,有压力,和压力大三个区间,单位为页面。
+ TCP协议发送端缓冲区的可用内存大小。分无压力,有压力,和压力大三个区间,单位为页面。
- 8192 250000 16777216
+ 8192 250000 16777216
- net.core.wmem_max
+ net.core.wmem_max
- socket发送端缓冲区大小的最大值。
+ socket发送端缓冲区大小的最大值。
- 21299200
+ 21299200
- net.core.rmem_max
+ net.core.rmem_max
- socket接收端缓冲区大小的最大值。
+ socket接收端缓冲区大小的最大值。
- 21299200
+ 21299200
- net.core.wmem_default
+ net.core.wmem_default
- socket发送端缓冲区大小的默认值。
+ socket发送端缓冲区大小的默认值。
- 21299200
+ 21299200
- net.core.rmem_default
+ net.core.rmem_default
- socket接收端缓冲区大小的默认值。
+ socket接收端缓冲区大小的默认值。
- 21299200
+ 21299200
- net.ipv4.ip_local_port_range
+ net.ipv4.ip_local_port_range
- 物理机可用临时端口范围。
+ 物理机可用临时端口范围。
- 26000-65535
+ 26000-65535
- kernel.sem
+ kernel.sem
- 内核信号量参数设置大小。
+ 内核信号量参数设置大小。
- 250 6400000 1000 25600
+ 250 6400000 1000 25600
- vm.min_free_kbytes
+ vm.min_free_kbytes
- 保证物理内存有足够空闲空间,防止突发性换页。
+ 保证物理内存有足够空闲空间,防止突发性换页。
- 系统总内存的5%
+ 系统总内存的5%
- net.core.somaxconn
+ net.core.somaxconn
- 定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数。
+ 定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数。
- 65535
+ 65535
- net.ipv4.tcp_syncookies
+ net.ipv4.tcp_syncookies
- 当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击。
-0表示关闭SYN Cookies。 1表示开启SYN Cookies。
+ 当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击。
+0表示关闭SYN Cookies。 1表示开启SYN Cookies。
- 1
+ 1
- net.sctp.addip_enable
+ net.sctp.addip_enable
- SCTP动态地址重置支持开关
-
+ SCTP动态地址重置支持开关
+
- 0
+ 0
- net.core.netdev_max_backlog
+ net.core.netdev_max_backlog
- 在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。
+ 在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。
- 65535
+ 65535
- net.ipv4.tcp_max_syn_backlog
+ net.ipv4.tcp_max_syn_backlog
- 记录的那些尚未收到客户端确认信息的连接请求的最大值。
+ 记录的那些尚未收到客户端确认信息的连接请求的最大值。
- 65535
+ 65535
- net.ipv4.tcp_fin_timeout
+ net.ipv4.tcp_fin_timeout
- 系统默认的超时时间。
+ 系统默认的超时时间。
- 60
+ 60
- kernel.shmall
+ kernel.shmall
- 内核可用的共享内存总量。
+ 内核可用的共享内存总量。
- 1152921504606846720
+ 1152921504606846720
- kernel.shmmax
+ kernel.shmmax
- 内核参数定义单个共享内存段的最大值。
+ 内核参数定义单个共享内存段的最大值。
- 18446744073709551615
+ 18446744073709551615
- net.ipv4.tcp_sack
+ net.ipv4.tcp_sack
- 启用有选择的应答,通过有选择地应答乱序接受到的报文来提高性能,让发送者只发送丢失的报文段(对于广域网来说)这个选项应该启用,但是会增加对CPU的占用。
-
+ 启用有选择的应答,通过有选择地应答乱序接受到的报文来提高性能,让发送者只发送丢失的报文段(对于广域网来说)这个选项应该启用,但是会增加对CPU的占用。
+
- 1
+ 1
- net.ipv4.tcp_timestamps
+ net.ipv4.tcp_timestamps
- TCP时间戳(会在TCP包头增加12节),以一种比重发超时更精确的方式(参考RFC 1323)来启用对RTT的计算,启用可以实现更好的性能。
-
+ TCP时间戳(会在TCP包头增加12节),以一种比重发超时更精确的方式(参考RFC 1323)来启用对RTT的计算,启用可以实现更好的性能。
+
- 1
+ 1
- vm.extfrag_threshold
+ vm.extfrag_threshold
- 系统内存不够用时,linux会为当前系统内存碎片情况打分,如果超过vm.extfrag_threshold的值,kswapd就会触发memory compaction。所以这个值设置的接近1000,说明系统在内存碎片的处理倾向于把旧的页换出,以符合申请的需要,而设置接近0,表示系统在内存碎片的处理倾向做memory compaction。
+ 系统内存不够用时,linux会为当前系统内存碎片情况打分,如果超过vm.extfrag_threshold的值,kswapd就会触发memory compaction。所以这个值设置的接近1000,说明系统在内存碎片的处理倾向于把旧的页换出,以符合申请的需要,而设置接近0,表示系统在内存碎片的处理倾向做memory compaction。
- 500
+ 500
- vm.overcommit_ratio
+ vm.overcommit_ratio
- 系统使用绝不过量使用内存的算法时,系统整个内存地址空间不得超过swap+RAM值的此参数百分比,当vm.overcommit_memory=2时此参数生效。
+ 系统使用绝不过量使用内存的算法时,系统整个内存地址空间不得超过swap+RAM值的此参数百分比,当vm.overcommit_memory=2时此参数生效。
- 90
+ 90
- /sys/module/sctp/parameters/no_checksums
+ /sys/module/sctp/parameters/no_checksums
- SCTP协议是否关闭checksum。
+ SCTP协议是否关闭checksum。
- 0
+ 0
- MTU
+ MTU
- 节点网卡最大传输单元。OS默认值为1500,调整为8192可以提升SCTP协议数据收发的性能。
+ 节点网卡最大传输单元。OS默认值为1500,调整为8192可以提升SCTP协议数据收发的性能。
- 8192
+ 8192
-## 文件系统参数
+## 文件系统参数
- soft nofile
@@ -365,11 +365,11 @@ openGauss要求各主机上的操作系统参数设置成一定的值,以满
推荐值:3072
-## transparent\_hugepage设置
+## transparent\_hugepage设置
openGauss默认关闭使用transparent\_hugepage服务,并将关闭命令写入操作系统启动文件。
-## 文件句柄设置
+## 文件句柄设置
需要对文件句柄数进行手动设置时,使用root用户执行如下命令进行参数修改:
@@ -382,39 +382,39 @@ echo "* hard nofile 1000000" >>/etc/security/limits.conf
**表 2** 文件句柄数设置
-
- 参数名
+
+ 参数名
- 说明
+ 说明
- 预安装时是否由脚本自动设置
+ 预安装时是否由脚本自动设置
- 推荐取值
+ 推荐取值
- * soft nofile
+ * soft nofile
- soft nofile表示软限制,即表示任何用户能打开的最大文件数量为1000000,不管它开启多少个shell。
+ soft nofile表示软限制,即表示任何用户能打开的最大文件数量为1000000,不管它开启多少个shell。
- 是
+ 是
- 1000000
+ 1000000
- * hard nofile
+ * hard nofile
- hard nofile表示硬限制,软限制要小于等于硬限制。
+ hard nofile表示硬限制,软限制要小于等于硬限制。
- 是
+ 是
- 1000000
+ 1000000
-## 系统支持的最大进程数设置
+## 系统支持的最大进程数设置
需要对系统支持的最大进程数进行手动设置时,执行如下命令打开conf文件。
@@ -428,69 +428,70 @@ vim /etc/security/limits.d/90-nproc.conf
**表 3** 系统支持的最大进程数设置
-
- 参数名
+
+ 参数名
- 说明
+ 说明
- 预安装时是否由脚本自动设置
+ 预安装时是否由脚本自动设置
- 推荐取值
+ 推荐取值
- * soft nproc
+ * soft nproc
- soft nproc参数用来限制每个用户的最大processes数量。
+ soft nproc参数用来限制每个用户的最大processes数量。
- 否
+ 否
- 60000
+ 60000
-## 网卡参数配置
+## 网卡参数配置
**表 4** 网卡参数配置
-
- 参数名
+
+ 参数名
- 说明
+ 说明
- 预安装时是否由脚本自动设置
+ 预安装时是否由脚本自动设置
- 推荐取值
+ 推荐取值
- rx
+ rx
- 网卡接收队列长度设置
+ 网卡接收队列长度设置
- 是
+ 是
- 4096
+ 4096
- tx
+ tx
- 网卡传送队列长度设置
+ 网卡传送队列长度设置
- 是
+ 是
- 4096
+ 4096
- mtu
+ mtu
- 网卡最大传输单元设置
+ 网卡最大传输单元设置
- 是
+ 是
- 15008192
+ x86是1500
+ ARM是8192
diff --git "a/content/zh/docs/Quickstart/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\344\270\273\350\212\202\347\202\271\344\277\241\346\201\257.md" "b/content/zh/docs/Quickstart/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\344\270\273\350\212\202\347\202\271\344\277\241\346\201\257.md"
index 799d3a9666c557a0a47a0e8e52fc5c40355a5ce5..68df79a17f20bb96bfa7a64b910a7c9d5168dd1b 100644
--- "a/content/zh/docs/Quickstart/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\344\270\273\350\212\202\347\202\271\344\277\241\346\201\257.md"
+++ "b/content/zh/docs/Quickstart/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\344\270\273\350\212\202\347\202\271\344\277\241\346\201\257.md"
@@ -1,4 +1,4 @@
-# 配置数据库主节点信息
+# 配置数据库主节点信息
加粗字体内容为示例,可自行替换。每行信息均有注释进行说明。
@@ -10,48 +10,54 @@
-
-
+
+
+
```
**表 1** 参数说明
-
- 实例类型
+
+ 实例类型
- 参数
+ 参数
- 说明
+ 说明
- DBnode
+ DBnode
+
+ dataNum
- dataNum
+ 当前主机上需要部署的数据库节点个数。
+
+
+ dataPortBase
- 当前主机上需要部署的数据库节点个数。
+ 数据库节点的基础端口号,默认值40000。
- dataPortBase
+ dataListenIp1
- 数据库节点的基础端口号,默认值40000。
+ 监听的IP地址,用于接受其他数据库节点的连接。未设置时,使用对应主机上的backIp1生成。
+ 如果配置有虚拟IP,该字段也可配置虚拟IP。
- dataListenIp1
+ dataHaIp1
- 监听的IP地址,用于接受其他数据库节点的连接。未设置时,使用对应主机上的backIp1生成。
- 如果配置有虚拟IP,该字段也可配置虚拟IP。
+ 主、备DBnode通信的IP地址。未设置时,使用对应主机的backIp生成。
+ value中需设置主、备DBnode所在主机的IP地址。
- dataHaIp1
+ dataNode1
- 主、备DBnode通信的IP地址。未设置时,使用对应主机的backIp生成。
- value中需设置主、备DBnode所在主机的IP地址。
+ 用于指定当前主机上的数据库节点的数据存储目录。此目录为数据库的数据存储目录。应规划到数据盘上。
- dataNode1
+dataNode1_syncNum
- 用于指定当前主机上的数据库节点的数据存储目录。此目录为数据库的数据存储目录。应规划到数据盘上。
+ 可选参数,用于指定当前集群中同步模式的节点数目。取值范围为0~数据库备机节点数。
@@ -59,23 +65,23 @@
**表 2** 数据库实例数据目录
-
- 实例名称
+
+ 实例名称
- 实例数据目录
+ 实例数据目录
- 主DBnode
+ 主DBnode
- / opt/huawei /data/xxx
- 其中,xxx为当前主DBnode的名称。
+ /opt/huawei/install/data/xxx
+ 其中,xxx为当前主DBnode的名称。
- 备DBnode
+ 备DBnode
- opt/huawei /data/slaveX
- 其中,xxx为当前备DBnode的名称。
+ /opt/huawei/install/data/slaveX
+ 其中,xxx为当前备DBnode的名称。
diff --git "a/content/zh/docs/Quickstart/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\345\220\215\347\247\260\345\217\212\345\220\204\351\241\271\347\233\256\345\275\225.md" "b/content/zh/docs/Quickstart/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\345\220\215\347\247\260\345\217\212\345\220\204\351\241\271\347\233\256\345\275\225.md"
index 3d37b936c29f99cc785f82af9b51fbd2023d75bf..6260111920f44b82094432237ae4157a7630ee0b 100644
--- "a/content/zh/docs/Quickstart/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\345\220\215\347\247\260\345\217\212\345\220\204\351\241\271\347\233\256\345\275\225.md"
+++ "b/content/zh/docs/Quickstart/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\345\220\215\347\247\260\345\217\212\345\220\204\351\241\271\347\233\256\345\275\225.md"
@@ -1,4 +1,4 @@
-# 配置数据库名称及各项目录
+# 配置数据库名称及各项目录
加粗字体内容为示例,可自行替换。每行信息均有注释进行说明。
@@ -14,90 +14,90 @@
-
+
-
+
-
+
-
+
-
+
```
> **须知:**
->- “/opt/huawei/newsql/tools”存放互信等工具,避免权限问题,不要把实例数据目录放在此目录下。
+>- “/opt/huawei/install/om”存放互信等工具,避免权限问题,不要把实例数据目录放在此目录下。
>- 安装目录和数据目录需为空或者不存在,否则可能导致安装失败。
->- 在对数据库节点的实例进行具体配置时,需确保配置的目录之间不相互耦合。即各个配置目录不关联,删除其中任意一个目录,不会级联删除其它目录。如gaussdbAppPath为"/opt/gaussdb/app",gaussdbLogPath为"/opt/gaussdb/app/omm"。当gaussdbAppPath目录被删除时,会级联删除gaussdbLogPath目录,从而引起其它问题。
+>- 在对数据库节点的实例进行具体配置时,需确保配置的目录之间不相互耦合。即各个配置目录不关联,删除其中任意一个目录,不会级联删除其它目录。如gaussdbAppPath为"/opt/huawei/install/app",gaussdbLogPath为"/opt/huawei/install/app/omm"。当gaussdbAppPath目录被删除时,会级联删除gaussdbLogPath目录,从而引起其它问题。
>- 若需要安装脚本自动创建安装用户时各配置的目录需保证不与系统创建的默认用户目录耦合关联。
>- 配置openGauss路径和实例路径时,路径中不能包含"|",";","&","$","<","\>","\`","\\\\","'","\\"","\{","\}","\(","\)","\[","\]","\~","\*","?"特殊字符。
**表 1** 参数说明
-
- 实例类型
+
+ 实例类型
- 参数
+ 参数
- 说明
+ 说明
- 整体信息
+ 整体信息
- clusterName
+ clusterName
- openGauss名称。
+ openGauss名称。
- nodeNames
+ nodeNames
- openGauss中主机名称。
+ openGauss中主机名称。
- backIp1s
+ backIp1s
- 主机在后端存储网络中的IP地址(内网IP)。所有openGauss主机使用后端存储网络通讯。
+ 主机在后端存储网络中的IP地址(内网IP)。所有openGauss主机使用后端存储网络通讯。
- gaussdbAppPath
+ gaussdbAppPath
- openGauss程序安装目录。此目录应满足如下要求:
-磁盘空间>1GB 与数据库所需其它路径相互独立,没有包含关系。
+ openGauss程序安装目录。此目录应满足如下要求:
+磁盘空间>1GB 与数据库所需其它路径相互独立,没有包含关系。
- gaussdbLogPath
+ gaussdbLogPath
- openGauss运行日志和操作日志存储目录。此目录应满足如下要求:
-磁盘空间建议根据主机上的数据库节点数规划。数据库节点预留1GB空间的基础上,再适当预留冗余空间。 与 openGauss 所需其它路径相互独立,没有包含关系。
- 此路径可选。不指定的情况下, openGauss 安装时会默认指定“$GAUSSLOG/安装用户名”作为日志目录。
+ openGauss运行日志和操作日志存储目录。此目录应满足如下要求:
+磁盘空间建议根据主机上的数据库节点数规划。数据库节点预留1GB空间的基础上,再适当预留冗余空间。 与 openGauss 所需其它路径相互独立,没有包含关系。
+ 此路径可选。不指定的情况下, openGauss 安装时会默认指定“$GAUSSLOG/安装用户名”作为日志目录。
- tmpdbPath
+ tmpdbPath
- 数据库临时文件存放目录。
- 若不配置tmpdbPath,默认存放在/opt/huawei/wisequery/perfadm_db目录下。
+ 数据库临时文件存放目录。
+ 若不配置tmpdbPath,默认存放在/opt/huawei/wisequery/perfadm_db目录下。
- gaussdbToolPath
+ gaussdbToolPath
- openGauss系统工具目录,主要用于存放互信工具等。此目录应满足如下要求:
-磁盘空间>100MB 固定目录,与数据库所需其它目录相互独立,没有包含关系。
- 此目录可选。不指定的情况下, openGauss 安装时会默认指定“/opt/huawei/wisequery”作为数据库系统工具目录。
+ openGauss系统工具目录,主要用于存放互信工具等。此目录应满足如下要求:
+磁盘空间>100MB 固定目录,与数据库所需其它目录相互独立,没有包含关系。
+ 此目录可选。不指定的情况下, openGauss 安装时会默认指定“/opt/huawei/wisequery”作为数据库系统工具目录。
- corePath
+ corePath
- openGauss core文件的指定目录。
+ openGauss core文件的指定目录。
- clusterType
+ clusterType
- openGauss类型,openGauss拓扑类型;可选字段。
- “single-inst”表示单机一主多备部署形态。
+ openGauss类型,openGauss拓扑类型;可选字段。
+ “single-inst”表示单机一主多备部署形态。
diff --git "a/content/zh/docs/Quickstart/\351\205\215\347\275\256\350\277\220\350\241\214\345\217\202\346\225\260.md" "b/content/zh/docs/Quickstart/\351\205\215\347\275\256\350\277\220\350\241\214\345\217\202\346\225\260.md"
index 7df4e501daf1b115190e67b1b72df6c3007f2ae5..e07d1dfdf29e501ff7ba01def5999a94da4a4e8b 100644
--- "a/content/zh/docs/Quickstart/\351\205\215\347\275\256\350\277\220\350\241\214\345\217\202\346\225\260.md"
+++ "b/content/zh/docs/Quickstart/\351\205\215\347\275\256\350\277\220\350\241\214\345\217\202\346\225\260.md"
@@ -1,4 +1,4 @@
-# 配置运行参数
+# 配置运行参数
- **[查看参数当前取值](查看参数当前取值.md)**
diff --git "a/content/zh/docs/Quickstart/\351\207\215\350\256\276\345\217\202\346\225\260.md" "b/content/zh/docs/Quickstart/\351\207\215\350\256\276\345\217\202\346\225\260.md"
index 43cf625a29e74c972b6a6aaf165cf2544e7c7f9e..23ce3f0a3ef5e1f7d36a213293fab7f9a015c708 100644
--- "a/content/zh/docs/Quickstart/\351\207\215\350\256\276\345\217\202\346\225\260.md"
+++ "b/content/zh/docs/Quickstart/\351\207\215\350\256\276\345\217\202\346\225\260.md"
@@ -1,4 +1,4 @@
-# 重设参数
+# 重设参数
## 背景信息
@@ -15,7 +15,7 @@ openGauss提供了多种修改GUC参数的方法,用户可以方便的针对
- 时间单位:ms(毫秒)、s(秒)、min(分钟)、h(小时)和d(天)。
-具体参数说明请参见[GUC参数说明](GUC参数说明.md#ZH-CN_TOPIC_0244544068)。
+具体参数说明请参见[GUC参数说明](GUC参数说明.md#ZH-CN_TOPIC_0251900919)。
## GUC参数设置
@@ -94,7 +94,7 @@ openGauss提供了三种方式来修改GUC参数,具体操作请参考[表2](#
使用如下命令修改参数。 gs_guc set -D datadir -c " paraname=value "
说明: 如果参数是一个字符串变量,则使用-c parameter="'value'"或者使用-c "parameter = 'value'"。
-
使用以下命令在 数据库节点 上同时设置某个参数。
+
使用以下命令在数据库节点上同时设置某个参数。
gs_guc set -N all -I all -c " paraname=value "
重启数据库使参数生效。 说明: 重启 openGauss 操作会导致用户执行操作中断,请在操作之前规划好合适的执行窗口。
@@ -106,7 +106,7 @@ openGauss提供了三种方式来修改GUC参数,具体操作请参考[表2](#
方式二
gs_guc reload -D datadir -c "paraname=value "
- 说明: 使用以下命令在 数据库节点 上同时设置某个参数。
+
说明: 使用以下命令在数据库节点上同时设置某个参数。
gs_guc reload -N all -I all -c " paraname=value "
diff --git "a/content/zh/docs/Quickstart/\351\224\201\347\256\241\347\220\206.md" "b/content/zh/docs/Quickstart/\351\224\201\347\256\241\347\220\206.md"
index c55f8b27116d9913346ae0ac25a3a81b2b2aa4c9..25a4fdc5fb894f97edafa0ad9e1524271ad17889 100644
--- "a/content/zh/docs/Quickstart/\351\224\201\347\256\241\347\220\206.md"
+++ "b/content/zh/docs/Quickstart/\351\224\201\347\256\241\347\220\206.md"
@@ -1,4 +1,4 @@
-# 锁管理
+# 锁管理
在openGauss中,并发执行的事务由于竞争资源会导致死锁。本节介绍的参数主要管理事务锁的机制。
@@ -7,9 +7,9 @@
**参数说明:**设置死锁超时检测时间,以毫秒为单位。当申请的锁超过设定值时,系统会检查是否产生了死锁。
- 死锁的检查代价是比较高的,服务器不会在每次等待锁的时候都运行这个过程。在系统运行过程中死锁是不经常出现的,因此在检查死锁前只需等待一个相对较短的时间。增加这个值就减少了无用的死锁检查浪费的时间,但是会减慢真正的死锁错误报告的速度。在一个负载过重的服务器上,用户可能需要增大它。这个值的设置应该超过事务持续时间,这样就可以减少在锁释放之前就开始死锁检查的问题。
-- 如果要通过设置[log\_lock\_waits](zh-cn_topic_0237124723.md#zh-cn_topic_0059778400_s0e43c2815b8a4f369d5b150535d1703f)来将查询执行过程中的锁等待耗时信息写入日志,请确保[log\_lock\_waits](zh-cn_topic_0237124723.md#zh-cn_topic_0059778400_s0e43c2815b8a4f369d5b150535d1703f)的设置值小于deadlock\_timeout的设置值(或默认值)。
+- 如果要通过设置[log\_lock\_waits](记录日志的内容.md#zh-cn_topic_0242371513_zh-cn_topic_0237124723_zh-cn_topic_0059778400_s0e43c2815b8a4f369d5b150535d1703f)来将查询执行过程中的锁等待耗时信息写入日志,请确保[log\_lock\_waits](记录日志的内容.md#zh-cn_topic_0242371513_zh-cn_topic_0237124723_zh-cn_topic_0059778400_s0e43c2815b8a4f369d5b150535d1703f)的设置值小于deadlock\_timeout的设置值(或默认值)。
-该参数属于SUSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SUSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,1\~2147483647,单位为毫秒(ms)。
@@ -19,7 +19,7 @@
**参数说明:**控制单个锁的最长等待时间。当申请的锁等待时间超过设定值时,系统会报错。
-该参数属于SUSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SUSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,0 \~ INT\_MAX,单位为毫秒(ms)。
@@ -29,7 +29,7 @@
**参数说明:**允许并发更新参数开启情况下,该参数控制并发更新同一行时单个锁的最长等待时间。当申请的锁等待时间超过设定值时,系统会报错。
-该参数属于SUSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SUSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,0 \~ INT\_MAX,单位为毫秒(ms)。
@@ -43,7 +43,7 @@
- 增大这个参数可能导致openGauss请求更多的System V共享内存,有可能超过操作系统的缺省配置。
- 当运行备机时,请将此参数设置不小于主机上的值,否则,在备机上查询操作不会被允许。
-该参数属于POSTMASTER类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,10 \~ INT\_MAX
@@ -56,7 +56,7 @@
- 共享的断定锁表的大小是以假设任意时刻最多只有max\_pred\_locks\_per\_transaction\*\(max\_connections+max\_prepared\_transactions\) 个独立的对象需要被锁住为基础进行计算的。不超过设定数量的多个对象可以在任一时刻同时被锁定。当在一个事务里面修改很多不同的表时,可能需要提高这个默认数值。只能在服务器启动的时候设置。
- 增大这个参数可能导致openGauss请求更多的System V共享内存,有可能超过操作系统的缺省配置。
-该参数属于POSTMASTER类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,10 \~ INT\_MAX
@@ -69,7 +69,7 @@
- openGauss数据库中事务处理使用的是两阶段提交的方法,当有两阶段事务残留时,该事务通常会拿着表级锁,导致其它连接无法加锁,此时需要调用gs\_clean工具对openGauss中两阶段事务进行清理,gs\_clean\_timeout是控制DBnode周期性调用gs\_clean的时间。
- 增大这个参数可能导致openGauss周期性调用gs\_clean工具的时间延长,导致两阶段事务清理时间延长。
-该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,0 \~ INT\_MAX / 1000,单位为秒(s)。
@@ -84,7 +84,7 @@
- 在分区表上进行MERGE PARTITION或CLUSTER PARTITION操作时,进入文件交换阶段需要申请加锁AccessExclusiveLock,加锁方式是尝试性加锁,加锁成功了则立即返回,不成功则等待50ms后继续下次尝试,加锁超时时间使用会话级设置参数partition\_lock\_upgrade\_timeout。
- 特殊值:若partition\_lock\_upgrade\_timeout取值-1,表示无限等待,即不停的尝试锁升级,直到加锁成功。
- 该参数属于USERSET类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+ 该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,最小值-1,最大值3000,单位为秒(s)。
@@ -93,7 +93,7 @@
## fault\_mon\_timeout
-**参数说明:**轻量级死锁检测周期。该参数属于SIGHUP类型参数,请参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+**参数说明:**轻量级死锁检测周期。该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**整型,最小值0,最大值1440,单位为分钟(min)
@@ -103,7 +103,7 @@
**参数说明:**控制DDL是否会阻塞等待pg\_advisory\_lock/pgxc\_lock\_for\_backup等openGauss锁。主要用于OM在线操作场景,不建议用户设置。
-该参数属于SIGHUP类型参数,参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于SIGHUP类型参数,参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
**取值范围:**布尔型
@@ -116,7 +116,7 @@
参数说明:控制用于并发写预写式日志锁的个数。主要用于提高写预写式日志的效率。
-该参数属于POSTMASTER类型参数,参考[表2](zh-cn_topic_0237121562.md#zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
+该参数属于POSTMASTER类型参数,参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。
取值范围:整型,最小值1,最大值1000
diff --git "a/content/zh/docs/Quickstart/\351\224\231\350\257\257\346\212\245\345\221\212\345\222\214\346\227\245\345\277\227.md" "b/content/zh/docs/Quickstart/\351\224\231\350\257\257\346\212\245\345\221\212\345\222\214\346\227\245\345\277\227.md"
index 5571acde9993ec077b751180712dcde1afb6bc6f..98e6164b317586458416eae55f79ab0900c644d3 100644
--- "a/content/zh/docs/Quickstart/\351\224\231\350\257\257\346\212\245\345\221\212\345\222\214\346\227\245\345\277\227.md"
+++ "b/content/zh/docs/Quickstart/\351\224\231\350\257\257\346\212\245\345\221\212\345\222\214\346\227\245\345\277\227.md"
@@ -1,4 +1,4 @@
-# 错误报告和日志
+# 错误报告和日志
- **[记录日志的位置](记录日志的位置.md)**
diff --git "a/content/zh/docs/Quickstart/\351\242\204\345\206\231\345\274\217\346\227\245\345\277\227.md" "b/content/zh/docs/Quickstart/\351\242\204\345\206\231\345\274\217\346\227\245\345\277\227.md"
index 45d5f47c6048e7c000fd4c9dbb8b0cde77f7271b..bc36049bbe6260d787ef992bf40c0d90201c8132 100644
--- "a/content/zh/docs/Quickstart/\351\242\204\345\206\231\345\274\217\346\227\245\345\277\227.md"
+++ "b/content/zh/docs/Quickstart/\351\242\204\345\206\231\345\274\217\346\227\245\345\277\227.md"
@@ -1,4 +1,4 @@
-# 预写式日志
+# 预写式日志
- **[设置](设置.md)**
diff --git "a/content/zh/docs/Quickstart/\357\274\210\345\217\257\351\200\211\357\274\211\350\256\276\347\275\256\345\244\207\346\234\272\345\217\257\350\257\273.md" "b/content/zh/docs/Quickstart/\357\274\210\345\217\257\351\200\211\357\274\211\350\256\276\347\275\256\345\244\207\346\234\272\345\217\257\350\257\273.md"
index 7f8d9ce79f9b9cf85e3f9fcb5380951ac237689a..82e674c1cdb451dca711ea29715d8b6798a42df2 100644
--- "a/content/zh/docs/Quickstart/\357\274\210\345\217\257\351\200\211\357\274\211\350\256\276\347\275\256\345\244\207\346\234\272\345\217\257\350\257\273.md"
+++ "b/content/zh/docs/Quickstart/\357\274\210\345\217\257\351\200\211\357\274\211\350\256\276\347\275\256\345\244\207\346\234\272\345\217\257\350\257\273.md"
@@ -1,10 +1,10 @@
-# (可选)设置备机可读
+# (可选)设置备机可读
备机可读特性为可选特性,需要修改配置参数并重启主备机器后才能使用。在开启备机可读之后,备机将支持读操作,并满足数据一致性要求。
-## 操作步骤
+## 操作步骤
1. 如果主备机上的openGauss数据库实例正在运行,请先分别停止主备机上的数据库实例。
-2. 根据[表2](配置数据库主节点信息.md#zh-cn_topic_0242552161_zh-cn_topic_0241802596_table15838192510429)对应路径,分别打开主机与备机的postgres.conf配置文件,找到并将对应参数修改为:wal\_level=hot\_standby ; hot\_standby = on;hot\_standby\_feedback = on。
+2. 根据[表2](配置数据库主节点信息.md#zh-cn_topic_0249784583_zh-cn_topic_0241802596_table15838192510429)对应路径,分别打开主机与备机的postgres.conf配置文件,找到并将对应参数修改为:wal\_level=hot\_standby ; hot\_standby = on;hot\_standby\_feedback = on。
3. 修改完成后,分别启动主备机即可。
diff --git "a/content/zh/docs/Releasenotes/CVE\346\274\217\346\264\236.md" "b/content/zh/docs/Releasenotes/CVE\346\274\217\346\264\236.md"
new file mode 100644
index 0000000000000000000000000000000000000000..e00a265e63e43040074e525e2cafca0776f9939f
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/CVE\346\274\217\346\264\236.md"
@@ -0,0 +1,4 @@
+# CVE漏洞
+
+本版本是openGauss第一个发布版本,没有CVE披露漏洞。
+
diff --git a/content/zh/docs/Releasenotes/Releasenotes.md b/content/zh/docs/Releasenotes/Releasenotes.md
new file mode 100644
index 0000000000000000000000000000000000000000..f98a70b6c3d66710cc5813882c4c9c965ddc694c
--- /dev/null
+++ b/content/zh/docs/Releasenotes/Releasenotes.md
@@ -0,0 +1,4 @@
+# 发行说明
+
+本文档是openGauss 1.0.0版本的发行说明。
+
diff --git a/content/zh/docs/Releasenotes/public_sys-resources/icon-caution.gif b/content/zh/docs/Releasenotes/public_sys-resources/icon-caution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571
Binary files /dev/null and b/content/zh/docs/Releasenotes/public_sys-resources/icon-caution.gif differ
diff --git a/content/zh/docs/Releasenotes/public_sys-resources/icon-danger.gif b/content/zh/docs/Releasenotes/public_sys-resources/icon-danger.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571
Binary files /dev/null and b/content/zh/docs/Releasenotes/public_sys-resources/icon-danger.gif differ
diff --git a/content/zh/docs/Releasenotes/public_sys-resources/icon-note.gif b/content/zh/docs/Releasenotes/public_sys-resources/icon-note.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6314297e45c1de184204098efd4814d6dc8b1cda
Binary files /dev/null and b/content/zh/docs/Releasenotes/public_sys-resources/icon-note.gif differ
diff --git a/content/zh/docs/Releasenotes/public_sys-resources/icon-notice.gif b/content/zh/docs/Releasenotes/public_sys-resources/icon-notice.gif
new file mode 100644
index 0000000000000000000000000000000000000000..86024f61b691400bea99e5b1f506d9d9aef36e27
Binary files /dev/null and b/content/zh/docs/Releasenotes/public_sys-resources/icon-notice.gif differ
diff --git a/content/zh/docs/Releasenotes/public_sys-resources/icon-tip.gif b/content/zh/docs/Releasenotes/public_sys-resources/icon-tip.gif
new file mode 100644
index 0000000000000000000000000000000000000000..93aa72053b510e456b149f36a0972703ea9999b7
Binary files /dev/null and b/content/zh/docs/Releasenotes/public_sys-resources/icon-tip.gif differ
diff --git a/content/zh/docs/Releasenotes/public_sys-resources/icon-warning.gif b/content/zh/docs/Releasenotes/public_sys-resources/icon-warning.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571
Binary files /dev/null and b/content/zh/docs/Releasenotes/public_sys-resources/icon-warning.gif differ
diff --git "a/content/zh/docs/Releasenotes/\344\274\230\345\214\226\347\211\271\346\200\247.md" "b/content/zh/docs/Releasenotes/\344\274\230\345\214\226\347\211\271\346\200\247.md"
new file mode 100644
index 0000000000000000000000000000000000000000..b558d2b98d82163a99d8d97d1e312cd40a697214
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/\344\274\230\345\214\226\347\211\271\346\200\247.md"
@@ -0,0 +1,4 @@
+# 优化特性
+
+本版本是openGauss第一个版本,为基础版本,不涉及与原来版本的差异优化特性。
+
diff --git "a/content/zh/docs/Releasenotes/\345\217\202\344\270\216\350\264\241\347\214\256.md" "b/content/zh/docs/Releasenotes/\345\217\202\344\270\216\350\264\241\347\214\256.md"
new file mode 100644
index 0000000000000000000000000000000000000000..8ec747a3fdffd22d6c448ce7dad24bb2eefba65c
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/\345\217\202\344\270\216\350\264\241\347\214\256.md"
@@ -0,0 +1,24 @@
+# 参与贡献
+
+**参与贡献**
+
+作为openGauss用户,你可以通过多种方式协助openGauss社区。参与社区贡献的方法请参见[社区贡献](https://opengauss.org/zh/contribution.html),这里简单列出部分方式供参考。
+
+**特别兴趣小组**
+
+openGauss将拥有共同兴趣的人们聚在一起,组成了不同的特别兴趣小组(SIG)。当前已有的SIG请参见[SIG列表](https://opengauss.org/zh/contribution.html)。
+
+我们欢迎并鼓励你加入已有的SIG或创建新的SIG,创建方法请参见[SIG管理指南](https://gitee.com/opengauss/community/blob/master/zh/technical-committee/governance/README.md)。
+
+**邮件列表和任务**
+
+欢迎你积极地帮助用户解决在[邮件列表](https://opengauss.org/zh/community/mails.html)和issue任务(包括[代码仓任务](https://gitee.com/organizations/opengauss/issues)) 中提出的问题。另外,我们也欢迎你提出问题。这些都将帮助openGauss社区更好地发展。
+
+**文档**
+
+你不仅可以通过提交代码参与社区贡献,我们也欢迎你反馈遇到的问题、困难,或者对文档易用性、完整性的改进建议等。例如获取软件或文档过程中的问题,使用系统过程中的难点。欢迎关注并改进openGauss社区的文档模块。
+
+**IRC**
+
+openGauss也在IRC开辟了频道,作为提供社区支持和交互的额外渠道。详情请参见openGauss IRC。
+
diff --git "a/content/zh/docs/Releasenotes/\345\267\262\344\277\256\345\244\215\351\227\256\351\242\230.md" "b/content/zh/docs/Releasenotes/\345\267\262\344\277\256\345\244\215\351\227\256\351\242\230.md"
new file mode 100644
index 0000000000000000000000000000000000000000..e44ae9c5327e932837dfceae9620fcda75d375ff
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/\345\267\262\344\277\256\345\244\215\351\227\256\351\242\230.md"
@@ -0,0 +1,4 @@
+# 已修复问题
+
+本版本是openGauss第一个发布版本,不涉及问题修复。
+
diff --git "a/content/zh/docs/Releasenotes/\345\267\262\347\237\245\351\227\256\351\242\230.md" "b/content/zh/docs/Releasenotes/\345\267\262\347\237\245\351\227\256\351\242\230.md"
new file mode 100644
index 0000000000000000000000000000000000000000..75fe45f8df3ddd799a06d59a42b7eac81a194302
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/\345\267\262\347\237\245\351\227\256\351\242\230.md"
@@ -0,0 +1,13 @@
+# 已知问题
+
+- openGauss没有存储空间,文件权限,慢盘监控功能。在存储空间满,文件权限异常时,数据库会退出,日志中会有相应打印信息。在慢盘时,数据库操作会变慢。
+
+- openGauss只有数据库内核能力,没有主备监控和切换功能。在主备断链,主备日志不匹配时需要进行双机重建。
+
+- OM默认根据初始配置的主备双机关系启动主备数据库,如果应用对数据库进行了主备切换,需要把新的主备关系通知给OM,避免主备关系发生错乱,导致双机重建。
+
+- 备机只读和并行恢复两个特性不兼容,如果启动了并行恢复,需要关闭备机只读,反之一样。
+
+- MOT(Memory Optimized Tables)与增量检查点特性不兼容,如果使用MOT,需要关闭增量检查点功能。
+
+
diff --git "a/content/zh/docs/Releasenotes/\346\226\260\345\242\236\347\211\271\346\200\247.md" "b/content/zh/docs/Releasenotes/\346\226\260\345\242\236\347\211\271\346\200\247.md"
new file mode 100644
index 0000000000000000000000000000000000000000..db49e4995ce11921aad71525245a8a88a88b3f07
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/\346\226\260\345\242\236\347\211\271\346\200\247.md"
@@ -0,0 +1,4 @@
+# 新增特性
+
+本版本是openGauss第一个版本,为基础版本,不涉及与原来版本的差异新增特性。
+
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"
new file mode 100644
index 0000000000000000000000000000000000000000..504c57dd2e257e5220277ab1c8e34ed5abbe545e
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/\346\263\225\345\276\213\345\243\260\346\230\216.md"
@@ -0,0 +1,14 @@
+# 法律声明
+
+**版权所有 © 2020 华为技术有限公司。**
+
+您对“本文档”的复制、使用、修改及分发受知识共享\(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)。
+
+**商标声明**
+
+openGauss为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
+
+**免责声明**
+
+本文档仅作为使用指导,除非适用法强制规定或者双方有明确书面约定, 华为技术有限公司对本文档中的所有陈述、信息和建议不做任何明示或默示的声明或保证,包括但不限于不侵权,时效性或满足特定目的的担保。
+
diff --git "a/content/zh/docs/Releasenotes/\346\272\220\344\273\243\347\240\201.md" "b/content/zh/docs/Releasenotes/\346\272\220\344\273\243\347\240\201.md"
new file mode 100644
index 0000000000000000000000000000000000000000..eca7f28fd4274242d39495197f4a847823a7bf75
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/\346\272\220\344\273\243\347\240\201.md"
@@ -0,0 +1,11 @@
+# 源代码
+
+openGauss主要包含四个代码仓,引用开源软件的补丁代码仓,ODBC驱动代码仓,JDBC驱动代码仓和数据库服务器代码仓:
+
+- 开源软件补丁代码仓:https://gitee.com/opengauss/
+
+- JDBC驱动代码仓:https://gitee.com/opengauss/
+
+- ODBC驱动代码仓:https://gitee.com/opengauss/
+- 数据库服务器代码仓:https://gitee.com/opengauss/
+
diff --git "a/content/zh/docs/Releasenotes/\347\211\210\346\234\254\344\273\213\347\273\215.md" "b/content/zh/docs/Releasenotes/\347\211\210\346\234\254\344\273\213\347\273\215.md"
new file mode 100644
index 0000000000000000000000000000000000000000..0b61c1f4294a9ce0a71d35a791c86f9649aa8850
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/\347\211\210\346\234\254\344\273\213\347\273\215.md"
@@ -0,0 +1,9 @@
+# 版本介绍
+
+本版本为openGauss的第一个版本,主要提供如下功能:
+
+- 数据类型,表,临时表,视图,索引,序列,存储过程,函数,触发器等SQL功能;
+- 认证,权限管理,网络通信安全,数据库审计等安全特性;
+- 主备双机,物理备份,逻辑备份,极致RTO高可用功能;
+- 大并发链接,分区,plan hint,NUMA化优化高性能能力。
+
diff --git "a/content/zh/docs/Releasenotes/\347\211\210\346\234\254\344\275\277\347\224\250\346\263\250\346\204\217\344\272\213\351\241\271.md" "b/content/zh/docs/Releasenotes/\347\211\210\346\234\254\344\275\277\347\224\250\346\263\250\346\204\217\344\272\213\351\241\271.md"
new file mode 100644
index 0000000000000000000000000000000000000000..7407b349c40e3c06140d802b62c861b287e41abc
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/\347\211\210\346\234\254\344\275\277\347\224\250\346\263\250\346\204\217\344\272\213\351\241\271.md"
@@ -0,0 +1,8 @@
+# 版本使用注意事项
+
+版本技术规格可以参照技术白皮书中的技术指标。
+
+现在最多支持4备,在使用一主多备时,如果主机故障,需要选择一个日志多的备机升主,避免其他备机发生重建。
+
+推荐产品使用一主两备部署模式,保证可靠性和可用性。
+
diff --git "a/content/zh/docs/Releasenotes/\347\211\271\346\200\247\344\273\213\347\273\215.md" "b/content/zh/docs/Releasenotes/\347\211\271\346\200\247\344\273\213\347\273\215.md"
new file mode 100644
index 0000000000000000000000000000000000000000..43b09f0b1218411eb50b8ef398c6fac81390881e
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/\347\211\271\346\200\247\344\273\213\347\273\215.md"
@@ -0,0 +1,32 @@
+# 特性介绍
+
+- 标准SQL支持
+
+ 支持标准的SQL92/SQL99/SQL2003/SQL2011规范,支持GBK和UTF-8字符集,支持SQL标准函数与分析函数,支持存储过程。
+
+- 数据库存储管理功能
+
+ 支持表空间,可以把不同表规划到不同的存储位置。
+
+- 提供主备双机
+
+ 事务支持ACID特性、单节点故障恢复、双机数据同步,双机故障切换等。
+
+- 应用程序接口
+
+ 支持标准JDBC 4.0的特性、ODBC 3.5特性。
+
+- 管理工具
+
+ 提供安装部署工具、实例启停工具、备份恢复工具。
+
+- 安全管理
+
+ 支持SSL安全网络连接、用户权限管理、密码管理、安全审计等功能,保证数据库在管理层、应用层、系统层和网络层的安全性
+
+
+- **[新增特性](新增特性.md)**
+
+- **[优化特性](优化特性.md)**
+
+
diff --git "a/content/zh/docs/Releasenotes/\347\224\250\346\210\267\351\241\273\347\237\245.md" "b/content/zh/docs/Releasenotes/\347\224\250\346\210\267\351\241\273\347\237\245.md"
new file mode 100644
index 0000000000000000000000000000000000000000..873ac56a2947f8d1ebade60d3546ed26cc5d2584
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/\347\224\250\346\210\267\351\241\273\347\237\245.md"
@@ -0,0 +1,6 @@
+# 用户须知
+
+openGauss是一款极致性能、安全、可靠的关系型(OLTP)开源数据库。采用协议“木兰宽松许可证”(Mulan PSL V2),用户可以自由复制、使用、修改、分发,不论修改与否。
+
+openGauss版本号采用点分位命名规则(X.Y.Z)模式,其中X表示架构变更版本,Y表示每年发布版本,Z表示补丁版本。正常每年会发布一个Y版本,重大架构或特性变更,发布一个新的X版本。openGauss生命周期初步规划为3年。
+
diff --git "a/content/zh/docs/Releasenotes/\350\207\264\350\260\242.md" "b/content/zh/docs/Releasenotes/\350\207\264\350\260\242.md"
new file mode 100644
index 0000000000000000000000000000000000000000..1fcf205fe5d79b706ee44cf919d9a1c4f8def21e
--- /dev/null
+++ "b/content/zh/docs/Releasenotes/\350\207\264\350\260\242.md"
@@ -0,0 +1,4 @@
+# 致谢
+
+我们忠心地感谢参与和协助openGauss项目的所有成员。是你们的辛勤付出使得版本顺利发布,也为openGauss更好地发展提供可能。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/CBO\344\274\230\345\214\226\345\231\250.md" "b/content/zh/docs/Technicalwhitepaper/CBO\344\274\230\345\214\226\345\231\250.md"
new file mode 100644
index 0000000000000000000000000000000000000000..177ce05171d92266433b73cac7a5576fc3dfc6e5
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/CBO\344\274\230\345\214\226\345\231\250.md"
@@ -0,0 +1,6 @@
+# CBO优化器
+
+openGauss优化器是典型的基于代价的优化 \(Cost-Based Optimization,简称CBO\)。在这种优化器模型下,数据库根据表的元组数、字段宽度、NULL记录比率、distinct值、MCV值、HB值等表的特征值,以及一定的代价计算模型,计算出每一个执行步骤的不同执行方式的输出元组数和执行代价\(cost\),进而选出整体执行代价最小/首元组返回代价最小的执行方式进行执行。
+
+CBO优化器能够在众多计划中依据代价选出最高效的执行计划,最大限度的满足客户业务要求。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/Copy\346\216\245\345\217\243\346\224\257\346\214\201\345\256\271\351\224\231\346\234\272\345\210\266.md" "b/content/zh/docs/Technicalwhitepaper/Copy\346\216\245\345\217\243\346\224\257\346\214\201\345\256\271\351\224\231\346\234\272\345\210\266.md"
new file mode 100644
index 0000000000000000000000000000000000000000..f65ab4ad621f104621ae03abef784688faa00c4e
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/Copy\346\216\245\345\217\243\346\224\257\346\214\201\345\256\271\351\224\231\346\234\272\345\210\266.md"
@@ -0,0 +1,4 @@
+# Copy接口支持容错机制
+
+openGauss提供用户封装好的Copy错误表创建函数,并允许用户在使用Copy From指令时指定容错选项,使得Copy From语句在执行过程中部分解析、数据格式、字符集等相关的报错不会报错中断事务、而是被记录至错误表中,使得在Copy From的目标文件即使有少量数据错误也可以完成入库操作。用户随后可以在错误表中对相关的错误进行定位以及进一步排查。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/PG\346\216\245\345\217\243\345\205\274\345\256\271.md" "b/content/zh/docs/Technicalwhitepaper/PG\346\216\245\345\217\243\345\205\274\345\256\271.md"
new file mode 100644
index 0000000000000000000000000000000000000000..2292a1603d1cbcb6b1f0e8fb9023239971b6cb20
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/PG\346\216\245\345\217\243\345\205\274\345\256\271.md"
@@ -0,0 +1,4 @@
+# PG接口兼容
+
+兼容PSQL客户端,兼容PostgreSQL标准接口。
+
diff --git a/content/zh/docs/Technicalwhitepaper/SQL-by-pass.md b/content/zh/docs/Technicalwhitepaper/SQL-by-pass.md
new file mode 100644
index 0000000000000000000000000000000000000000..99bb5dd8fc5782ef2b5a9ccf7fce56d2ded6ddf3
--- /dev/null
+++ b/content/zh/docs/Technicalwhitepaper/SQL-by-pass.md
@@ -0,0 +1,4 @@
+# SQL by pass
+
+在典型的OLTP场景中,简单查询占了很大一部分比例。这种查询的特征是只涉及单表和简单表达式的查询,因此为了加速这类查询,提出了SQL-BY-PASS框架,在parse层对这类查询做简单的模式判别后,进入到特殊的执行路径里,跳过经典的执行器执行框架,包括算子的初始化与执行、表达式与投影等经典框架,直接重写一套简洁的执行路径,并且直接调用存储接口,这样可以大大加速简单查询的执行速度。
+
diff --git a/content/zh/docs/Technicalwhitepaper/Technicalwhitepaper.md b/content/zh/docs/Technicalwhitepaper/Technicalwhitepaper.md
new file mode 100644
index 0000000000000000000000000000000000000000..f009edb8b67bd64e4a40a2ee1c0afbb31910a755
--- /dev/null
+++ b/content/zh/docs/Technicalwhitepaper/Technicalwhitepaper.md
@@ -0,0 +1,3 @@
+# Technicalwhitepaper
+
+本文档主要介绍openGauss数据库的架构、能力以及主要技术。
diff --git "a/content/zh/docs/Technicalwhitepaper/figures/openGauss\351\200\273\350\276\221\346\236\266\346\236\204\345\233\276.png" "b/content/zh/docs/Technicalwhitepaper/figures/openGauss\351\200\273\350\276\221\346\236\266\346\236\204\345\233\276.png"
new file mode 100644
index 0000000000000000000000000000000000000000..b9f5fabba75f4afadc909a3e0383263f2cf03cf6
Binary files /dev/null and "b/content/zh/docs/Technicalwhitepaper/figures/openGauss\351\200\273\350\276\221\346\236\266\346\236\204\345\233\276.png" differ
diff --git a/content/zh/docs/Technicalwhitepaper/figures/zh-cn_image_0253069486.png b/content/zh/docs/Technicalwhitepaper/figures/zh-cn_image_0253069486.png
new file mode 100644
index 0000000000000000000000000000000000000000..0fa39230b4d50a7933c9834402b8f4009ca0c272
Binary files /dev/null and b/content/zh/docs/Technicalwhitepaper/figures/zh-cn_image_0253069486.png differ
diff --git a/content/zh/docs/Technicalwhitepaper/figures/zh-cn_image_0253141769.png b/content/zh/docs/Technicalwhitepaper/figures/zh-cn_image_0253141769.png
new file mode 100644
index 0000000000000000000000000000000000000000..c27f70f364897b47efdf0e6e47f5232fd8e83ca9
Binary files /dev/null and b/content/zh/docs/Technicalwhitepaper/figures/zh-cn_image_0253141769.png differ
diff --git "a/content/zh/docs/Technicalwhitepaper/figures/\344\270\200\344\270\273\345\244\232\345\244\207\351\203\250\347\275\262\345\275\242\346\200\201\345\233\276.png" "b/content/zh/docs/Technicalwhitepaper/figures/\344\270\200\344\270\273\345\244\232\345\244\207\351\203\250\347\275\262\345\275\242\346\200\201\345\233\276.png"
new file mode 100644
index 0000000000000000000000000000000000000000..f78093de9977dc03e185142778f012e3312368ec
Binary files /dev/null and "b/content/zh/docs/Technicalwhitepaper/figures/\344\270\200\344\270\273\345\244\232\345\244\207\351\203\250\347\275\262\345\275\242\346\200\201\345\233\276.png" differ
diff --git "a/content/zh/docs/Technicalwhitepaper/figures/\344\270\273\345\244\207\351\203\250\347\275\262\345\275\242\346\200\201\345\233\276.png" "b/content/zh/docs/Technicalwhitepaper/figures/\344\270\273\345\244\207\351\203\250\347\275\262\345\275\242\346\200\201\345\233\276.png"
new file mode 100644
index 0000000000000000000000000000000000000000..dd7f81ba37897dfde4d1049875a8c0b91762ebf9
Binary files /dev/null and "b/content/zh/docs/Technicalwhitepaper/figures/\344\270\273\345\244\207\351\203\250\347\275\262\345\275\242\346\200\201\345\233\276.png" differ
diff --git "a/content/zh/docs/Technicalwhitepaper/figures/\345\210\227\345\255\230\345\202\250\347\244\272\346\204\217\345\233\276.png" "b/content/zh/docs/Technicalwhitepaper/figures/\345\210\227\345\255\230\345\202\250\347\244\272\346\204\217\345\233\276.png"
new file mode 100644
index 0000000000000000000000000000000000000000..82266c41c62075aa073ad8db01dbe12d3b6d4feb
Binary files /dev/null and "b/content/zh/docs/Technicalwhitepaper/figures/\345\210\227\345\255\230\345\202\250\347\244\272\346\204\217\345\233\276.png" differ
diff --git "a/content/zh/docs/Technicalwhitepaper/figures/\346\225\260\346\215\256\345\272\223\347\256\241\347\220\206\345\255\230\345\202\250\347\275\221\347\273\234\347\273\204\347\275\221\347\244\272\344\276\213.png" "b/content/zh/docs/Technicalwhitepaper/figures/\346\225\260\346\215\256\345\272\223\347\256\241\347\220\206\345\255\230\345\202\250\347\275\221\347\273\234\347\273\204\347\275\221\347\244\272\344\276\213.png"
new file mode 100644
index 0000000000000000000000000000000000000000..9ae90c488e9c1d5121fe2d300922e3a98bf5f56f
Binary files /dev/null and "b/content/zh/docs/Technicalwhitepaper/figures/\346\225\260\346\215\256\345\272\223\347\256\241\347\220\206\345\255\230\345\202\250\347\275\221\347\273\234\347\273\204\347\275\221\347\244\272\344\276\213.png" differ
diff --git "a/content/zh/docs/Technicalwhitepaper/figures/\351\262\262\351\271\217NUMA\346\236\266\346\236\204\344\274\230\345\214\226\345\233\276.png" "b/content/zh/docs/Technicalwhitepaper/figures/\351\262\262\351\271\217NUMA\346\236\266\346\236\204\344\274\230\345\214\226\345\233\276.png"
new file mode 100644
index 0000000000000000000000000000000000000000..55790496b607fdc79cfa855bb7658a856fb54917
Binary files /dev/null and "b/content/zh/docs/Technicalwhitepaper/figures/\351\262\262\351\271\217NUMA\346\236\266\346\236\204\344\274\230\345\214\226\345\233\276.png" differ
diff --git a/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-caution.gif b/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-caution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571
Binary files /dev/null and b/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-caution.gif differ
diff --git a/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-danger.gif b/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-danger.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571
Binary files /dev/null and b/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-danger.gif differ
diff --git a/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-note.gif b/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-note.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6314297e45c1de184204098efd4814d6dc8b1cda
Binary files /dev/null and b/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-note.gif differ
diff --git a/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-notice.gif b/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-notice.gif
new file mode 100644
index 0000000000000000000000000000000000000000..86024f61b691400bea99e5b1f506d9d9aef36e27
Binary files /dev/null and b/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-notice.gif differ
diff --git a/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-tip.gif b/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-tip.gif
new file mode 100644
index 0000000000000000000000000000000000000000..93aa72053b510e456b149f36a0972703ea9999b7
Binary files /dev/null and b/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-tip.gif differ
diff --git a/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-warning.gif b/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-warning.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571
Binary files /dev/null and b/content/zh/docs/Technicalwhitepaper/public_sys-resources/icon-warning.gif differ
diff --git "a/content/zh/docs/Technicalwhitepaper/\344\270\200\344\270\273\345\244\232\345\244\207\351\203\250\347\275\262.md" "b/content/zh/docs/Technicalwhitepaper/\344\270\200\344\270\273\345\244\232\345\244\207\351\203\250\347\275\262.md"
new file mode 100644
index 0000000000000000000000000000000000000000..bec5e6422b54edb3f1ed825412add560cd999c56
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\344\270\200\344\270\273\345\244\232\345\244\207\351\203\250\347\275\262.md"
@@ -0,0 +1,14 @@
+# 一主多备部署
+
+多副本的部署形态,提供了抵御实例级故障的能力,。适用于不要求机房级别容灾,但是需要抵御个别硬件故障的应用场景。
+
+一般多副本部署时使用1主2备模式,总共3个副本,3个副本的可靠性为4个9,可以满足大多数应用的可靠性要求。
+
+- 主备间Quorum复制,至少同步到一台备机,保证最大性能。
+- 主备任意一个节点故障,不影响业务的进行。
+- 数据有三份,任何一个节点故障,系统仍然有双份数据确保继续运行。任何一个备份都可以升主。
+- 主备实例之间不可部署在同一台物理机上。
+
+**图 1** 一主多备部署形态图
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\344\270\273\345\244\207\346\234\272.md" "b/content/zh/docs/Technicalwhitepaper/\344\270\273\345\244\207\346\234\272.md"
new file mode 100644
index 0000000000000000000000000000000000000000..8ba47faf0cddd897a030a647315fb4696237c982
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\344\270\273\345\244\207\346\234\272.md"
@@ -0,0 +1,8 @@
+# 主备机
+
+为了保证故障的可恢复,需要将数据写多份,设置主备多个副本,通过日志进行数据同步,可以实现节点故障、停止后重启等情况下,openGauss能够保证故障之前的数据无丢失,满足ACID特性。主备环境可以支持主备和一主多备两种模式。主备模式下,备机需要重做日志,可以升主,。在一主多备模式下,所有的备机都需要重做日志,都可以升主。主备主要用于一般可靠性的OLTP系统能够节省一定的存储资源。而一主多备提供更高的容灾能力,适合于更高可靠性事务处理的OLTP系统。
+
+主备之间可以通过switchover进行角色切换,主机故障后可以通过failover对备机进行升主。
+
+初始化安装或者备份恢复等场景中,需要根据主机重建备机的数据,此时需要build功能,将主机的数据和WAL日志发送到备机。主机故障后重新以备机的角色加入时,也需要build功能将其数据和日志与新主拉齐。Build包含全量build和增量build,全量build要全部依赖主机数据进行重建,拷贝的数据量比较大,耗时比较长,而增量build只拷贝差异文件,拷贝的数据量比较小,耗时比较短。一般情况下,优先选择增量build来进行故障恢复,如果增量build失败,再继续执行全量build,直至故障恢复。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\344\270\273\345\244\207\351\203\250\347\275\262.md" "b/content/zh/docs/Technicalwhitepaper/\344\270\273\345\244\207\351\203\250\347\275\262.md"
new file mode 100644
index 0000000000000000000000000000000000000000..147beffe7d9918a4785acb38da90e7e49821f7fb
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\344\270\273\345\244\207\351\203\250\347\275\262.md"
@@ -0,0 +1,7 @@
+# 主备部署
+
+主备模式相当于两个数据副本,主机和备机各一个数据副本,备机接受日志、做日志回放;
+
+**图 1** 主备部署形态图
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\344\272\213\345\212\241\346\224\257\346\214\201.md" "b/content/zh/docs/Technicalwhitepaper/\344\272\213\345\212\241\346\224\257\346\214\201.md"
new file mode 100644
index 0000000000000000000000000000000000000000..ec7745b5bd39db5e72d5d02174f88966c5bdf52b
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\344\272\213\345\212\241\346\224\257\346\214\201.md"
@@ -0,0 +1,36 @@
+# 事务支持
+
+事务支持指的就是系统提供事务的能力,支持全局事务的ACID,保证事务的原子性、一致性、隔离性和持久性。。
+
+事务支持及数据一致性保证是绝大多数数据库的基本功能,只有支持了事务,才能满足事务化的应用需求。
+
+- A:atomicity 原子性
+
+ 整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。
+
+
+- C:consistency 一致性
+
+ 事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务的数量。
+
+
+- I: Isolation 隔离性
+
+ 隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。
+
+
+- D:Durability 持久性
+
+ 在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
+
+
+支持事务的默认隔离级别是读已提交。保证不会读到脏数据。
+
+事务分为单语句事务和事务块,相关基础接口:
+
+- Start transaction; 事务开启
+- Commit; 事务提交
+- Rollback; 事务回滚
+
+另有Set transaction可设置隔离级别、读写模式或可推迟模式。详细语法参见《openGauss 开发者指南》。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\344\272\247\345\223\201\345\256\232\344\275\215.md" "b/content/zh/docs/Technicalwhitepaper/\344\272\247\345\223\201\345\256\232\344\275\215.md"
new file mode 100644
index 0000000000000000000000000000000000000000..3b9533dc9c36fe9b394528b9e0fe678781cad482
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\344\272\247\345\223\201\345\256\232\344\275\215.md"
@@ -0,0 +1,8 @@
+# 产品定位
+
+openGauss支持SQL2003标准语法,支持主备部署的高可用关系型数据库。
+
+- 多种存储模式支持复合业务场景。
+- NUMA化数据结构支持高性能。
+- 主备模式,CRC校验支持高可用。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\345\205\270\345\236\213\347\273\204\347\275\221.md" "b/content/zh/docs/Technicalwhitepaper/\345\205\270\345\236\213\347\273\204\347\275\221.md"
new file mode 100644
index 0000000000000000000000000000000000000000..53a42a0769f463ca897f9a1b531407a61ddc7111
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\345\205\270\345\236\213\347\273\204\347\275\221.md"
@@ -0,0 +1,45 @@
+# 典型组网
+
+为了保证整个应用数据的安全性,建议将openGauss的典型组网划分为两个独立网络:前端业务网络和数据管理存储网络。
+
+**图 1** 典型组网
+
+
+
+
+网络划分说明如[表1](#zh-cn_concept_0238166305_zh-cn_topic_0085434654_zh-cn_topic_0059782024_tb80dc4a120b64f6093f63535ce9998ef)所示。
+
+**表 1** 网络划分
+
+
+ 类型
+
+ 描述
+
+
+
+ 数据库管理存储网络
+
+ DBA通过此网络调用OM脚本管理和维护openGauss实例。同时,用于openGauss主备通信组网。数据库管理存储网络也是应用执行系统监控的网络。
+
+
+ 前端业务网络
+
+ 外部客户端通过此网络访问openGauss数据库。
+
+
+
+
+
+该典型组网有如下优点:
+
+- 业务网络与数据库管理存储网络的隔离,有效保护了后端存储数据的安全。
+- 业务网络和数据库管理存储网络的隔离,可以防止攻击者通过互联网试图对数据库服务器进行管理操作,增加了系统安全性。
+
+网络独占性及1:1的带宽收敛比是openGauss数据库网络性能的基本要求。因此,在生产系统中,对[图1](#zh-cn_concept_0238166305_fig7654172218145)中的后端存储网络,需满足独占性及至少1:1收敛比的要求。例如,[图2](#zh-cn_concept_0238166305_zh-cn_topic_0085434654_zh-cn_topic_0059782024_fig397545395542)中,其本质是Fattree组网方式。为实现收敛比1:1,交换网络层级每提高一层,带宽增加一倍。图中每根加粗连接线代表80GE带宽,即8台物理机带宽上限之和。接入层每单台交换机下行带宽160GE,上行带宽160GE,收敛比1:1;汇聚层每单台交换机接入带宽320GE。
+
+对于测试系统,上述要求可以适当降低。
+
+**图 2** 数据库管理存储网络组网示例
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\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/Technicalwhitepaper/\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"
new file mode 100644
index 0000000000000000000000000000000000000000..a3a37795a61898daf612c86c4d11252dfa109c1d
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\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"
@@ -0,0 +1,16 @@
+# 函数及存储过程支持
+
+函数和存储过程是数据库中的一种重要对象,主要功能将用户特定功能的SQL语句集进行封装,并方便调用。
+
+存储过程是SQL、PL/SQL的组合。存储过程可以使执行商业规则的代码从应用程序中移动到数据库。从而,代码存储一次能够被多个程序使用。
+
+1. 允许客户模块化程序设计,对SQL语句集进行封装,调用方便。
+2. 存储过程会进行编译缓存,可以提升用户执行SQL语句集的速度。
+3. 系统管理员通过执行某一存储过程的权限进行限制,能够实现对相应的数据的访问权限的限制,避免了非授权用户对数据的访问,保证了数据的安全。
+4. 为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标,存储过程可以控制上下文区域的变化。
+5. 支持6种异常信息级别方便客户对存储过程进行调试。
+
+openGauss支持SQL标准中的函数及存储过程增强了存储过程的易用性。
+
+存储过程具体的使用方式可以参考《openGauss 开发者指南》。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\345\210\206\345\214\272.md" "b/content/zh/docs/Technicalwhitepaper/\345\210\206\345\214\272.md"
new file mode 100644
index 0000000000000000000000000000000000000000..ad3851e7946e3083602a3993bde0ca607395f0b1
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\345\210\206\345\214\272.md"
@@ -0,0 +1,19 @@
+# 分区
+
+在openGauss系统中,数据分区是在一个实例内部对数据按照用户指定的策略对数据做进一步的水平分表,将表按照指定范围划分为多个数据互不重叠的部分。
+
+对于大多数用户使用场景,分区表和普通表相比具有以下优点:
+
+- 改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索效率。
+- 增强可用性:如果分区表的某个分区出现故障,表在其他分区的数据仍然可用。
+- 方便维护:如果分区表的某个分区出现故障,需要修复数据,只修复该分区即可。
+- 均衡I/O:可以把不同的分区映射到不同的磁盘以平衡I/O,改善整个系统性能。
+
+目前openGauss数据库支持的分区表为范围分区表:将数据基于范围映射到每一个分区,这个范围是由创建分区表时指定的分区键决定的。这种分区方式是最为常用的。
+
+范围分区功能,即根据表的一列或者多列,将要插入表的记录分为若干个范围(这些范围在不同的分区里没有重叠),然后为每个范围创建一个分区,用来存储相应的数据。用户在CREATE TABLE时增加PARTITION参数,即表示针对此表应用数据分区功能。
+
+用户可以在实际使用中根据需要调整建表时的分区键,使每次查询结果尽可能存储在相同或者最少的分区内(称为“分区剪枝”),通过获取连续I/O大幅度提升查询性能。
+
+实际业务中,时间经常被作为查询对象的过滤条件。因此,用户可考虑选择时间列为分区键,键值范围可根据总数据量、一次查询数据量调整。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\345\215\225\346\234\272\351\203\250\347\275\262.md" "b/content/zh/docs/Technicalwhitepaper/\345\215\225\346\234\272\351\203\250\347\275\262.md"
new file mode 100644
index 0000000000000000000000000000000000000000..4ddb7de4ce7f9dde30750a949fc6ea278fd9c12f
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\345\215\225\346\234\272\351\203\250\347\275\262.md"
@@ -0,0 +1,9 @@
+# 单机部署
+
+单机部署形态是一种非常特殊的部署形态,这种形态对于可靠性、可用性均无任何保证。由于只有一个数据副本,一旦发生数据损坏、丢失,只能通过物理备份恢复数据。这种部署形态,一般用于数据库体验用户,以及测试环境做语法功能调测等场景。不建议用于商业现网运行。
+
+**图 1** 单机部署形态图
+
+
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\345\217\257\347\273\264\346\212\244\346\200\247.md" "b/content/zh/docs/Technicalwhitepaper/\345\217\257\347\273\264\346\212\244\346\200\247.md"
new file mode 100644
index 0000000000000000000000000000000000000000..09d6ef03beb59fb5b5bbde07b52c97adc8016804
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\345\217\257\347\273\264\346\212\244\346\200\247.md"
@@ -0,0 +1,9 @@
+# 可维护性
+
+- **[支持WDR诊断报告](支持WDR诊断报告.md)**
+WDR\(Workload Diagnosis Report\)基于两次不同时间点系统的性能快照数据, 生成这两个时间点之间的性能表现报表,用于诊断数据库内核的性能故障。
+- **[慢SQL诊断](慢SQL诊断.md)**
+慢SQL诊断分为两部分:实时慢SQL 和历史慢SQL。
+- **[支持一键式收集诊断信息](支持一键式收集诊断信息.md)**
+提供多种套件用于捕获、收集、分析诊断数据,使问题可以诊断,加速诊断过程。能根据开发和定位人员的需要,从生产环境中将必要的数据库日志、集群管理日志、堆栈信息等提取出来,定位人员根据获得信息进行问题的定界定位
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\345\270\270\347\224\250\346\246\202\345\277\265.md" "b/content/zh/docs/Technicalwhitepaper/\345\270\270\347\224\250\346\246\202\345\277\265.md"
new file mode 100644
index 0000000000000000000000000000000000000000..56c2a67090ea31159a022ae65db877e6ab373f40
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\345\270\270\347\224\250\346\246\202\345\277\265.md"
@@ -0,0 +1,21 @@
+# 常用概念
+
+- 单机
+
+ 单机指的是只有一个数据库实例。
+
+- 双机
+
+ 双机指的是系统中存在主备数据库实例,主实例支持读写,备实例支持只读。
+
+- 一主多备
+
+ 一主多备指的是在系统存在一个主机,多个备机。最多支持4个备机。
+
+- 冷热备份
+
+ 冷备份: 是指备份就是一个简单的备份集,不可以提供服务。
+
+ 热备份: 是指备份集群可以对外提供服务 。
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\345\272\224\347\224\250\345\234\272\346\231\257.md" "b/content/zh/docs/Technicalwhitepaper/\345\272\224\347\224\250\345\234\272\346\231\257.md"
new file mode 100644
index 0000000000000000000000000000000000000000..359196388d0f61580468a0f9fcf859874ecfb625
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\345\272\224\347\224\250\345\234\272\346\231\257.md"
@@ -0,0 +1,11 @@
+# 应用场景
+
+- 交易型应用
+
+ 大并发、大数据量、以联机事务处理为主的交易型应用,如电商、金融、O2O、电信CRM/计费等,应用可按需选择不同的主备部署模式。
+
+- 物联网数据
+
+ 在工业监控和远程控制、智慧城市的延展、智能家居、车联网等物联网场景下,传感监控设备多,采样率高,数据存储为追加模型,操作和分析并重的场景。
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\346\205\242SQL\350\257\212\346\226\255.md" "b/content/zh/docs/Technicalwhitepaper/\346\205\242SQL\350\257\212\346\226\255.md"
new file mode 100644
index 0000000000000000000000000000000000000000..db42b280acb48add8d4318e34c95504d065fb2d0
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\346\205\242SQL\350\257\212\346\226\255.md"
@@ -0,0 +1,14 @@
+# 慢SQL诊断
+
+慢SQL诊断分为两部分:实时慢SQL 和历史慢SQL。
+
+- 实时慢SQL能根据用户提供的执行时间阈值,输出当前系统中正在执行的,且执行时间超过阈值的作业信息。
+- 历史慢SQL能根据用户提供的执行时间阈值,记录所有超过阈值的执行完毕的作业信息。
+
+历史慢SQL提供表和文件两种维度的查询接口,用户从接口中能查询到作业的执行计划,开始、结束执行时间,执行查询的语句,行活动,内核时间、CPU时间、执行时间、解析时间、编译时间、查询重写时间、计划生成时间、网络时间、IO时间等。所有信息都是脱敏的。
+
+应用价值:
+
+- 实时的慢SQL提供给用户管理尚未执行完毕的作业的接口,用户可以手动结束异常的,消耗过多资源的作业。
+- 历史慢SQL提供给用户对于慢SQL诊断所需的详细信息,用户无需通过复现就能离线诊断特定慢SQL的性能问题。表和文件接口方便用户统计慢SQL指标,对接第三方平台
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\346\212\200\346\234\257\346\214\207\346\240\207.md" "b/content/zh/docs/Technicalwhitepaper/\346\212\200\346\234\257\346\214\207\346\240\207.md"
new file mode 100644
index 0000000000000000000000000000000000000000..2eb11c4cce20aba2b60d30e774434db983e9a3a2
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\346\212\200\346\234\257\346\214\207\346\240\207.md"
@@ -0,0 +1,97 @@
+# 技术指标
+
+
+ 技术指标
+
+ 最大值
+
+
+
+ 数据库容量
+
+ 受限于操作系统与硬件
+
+
+ 单表大小
+
+ 32TB
+
+
+ 单行数据大小
+
+ 1GB
+
+
+ 每条记录单个字段的大小
+
+ 1GB
+
+
+ 单表记录数
+
+ 2 48
+
+
+ 单表列数
+
+ 250~1600(随字段类型不同会有变化)
+
+
+ 单表中的索引个数
+
+ 无限制
+
+
+ 复合索引包含列数
+
+ 32
+
+
+ 数据库名长度
+
+ 64
+
+
+ 对象名长度(除数据库名以外的其他对象名)
+
+ 64
+
+
+ 单表约束个数
+
+ 无限制
+
+
+ 并发连接数
+
+ 10000
+
+
+ 分区表的分区个数
+
+ 32768
+
+
+ 分区表的单个分区大小
+
+ 32TB
+
+
+ 分区表的单个分区记录数
+
+ 2 55
+
+
+ LOB最大容量
+
+ 1GB-8203字节
+
+
+ SQL文本最大长度
+
+ 1048576字节
+
+
+
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\346\212\200\346\234\257\347\211\271\347\202\271.md" "b/content/zh/docs/Technicalwhitepaper/\346\212\200\346\234\257\347\211\271\347\202\271.md"
new file mode 100644
index 0000000000000000000000000000000000000000..700d5546ff57dbe0e172af5706fd76530ecbf1b9
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\346\212\200\346\234\257\347\211\271\347\202\271.md"
@@ -0,0 +1,20 @@
+# 技术特点
+
+openGauss相比其他开源数据库主要有多存储模式,NUMA化内核结构和高可用等产品特点。
+
+- 多存储模式
+ - 行存储,支持业务数据频繁更新场景。
+ - 列存储,支持业务数据追加和分析场景。
+ - 内存表,支持高吞吐,低时延,极高性能场景。
+
+- NUMA化内核结构
+ - 关键数据结构分区,降低数据访问冲突。
+ - 关键数据结构NUMA化,降低数据结构访问时延。
+ - 关键业务线程绑核,避免核间线程漂移。
+
+- 高可用
+ - 支持主备同步,异步多种部署模式。
+ - 数据页CRC校验,损坏数据页通过备机自动修复。
+ - 备机并行恢复,10秒内可升主提供服务。
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\346\216\247\345\210\266\346\235\203\345\222\214\350\256\277\351\227\256\346\235\203\345\210\206\347\246\273.md" "b/content/zh/docs/Technicalwhitepaper/\346\216\247\345\210\266\346\235\203\345\222\214\350\256\277\351\227\256\346\235\203\345\210\206\347\246\273.md"
new file mode 100644
index 0000000000000000000000000000000000000000..bff58d7134bfebf73b5e40daf80d9c0ad9aa91bc
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\346\216\247\345\210\266\346\235\203\345\222\214\350\256\277\351\227\256\346\235\203\345\210\206\347\246\273.md"
@@ -0,0 +1,8 @@
+# 控制权和访问权分离
+
+针对系统管理员用户,实现表对象的控制权和访问权分离,提高普通用户数据安全性,限制管理员对象访问权限。
+
+该特性适用于如下场景,即对于有多个业务部门的企业,各部门间使用不同的数据库用户进行业务操作,同时存在同级别的数据库维护部门使用数据库管理员进行运维操作,业务部门希望在未经授权的情况下,管理员用户只能对各部门的数据进行控制操作(DROP、ALTER、TRUNCATE),但是不能进行访问操作(INSERT、DELETE、UPDATE、SELECT、COPY)。即针对管理员用户,表对象的控制权和访问权分离,提高用户数据的安全性。
+
+系统管理员可以在创建用户时指定INDEPENDENT属性,表示该用户为私有用户。针对该用户的对象,数据库管理员(包含初始用户和其他管理员用户)在未经其授权前,只能进行控制操作(DROP、ALTER、TRUNCATE),无权进行INSERT、DELETE、SELECT、UPDATE、COPY、GRANT、REVOKE、ALTER OWNER操作。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201SQL-hint.md" "b/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201SQL-hint.md"
new file mode 100644
index 0000000000000000000000000000000000000000..10bb6e844daef188e37a38bef2eebc98b47925c5
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201SQL-hint.md"
@@ -0,0 +1,6 @@
+# 支持SQL hint
+
+支持SQL hint影响执行计划生成、提升SQL查询性能。
+
+Plan Hint为用户提供了直接影响执行计划生成的手段,用户可以通过指定join顺序,join、stream、scan方法,指定结果行数,等多个手段来进行执行计划的调优,以提升查询的性能。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201WDR\350\257\212\346\226\255\346\212\245\345\221\212.md" "b/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201WDR\350\257\212\346\226\255\346\212\245\345\221\212.md"
new file mode 100644
index 0000000000000000000000000000000000000000..164d2eaea953e195973cc4f538b32eaa587568fe
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201WDR\350\257\212\346\226\255\346\212\245\345\221\212.md"
@@ -0,0 +1,125 @@
+# 支持WDR诊断报告
+
+WDR\(Workload Diagnosis Report\)基于两次不同时间点系统的性能快照数据, 生成这两个时间点之间的性能表现报表,用于诊断数据库内核的性能故障。
+
+WDR主要依赖两个组件:
+
+- SNAPSHOT性能快照:性能快照可以配置成按一定时间间隔从内核采集一定量的性能数据,持久化在用户表空间。任何一个SNAPSHOT可以作为一个性能基线,其他SNAPSHOT与之比较的结果,可以分析出与基线的性能表现。
+- WDR Reporter:报表生成工具基于两个SNAPSHOT,分析系统总体性能表现,并能计算出更多项具体的性能指标在这两个时间段之间的变化量,生成SUMMARY 和DETAIL两个不同级别的性能数据。如[表1](#zh-cn_concept_0238164494_table14895120191613)、[表2](#zh-cn_concept_0238164494_table23331848193120)所示。
+
+**表 1** SUMMARY级别诊断报告
+
+
+ 诊断类别
+
+ 描述
+
+
+
+ Database Stat
+
+ 主要用于评估当前数据库上的负载,IO状况,负载和IO是衡量TP系统最最要的特性
+ 包含当前连接到该数据库的session,提交、回滚的事务数,读取的磁盘块的数量,高速缓存中已经发现的磁盘块的次数,通过数据库查询返回、抓取、插入、更新、删除的行数,冲突、死锁发生的次数,临时文件的使用量,IO读写时间等
+
+
+ Load Profile
+
+ 从时间,IO,事务,SQL几个维度评估当前系统负载的表现
+ 包含作业运行elapse time、CPU time,事务日质量,逻辑和物理读的量,读写IO次数、大小,登入登出次数,SQL、事务执行量,SQL P85、P90响应时间等
+
+
+ Instance Efficiency Percentages
+
+ 用于评估当前系统的缓存的效率。
+ 主要包含数据库缓存命中率
+
+
+ Events
+
+ 用于评估当前系统内核关键资源,关键事件的性能
+ 主要包含数据库内核关键时间的发生次数,时间的等待时间
+
+
+ Wait Classes
+
+ 用于评估当前系统关键事件类型的性能
+ 主要包含数据内核在主要的等待事件的种类上的发布:STATUS、LWLOCK_EVENT、LOCK_EVENT、IO_EVENT
+
+
+ CPU
+
+ 主要包含CPU在用户态、内核态、Wait IO、空闲状态下的时间发布
+
+
+ IO Profile
+
+ 主要包含数据库Database IO次数、Database IO数据量、Redo IO次数、Redo IO量
+
+
+ Memory Statistics
+
+ 包含最大进程内存、进程已经使用内存、最大共享内存、已经使用共享内存大小等
+
+
+
+
+
+**表 2** DETAIL 级别诊断报告
+
+
+ 诊断类别
+
+ 描述
+
+
+
+ Time Model
+
+ 主要用于评估当前系统在时间维度的性能表现
+ 包含系统在各个阶段上消耗的时间:内核时间、CPU时间、执行时间、解析时间、编译时间、查询重写时间、计划生成时间、网络时间、IO时间
+
+
+ SQL Statistics
+
+ 主要用于SQL语句性能问题的诊断
+ 包含归一化的SQL的性能指标在多个维度上的排序:Elapsed Time、CPU Time、Rows Returned、Tuples Reads、Executions、Physical Reads、Logical Reads。这些指标的种类包括:执行时间,执行次数、行活动、Cache IO等
+
+
+ Wait Events
+
+ 主要用于系统关键资源,关键时间的详细性能诊断
+ 包含所有关键事件在一段时间内的表现,主要是事件发生的次数,消耗的时间
+
+
+ Cache IO Stats
+
+ 用于诊断用户表和索引的性能
+ 包含所有用户表、索引上的文件读写,缓存命中
+
+
+ Utility status
+
+ 用于诊断后端作业性能的诊断
+ 包含页面操作,复制等后端操作的性能
+
+
+ Object stats
+
+ 用于诊断数据库对象的性能
+ 包含用户表、索引上的表、索引扫描活动,insert、update、delete活动,有效行数量,表维护操作的状态等
+
+
+ Configuration settings
+
+ 用于判断配置是够有变更
+ 包含当前所有配置参数的快照
+
+
+
+
+
+应用价值:
+
+- WDR报表是长期性能问题最主要的诊断手段。基于SNAPSHOT的性能基线,从多维度做性能分析,能帮助DBA 掌握系统负载繁忙程度,各个组件的性能表现,性能瓶颈。
+- SNAPSHOT也是后续性能问题自诊断和自优化建议的重要数据来源。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201\344\270\200\351\224\256\345\274\217\346\224\266\351\233\206\350\257\212\346\226\255\344\277\241\346\201\257.md" "b/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201\344\270\200\351\224\256\345\274\217\346\224\266\351\233\206\350\257\212\346\226\255\344\277\241\346\201\257.md"
new file mode 100644
index 0000000000000000000000000000000000000000..d0dac31a0f4fef8718927e2c6c06a0e9564de656
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201\344\270\200\351\224\256\345\274\217\346\224\266\351\233\206\350\257\212\346\226\255\344\277\241\346\201\257.md"
@@ -0,0 +1,16 @@
+# 支持一键式收集诊断信息
+
+提供多种套件用于捕获、收集、分析诊断数据,使问题可以诊断,加速诊断过程。能根据开发和定位人员的需要,从生产环境中将必要的数据库日志、集群管理日志、堆栈信息等提取出来,定位人员根据获得信息进行问题的定界定位
+
+一键式收集工具,根据生产环境中问题的不同,从生产环境中获取不同的信息,从而提高问题定位定界的效率。用户可以通过改写配置文件,收集自己想要的信息:
+
+- 通过linux命令收集操作系统相关的信息
+- 通过查询系统表或者视图获得数据库系统相关的信息
+- 数据库系统运行日志和集群管理相关的日志
+- 数据库系统的配置信息
+- 数据库相关进程产生的Core文件
+- 数据库相关进程的堆栈信息
+- 数据库进程产生的trace信息
+- 数据库产生的redo日志文件xlog
+- 计划复现信息
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201\346\240\207\345\207\206SQL.md" "b/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201\346\240\207\345\207\206SQL.md"
new file mode 100644
index 0000000000000000000000000000000000000000..c4bf55f44907098f6305802a840cc4736eefea63
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201\346\240\207\345\207\206SQL.md"
@@ -0,0 +1,8 @@
+# 支持标准SQL
+
+openGauss数据库支持标准的SQL。SQL标准是一个国际性的标准,定期会进行刷新。SQL标准的定义分成核心特性以及可选特性,绝大部分的数据库都没有100%支撑SQL标准。遗憾的是,SQL特性的构筑成为了数据库厂商吸引用户和提高应用迁移成本的手段,新的SQL特性在厂商之间差异越来越大,目前还没有机构来进行权威的SQL标准度的测试。
+
+openGauss数据库支持SQL:2011大部分的核心特性,同时还支持部分的可选特性,具体的特性列表可以参考《openGauss 产品描述》。
+
+标准SQL的引入为所有的数据库厂商提供统一的SQL界面,减少使用者的学习成本和应用openGauss程序的迁移代价。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201\346\240\207\345\207\206\345\274\200\345\217\221\346\216\245\345\217\243.md" "b/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201\346\240\207\345\207\206\345\274\200\345\217\221\346\216\245\345\217\243.md"
new file mode 100644
index 0000000000000000000000000000000000000000..44bc862ff8eee198f2de4ed10c1b40f4d3e74983
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201\346\240\207\345\207\206\345\274\200\345\217\221\346\216\245\345\217\243.md"
@@ -0,0 +1,6 @@
+# 支持标准开发接口
+
+提供业界标准的ODBC及JDBC接口,保证用户业务快速迁移至openGauss。
+
+目前支持标准的ODBC 3.5及JDBC 4.0接口,其中ODBC支持SUSE、Win32、Win64平台,JDBC无平台差异。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\346\225\260\346\215\256\345\272\223\345\212\240\345\257\206\350\256\244\350\257\201.md" "b/content/zh/docs/Technicalwhitepaper/\346\225\260\346\215\256\345\272\223\345\212\240\345\257\206\350\256\244\350\257\201.md"
new file mode 100644
index 0000000000000000000000000000000000000000..b3e5eb8ac2882889648791d22837d6d55ebc212f
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\346\225\260\346\215\256\345\272\223\345\212\240\345\257\206\350\256\244\350\257\201.md"
@@ -0,0 +1,10 @@
+# 数据库加密认证
+
+采用基于RFC5802机制的口令加密认证方法。
+
+加密认证过程中采用单向Hash不可逆加密算法PBKDF2,可有效防止彩虹攻击。
+
+创建用户所设置的口令被加密存储在系统表中。整个认证过程中口令加密存储和传输,通过计算相应的hash值并与服务端存储的值比较来进行正确性校验。
+
+统一加密认证过程中的消息处理流程,可有效防止攻击者通过抓取报文猜解用户名或者口令的正确性。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\346\225\260\346\215\256\345\272\223\345\256\211\345\205\250.md" "b/content/zh/docs/Technicalwhitepaper/\346\225\260\346\215\256\345\272\223\345\256\211\345\205\250.md"
new file mode 100644
index 0000000000000000000000000000000000000000..5f0dce97c7777b8ed01c7b55e36dc28cdce00b9b
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\346\225\260\346\215\256\345\272\223\345\256\211\345\205\250.md"
@@ -0,0 +1,15 @@
+# 数据库安全
+
+- **[访问控制](访问控制.md)**
+
+- **[控制权和访问权分离](控制权和访问权分离.md)**
+
+- **[数据库加密认证](数据库加密认证.md)**
+
+- **[数据库审计](数据库审计.md)**
+
+- **[网络通信安全特性](网络通信安全特性.md)**
+
+- **[行级访问控制](行级访问控制.md)**
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\346\225\260\346\215\256\345\272\223\345\256\241\350\256\241.md" "b/content/zh/docs/Technicalwhitepaper/\346\225\260\346\215\256\345\272\223\345\256\241\350\256\241.md"
new file mode 100644
index 0000000000000000000000000000000000000000..4d0f846052af5701837d8d70bcb66f7fe4594ab1
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\346\225\260\346\215\256\345\272\223\345\256\241\350\256\241.md"
@@ -0,0 +1,10 @@
+# 数据库审计
+
+审计日志记录用户对数据库的启停、连接、DDL、DML、DCL等操作。审计日志机制主要增强数据库系统对非法操作的追溯及举证能力。
+
+用户可以通过参数配置对哪些语句或操作记录审计日志。
+
+审计日志记录事件的时间、类型、执行结果、用户名、数据库、连接信息、数据库对象、数据库实例名称和端口号以及详细信息。支持按起止时间段查询审计日志,并根据记录的字段进行筛选。
+
+数据库安全管理员可以利用这些日志信息,重现导致数据库现状的一系列事件,找出非法操作的用户、时间和内容等。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\346\225\260\346\215\256\345\272\223\346\240\270\345\277\203\346\212\200\346\234\257.md" "b/content/zh/docs/Technicalwhitepaper/\346\225\260\346\215\256\345\272\223\346\240\270\345\277\203\346\212\200\346\234\257.md"
new file mode 100644
index 0000000000000000000000000000000000000000..fcb12d2322536a205643bbec8ba650e34995435f
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\346\225\260\346\215\256\345\272\223\346\240\270\345\277\203\346\212\200\346\234\257.md"
@@ -0,0 +1,15 @@
+# 数据库核心技术
+
+- **[面向应用开发的基本功能](面向应用开发的基本功能.md)**
+
+- **[高性能](高性能.md)**
+
+- **[高扩展](高扩展.md)**
+
+- **[高可用](高可用.md)**
+
+- **[可维护性](可维护性.md)**
+
+- **[数据库安全](数据库安全.md)**
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\346\234\257\350\257\255\350\241\250.md" "b/content/zh/docs/Technicalwhitepaper/\346\234\257\350\257\255\350\241\250.md"
new file mode 100644
index 0000000000000000000000000000000000000000..611b671f1815965d90f42440725e933e907a9103
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\346\234\257\350\257\255\350\241\250.md"
@@ -0,0 +1,641 @@
+# 术语表
+
+**表 1** 术语表
+
+
+ 术语
+
+ 解释
+
+
+
+ A – E
+
+
+ ACID
+
+ 在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、和持久性(Durability)。
+
+
+ Bgwriter
+
+ 数据库启动时创建的一个后台写线程,此线程用于将数据库中脏页面写入到持久性设备(例如磁盘)中。
+
+
+ bit
+
+ 比特。计算机处理的最小的信息单位。比特用来表示二进制数字1或0,或者一种逻辑条件真或假。在物理上,比特表示一个电路上高或低的电压点或者磁盘上的磁化单程或其它。一个单独的比特位所传达的信息很少有意义的。然而,一个8位组却构成了一个字节,可用于表示如一个英文字母,十进制数字,或其它字符等多种类型的信息。
+
+
+ Bloom Filter
+
+ 布隆过滤器。由Howard Bloom在1970年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员,这种检测只会对在集合内的数据错判,而不会对不是集合内的数据进行错判,这样每个检测请求返回有“在集合内(可能错误)”和“不在集合内(绝对不在集合内)”两种情况,可见Bloom filter是牺牲了正确率换取时间和空间。
+
+
+ CIDR
+
+ Classless Inter-Domain Routing,无类域间路由IP编址方案。CIDR摒弃传统的基于类(A类:8,B类:16,C类:24)的地址分配方式,允许使用任意长度的地址前缀,有效提高地址空间的利用率。CIDR表示方法:IP地址/网络ID的位数。比如192.168.23.35/21,其中“21”表示前面地址中的前21位代表网络部分,其余位代表主机部分。
+
+
+ CLI
+
+ Command-line Interface,命令行界面。应用程序和用户交互的一种方式,完全基于文本输入和输出。命令通过键盘或类似装置输入,由程序编译并执行。结果是以文本或图形的方式呈现在终端界面。
+
+
+ CU
+
+ Compression Unit,压缩单元。列存表的最小存储单位。
+
+
+ core文件
+
+ 当程序出现内存越界、断言失败或者访问非法内存时,操作系统会中止进程,并将当前内存状态导出到core文件中,以便进一步分析。
+ core文件包含内存转储,支持全二进制和指定端口格式。core文件名称由字符串core以及操作系统进程ID组成。
+ core文件不依赖于任何平台。
+
+
+ Core Dump
+
+ 通常在程序异常终止时,核心转储(Core Dump)、内存转储或系统转储用于记录特定时间计算机程序工作内存的状态。实际上,其它关键程序的状态经常在同一时间进行转储,例如处理器寄存器,包括程序指标和栈指针、内存管理信息、其它处理器和操作系统标记及信息。Core Dump经常用于辅助诊断和纠错计算机程序问题。
+
+
+ DBA
+
+ Database Administrator,数据库管理员。指导或执行所有和维护数据库环境相关的操作。
+
+
+ DBLINK
+
+ DBLINK是定义一个数据库到另一个数据库路径的对象,通过它可以查询远程数据库对象。
+
+
+ DBMS
+
+ Database Management System,数据库管理系统。数据库管理系统是为了访问数据库中的信息而使用的一个管理系统软件。它包含一组程序使用户可以进入、管理、查询数据库中数据。基于真实数据的位置,可以分为内存数据库管理系统和磁盘数据库管理系统。
+
+
+ DCL
+
+ Data Control Language,数据控制语言。
+
+
+ DDL
+
+ Data Definition Language,数据定义语言。
+
+
+ DML
+
+ Data Manipulation Language,数据操纵语言。
+
+
+ 备份
+
+ 备份件或者备份过程。指复制并归档计算机数据,当发生数据丢失事件时,可以用该复制并归档的数据来恢复原始数据。
+
+
+ 备份和恢复
+
+ 保护数据库防止由于媒介失效或人为错误造成的数据丢失过程中涉及的一组概念、过程及策略。
+
+
+ 备机
+
+ openGauss双机方案中的一个节点,用于作为主机的备份,在主机异常时,备机会切换到主机状态,以确保能正常提供数据服务。
+
+
+ 崩溃
+
+ 崩溃(或系统崩溃)指计算机或程序(例如软件应用程序或操作系统)异常终止的事件。出现错误后,通常会自动退出。有时出现恶意程序冻结或挂起直到崩溃上报服务记录崩溃的详细信息。对于操作系统内核关键部分的程序,整个计算机可能瘫痪(可能造成致命的系统错误)。
+
+
+ 编码
+
+ 编码是指用代码来表示各组数据资料,使其成为可利用计算机进行处理和分析的信息。用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。
+
+
+ 编码技术
+
+ 呈现计算机软硬件识别的特定字符集数据的技术。
+
+
+ 表
+
+ 表是由行与列组合成的。每一列被当作是一个字段。每个字段中的值代表一种类型的数据。例如,一个表可能有3个字段:姓名、城市和国家。这个表就会有3列:一列代表姓名,一列代表城市,一列代表国家。表中的每一行包含3个字段的内容,姓名字段包含姓名,城市字段包含城市,国家字段包含国家。
+
+
+ 表空间
+
+ 包含表、索引、大对象、长数据等数据的逻辑存储结构。表空间在物理数据和逻辑数据间提供了抽象的一层,为所有的数据库对象分配存储空间。表空间创建好后,创建数据库对象时可以指定该对象所属的表空间。
+
+
+ 并发控制
+
+ 在多用户环境下同时执行多个事务并保证数据完整性的一个DBMS服务。并发控制是openGauss提供的一种多线程管理机制,用来保证多线程环境下在数据库中执行的操作是安全的和一致的。
+
+
+ 查询
+
+ 向数据库发出的信息请求,包含更新、修改、查询或删除信息的请求。
+
+
+ 查询操作符
+
+ Query Operator,也称为查询迭代算子(Iterator)或查询节点(Query Tree Node)。一个查询的执行可以分解为一个或多个查询操作符,是构成一个查询执行的最基本单位。常见的查询操作符包括表扫描(Scan),表关联(Join),表聚集(Aggregation)等。
+
+
+ 持久性
+
+ 数据库事务的ACID特性之一。在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
+
+
+ 存储过程
+
+ 存储过程(StoredProcedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名称并设置参数(如果该存储过程带有参数)来执行它。
+
+
+ 操作系统
+
+ 操作系统OS(operating system)由引导程序加载到计算中,对计算机中其它程序进行管理。其它程序叫做应用或应用程序。
+
+
+ 大对象
+
+ 大对象(Blob)在数据库中指使用二进制方式存储的数据。它通常可以用于存储视频、音频和图像等多媒体数据。
+
+
+ 段
+
+ 数据库中,一段指包含一个或多个区域的数据库中的一部分。区域是数据库的最小范围,由单元调用块组成。一个或多个段组成一个表空间。
+
+
+ F – J
+
+
+ Failover
+
+ 指当某个节点出现故障时,自动切换到备节点上的过程。反之,从备节点上切换回来的过程称为Failback。
+
+
+ FDW
+
+ Foreign Data Wrapper,外部数据封装器。是Postgres提供的一个SQL接口,用于访问远程数据存储中的大数据对象,使DBA可以整合来自不相关数据源的数据,将它们存入数据库中的一个公共模型。
+
+
+ Freeze
+
+ 在事务ID耗尽时由AutoVacuum Worker进程自动执行的操作。openGauss会把事务ID记在行头,在一个事务取得一行时,通过比较行头的事务ID和事务本身的ID判断这行是否可见,而事务ID是一个无符号整数,如果事务ID耗尽,事务ID会跨过整数的界限重新计算,此时原先可见的行就会变成不可见的行,为了避免这个问题,Freeze操作会将行头的事务标记为一个特殊的事务ID,标记了这个特殊的事务ID的行将对所有事务可见,以此避免事务ID耗尽产生的问题。
+
+
+ GDB
+
+ GNU工程调试器,可以监控其它程序运行时的内部情况,或者其它程序要崩溃时发生了什么。GDB支持如下四种主要操作(使PDK功能更加强大),辅助查找缺陷。
+
+
+
+
+
+
+ GIN索引
+
+ Generalized Inverted Index,通用倒排索引。作用为处理索引项为组合值的情况,查询时需要通过索引搜索出出现在组合值中的特定元素值。
+
+
+ GNU
+
+ GNU计划,又称革奴计划,是由RichardStallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。GNU是“GNU's NotUnix”的递归缩写。Stallman宣布GNU应当发音为Guh-NOO以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new相同)。Unix是一种广泛使用的商业操作系统的名称。技术上讲,GNU类似Unix。但是GNU却给了用户自由。
+
+
+ gsql
+
+ openGauss交互终端。通过gsql能够以交互的方式输入查询,下发查询到openGauss,然后查看查询结果。或者,也可以从文件中输入。此外,gsql还提供许多元命令和各种类似shell命令,协助脚本编写及自动化各种任务。
+
+
+ GUC
+
+ Grand Unified Configuration,数据库运行参数。配置这些参数可以影响数据库系统的行为。
+
+
+ HA
+
+ 高可用性(HighAvailability),通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。
+
+
+ HBA
+
+ host-based authentication,主机认证。主机鉴权允许主机鉴权部分或全部系统用户。适用于系统所有用户或者使用Match指令的子集。该类型鉴权对于管理计算集群以及其它完全同质设备非常有用。总之,服务器上的三个文件以及客户端上的一个文件必须修改,为主机鉴权做准备。
+
+
+ 服务器
+
+ 为客户端提供服务的软硬件的组合。单独使用时,指运行服务器操作系统的计算机,也可以指提供服务的软件或者专用硬件。
+
+
+ 隔离性
+
+ 数据库事务的ACID特性之一。它是指一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
+
+
+ 关系型数据库
+
+ 创建在关系模型基础上的数据库。关系型数据库借助于集合代数等数学概念和方法来处理数据库中的数据。
+
+
+ 归档线程
+
+ 数据库打开归档功能时启动的一个线程,此线程用于将数据库日志归档到指定的路径。
+
+
+ 故障接管
+
+ 功能对等的系统部件对于故障部件的自动替换过程。系统部件包含处理器、服务器、网络、数据库等。
+
+
+ 环境变量
+
+ 定义进程操作环境某一方面的变量。例如,环境变量可以为主目录,命令搜索路径,使用终端或当前时区。
+
+
+ 检查点
+
+ 将数据库内存中某一时刻的数据存到磁盘的机制。openGauss定期将已提交的事务数据和未提交的事务数据存到磁盘,这些数据用来和Redo日志一起在数据库重启和崩溃时恢复数据库。
+
+
+ 加密
+
+ 用于传输数据的功能。通过该功能,可以隐藏信息内容,防止非法使用。
+
+
+ 节点
+
+ 将构成openGauss集群环境的各台服务器(物理机或虚拟机)称为集群节点,简称节点。
+
+
+ 纠错
+
+ 系统自动识别软件和数据流上的错误并自动修正错误的能力,提升系统的稳定性和可靠性。
+
+
+ 进程
+
+ 在单个计算机上执行程序的实例。一个进程由一个或多个线程组成。其它进程不能接入某个进程已占用的线程。
+
+
+ 基于时间点恢复
+
+ PITR(Point-In-TIme Recovery),基于时间点恢复是openGauss备份恢复的一个特性,是指在备份数据和WAL日志正常的情况下,数据可以恢复到指定时间点。
+
+
+ 记录
+
+ 在关系型数据库中,每一条记录对应表中的每一行数据。
+
+
+ K – O
+
+
+ 逻辑复制
+
+ 数据库主备或两个集群间的数据同步方式。区别于通过物理日志回放方式的物理复制,逻辑复制在两个集群间传输逻辑日志或通过逻辑日志对应的SQL语句实现数据同步。
+
+
+ 逻辑日志
+
+ 数据库修改的日志记录,可直接对应为SQL语句,一般为行级记录。区别于物理日志,物理日志是记录物理页面修改的日志。
+
+
+ 逻辑解码
+
+ 逻辑解码是一种通过对xlog日志的反解实现将数据库表的所有持久更改抽取到一种清晰、易于理解的格式的处理过程。
+
+
+ 逻辑复制槽
+
+ 在逻辑复制的环境下,逻辑复制槽用以防止Xlog被系统或Vaccum回收。openGauss中用于记录逻辑解码位置的对象,提供创建、删除、读取、推进等多个SQL接口函数。
+
+
+ MVCC
+
+ Multi-Version Concurrency Control,多版本并发控制。数据库并发控制协议的一种,它的基本算法是一个元组可以有多个版本,不同的查询可以工作在不同的版本上。一个基本的好处是读和写可以不冲突。
+
+
+ NameNode
+
+ NameNode是Hadoop系统中的一个中心服务器,负责管理文件系统的名称空间(namespace)以及客户端对文件的访问。
+
+
+ OM
+
+ Operations Management,运维管理模块。提供集群日常运维、配置管理的管理接口、工具。
+
+
+ 客户端
+
+ 连接或请求其它计算机或程序服务的计算机或程序。
+
+
+ 空闲空间管理
+
+ 管理表内空闲空间的机制,通过记录每个表内空闲空间信息,并建立易于查找的数据结构,可以加速对空闲空间进行的操作(例如INSERT)。
+
+
+ 垃圾元组
+
+ 是指使用DELETE和UPDATE语句删除的元组,openGauss在删除元组时只是打个删除标记,由Vacuum线程清理这种垃圾元组。
+
+
+ 列
+
+ 字段的等效概念。在数据库中,表由一列或多列组成。
+
+
+ 逻辑节点
+
+ 一个物理节点上可以安装多个逻辑节点。一个逻辑节点是一个数据库实例。
+
+
+ 模式
+
+ 数据库对象集,包括逻辑结构,例如表、视图、序、存储过程、同义名、索引、集群及数据库链接。
+
+
+ 模式文件
+
+ 用于决定数据库结构的SQL文件。
+
+
+ P – T
+
+
+ Page
+
+ openGauss数据库关系对象结构中行存的最小内存单元。一个Page大小为默认为8KB。
+
+
+ PostgreSQL
+
+ PostgreSQL是一个开源的关系数据库管理系统(DBMS),由全球志愿者团队开发。PostgreSQL不受任何公司或个体所控制,源代码免费使用。
+
+
+ Postmaster
+
+ 数据库服务启动时启动的一个线程。用于监听来自集群其它节点或客户端的连接请求。
+ 主机上监听到备机连接请求,并接受后,就会创建一个WAL Sender线程,用于处理与备机的交互。
+
+
+ RHEL
+
+ Red Hat Enterprise Linux,红帽企业Linux。
+
+
+ REDO日志
+
+ 记录对数据库进行操作的日志,这些日志包含重新执行这些操作所需要的信息。当数据库故障时,可以利用REDO日志将数据库恢复到故障前的状态。
+
+
+ SCTP
+
+ Stream Control Transmission Protocol,流控制传输协议。是IETF于2000年新定义的一个传输层协议。是提供基于不可靠传输业务的协议之上的可靠的数据报传输协议。SCTP的设计用于通过IP网传输SCN窄带信令消息。
+
+
+ Savepoint
+
+ 保存点。是一种在关系数据库管理系统中实现子事务(也称为嵌套事务)的方法。在一个长事务中,可以把操作过程分成几部分,前面部分执行成功后,可以建一个保存点,若后面的执行失败,则回滚到这个保存点即可,无需回滚整个事务。保存点对于在数据库应用程序中实现复杂错误恢复很有用。如果在多语句事务中发生错误,则应用程序可能能够从错误中恢复(通过回滚到保存点)而无需中止整个事务。
+
+
+ Session
+
+ 数据库系统在接收到应用程序的连接请求时,为该连接创建的一个任务。它被Session Manager管理,完成一些初始化任务,执行用户的所有操作。
+
+
+ SLES
+
+ SUSE Linux Enterprise Server,由SUSE提供的企业级Linux操作系统。
+
+
+ SMP
+
+ Symmetric Multi-Processing,对称多处理技术,是指在一台计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。操作系统必须支持多任务和多线程处理,以使得SMP系统发挥高效的性能。数据库领域的SMP并行技术,一般指利用多线程技术实现查询的并行执行,以充分利用CPU资源,从而提升查询性能。
+
+
+ SQL
+
+ Structure Query Language,结构化查询语言。数据库的标准查询语言。它可以分为数据定义语言(DDL),数据操纵语言(DML)和数据控制语言(DCL)。
+
+
+ SSL
+
+ Secure Socket Layer,安全套接层。SSL是Netscape公司率先采用的网络安全协议。它是在传输通信协议(TCP/IP)上实现的一种安全协议,采用公开密钥技术。SSL广泛支持各种类型的网络,同时提供三种基本的安全服务,它们都使用公开密钥技术。SSL支持服务通过网络进行通信而不损害安全性。它在客户端和服务器之间创建一个安全连接。然后通过该连接安全地发送任意数据量。
+
+
+ 收敛比
+
+ 交换机下行带宽与上行带宽的比值。收敛比越高,流量收敛程度越大,丢包越严重。
+
+
+ TCP
+
+ Transmission Control Protocol,传输控制协议。用于将数据信息分解成信息包,使之经过IP协议发送;并对利用IP协议接收来的信息包进行校验并将其重新装配成完整的信息。TCP是面向连接的可靠协议,能够确保信息的无误发送。
+
+
+ trace
+
+ 一种特殊的日志记录方法,用来记录程序执行的信息。程序员使用该信息进行纠错。另外,根据trace日志中信息的类型和内容,有经验的系统管理员或技术支持人员以及软件监控工具诊断软件常见问题。
+
+
+ 强一致性
+
+ 任何查询不会瞬时的看到一个分布式事务的中间状态。
+
+
+ 全备份
+
+ 备份整个数据库。
+
+
+ 全量同步
+
+ openGauss双机方案中的一种数据同步机制,是指把主机中的所有数据同步给备机。
+
+
+ 日志文件
+
+ 计算机记录自身活动的记录。
+
+
+ 事务
+
+ 数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成,事务必须满足ACID原则。
+
+
+ 数据
+
+ 事实或指令的一种表达形式,适用于人为或自动的通信、解释或处理。数据包含常量、变量、阵列和字符串。
+
+
+ 数据分区
+
+ 数据分区是指在一个数据库实例内部,将表按照划分为多个数据互不重叠的部分(Partition)。具体的分区方式可以有:范围分区(Range),它根据元组中指定字段的取值所处的范围映射到目标存储位置。
+
+
+ 数据库
+
+ 数据库是存储在一起的相关数据的集合,这些数据可以被访问,管理以及更新。同一视图中,数据库可以根据存储内容类型分为以下几类:数目类、全文本类、数字类及图像类。
+
+
+ 数据库实例
+
+ 一个数据库实例是一个openGauss进程以及它控制的数据库文件。openGauss在一个物理节点上安装多个数据库实例。一个数据库实例也被称为一个逻辑节点。
+
+
+ 数据库双机
+
+ openGauss提供的高可靠性双机方案。在此方案中,每个openGauss逻辑节点标识为主机或备机。在同一时间内,只有一个openGauss被标识为主机。双机初次建立时,主机会对每个备机数据做全量同步,然后做增量同步。双机建立之后的运行过程中,主机能接受数据读和写的操作请求,备机只做日志同步。
+
+
+ 数据库文件
+
+ 保存用户数据和数据库系统内部数据的二进制文件。
+
+
+ 数据字典
+
+ 数据字典是一系列只读的表,用来提供数据库的信息。这些信息包括:数据库设计信息、存储过程信息、用户权限、用户统计数据、数据库进程信息、数据库增长统计数据和数据库性能统计数据。
+
+
+ 死锁
+
+ 为使用同一资源而产生的无法解决的争用状态。
+
+
+ 索引
+
+ 数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。
+
+
+ 统计信息
+
+ 数据库使用统计信息估算查询代价,以查找代价最小的执行计划,统计信息一般是数据库自动收集的,包括表级信息(元组数、页面数等)和列级信息(列的值域分布直方图)。
+
+
+ 停用词
+
+ 在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为Stop Words(停用词)。
+
+
+ U – Z
+
+
+ Vacuum
+
+ 数据库定期启动的清理垃圾元组的线程,根据配置参数可以同时启动多个。
+
+
+ verbose
+
+ verbose选项指定显示在屏幕上的处理信息。
+
+
+ WAL
+
+ Write-Ahead Logging,预写日志系统。实现事务日志的标准方法,是指对数据文件(表和索引的载体)持久化修改之前必须先持久化相应的日志。
+
+
+ WAL Receiver
+
+ 数据库复制时备机创建的一个线程的名称。此线程用于从主机接收数据、命令,并反馈确认信息至主机。一个备机只有一个WAL Receiver线程。
+
+
+ WAL Sender
+
+ 数据库复制过程中,主机接受到备机的连接请求后创建的一个线程的名称。此线程用于发送命令、数据到备机,并从备机接收信息。一个主机可能会有多个WAL Sender线程,每一个WAL Sender线程对应一个备机的一个连接请求。
+
+
+ WAL Writer
+
+ 数据库启动时创建的一个写Redo日志的线程,用于将内存中的日志写入到持久性设备(如:磁盘)。
+
+
+ Xlog
+
+ 表示事务日志,一个逻辑节点中只有一个,不允许创建多个Xlog文件。
+
+
+ xDR
+
+ 详单。用户面和信令面详单的统称,包括CDR和UFDR、TDR和SDR。
+
+
+ 物理节点
+
+ 一个物理机器称为一个物理节点。
+
+
+ 系统表
+
+ 存储数据库元信息的表,元信息包括数据库中的用户表、索引、列、函数和数据类型等。
+
+
+ 下推
+
+ openGauss是分布式数据库,其可以利用多DN分布式并行执行查询计划,即将CN中的查询计划下发到各DN中并行执行。这种行为称为下推。与将数据抽取到CN上执行查询的方式相比,下推可以大幅提升查询性能。
+
+
+ 压缩
+
+ 数据压缩,信源编码,或比特率降低涉及使用相比原来较少比特的编码信息。压缩可以是有损或无损。无损压缩通过识别和消除统计冗余降低比特位。无损压缩中没有信息丢失。有损压缩识别并删除次要信息,减少了比特位。减少数据文件大小的方法被普遍称为数据压缩,尽管其正式名称为源编码(数据源的编码,然后将其存储或传输)。
+
+
+ 一致性
+
+ 数据库事务的ACID特性之一。在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
+
+
+ 元数据
+
+ 用来定义数据的数据。主要是描述数据自身信息,包含源、大小、格式或其它数据特征。数据库字段中,元数据用于理解以及诠释数据仓库的内容。
+
+
+ 原子性
+
+ 数据库事务的ACID特性之一。整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。
+
+
+ 脏页面
+
+ 已经被修改且未写入持久性设备的页面。
+
+
+ 增量备份
+
+ 基于上次有效备份之后对文件修改的备份。
+
+
+ 增量同步
+
+ openGauss双机方案中的一种数据同步机制,是指把主机中数据增量同步给备机,即只同步主备间有差异的数据。
+
+
+ 主机
+
+ openGauss数据库双机系统中接受数据读写操作的节点,和所有备机一起协同工作。在同一时间内,双机系统中只有一个节点被标识为主机。
+
+
+ 主题词
+
+ 在标引和检索中用以表达文献主题的规范化的词或词组。
+
+
+ 转储文件
+
+ 转储文件是一种特定类型的trace文件。转储文件为响应事件过程中一次性输出的诊断数据,trace文件指诊断数据的连续输出。
+
+
+ 最小恢复点
+
+ 最小恢复点是openGauss提供的数据一致性保障手段之一。最小恢复点特性可以在openGauss启动时检查出WAL日志和持久化到磁盘的数据的不一致性,并提示用户进行处理。
+
+
+
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\347\211\251\347\220\206\345\244\207\344\273\275.md" "b/content/zh/docs/Technicalwhitepaper/\347\211\251\347\220\206\345\244\207\344\273\275.md"
new file mode 100644
index 0000000000000000000000000000000000000000..e7132fb987d3a1b9203843dcf6631a7f8a9c430d
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\347\211\251\347\220\206\345\244\207\344\273\275.md"
@@ -0,0 +1,6 @@
+# 物理备份
+
+openGauss提供物理备份能力,可以将整个实例的数据以数据库内部格式备份到本地磁盘文件、中,并在同构数据库中恢复整个实例的数据。
+
+物理备份主要分为全量备份和增量备份,区别如下:全量备份包含备份时刻点上数据库的全量数据,耗时时间长(和数据库数据总量成正比),自身即可恢复出完整的数据库;增量备份只包含从指定时刻点之后的增量修改数据,耗时时间短(和增量数据成正比,和数据总量无关),但是必须要和全量备份数据一起才能恢复出完整的数据库。当前openGauss只支持全量备份。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\347\241\254\344\273\266\351\205\215\347\275\256\350\246\201\346\261\202.md" "b/content/zh/docs/Technicalwhitepaper/\347\241\254\344\273\266\351\205\215\347\275\256\350\246\201\346\261\202.md"
new file mode 100644
index 0000000000000000000000000000000000000000..debe1ddedcbfccd73df449637f02d85b825bc630
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\347\241\254\344\273\266\351\205\215\347\275\256\350\246\201\346\261\202.md"
@@ -0,0 +1,43 @@
+# 硬件配置要求
+
+**表 1** 硬件环境要求
+
+
+ 项目
+
+ 配置描述
+
+
+
+ 最小内存
+
+ 功能调试32GB以上。
+ 性能测试和商业部署时,单实例部署,建议128GB以上。
+ 复杂的查询对内存的需求量比较高,在高并发场景下,可能出现内存不足。此时建议使用大内存的机器,或使用负载管理限制系统的并发。
+
+
+ CPU
+
+ 功能调试最小1×8 核 2.0GHz。
+ 性能测试和商业部署时,单实例部署,建议1×16核 2.0GHz。
+ CPU超线程和非超线程两种模式都支持。但是,主备各节点的设置需保持一致。
+
+
+ 硬盘
+
+ 用于安装实例的硬盘需最少满足如下要求:
+至少1GB用于安装实例的应用程序包。 每个主机需大约300MB用于元数据存储。 预留70%以上的磁盘剩余空间用于数据存储。
+ 建议系统盘配置为Raid1,数据盘配置为Raid5,且规划4组Raid5数据盘用于安装openGauss实例。有关Raid的配置方法在本手册中不做介绍。请参考硬件厂家的手册或互联网上的方法进行配置,其中Disk Cache Policy一项需要设置为Disabled,否则机器异常掉电后有数据丢失的风险。
+ openGauss支持使用SSD盘作为数据库的主存储设备,但必须是SAS接口的SSD盘,以RAID的方式部署使用。
+
+
+ 网络要求
+
+ 300兆以上以太网。
+ 建议网卡设置为双网卡冗余bond。有关网卡冗余bond的配置方法在本手册中不做介绍。请参考硬件厂商的手册或互联网上的方法进行配置。
+ 主备网络如果配置bond,请保证bond模式一致,不一致的bond配置可能导致主备通信工作异常。
+
+
+
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\347\272\277\347\250\213\346\261\240\351\253\230\345\271\266\345\217\221.md" "b/content/zh/docs/Technicalwhitepaper/\347\272\277\347\250\213\346\261\240\351\253\230\345\271\266\345\217\221.md"
new file mode 100644
index 0000000000000000000000000000000000000000..a02cacc0f4ef302f01d8443ede7d1771c8959897
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\347\272\277\347\250\213\346\261\240\351\253\230\345\271\266\345\217\221.md"
@@ -0,0 +1,8 @@
+# 线程池高并发
+
+在OLTP领域中,数据库需要处理大量的客户端连接。因此,高并发场景的处理能力是数据库的重要能力之一。
+
+对于外部连接最简单的处理模式是per-thread-per-connection模式,即来一个用户连接产生一个线程。这个模式好处是架构上处理简单,但是高并发下,由于线程太多,线程切换和数据库轻量级锁区域的冲突过大导致性能急剧下降,使得系统性能(吞吐量)严重下降,无法满足用户性能的SLA。
+
+因此,需要通过线程资源池化复用的技术来解决该问题。线程池技术的整体设计思想是线程资源池化、并且在不同连接之间复用。系统在启动之后会根据当前核数或者用户配置启动固定一批数量的工作线程,一个工作线程会服务一到多个连接session,这样把session和thread进行了解耦。因为工作线程数是固定的,因此在高并发下不会导致线程的频繁切换,而由数据库层来进行session的调度管理。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\347\275\221\347\273\234\351\200\232\344\277\241\345\256\211\345\205\250\347\211\271\346\200\247.md" "b/content/zh/docs/Technicalwhitepaper/\347\275\221\347\273\234\351\200\232\344\277\241\345\256\211\345\205\250\347\211\271\346\200\247.md"
new file mode 100644
index 0000000000000000000000000000000000000000..c413e6138c59630e9b63375427cf31ddb804334e
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\347\275\221\347\273\234\351\200\232\344\277\241\345\256\211\345\205\250\347\211\271\346\200\247.md"
@@ -0,0 +1,88 @@
+# 网络通信安全特性
+
+支持通过SSL加密客户端和服务器之间的通信数据,保证客户的客户端与服务器通信安全。
+
+采用TLS 1.2协议标准,并使用安全强度较高的加密算法套件,支持的加密算法套件如[表1](#zh-cn_topic_0238166170_table13251121491017)所示。
+
+**表 1** 加密算法套件
+
+
+ IANA编码
+
+ IANA套件名
+
+
+
+ 0x00,0x9F
+
+ TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
+
+
+ 0x00,0x9E
+
+ TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
+
+
+ 0x00,0xA3
+
+ TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
+
+
+ 0x00,0xA2
+
+ TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
+
+
+ 0x00,0x6B
+
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
+
+
+ 0x00,0x67
+
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
+
+
+ 0x00,0x6A
+
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
+
+
+ 0x00,0x40
+
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
+
+
+ 0xC0,0x9F
+
+ TLS_DHE_RSA_WITH_AES_256_CCM
+
+
+ 0xC0,0x9E
+
+ TLS_DHE_RSA_WITH_AES_128_CCM
+
+
+ 0x00,0x39
+
+ TLS_DHE_RSA_WITH_AES_256_CBC_SHA
+
+
+ 0x00,0x33
+
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA
+
+
+ 0x00,0x38
+
+ TLS_DHE_DSS_WITH_AES_256_CBC_SHA
+
+
+ 0x00,0x32
+
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA
+
+
+
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\350\207\252\351\200\202\345\272\224\345\216\213\347\274\251.md" "b/content/zh/docs/Technicalwhitepaper/\350\207\252\351\200\202\345\272\224\345\216\213\347\274\251.md"
new file mode 100644
index 0000000000000000000000000000000000000000..e0779ac0cdb0ad2732e773757d1417ffa5068e02
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\350\207\252\351\200\202\345\272\224\345\216\213\347\274\251.md"
@@ -0,0 +1,79 @@
+# 自适应压缩
+
+当前主流数据库通常都会采用数据压缩技术。数据类型不同,适用于它的压缩算法不同。对于相同类型的数据,其数据特征不同,采用不同的压缩算法达到的效果也不相同。自适用压缩正是从数据类型和数据特征出发,采用相应的压缩算法,实现了良好的压缩比、快速的入库性能以及良好的查询性能。
+
+数据入库和频繁的海量数据查询是用户的主要应用场景。 在数据入库场景中,自适应压缩可以大幅度地减少数据量,成倍提高IO操作效率,将数据簇集存储,从而获得快速的入库性能。当用户进行数据查询时,少量的IO操作和快速的数据解压可以加快数据获取的速率,从而在更短的时间内得到查询结果。
+
+目前,数据库已实现了RLE、DELTA、BYTEPACK/BITPACK、LZ4、ZLIB、LOCAL DICTIONARY等多种压缩算法。数据库支持的数据类型与压缩算法的映射关系如下表所示。
+
+
+ -
+
+ RLE
+
+ DELTA
+
+ BITPACK/BYTEPACK
+
+ LZ4
+
+ ZLIB
+
+ LOCAL DICTIONARY
+
+
+
+ Smallint/int/bigint/Oid
+ Decimal/real/double
+ Money/time/date/
+ timestamp
+
+ √
+
+ √
+
+ √
+
+ √
+
+ √
+
+ -
+
+
+ Tinterval/interval/Time with time zone/
+
+ -
+
+ -
+
+ -
+
+ -
+
+ √
+
+ -
+
+
+ Numeric/char/varchar/text/nvarchar2
+ 以及其他支持数据类型
+
+ √
+
+ √
+
+ √
+
+ √
+
+ √
+
+ √
+
+
+
+
+
+具体场景如:支持类手机号字符串的大整数压缩、支持numeric类型的大整数压缩、支持对压缩算法进行不同压缩水平的调整。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\350\241\214\345\210\227\346\267\267\345\220\210\345\255\230\345\202\250.md" "b/content/zh/docs/Technicalwhitepaper/\350\241\214\345\210\227\346\267\267\345\220\210\345\255\230\345\202\250.md"
new file mode 100644
index 0000000000000000000000000000000000000000..3db58f24273b386c3cd9aab647719210cc856f68
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\350\241\214\345\210\227\346\267\267\345\220\210\345\255\230\345\202\250.md"
@@ -0,0 +1,47 @@
+# 行列混合存储
+
+openGauss支持行存储和列存储两种存储模型,用户可以根据应用场景,建表的时候选择行存储还是列存储表。
+
+一般情况下,如果表的字段比较多(大宽表),查询中涉及到的列不很多的情况下,适合列存储。如果表的字段个数比较少,查询大部分字段,那么选择行存储比较好。
+
+列存储方式如[图1](#zh-cn_topic_0242724708_fig4487133722819)所示。
+
+**图 1** 列存储示意图
+
+
+在大宽表、数据量比较大的场景中,查询经常关注某些列,行存储引擎查询性能比较差。例如气象局的场景,单表有200\~800个列,查询经常访问10个列,在类似这样的场景下,向量化执行技术和列存储引擎可以极大的提升性能和减少存储空间。
+
+行存表和列存表各有优劣,建议根据实际情况选择。
+
+- 行存表
+
+ 默认创建表的类型。数据按行进行存储,即一行数据紧挨着存储。行存表支持完整的增删改查。适用于对数据需要经常更新的场景。
+
+- 列存表
+
+ 数据按列进行存储,即一列所有数据紧挨着存储。单列查询IO小,比行存表占用更少的存储空间。适合数据批量插入、更新较少和以查询为主统计分析类的场景。列存表不适合点查询,insert插入单条记录性能差。
+
+
+行存表和列存表的选择原则如下:
+
+- 更新频繁程度
+
+ 数据如果频繁更新,选择行存表。
+
+- 插入频繁程度
+
+ 频繁的少量插入,选择行存表。一次插入大批量数据,选择列存表。
+
+- 表的列数
+
+ 表的列数很多,选择列存表。
+
+- 查询的列数
+
+ 如果每次查询时,只涉及了表的少数(<50%总列数)几个列,选择列存表。
+
+- 压缩率
+
+ 列存表比行存表压缩率高。但高压缩率会消耗更多的CPU资源。
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\350\241\214\347\272\247\350\256\277\351\227\256\346\216\247\345\210\266.md" "b/content/zh/docs/Technicalwhitepaper/\350\241\214\347\272\247\350\256\277\351\227\256\346\216\247\345\210\266.md"
new file mode 100644
index 0000000000000000000000000000000000000000..64b517f98d37b3c86f3f259413f017c1ad7b3bee
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\350\241\214\347\272\247\350\256\277\351\227\256\346\216\247\345\210\266.md"
@@ -0,0 +1,8 @@
+# 行级访问控制
+
+行级访问控制特性将数据库访问粒度控制到数据表行级别,使数据库达到行级访问控制的能力。不同用户执行相同的SQL查询操作,按照行访问控制策略,读取到的结果可能是不同的。
+
+用户可以在数据表创建行访问控制\(Row Level Security\)策略,该策略是指针对特定数据库用户、特定SQL操作生效的表达式。当数据库用户对数据表访问时,若SQL满足数据表特定的Row Level Security策略,在查询优化阶段将满足条件的表达式,按照属性\(PERMISSIVE | RESTRICTIVE\)类型,通过AND或OR方式拼接,应用到执行计划上。
+
+行级访问控制的目的是控制表中行级数据可见性,通过在数据表上预定义Filter,在查询优化阶段将满足条件的表达式应用到执行计划上,影响最终的执行结果。当前行级访问控制支持的SQL语句包括SELECT,UPDATE,DELETE。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\350\256\277\351\227\256\346\216\247\345\210\266.md" "b/content/zh/docs/Technicalwhitepaper/\350\256\277\351\227\256\346\216\247\345\210\266.md"
new file mode 100644
index 0000000000000000000000000000000000000000..a294ca155d92b612799dfdcd096072605f1de474
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\350\256\277\351\227\256\346\216\247\345\210\266.md"
@@ -0,0 +1,10 @@
+# 访问控制
+
+管理用户对数据库的访问控制权限,涵盖数据库系统权限和对象权限。
+
+支持基于角色的访问控制机制,将角色和权限关联起来,通过将权限赋予给对应的角色,再将角色授予给用户,可实现用户访问控制权限管理。其中登录访问控制通过用户标识和认证技术来共同实现,而对象访问控制则基于用户在对象上的权限,通过对象权限检查实现对象访问控制。用户在为相关的数据库用户分配完成任务所需要的最小权限从而将数据库使用风险降到最低。
+
+支持三权分立权限访问控制模型,数据库角色可分为系统管理员、安全管理员和审计管理员。其中安全管理员负责创建和管理用户,系统管理员负责授予和撤销用户权限,审计管理员负责审计所有用户的行为。
+
+默认情况下,使用基于角色的访问控制模型。客户可通过设置参数来选择是否开启三权分立控制模型。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\350\275\257\344\273\266\346\236\266\346\236\204.md" "b/content/zh/docs/Technicalwhitepaper/\350\275\257\344\273\266\346\236\266\346\236\204.md"
new file mode 100644
index 0000000000000000000000000000000000000000..24fd879addb8ab9e8ad5b424fe6320fc0b94e9c9
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\350\275\257\344\273\266\346\236\266\346\236\204.md"
@@ -0,0 +1,42 @@
+# 软件架构
+
+openGauss是单机系统,在这样的系统架构中,业务数据存储在单个物理节点上,数据访问任务被推送到服务节点执行,通过服务器的高并发,实现对数据处理的快速响应。同时通过日志复制可以把数据复制到备机,提供数据的高可靠和读扩展。
+
+openGauss是支持主备部署,openGauss逻辑架构如[图1](#zh-cn_topic_0237080634_zh-cn_topic_0231764167_fig5205420191411)所示。
+
+**图 1** openGauss逻辑架构图
+
+
+**表 1** 架构说明
+
+
+ 名称
+
+ 描述
+
+
+
+ OM
+
+ 运维管理模块(Operation Manager)。提供集群日常运维、配置管理的管理接口、工具。
+
+
+ 客户端驱动
+
+ 客户端驱动(Client Driver)。负责接收来自应用的访问请求,并向应用返回执行结果。客户端驱动负责与openGauss实例通信,发送应用的SQL命令,接收openGauss实例的执行结果。
+
+
+ openGauss(主备)
+
+ openGauss主备(Datanode)。负责存储业务数据、执行数据查询任务以及向客户端返回执行结果。
+ openGauss实例包含主、备两种类型,支持一主多备。建议将主、备openGauss实例分散部署在不同的物理节点中。
+
+
+ Storage
+
+ 服务器的本地存储资源,持久化存储数据。
+
+
+
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\350\275\257\344\273\266\350\246\201\346\261\202.md" "b/content/zh/docs/Technicalwhitepaper/\350\275\257\344\273\266\350\246\201\346\261\202.md"
new file mode 100644
index 0000000000000000000000000000000000000000..5707f9435c1d05e29826ae241e15fa440aead81f
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\350\275\257\344\273\266\350\246\201\346\261\202.md"
@@ -0,0 +1,35 @@
+# 软件要求
+
+**表 1** 软件环境要求
+
+
+ 软件类型
+
+ 配置描述
+
+
+
+ Linux操作系统
+
+ openEuler20.3LTS和CentOS7.6
+
+
+ Linux文件系统
+
+ 在EulerOS操作系统下建议首选使用Ext4格式文件系统。
+ 剩余inode个数 > 15亿(推荐)。
+
+
+ 工具
+
+ Huawei JDK 1.8.0、psmisc、bzip2
+
+
+ Python
+
+ Python 3.6.X-3.7.X
+
+
+
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\350\275\257\347\241\254\344\273\266\351\205\215\347\275\256\350\246\201\346\261\202.md" "b/content/zh/docs/Technicalwhitepaper/\350\275\257\347\241\254\344\273\266\351\205\215\347\275\256\350\246\201\346\261\202.md"
new file mode 100644
index 0000000000000000000000000000000000000000..c2d99ab989a5de9d4632ecb874e061d3a4c26a5b
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\350\275\257\347\241\254\344\273\266\351\205\215\347\275\256\350\246\201\346\261\202.md"
@@ -0,0 +1,7 @@
+# 软硬件配置要求
+
+- **[软件要求](软件要求.md)**
+
+- **[硬件配置要求](硬件配置要求.md)**
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\351\200\273\350\276\221\345\244\207\344\273\275.md" "b/content/zh/docs/Technicalwhitepaper/\351\200\273\350\276\221\345\244\207\344\273\275.md"
new file mode 100644
index 0000000000000000000000000000000000000000..def7018ab74053ea168daace7edae64783a46c6a
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\351\200\273\350\276\221\345\244\207\344\273\275.md"
@@ -0,0 +1,4 @@
+# 逻辑备份
+
+openGauss提供逻辑备份能力,可以将用户表的数据以通用的text或者csv格式备份到本地磁盘文件、,并在同构/异构数据库中恢复该用户表的数据。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\351\203\250\347\275\262\345\275\242\346\200\201\346\261\207\346\200\273.md" "b/content/zh/docs/Technicalwhitepaper/\351\203\250\347\275\262\345\275\242\346\200\201\346\261\207\346\200\273.md"
new file mode 100644
index 0000000000000000000000000000000000000000..02ac8061e3933b50e65ed11e81ffb9791248e0d6
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\351\203\250\347\275\262\345\275\242\346\200\201\346\261\207\346\200\273.md"
@@ -0,0 +1,101 @@
+# 部署形态汇总
+
+单机和双机两种部署形态方案介绍请见[表1](#zh-cn_topic_0243295239_zh-cn_topic_0240782908_table138801827134510)。
+
+**表 1** openGauss部署形态汇总表
+
+
+ 部署形态
+
+ 技术方案
+
+ 高可用
+
+ 基础设置要求
+
+ 业务场景
+
+ 场景特点
+
+ 技术规格
+
+
+
+ 单机
+
+ 单机
+
+ 无高可用能力
+
+ 单机房
+
+ 物理机
+
+对系统的可靠性和可用性无任何要求 主要用于体验试用以及调测场景
+
+系统RTO和RPO不可控 无实例级容灾能力,一旦出现实例故障,系统不可用 一旦实例级数据丢失,则数据永久丢失,无法恢复
+
+
+ 主备
+
+ 主机+备机
+
+ 抵御实例级故障
+
+ 单机房
+
+ 物理机
+
+节点间无网络延迟 要求承受集群内实例级故障 适用于对系统可靠性要求不高的场景
+
+RPO=0 实例故障RTO<10s 无AZ级容灾能力 推荐主备最大可用模式
+
+
+ 一主多备
+
+ 主机 +多个备机 Quorum
+
+ 抵御实例级故障
+
+ 单机房
+
+ 物理机
+
+
+
+RPO=0 实例故障RTO<10s 无AZ级容灾能力 推荐主备同步模式 最少2个副本,最多4个副本
+
+
+
+
+
+## 软硬件规格
+
+openGauss支持的CPU和OS范围:
+
+**表 2** OpenGauss软硬件规格
+
+
+ 交付模式
+
+ CPU
+
+ OS
+
+
+
+ 开源线下
+
+ X86
+
+ CentOS 7.6
+
+
+ 鲲鹏
+
+ openEuler 20.03 LTS
+
+
+
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\351\203\250\347\275\262\346\226\271\346\241\210.md" "b/content/zh/docs/Technicalwhitepaper/\351\203\250\347\275\262\346\226\271\346\241\210.md"
new file mode 100644
index 0000000000000000000000000000000000000000..aefdafc55cfb4f7cc591dbd81c61a148c6b8dcaf
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\351\203\250\347\275\262\346\226\271\346\241\210.md"
@@ -0,0 +1,11 @@
+# 部署方案
+
+openGauss主要支持单机部署和一主多备部署两种部署形态
+
+- **[常用概念](常用概念.md)**
+
+- **[部署形态汇总](部署形态汇总.md)**
+
+- **[部署方案介绍](部署方案介绍.md)**
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\351\203\250\347\275\262\346\226\271\346\241\210\344\273\213\347\273\215.md" "b/content/zh/docs/Technicalwhitepaper/\351\203\250\347\275\262\346\226\271\346\241\210\344\273\213\347\273\215.md"
new file mode 100644
index 0000000000000000000000000000000000000000..ec5db753acfdf57ce472648d339b83dd76f17f8b
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\351\203\250\347\275\262\346\226\271\346\241\210\344\273\213\347\273\215.md"
@@ -0,0 +1,11 @@
+# 部署方案介绍
+
+整体部署方案可以分为三类:单机部署、一主一备部署、一主多备部署。具体在后续每个小节分解。
+
+- **[单机部署](单机部署.md)**
+
+- **[主备部署](主备部署.md)**
+
+- **[一主多备部署](一主多备部署.md)**
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\351\235\242\345\220\221\345\272\224\347\224\250\345\274\200\345\217\221\347\232\204\345\237\272\346\234\254\345\212\237\350\203\275.md" "b/content/zh/docs/Technicalwhitepaper/\351\235\242\345\220\221\345\272\224\347\224\250\345\274\200\345\217\221\347\232\204\345\237\272\346\234\254\345\212\237\350\203\275.md"
new file mode 100644
index 0000000000000000000000000000000000000000..29ee5868d320f3e56a97856b33e0cf0fafab8dea
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\351\235\242\345\220\221\345\272\224\347\224\250\345\274\200\345\217\221\347\232\204\345\237\272\346\234\254\345\212\237\350\203\275.md"
@@ -0,0 +1,17 @@
+# 面向应用开发的基本功能
+
+- **[支持标准SQL](支持标准SQL.md)**
+
+- **[支持标准开发接口](支持标准开发接口.md)**
+
+- **[事务支持](事务支持.md)**
+
+- **[函数及存储过程支持](函数及存储过程支持.md)**
+
+- **[PG接口兼容](PG接口兼容.md)**
+
+- **[支持SQL hint](支持SQL-hint.md)**
+
+- **[Copy接口支持容错机制](Copy接口支持容错机制.md)**
+openGauss提供用户封装好的Copy错误表创建函数,并允许用户在使用Copy From指令时指定容错选项,使得Copy From语句在执行过程中部分解析、数据格式、字符集等相关的报错不会报错中断事务、而是被记录至错误表中,使得在Copy From的目标文件即使有少量数据错误也可以完成入库操作。用户随后可以在错误表中对相关的错误进行定位以及进一步排查。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\351\253\230\345\217\257\347\224\250.md" "b/content/zh/docs/Technicalwhitepaper/\351\253\230\345\217\257\347\224\250.md"
new file mode 100644
index 0000000000000000000000000000000000000000..9657d112c39b49d8f6c2c5c876079cc33d760aa0
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\351\253\230\345\217\257\347\224\250.md"
@@ -0,0 +1,9 @@
+# 高可用
+
+- **[主备机](主备机.md)**
+
+- **[逻辑备份](逻辑备份.md)**
+openGauss提供逻辑备份能力,可以将用户表的数据以通用的text或者csv格式备份到本地磁盘文件、,并在同构/异构数据库中恢复该用户表的数据。
+- **[物理备份](物理备份.md)**
+openGauss提供物理备份能力,可以将整个实例的数据以数据库内部格式备份到本地磁盘文件、中,并在同构数据库中恢复整个实例的数据。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\351\253\230\346\200\247\350\203\275.md" "b/content/zh/docs/Technicalwhitepaper/\351\253\230\346\200\247\350\203\275.md"
new file mode 100644
index 0000000000000000000000000000000000000000..c7dd7a3c8bfe69da7fe77c8c6da5492ba6e46b06
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\351\253\230\346\200\247\350\203\275.md"
@@ -0,0 +1,15 @@
+# 高性能
+
+- **[CBO优化器](CBO优化器.md)**
+openGauss优化器是典型的基于代价的优化 \(Cost-Based Optimization,简称CBO\)。在这种优化器模型下,数据库根据表的元组数、字段宽度、NULL记录比率、distinct值、MCV值、HB值等表的特征值,以及一定的代价计算模型,计算出每一个执行步骤的不同执行方式的输出元组数和执行代价\(cost\),进而选出整体执行代价最小/首元组返回代价最小的执行方式进行执行。
+- **[行列混合存储](行列混合存储.md)**
+
+- **[自适应压缩](自适应压缩.md)**
+
+- **[分区](分区.md)**
+
+- **[SQL by pass](SQL-by-pass.md)**
+在典型的OLTP场景中,简单查询占了很大一部分比例。这种查询的特征是只涉及单表和简单表达式的查询,因此为了加速这类查询,提出了SQL-BY-PASS框架,在parse层对这类查询做简单的模式判别后,进入到特殊的执行路径里,跳过经典的执行器执行框架,包括算子的初始化与执行、表达式与投影等经典框架,直接重写一套简洁的执行路径,并且直接调用存储接口,这样可以大大加速简单查询的执行速度。
+- **[鲲鹏NUMA架构优化](鲲鹏NUMA架构优化.md)**
+
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\351\253\230\346\211\251\345\261\225.md" "b/content/zh/docs/Technicalwhitepaper/\351\253\230\346\211\251\345\261\225.md"
new file mode 100644
index 0000000000000000000000000000000000000000..8b5cb154ad7bc7b9325bcf5e86347038af84c153
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\351\253\230\346\211\251\345\261\225.md"
@@ -0,0 +1,5 @@
+# 高扩展
+
+- **[线程池高并发](线程池高并发.md)**
+在OLTP领域中,数据库需要处理大量的客户端连接。因此,高并发场景的处理能力是数据库的重要能力之一。
+
diff --git "a/content/zh/docs/Technicalwhitepaper/\351\262\262\351\271\217NUMA\346\236\266\346\236\204\344\274\230\345\214\226.md" "b/content/zh/docs/Technicalwhitepaper/\351\262\262\351\271\217NUMA\346\236\266\346\236\204\344\274\230\345\214\226.md"
new file mode 100644
index 0000000000000000000000000000000000000000..ee21ba3d31194dacdc6347e5cf5f979e2bd97f5e
--- /dev/null
+++ "b/content/zh/docs/Technicalwhitepaper/\351\262\262\351\271\217NUMA\346\236\266\346\236\204\344\274\230\345\214\226.md"
@@ -0,0 +1,9 @@
+# 鲲鹏NUMA架构优化
+
+**图 1** 鲲鹏NUMA架构优化图
+
+
+1. openGauss根据鲲鹏处理器的多核NUMA架构特点,进行针对性一系列NUMA架构相关优化,一方面尽量减少跨核内存访问的时延问题,另一方面重分发挥鲲鹏多核算力优势,所提供的关键技术包括重做日志批插,热点数据NUMA分布,CLog分区等,大幅提升TP系统的处理性能。
+2. openGauss基于鲲鹏芯片所使用的ARMv8.1架构,利用LSE扩展指令集实现高效的原子操作,有效提升CPU利用率,从而提升多线程间同步性能,XLog写入性能等。
+3. openGauss基于鲲鹏芯片提供的更宽的L3缓存cacheline,针对热点数据访问进行优化,有效提高缓存访问命中率,降低Cache缓存一致性维护开销,大幅提升系统整体的数据访问性能。
+
diff --git a/content/zh/docs/Toolreference/FAQ.md b/content/zh/docs/Toolreference/FAQ.md
index 24c73c45fe6cff856f009d327421f6d325167e83..219dadd19094b3234a32b569018e141e00ce50d6 100644
--- a/content/zh/docs/Toolreference/FAQ.md
+++ b/content/zh/docs/Toolreference/FAQ.md
@@ -1,5 +1,7 @@
-# FAQ
+# FAQ
- **[执行命令报错“Failed to obtain the GPHOME”](执行命令报错-Failed-to-obtain-the-GPHOME.md)**
+- **[gs\_ctl 重建备实例过程被中断导致秘钥文件不完整恢复方法](gs_ctl-重建备实例过程被中断导致秘钥文件不完整恢复方法.md)**
+
diff --git a/content/zh/docs/Toolreference/gaussdb.md b/content/zh/docs/Toolreference/gaussdb.md
index c8112550daae15d3b0cb3cffc404338056cc93bc..c19ebe564a3a81ff6a53536ecf652c64b55b3404 100644
--- a/content/zh/docs/Toolreference/gaussdb.md
+++ b/content/zh/docs/Toolreference/gaussdb.md
@@ -1,4 +1,4 @@
-# gaussdb
+# gaussdb
## 背景信息
@@ -155,18 +155,11 @@ gaussdb接受[表1](#zh-cn_topic_0237152404_zh-cn_topic_0059777816_zh-cn_topic_0
-p PORT
- 指定gaussdb侦听客户端连接的TCP/IP端口或本地Unix domain socket文件的扩展。默认端口号为 8000 。
+ 指定gaussdb侦听客户端连接的TCP/IP端口或本地Unix domain socket文件的扩展。默认端口号为 5432 。
正整数,在操作系统支持的端口范围内。
-
-R
-
- 表明以xlogreiver运行,只在-M standby模式下使用。
-
- -
-
-
-s
在每条命令结束时打印时间信息和其他统计信息。
@@ -181,20 +174,6 @@ gaussdb接受[表1](#zh-cn_topic_0237152404_zh-cn_topic_0059777816_zh-cn_topic_0
单位为KB。
-
--d b node
-
- 以 数据库节点 运行。
-
- -
-
-
-
--restoremode
-
- 以恢复节点运行。
-
- -
-
-
--single_node
拉起单机数据库。
@@ -379,7 +358,7 @@ gaussdb接受[表1](#zh-cn_topic_0237152404_zh-cn_topic_0059777816_zh-cn_topic_0
--boot
- 启动自启动模式。必须是命令行中的第一个选项。
+ 启动自启动模式。必须是命令行中的第一个选项。该参数是对数据库中的参数变量及相关配置初始化,常用在数据库安装的流程中,直接使用该参数,无明显行为感知。
-
diff --git a/content/zh/docs/Toolreference/gs_backup.md b/content/zh/docs/Toolreference/gs_backup.md
index d4854bd5bd3f7eba5d5f79c0cf86c319b1e61e45..530eb0ef3b25425438f029c0327cd8b07c053364 100644
--- a/content/zh/docs/Toolreference/gs_backup.md
+++ b/content/zh/docs/Toolreference/gs_backup.md
@@ -1,4 +1,4 @@
-# gs\_backup
+# gs\_backup
## 背景信息
diff --git a/content/zh/docs/Toolreference/gs_basebackup.md b/content/zh/docs/Toolreference/gs_basebackup.md
index 01904b4376042065582e971ff30e8442660298b5..99ce48f1b6f565844528f5ea0eb8e7ca3491dc7f 100644
--- a/content/zh/docs/Toolreference/gs_basebackup.md
+++ b/content/zh/docs/Toolreference/gs_basebackup.md
@@ -1,18 +1,20 @@
-# gs\_basebackup
+# gs\_basebackup
## 背景信息
-openGauss部署成功后,在数据库运行的过程中,会遇到各种问题及异常状态。openGauss提供了gs\_basebackup工具做基础备份。。
-
-gs\_basebackup工具由数据库安装用户执行。
+openGauss部署成功后,在数据库运行的过程中,会遇到各种问题及异常状态。openGauss提供了gs\_basebackup工具做基础的物理备份。gs\_basebackup的实现目标是对服务器数据库文件的二进制进行拷贝,其实现原理使用了复制协议。远程执行gs\_basebackup时,需要使用系统管理员账户。gs\_basebackup当前仅支持热备份模式,不支持压缩格式备份。
> **说明:**
->gs\_basebackup仅支持全量备份,不支持增量恢复。
+>- gs\_basebackup仅支持全量备份,不支持增量。
+>- gs\_basebackup当前仅支持热备份模式,不支持压缩格式备份。
+>- gs\_basebackup在备份包含绝对路径的表空间时,不能在同一台机器上进行备份。对于同一台机器,绝对路径是唯一的,因此会产生冲突。可以在不同的机器上备份含绝对路径的表空间。
+>- 若打开增量检测点功能且打开双写, gs\_basebackup也会备份双写文件。
+>- 若pg\_xlog目录为软链接,备份时将不会建立软链接,会直接将数据备份到目的路径的pg\_xlog目录下。
## 前提条件
-- 可以正常连接openGauss数据库。
-- 在进行还原时,需要保证各节点备份目录中存在备份文件,若备份文件丢失,则需要从其他节点进行拷贝(二进制文件需修改文件名中的节点名)。
+- 可以正常连接openGauss数据库,pg\_hba.conf中需要配置允许复制链接, 需要配置max\_wal\_senders的数量, 至少有一个可用。
+- 在进行还原时,需要保证各节点备份目录中存在备份文件,若备份文件丢失,则需要从其他节点进行拷贝。
## 语法
@@ -35,23 +37,13 @@ gs\_basebackup参数可以分为如下几类:
- -D directory
- 写输出的目录,必选项。
-
-- -x
-
- 相当于-X的fetch方法
-
-- -X
+ 备份文件输出的目录,必选项。
- 在备份中包含所需的事务日志文件(WAL文件)。
-
-
-支持的事务日志收集方式为fast或者stream
- 常用参数:
- -c,--checkpoint=fast|spread
- 设置检查点模式为fast或者spread
+ 设置检查点模式为fast或者spread\(默认\)
- -l,--label=LABEL
@@ -97,9 +89,9 @@ gs\_basebackup参数可以分为如下几类:
不出现输入密码提示。
- - -W, --password=PASSWORD
+ - -W, --password
- 当使用-U参数连接本地数据库或者连接远端数据库时,可通过该选项指定密码
+ 当使用-U参数连接本地数据库或者连接远端数据库时,可通过指定该选项出现输入密码提示。
@@ -110,3 +102,24 @@ gs_basebackup -D /home/test/trunk/install/data/backup -h 127.0.0.1 -p 21233
INFO: The starting position of the xlog copy of the full build is: 0/1B800000. The slot minimum LSN is: 0/1B800000.
```
+## 从备份文件恢复数据
+
+当数据库发生故障需要从备份文件进行恢复。因为gs\_basebackup是对数据库按二进制进行备份,因此恢复时可以直接拷贝替换原有的文件, 或者直接在备份的库上启动数据库。
+
+> **说明:**
+>- 若当前数据库实例正在运行,直接从备份文件启动数据库可能会存在端口冲突,这是需要修配置文件的port参数,或者在启动数据库时指定一下端口。
+>- 若当前备份文件为主备数据库,可能需要修改一下主备之间的复制连接。即配置文件中的postgre.conf中的replconninfo1, replconninfo2等
+
+若要在原库的地方恢复数据库,参考步骤如下:
+
+1. 停止数据库服务器, 具体操作请参见<管理员指南\>
+2. 将原数据库库和所有表空间复制到另外一个位置, 以备后面需要
+3. 清理原库中的所有或部分文件
+4. 使用数据库系统用户权限从备份中还原需要的数据库文件
+5. 若数据库中存在链接文件, 需要修改使其链接到正确的文件.
+6. 重启数据库服务器, 并检查数据库内容,确保数据库已经恢复到所需的状态。
+
+> **说明:**
+>- 暂不支持备份文件增量恢复
+>- 恢复后需要检查数据库中的链接文件是否链接到正确的文件
+
diff --git a/content/zh/docs/Toolreference/gs_check.md b/content/zh/docs/Toolreference/gs_check.md
index 445457258566de5b46515a350793587dc5c6bb3f..21f1909e11c93dd73b9bb1aee8867875f024d1d1 100644
--- a/content/zh/docs/Toolreference/gs_check.md
+++ b/content/zh/docs/Toolreference/gs_check.md
@@ -1,10 +1,10 @@
-# gs\_check
+# gs\_check
## 背景信息
gs\_check改进增强,统一化当前系统中存在的各种检查工具,例如[gs\_check](gs_check.md),[gs\_checkos](gs_checkos.md)等,帮助用户在openGauss运行过程中,全量的检查openGauss运行环境,操作系统环境,网络环境及数据库执行环境,也有助于在openGauss重大操作之前对各类环境进行全面检查,有效保证操作执行成功。
-## **注意事项**
+## 注意事项
- 扩容新节点检查只能在root用户下执行,其他场景都必须在omm用户下执行。
- 必须指定-i或-e参数,-i会检查指定的单项,-e会检查对应场景配置中的多项。
@@ -60,7 +60,7 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
- -e
- 场景检查项。默认的场景有inspect(例行巡检)、upgrade(升级前巡检)、expand(扩容前巡检)、binary\_upgrade(就地升级前巡检)、health(健康检查巡检)、install\(安装\),replace\(节点替换\),expand\_new\_node\(扩容\)等,用户可以根据需求自己编写场景。
+ 场景检查项。默认的场景有inspect(例行巡检)、upgrade(升级前巡检)、binary\_upgrade(就地升级前巡检)、health(健康检查巡检)、install\(安装\),等,用户可以根据需求自己编写场景。
- -l
@@ -70,10 +70,6 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
指定检查结果输出文件夹路径。
-- --hosts
-
- 用于保存执行检查的节点地址的文件,expand\_new\_node场景必加,其余场景可加可不加,但必须保证要写对。
-
- --skip-root-items
跳过需要root权限执行的检查项。
@@ -118,9 +114,9 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
**表 1** openGauss状态检查表
- 状态
+ 状态
- 巡检项
+ 巡检项
检查内容
@@ -128,9 +124,9 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
- os
+ os
- CheckCPU(检查CPU使用率)
+ CheckCPU(检查CPU使用率)
检查主机CPU占用率,如果idle大于30%并且iowait小于30%。则检查项通过,否则检查项不通过。
@@ -237,9 +233,9 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
是
- CheckPortConflict(检查 数据库节点 端口是否占用)
+ CheckPortConflict(检查数据库节点端口是否占用)
- 检查 数据库节点 端口是否已被占用,若未占用则检查项通过,否则检查项不通过。
+ 检查数据库节点端口是否已被占用,若未占用则检查项通过,否则检查项不通过。
是
@@ -253,7 +249,7 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
CheckEtcHosts(检查/etc/hosts中是否有重复地址以及localhost配置)
- 检查/etc/hosts没有配置localhost检查项不通过,存在带有# openGauss 注释的映射则检查项不通过,相同IP不同hostname则检查项不通过,否则通过,若hostname相同,但ip不同检查项不通过。
+ 检查/etc/hosts没有配置localhost检查项不通过,存在带有#openGauss注释的映射则检查项不通过,相同IP不同hostname则检查项不通过,否则通过,若hostname相同,但ip不同检查项不通过。
否
@@ -350,14 +346,14 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
CheckMaxProcMemory(检查max_process_memory参数设置是否合理)
- 检查 数据库节点 的max_process_memory值,判断该参数的值是否大于1G,若不大于则检查项通过,否则检查项不通过。
+ 检查数据库节点的max_process_memory值,判断该参数的值是否大于1G,若不大于则检查项通过,否则检查项不通过。
是
- device
+ device
- CheckSwapMemory(检查交换内存)
+ CheckSwapMemory(检查交换内存)
检查交换内存和总内存大小,若检查结果为0则检查项通过,否则检查项报Warning大于总内存时检查项不通过。
@@ -380,7 +376,7 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
CheckMaxAsyIOrequests(检查最大异步请求)
- 获取当前异步请求值当前异步IO值大于(dn+cn)*1048576和104857600则检查项通过,否则检查项不通过。
+ 获取当前异步请求值当前异步IO值大于当前节点数据库实例数*1048576和104857600则检查项通过,否则检查项不通过。
是
@@ -445,9 +441,9 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
否
- cluster
+ cluster
- CheckClusterState(检查 openGauss 状态)
+ CheckClusterState(检查 openGauss 状态)
检查fencedUDF状态,如果fencedUDF状态为down则报warning;检查 openGauss 状态,如果 openGauss 状态为Normal则检查项通过,否则检查项不通过。
@@ -464,10 +460,10 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
CheckDBParams(检查 openGauss 参数)
- 检查 数据库主节点 检查共享缓冲区大小和Sem参数。
- 数据库节点 检查共享缓冲区大小和最大连接数。
+ 检查数据库主节点检查共享缓冲区大小和Sem参数。
+ 数据库节点检查共享缓冲区大小和最大连接数。
共享缓冲区需要大于128KB且大于shmmax且大于shmall*PAGESIZE
- 若存在 数据库主节点 ,则Sem值需大于( 数据库节点 最大连接数+150)/16向上取整。
+ 若存在数据库主节点,则Sem值需大于(数据库节点最大连接数+150)/16向上取整。
以上项完全满足则检查项通过,否则检查项不通过。
是
@@ -497,7 +493,7 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
CheckEnvProfile(检查环境变量)
- 检查节点环境变量($GAUSSHOME、$LD_LIBRARY_PATH、$PATH),检查CMS/CMA/GTM/ 数据库节点 进程的环境变量。如果环境变量存在并配置正确,进程的环境变量存在则检查项通过,否则检查项不通过。
+ 检查节点环境变量($GAUSSHOME、$LD_LIBRARY_PATH、$PATH),检查CMS/CMA/数据库节点进程的环境变量。如果环境变量存在并配置正确,进程的环境变量存在则检查项通过,否则检查项不通过。
否
@@ -518,7 +514,7 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
CheckReadonlyMode(检查只读模式)
- 检查 openGauss 数据库主节点 default_transaction_read_only值若为off则检查通过,否则不通过。
+ 检查 openGauss 数据库主节点default_transaction_read_only值若为off则检查通过,否则不通过。
否
@@ -532,7 +528,7 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
CheckProcessStatus(检查 openGauss 进程属主)
- 检查 'cm_agent', 'cm_server', 'gs_gtm', 'gaussdb'进程属主,若不存在 omm 以外的属主则检查项通过,否则检查项不通过。
+ 检查 'gaussdb'进程属主,若不存在 omm 以外的属主则检查项通过,否则检查项不通过。
否
@@ -553,7 +549,7 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
CheckLargeFile(检查数据目录大文件)
- 检查各个 数据库节点 目录是否存在超过4G的文件。任一 数据库节点 目录及其子目录有超过4G的单个文件,则检查不通过,否则检查通过。
+ 检查各个数据库节点目录是否存在超过4G的文件。任一数据库节点目录及其子目录有超过4G的单个文件,则检查不通过,否则检查通过。
否
@@ -579,9 +575,9 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
否
- database
+ database
- CheckLockNum(检查锁数量)
+ CheckLockNum(检查锁数量)
检查数据库锁数量,查询成功检查项通过。
@@ -590,7 +586,7 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
CheckArchiveParameter(检查归档参数)
- 检查数据库归档参数,如果未打开或打开且在 数据库节点 下则检查项通过, 打开且不在 数据库主节点 目录下则检查项不通过。
+ 检查数据库归档参数,如果未打开或打开且在数据库节点下则检查项通过, 打开且不在数据库主节点目录下则检查项不通过。
是
@@ -609,9 +605,9 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
否
- CheckMaxDatanode(检查comm_max_datanode参数值范围小于 数据库节点 个数)
+ CheckMaxDatanode(检查comm_max_datanode参数值范围小于数据库节点个数)
- 检查最大 数据库节点 数,若最大 数据库节点 数小于xml配置的节点数* 数据库节点 数(默认值为90*5)报warning,否则检查项通过。
+ 检查最大数据库节点数,若最大数据库节点数小于xml配置的节点数*数据库节点数(默认值为90*5)报warning,否则检查项通过。
是
@@ -658,13 +654,6 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
是
- CheckCgroupTable(检查gs_cgroup系统表)
-
- 检查Cgroups系统表,若不存在用户新建的Cgroups则检查项通过,否则报warning。
-
- 是
-
-
CheckPMKData(检查PMK异常数据)
检查数据库PMK schema是否包含有异常数据,如果不存在异常数据则检查项通过,否则检查项不通过。
@@ -695,14 +684,14 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
CheckTableSkew(检查表级别数据倾斜)
- 若存在表在 openGauss 各 数据库节点 上的数据分布不均衡,且分布数据最多的 数据库节点 比最低的 数据库节点 所分布的数据多100000条以上,则检查不通过,否则检查通过。
+ 若存在表在 openGauss 各数据库节点上的数据分布不均衡,且分布数据最多的数据库节点比最低的数据库节点所分布的数据多100000条以上,则检查不通过,否则检查通过。
否
- CheckDNSkew(检查 数据库节点 级别数据分布倾斜)
+ CheckDNSkew(检查数据库节点级别数据分布倾斜)
- 检查 数据库节点 级别的表倾斜数据,若分布数据最高的 数据库节点 比分布数据最低的 数据库节点 数据量高于5%,则检查不通过,否则检查通过。
+ 检查数据库节点级别的表倾斜数据,若分布数据最高的数据库节点比分布数据最低的数据库节点数据量高于5%,则检查不通过,否则检查通过。
否
@@ -728,10 +717,6 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
否
-
-
-
-
CheckNextvalInDefault(检查Default表达式中包含nextval(sequence))
检查Default表达式中是否包含nextval(sequence),若包含则不通过,否则通过。
@@ -788,9 +773,9 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
否
- network
+ network
-
+
CheckPing(检查网络通畅)
检查 openGauss 内所有节点的互通性,如果各节点所有IP均可ping通则检查项通过,否则检查项不通过。
@@ -865,11 +850,11 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
否
- other
+ other
- CheckDataDiskUsage(检查 数据库节点 磁盘空间使用率)
+ CheckDataDiskUsage(检查数据库节点磁盘空间使用率)
- 检查磁盘 数据库节点 目录使用率,如果使用率低于90%则检查项通过,否则检查项不通过。
+ 检查磁盘数据库节点目录使用率,如果使用率低于90%则检查项通过,否则检查项不通过。
否
@@ -882,7 +867,7 @@ gs\_check改进增强,统一化当前系统中存在的各种检查工具,
>- CheckNetSpeed不支持-L本地检查模式,-L模式无法构造网络压力,检查的结果不准确。
>- 在节点数小于6时,speed\_test构造的网络压力可能无法跑满带宽,可能会造成检查结果不准确。
-## **用户自定义场景**
+## 用户自定义场景
1. 以操作系统用户omm登录数据库主节点。
2. 在script/gspylib/inspection/config路径下新建场景配置文件scene\_XXX.xml。
diff --git a/content/zh/docs/Toolreference/gs_checkos.md b/content/zh/docs/Toolreference/gs_checkos.md
index 3bd4bd1d76f96efca635c66543e5a31d5e424000..17f018de772cb4a3c36592b58f3194c2e72f6273 100644
--- a/content/zh/docs/Toolreference/gs_checkos.md
+++ b/content/zh/docs/Toolreference/gs_checkos.md
@@ -1,4 +1,4 @@
-# gs\_checkos
+# gs\_checkos
## 背景信息
@@ -37,11 +37,11 @@ gs\_checkos工具来帮助检查操作系统、控制参数、磁盘配置等内
列表编号。格式:-i A、-i B1、-i A1 -i A2或-i A1,A2。
- 取值范围:A1...A14、B1...B6
+ 取值范围:A1...A14、B1...B7
> **说明:**
>A1...A14 表示只检查操作系统参数,并不设置。
- >B1...B6 表示将参数系统参数设置为期望值。
+ >B1...B7 表示将参数系统参数设置为期望值。
>A和B不能同时输入。
详细的检查项请参见[表1](#zh-cn_topic_0237152331_zh-cn_topic_0059778883_t5348bfc47f50450687012eacb1a1ba4e)。
@@ -249,6 +249,13 @@ gs\_checkos工具来帮助检查操作系统、控制参数、磁盘配置等内
THP服务设置:如果THP服务启动,将该服务关闭。
+ B7
+
+ 设置欧拉系统属性(Set RemoveIPC value)
+
+ 欧拉系统属性检查:检查设置欧拉系统文件/usr/lib/systemd/system/systemd-logind.service,/etc/systemd/logind.conf中配置项RemoveIPC属性值是否为no,当不为no时,对其进行修改设置。
+
+
diff --git a/content/zh/docs/Toolreference/gs_checkperf.md b/content/zh/docs/Toolreference/gs_checkperf.md
index a404255a5b64a6dd1909033ec8249967c4be2a78..e4960314e18a7ea40accc9093da37784f8868c85 100644
--- a/content/zh/docs/Toolreference/gs_checkperf.md
+++ b/content/zh/docs/Toolreference/gs_checkperf.md
@@ -1,4 +1,4 @@
-# gs\_checkperf
+# gs\_checkperf
## 背景信息
@@ -9,7 +9,7 @@ openGauss提供了gs\_checkperf工具来帮助对openGauss级别(主机CPU占
- openGauss运行状态正常且不为只读模式。
- 运行在数据库之上的业务运行正常。
-## **注意事项**
+## 注意事项
- gs\_checkperf工具的监控信息依赖于pmk模式下的表的数据。如果pmk模式下的表未执行analyze操作,则可能导致gs\_checkperf工具执行失败。其报错示例信息如下:
@@ -355,7 +355,6 @@ Session IO statistics:
3 dn_6001_6002-postgres-dbazt:
Physical Reads : 271
Read Time : 4662
-
```
## 相关命令
diff --git a/content/zh/docs/Toolreference/gs_collector.md b/content/zh/docs/Toolreference/gs_collector.md
index 77512f265efaf2fc218f95ea1fb11befdb5e0738..86c43ac01195b3a14439faab28c80c2c31a83ec6 100644
--- a/content/zh/docs/Toolreference/gs_collector.md
+++ b/content/zh/docs/Toolreference/gs_collector.md
@@ -1,4 +1,4 @@
-# gs\_collector
+# gs\_collector
## 背景信息
@@ -39,11 +39,10 @@
Log
- DBnode
- Gtm
+ DBnode
ClusterManager
-
Config
- DBnode
- Gtm
+ DBnode
-
Gstack
- DBnode
- Gtm
+ DBnode
- 利用gstack命令得到 DBnode ,GTM的当前堆栈信息。
+ 利用gstack命令得到DBnode的当前堆栈信息。
否
@@ -74,13 +70,9 @@
CoreDump
gaussdb
- gs_gtm
- gs_rewind
- cm_server
- cm_agent
gs_ctl
- 通过时间筛选gaussdb进程和gtm进程的core文件。
+ 通过时间筛选gaussdb进程的core文件。
注意: 关于Core的配置和方式请按照如下要求:在/proc/sys/opengauss/core_pattern文件中添加core文件的格式:core-%e-%p-%t。
@@ -89,7 +81,7 @@
XLog
- DBnode
+ DBnode
通过时间筛选收集xlog。
@@ -192,9 +184,9 @@
>"Collect":
>\[
>\{"TypeName": "System", "Content":"RunTimeInfo, HardWareInfo","Interval":"0", "Count":"1"\},
- >\{"TypeName": "Log", "Content" : "DBnode,Gtm,ClusterManager", "Interval":"0", "Count":"1"\},
+ >\{"TypeName": "Log", "Content" : "DBnode,ClusterManager", "Interval":"0", "Count":"1"\},
>\{"TypeName": "Database", "Content": "pg\_locks,pg\_stat\_activity,pg\_thread\_wait\_status","Interval":"0", "Count":"1"\},
- >\{"TypeName": "Config", "Content": "DBnode,Gtm", "Interval":"0", "Count":"1"\}
+ >\{"TypeName": "Config", "Content": "DBnode", "Interval":"0", "Count":"1"\}
>\]
>\}
>TypeName和对应的Content取值范围见表1gs\_collector内容收集对照表。
diff --git "a/content/zh/docs/Toolreference/gs_collector\345\267\245\345\205\267\346\224\257\346\214\201\346\224\266\351\233\206\347\232\204\347\263\273\347\273\237\350\241\250\345\222\214\350\247\206\345\233\276\345\210\227\350\241\250.md" "b/content/zh/docs/Toolreference/gs_collector\345\267\245\345\205\267\346\224\257\346\214\201\346\224\266\351\233\206\347\232\204\347\263\273\347\273\237\350\241\250\345\222\214\350\247\206\345\233\276\345\210\227\350\241\250.md"
index 2863cee4c7c43542bc039a1aadec938c01b01c85..d7497ee87bfc7b4de73e8b9504ba60e1c147fb2d 100644
--- "a/content/zh/docs/Toolreference/gs_collector\345\267\245\345\205\267\346\224\257\346\214\201\346\224\266\351\233\206\347\232\204\347\263\273\347\273\237\350\241\250\345\222\214\350\247\206\345\233\276\345\210\227\350\241\250.md"
+++ "b/content/zh/docs/Toolreference/gs_collector\345\267\245\345\205\267\346\224\257\346\214\201\346\224\266\351\233\206\347\232\204\347\263\273\347\273\237\350\241\250\345\222\214\350\247\206\345\233\276\345\210\227\350\241\250.md"
@@ -1,4 +1,4 @@
-# gs\_collector工具支持收集的系统表和视图列表
+# gs\_collector工具支持收集的系统表和视图列表
**表 1** gs\_collector工具支持收集的系统表和视图列表
@@ -11,7 +11,7 @@
OS
- gs _os_run_info
+ gs_os_run_info
pg_os_threads
@@ -20,10 +20,10 @@
Session
/Thread
- gs _session_stat
+ gs_session_stat
- gs _session_time
+ gs_session_time
gs_session_cpu_statistics
@@ -32,19 +32,19 @@
gs_session_memory_statistics
- gs _session_memory_context
+ gs_session_memory_context
- gs _session_memory
+ gs_session_memory
- gs _session_memory_detail
+ gs_session_memory_detail
pg_stat_activity
- gs _thread_memory_context
+ gs_thread_memory_context
WLM
@@ -151,15 +151,15 @@
pg_shared_memory_detail
- gs _total_memory_detail
+ gs_total_memory_detail
File
- gs _file_stat
+ gs_file_stat
- gs _redo_stat
+ gs_redo_stat
pg_stat_bad_block
diff --git "a/content/zh/docs/Toolreference/gs_ctl-\351\207\215\345\273\272\345\244\207\345\256\236\344\276\213\350\277\207\347\250\213\350\242\253\344\270\255\346\226\255\345\257\274\350\207\264\347\247\230\351\222\245\346\226\207\344\273\266\344\270\215\345\256\214\346\225\264\346\201\242\345\244\215\346\226\271\346\263\225.md" "b/content/zh/docs/Toolreference/gs_ctl-\351\207\215\345\273\272\345\244\207\345\256\236\344\276\213\350\277\207\347\250\213\350\242\253\344\270\255\346\226\255\345\257\274\350\207\264\347\247\230\351\222\245\346\226\207\344\273\266\344\270\215\345\256\214\346\225\264\346\201\242\345\244\215\346\226\271\346\263\225.md"
new file mode 100644
index 0000000000000000000000000000000000000000..56ca332926feb8454e07d9b7a27143b010ae1b36
--- /dev/null
+++ "b/content/zh/docs/Toolreference/gs_ctl-\351\207\215\345\273\272\345\244\207\345\256\236\344\276\213\350\277\207\347\250\213\350\242\253\344\270\255\346\226\255\345\257\274\350\207\264\347\247\230\351\222\245\346\226\207\344\273\266\344\270\215\345\256\214\346\225\264\346\201\242\345\244\215\346\226\271\346\263\225.md"
@@ -0,0 +1,47 @@
+# gs\_ctl 重建备实例过程被中断导致秘钥文件不完整恢复方法
+
+## 问题现象
+
+用户在重建备实例的过程中被中断,再次重建备实例失败,出现以下报错信息
+
+```
+CRC checksum does not match value stored in file, maybe the cipher file is corrupt
+non obs cipher file or random parameter file is invalid.
+read cipher file or random parameter file failed.
+2020-06-18 20:58:12.080 5eeb64e3.1 [unknown] 140697304617088 [unknown] 0 dn_6001_6002 F0000 0 [BACKEND] FATAL: could not load server certificate file "server.crt": no start line
+[2020-06-18 20:58:12.086][24066][dn_6001_6002][gs_ctl]: waitpid 24446 failed, exitstatus is 256, ret is 2
+```
+
+## 原因分析
+
+重建中断时证书文件不完整,再次重建会由于证书文件不完整而失败。
+
+## 操作步骤
+
+1. 在数据目录下查看证书文件大小
+
+ ```
+ ll
+ 查看秘钥文件大小
+ -rw------- 1 omm omm 0 Jun 18 20:58 server.crt
+ -rw------- 1 omm omm 0 Jun 18 20:58 server.key
+ -rw------- 1 omm omm 0 Jun 18 20:58 server.key.cipher
+ -rw------- 1 omm omm 0 Jun 18 20:58 server.key.rand
+ ```
+
+2. 若证书文件大小为0,删除证书文件
+
+ ```
+ rm -rf server.crt server.key server.key.cipher server.key.rand
+ ```
+
+3. 重建备实例
+
+ ```
+ gs_ctl build -D data_dir
+ ```
+
+
+> **说明:**
+>若备机数据库已停止,需要重新生成证书文件(参见9.1.2证书生成)或者复制证书文件($GAUSSHOME/share下的证书文件)到数据目录,启动备机并重建备实例。
+
diff --git a/content/zh/docs/Toolreference/gs_ctl.md b/content/zh/docs/Toolreference/gs_ctl.md
index 2ec1704722512a79a615cff7042d8f9c1f4fe7e0..6b1b16ea80e585b0260bdeb6e7d4fd7c918ad733 100644
--- a/content/zh/docs/Toolreference/gs_ctl.md
+++ b/content/zh/docs/Toolreference/gs_ctl.md
@@ -1,6 +1,6 @@
-# gs\_ctl
+# gs\_ctl
-## 功能介绍
+## 背景信息
gs\_ctl是openGauss提供的数据库服务控制工具,可以用来启停数据库服务和查询数据库状态。主要供openGauss管理模块调用。
@@ -74,12 +74,14 @@ gs\_ctl参数可分为如下几类:
failover
在主机异常时,将备机切换为主机。
+ 切换成功后,需要执行gs_om -t refreshconf 命令记录当前主备机信息。
switchover
在主备机正常时,出于维护的需要,将备机切换为主机,可保证切换过程中数据不丢失。
- 切换成功后,需要执行gs_om -t refreshconf 命令记录当前主备机信息
+ 切换成功后,需要执行gs_om -t refreshconf 命令记录当前主备机信息。
+ switchover命令下发后,命令如果超时返回,后台进程的执行状态可能处于不可确定状态;如果备机在standby wait状态,可以通过重复下发switchover命令消除,使集群恢复到正常状态。
query
@@ -170,6 +172,8 @@ gs\_ctl参数可分为如下几类:
-M
-M后面需要跟SERVERMODE参数,表示在启动时指定数据库的启动模式。
+ 说明: 当前主机处于一主零备,或单机环境时,不支持-M参数。
+
SERVERMODE的取值范围:
primary:本端以主机模式启动。 standby:本端以备机模式启动。 pending:本端处于等待状态,等待提升为主机或者备机。
@@ -182,6 +186,13 @@ gs\_ctl参数可分为如下几类:
term的取值范围,无符号整型。
+ -d
+
+ 打印更多调试信息
+
+ 无参数
+
+
-P PASSWORD
与-U参数配合使用,指定连接本地数据库的用户密码。
@@ -196,7 +207,7 @@ gs\_ctl参数可分为如下几类:
指定连接数据库的用户。此参数只能与notify、query和querybuild参数配合使用。
对于域用户,使用DOMAIN\username格式。
- 取值范围: openGauss 中存在的用户。
+ 取值范围:openGauss中存在的用户。
默认值:省略此参数则使用与当前操作系统用户同名的用户。
@@ -238,7 +249,7 @@ gs\_ctl参数可分为如下几类:
-o OPTIONS
- 声明要直接传递给由 openGauss 执行的gaussdb的命令行选项。
+ 声明要直接传递给由openGauss执行的gaussdb的命令行选项。
参数通常都用单或者双引号包围以保证它们作为一个整体传递。
gaussdb 支持的参数。
@@ -270,7 +281,7 @@ gs\_ctl参数可分为如下几类:
声明关闭模式。
mode的取值:
-smart:等待所有客户端中断连接后才关闭。如果服务器处于紧迫等待,一旦所有的客户断开连接,恢复和复制流将会中断。 fast:不等待客户端中断连接,所有活跃事务都被回滚并且客户端都被强制断开,然后服务器将被关闭。 immediate:强行关闭,在下次重新启动的时候将导致故障恢复。
+smart:单机模式下主机立即断开,同fast。 fast:不等待客户端中断连接,所有活跃事务都被回滚并且客户端都被强制断开,然后服务器将被关闭。 immediate:强行关闭,在下次重新启动的时候将导致故障恢复。
默认值:fast
@@ -293,7 +304,7 @@ gs\_ctl参数可分为如下几类:
声明双机主备实例正常时切换的切换模式。
mode的取值:
-smart:等待所有客户端中断连接后才切换。如果服务器处于紧迫等待,一旦所有的客户断开连接,恢复和复制流将会中断。 fast:不等待客户端中断连接,所有活跃事务都被回滚并且客户端都被强制断开,然后服务器将被切换。
+fast:不等待客户端中断连接,所有活跃事务都被回滚并且客户端都被强制断开,然后服务器将被切换。 smart:本版本暂不支持该模式 immediate:本版本暂不支持该模式
默认值:fast
@@ -311,14 +322,15 @@ gs\_ctl参数可分为如下几类:
- -b MODE
+ -b MODE
- 指定重建备机的模式。
+ 指定重建备机的模式。
mode的取值:
- ● full:通过全量镜像的方式重新同步 DN主机的数据目录。
- ● incremental:通过解析Xlog日志获 取主备DN差异的数据进行增量修复备DN。
+ ● full:通过全量镜像的方式重新同步 主机的数据目录。
+ ● incremental:通过解析Xlog日志获 取主备机差异的数据进行增量修复备机。
警告 ● 增量重建适用于主备双主等因日志 造成的不一致场景。
+ ● 增量重建不适用于一主一备并且没有开启最大高可用的场景,此种场景下需要使用全量重建或者开启最大高可用后再进行增量重建。
● 备机数据文件损坏、数据目录丢失 等故障通过增量重建的方式无法修复,此时可通过全量重建的方式重 新修复备机。
● auto(不指定):先增量,根据失败 后是否可以再增量选择继续增量或 者全量,三次增量失败后进行全 量。
默认值:auto
@@ -332,13 +344,13 @@ gs\_ctl参数可分为如下几类:
默认值:120秒
- -q
+ -q
- 重建结束后,是否自动重启。
+ 重建结束后,是否自动重启。
指定参数场合,不自动重启。
未指定场合,自动重启。
- 无参数
+ 无参数
@@ -365,3 +377,24 @@ gs\_ctl参数可分为如下几类:
+**表 8** query参数
+
+
+ 参数
+
+ 参数说明
+
+ 取值范围
+
+
+
+ -L
+
+ 查询lsn并展示最大长度。
+
+ 无参数
+
+
+
+
+
diff --git a/content/zh/docs/Toolreference/gs_dump.md b/content/zh/docs/Toolreference/gs_dump.md
index aff2c6b99868cf1bdf5bec22a7661c47e2101bf2..040c89e1dfa27df5acc35b3c978c1c49800c6045 100644
--- a/content/zh/docs/Toolreference/gs_dump.md
+++ b/content/zh/docs/Toolreference/gs_dump.md
@@ -1,4 +1,4 @@
-# gs\_dump
+# gs\_dump
## 背景信息
@@ -114,7 +114,7 @@ gs_dump [OPTION]... [DBNAME]
- -f, --file=FILENAME
- 将输出发送至指定文件或目录。如果省略该参数,则使用标准输出。如果输出格式为\(-F c/-F d/-F t\)时,必须指定-f参数。如果-f的参数值含有目录,要求目录对当前用户具有读写权限。
+ 将输出发送至指定文件或目录。如果省略该参数,则使用标准输出。如果输出格式为\(-F c/-F d/-F t\)时,必须指定-f参数。如果-f的参数值含有目录,要求当前用户对该目录具有读写权限,并且不能指定已有目录。
- -F, --format=c|d|t|p
@@ -171,7 +171,7 @@ gs_dump [OPTION]... [DBNAME]
在将创建数据库对象的指令输出到备份文件之前,先将清理(删除)数据库对象的指令输出到备份文件中。(如果目标数据库中没有任何对象,gs\_restore工具可能会输出一些提示性的错误信息)
- 该选项只对文本格式有意义。针对归档格式,可以在调用gs\_restore时指定选项。
+ 该选项只对文本格式有意义。针对归档格式,可以调用gs\_restore时指定选项。
- -C, --create
@@ -221,7 +221,7 @@ gs_dump [OPTION]... [DBNAME]
- -o, --oids
- 转储每个表的对象标识符(OIDs),作为表的一部分数据。该选项用于应用以某种方式(例如:外键约束方式)参照了OID列的情况。如果不是以上这种情况,请勿使用该选项。
+ 转储每个表的对象标识符(OIDs),作为表的一部分数据。该选项用于应用以某种方式参照了OID列的情况。如果不是以上这种情况,请勿使用该选项。
- -O, --no-owner
diff --git a/content/zh/docs/Toolreference/gs_dumpall.md b/content/zh/docs/Toolreference/gs_dumpall.md
index a4732644a2c7390bcf32acbcfa0db02c3b8c522a..2427190723a0a6b72534b2b6fb2454ad2897d846 100644
--- a/content/zh/docs/Toolreference/gs_dumpall.md
+++ b/content/zh/docs/Toolreference/gs_dumpall.md
@@ -1,4 +1,4 @@
-# gs\_dumpall
+# gs\_dumpall
## 背景信息
@@ -70,7 +70,7 @@ gs_dumpall [OPTION]...
- -o, --oids
- 转储每个表的对象标识符(OIDs),作为表的一部分数据。该选项用于应用以某种方式(例如:外键约束方式)参照了OID列的情况。如果不是以上这种情况,请勿使用该选项。
+ 转储每个表的对象标识符(OIDs),作为表的一部分数据。该选项用于应用以某种方式参照了OID列的情况。如果不是以上这种情况,请勿使用该选项。
- -O, --no-owner
diff --git a/content/zh/docs/Toolreference/gs_guc.md b/content/zh/docs/Toolreference/gs_guc.md
index 3598aa251feee064e905c917fc231814baeadbf1..483f83a16c3bce37e941489280ccd553ea337024 100644
--- a/content/zh/docs/Toolreference/gs_guc.md
+++ b/content/zh/docs/Toolreference/gs_guc.md
@@ -1,4 +1,4 @@
-# gs\_guc
+# gs\_guc
## 背景信息
@@ -253,7 +253,7 @@ gs\_guc工具由操作系统用户omm执行。
示例1:修改数据库允许的最大连接数为800。修改后需要重启数据库才能生效。
```
-gs_guc set -D /gaussdb/data/coordinator -c "max_connections = 800" -N plat1
+gs_guc set -D /gaussdb/data/dbnode -c "max_connections = 800" -N plat1
Total instances: 1. Failed instances: 0.
Success to perform gs_guc!
@@ -262,7 +262,7 @@ Success to perform gs_guc!
示例2:将已设置的数据库允许的最大连接数值修改为默认值。修改后需要重启数据库才能生效。
```
-gs_guc set -D /gaussdb/data/dbnode-c "max_connections" -N plat1
+gs_guc set -D /gaussdb/data/dbnode -c "max_connections" -N plat1
Total instances: 1. Failed instances: 0.
Success to perform gs_guc!
diff --git a/content/zh/docs/Toolreference/gs_initdb.md b/content/zh/docs/Toolreference/gs_initdb.md
new file mode 100644
index 0000000000000000000000000000000000000000..e32a2f1edebee69248c70cf6183a00421b48aa64
--- /dev/null
+++ b/content/zh/docs/Toolreference/gs_initdb.md
@@ -0,0 +1,9 @@
+# gs\_initdb
+
+- **[gs\_initdb简介](gs_initdb简介.md)**
+
+- **[使用指导](使用指导-0.md)**
+
+- **[命令参考](命令参考-1.md)**
+
+
diff --git "a/content/zh/docs/Toolreference/gs_initdb\347\256\200\344\273\213.md" "b/content/zh/docs/Toolreference/gs_initdb\347\256\200\344\273\213.md"
new file mode 100644
index 0000000000000000000000000000000000000000..2cbfb13971cdf3fbdfe12accdf48acaf3072acde
--- /dev/null
+++ "b/content/zh/docs/Toolreference/gs_initdb\347\256\200\344\273\213.md"
@@ -0,0 +1,19 @@
+# gs\_initdb简介
+
+## 背景信息
+
+gs\_initdb初始化数据库时,会创建数据库目录、生成系统表、创建默认数据库和模板数据库。
+
+## 系统表
+
+初始化数据库时会生成大量的系统表和视图,其中绝大部分都对任何数据库用户开放查看权限。
+
+> **说明:**
+>pg\_user\_status、pg\_auth\_history系统表权限只对初始化数据库用户和sysadmin用户开放。
+
+## 生成的数据库
+
+- template1:是一个模板数据库,当以后再创建一个新的数据库时,template1数据库里的所有内容都会拷贝到新数据库中。通过gs\_initdb的参数可以决定template1数据库的设置。
+- template0:是openGauss提供的最初始的备份数据库,当需要时可用template0作为模板生成“干净”的数据库。
+- postgres:是一个提供给用户、工具和第三方应用的缺省数据库。
+
diff --git a/content/zh/docs/Toolreference/gs_install.md b/content/zh/docs/Toolreference/gs_install.md
index e0cb633420415f95c1e742f1a3bdf5695b23ac4c..7376ce2c32f1b1f8f670e4959ab7b4f46f86b5e4 100644
--- a/content/zh/docs/Toolreference/gs_install.md
+++ b/content/zh/docs/Toolreference/gs_install.md
@@ -1,4 +1,4 @@
-# gs\_install
+# gs\_install
## 背景信息
@@ -21,7 +21,6 @@ openGauss安装部署,要求用户指定配置文件,配置文件中会指
```
> **说明:**
- >执行gs\_install脚本时,如果输入参数--autostart=no, 则工具脚本在配置(config)步骤完成后退出,不会自动启动openGauss,需要用户通过执行gs\_om -t start命令手动启动。
- 显示帮助信息
@@ -56,7 +55,7 @@ openGauss安装部署,要求用户指定配置文件,配置文件中会指
数据实例参数指定。
- 取值范围请参见[zh-cn\_topic\_0242223705.md](zh-cn_topic_0242223705.md)的参数说明,其中对-A、-D、-U、-C、-X参数的设置不生效。
+ 取值范围请参见[gs\_initdb](gs_initdb.md)的参数说明,其中对-A、-D、-U、-C、-X参数的设置不生效。
- --dn-guc=PARAM
@@ -76,13 +75,6 @@ openGauss安装部署,要求用户指定配置文件,配置文件中会指
指定告警上报组件的绝对路径。
-- --autostart=yes|no
-
- 用来指定openGauss配置完成后是否启动。
-
- - yes:启动openGauss。
- - no:不启动openGauss。
-
- -?, --help
显示帮助信息。
@@ -99,45 +91,36 @@ openGauss安装部署,要求用户指定配置文件,配置文件中会指
```
gs_install -X /opt/software/openGauss/clusterconfig.xml
Parsing the configuration file.
+Check preinstall on every node.
+Successfully checked preinstall on every node.
Creating the backup directory.
Successfully created the backup directory.
+begin deploy..
Installing the cluster.
+begin prepare Install Cluster..
Checking the installation environment on all nodes.
+begin install Cluster..
Installing applications on all nodes.
+Successfully installed APP.
+begin init Instance..
+encrypt cipher and rand files for database.
+Please enter password for database:
+Please repeat for database:
+begin to create CA cert files
+The sslcert will be generated in /opt/gaussdb/cluster/app/share/sslcert/om
Cluster installation is completed.
Configuring.
Deleting instances from all nodes.
+Successfully deleted instances from all nodes.
Checking node configuration on all nodes.
Initializing instances on all nodes.
Updating instance configuration on all nodes.
+Check consistence of memCheck and coresCheck on DN nodes.
+Successful check consistence of memCheck and coresCheck on all nodes.
Configuring pg_hba on all nodes.
Configuration is completed.
-Starting.
-=====================================================================Starting cluster.
-======================================================================
-Successfully started primary instance. Wait for standby instance.
-======================================================================
-.
Successfully started cluster.
-======================================================================
-cluster_state : Normal
-redistributing : No
-node_count : 3
-Coordinator State
- normal : 2
- abnormal : 0
-GTM State
- primary : 1
- standby : 1
- abnormal : 0
- down : 0
-Datanode State
- primary : 3
- standby : 3
- secondary : 3
- building : 0
- abnormal : 0
- down : 0
+Successfully installed application.
```
## 相关命令
diff --git a/content/zh/docs/Toolreference/gs_om.md b/content/zh/docs/Toolreference/gs_om.md
index 020ef9138faedf9a4326d5200a2584fcd6b56687..57303e6e89cf82310d1e025ca7374a65adb78e7e 100644
--- a/content/zh/docs/Toolreference/gs_om.md
+++ b/content/zh/docs/Toolreference/gs_om.md
@@ -1,4 +1,4 @@
-# gs\_om
+# gs\_om
## 背景信息
@@ -34,7 +34,7 @@ openGauss提供了gs\_om工具帮助对openGauss进行维护,包括启动openG
gs_om -t generateconf -X XMLFILE [--distribute] [-l LOGFILE]
```
-- 生成动态配置文件,备机切换成主机后,需要执行此操作
+- 生成动态配置文件,备机failover或switchover成主机后,需要执行此操作
```
gs_om -t refreshconf
@@ -59,6 +59,12 @@ openGauss提供了gs\_om工具帮助对openGauss进行维护,包括启动openG
gs_om -t cert --rollback
```
+- 开启、关闭集群内kerberos认证
+
+ ```
+ gs_om -t kerberos -m [install|uninstall] -U USER [-l LOGFILE] [--krb-client|--krb-server]
+ ```
+
- 显示帮助信息
```
@@ -201,6 +207,29 @@ gs\_om参数可以分为如下几类:
将静态配置文件发布到openGauss实例的安装目录。
+- 开启、关闭集群内kerberos认证:
+ - -U
+
+ 指定数据库集群部署用户。
+
+ 取值范围:数据库集群部署用户
+
+ - -m
+
+ 指定所要进行的操作。
+
+ 取值范围:
+
+ install:开启集群内kerberos认证。
+
+ uninstall:关闭集群内kerberos认证。
+
+ - --krb-server安装kerberos服务端认证。
+ - --krb-client安装kerberos客户端认证。
+
+ 注:需要先安装--krb-server,卸载时同步卸载不需要该参数
+
+
- SSL证书替换:
- --cert-file
diff --git a/content/zh/docs/Toolreference/gs_postuninstall.md b/content/zh/docs/Toolreference/gs_postuninstall.md
index 4b7d073712055529a00cacd6112f397e56933961..1501a071592ee39e3b9fc17ba14963cf7c5e5abf 100644
--- a/content/zh/docs/Toolreference/gs_postuninstall.md
+++ b/content/zh/docs/Toolreference/gs_postuninstall.md
@@ -1,4 +1,4 @@
-# gs\_postuninstall
+# gs\_postuninstall
## 背景信息
diff --git a/content/zh/docs/Toolreference/gs_preinstall.md b/content/zh/docs/Toolreference/gs_preinstall.md
index 96799aecdf815c841f963df3b0d99144b61e9e12..ac10b77757efae02db9581ca824dca6c498d1cc9 100644
--- a/content/zh/docs/Toolreference/gs_preinstall.md
+++ b/content/zh/docs/Toolreference/gs_preinstall.md
@@ -1,4 +1,4 @@
-# gs\_preinstall
+# gs\_preinstall
## 背景信息
@@ -68,7 +68,8 @@ openGauss提供了gs\_preinstall工具来帮助完成openGauss的环境配置,
1. 安装包和openGauss配置文件已提前上传到所有主机;
2. openGauss安装用户已提前创建好并建立好互信关系;
- 3. 用户需要自己保证各台主机上所执行命令的一致性。
+ 3. 用户需要自己保证各台主机上所执行命令的一致性;
+ 4. 手动将所有节点的主机名和ip映射关系写入各个主机的/etc/hosts,并在每个映射关系后边加入注释内容:\#Gauss OM IP Hosts Mapping。
- --skip-os-set
diff --git a/content/zh/docs/Toolreference/gs_restore.md b/content/zh/docs/Toolreference/gs_restore.md
index 86df98a37b53b62ec82d60e795430d5809482d0b..3de257f19be573132b1d81b9c373bdf35c8e79f5 100644
--- a/content/zh/docs/Toolreference/gs_restore.md
+++ b/content/zh/docs/Toolreference/gs_restore.md
@@ -1,4 +1,4 @@
-# gs\_restore
+# gs\_restore
## 背景信息
@@ -27,6 +27,7 @@ gs_restore [OPTION]... FILE
>- FILE没有短选项或长选项。用来指定归档文件所处的位置。
>- 作为前提条件,需输入dbname或-l选项。不允许用户同时输入dbname和-l选项。
>- gs\_restore默认是以追加的方式进行数据导入。为避免多次导入造成数据异常,在进行导入时,建议使用"-c" 参数,在重新创建数据库对象前,清理(删除)已存在于将要还原的数据库中的数据库对象。
+>- 日志打印无开关,若需隐藏日志,请将日志重定向到日志文件。
## 参数说明
@@ -51,7 +52,7 @@ gs_restore [OPTION]... FILE
取值范围:
- - c/custom:该归档形式为4.21-gs\_dump的自定义格式。
+ - c/custom:该归档形式为[gs\_dump](gs_dump.md)的自定义格式。
- d/directory:该归档形式是一个目录归档形式。
- t/tar:该归档形式是一个tar归档形式。
@@ -238,6 +239,7 @@ gs_restore [OPTION]... FILE
> **说明:**
>如果转储被加密,则必须在gs\_restore命令中输入--with-key 选项。如果未输入,用户会收到错误信息。
>应该输入转储时所输入的相同的key。
+ >转储格式为c或t时,转储内容已被处理,因此转储格式为c或t是输入不受加密限制。
> **须知:**
@@ -294,7 +296,7 @@ gs_restore [OPTION]... FILE
特例:执行gsql程序,使用如下选项导入由gs\_dump/gs\_dumpall生成导出文件夹(纯文本格式)的MPPDB\_backup.sql文件到postgres数据库。
```
-gsql -d postgres -p 8000 -W Bigdata@123 -f /home/omm/test/MPPDB_backup.sql
+gsql -d postgres -p 5432 -W Bigdata@123 -f /home/omm/test/MPPDB_backup.sql
SET
SET
SET
@@ -322,7 +324,7 @@ gs\_restore用来导入由gs\_dump生成的导出文件。
示例1:执行gs\_restore,将导出的MPPDB\_backup.dmp文件(自定义归档格式)导入到postgres数据库。
```
-gs_restore -W Bigdata@123 backup/MPPDB_backup.dmp -p 8000 -d postgres
+gs_restore -W Bigdata@123 backup/MPPDB_backup.dmp -p 5432 -d postgres
gs_restore: restore operation successful
gs_restore: total time: 13053 ms
```
@@ -330,7 +332,7 @@ gs_restore: total time: 13053 ms
示例2:执行gs\_restore,将导出的MPPDB\_backup.tar文件(tar格式)导入到postgres数据库。
```
-gs_restore backup/MPPDB_backup.tar -p 8000 -d postgres
+gs_restore backup/MPPDB_backup.tar -p 5432 -d postgres
gs_restore[2017-07-21 19:16:26]: restore operation successful
gs_restore[2017-07-21 19:16:26]: total time: 21203 ms
```
@@ -338,7 +340,7 @@ gs_restore[2017-07-21 19:16:26]: total time: 21203 ms
示例3:执行gs\_restore,将导出的MPPDB\_backup文件(目录格式)导入到postgres数据库。
```
-gs_restore backup/MPPDB_backup -p 8000 -d postgres
+gs_restore backup/MPPDB_backup -p 5432 -d postgres
gs_restore[2017-07-21 19:16:26]: restore operation successful
gs_restore[2017-07-21 19:16:26]: total time: 21003 ms
```
@@ -346,7 +348,7 @@ gs_restore[2017-07-21 19:16:26]: total time: 21003 ms
示例4:执行gs\_restore,使用自定义归档格式的MPPDB\_backup.dmp文件来进行如下导入操作。 导入PUBLIC模式下所有对象的定义和数据。在导入时会先删除已经存在的对象,如果原对象存在跨模式的依赖则需手工强制干预。
```
-gs_restore backup/MPPDB_backup.dmp -p 8000 -d postgres -e -c -n PUBLIC
+gs_restore backup/MPPDB_backup.dmp -p 5432 -d postgres -e -c -n PUBLIC
gs_restore: [archiver (db)] Error while PROCESSING TOC:
gs_restore: [archiver (db)] Error from TOC entry 313; 1259 337399 TABLE table1 gaussdba
gs_restore: [archiver (db)] could not execute query: ERROR: cannot drop table table1 because other objects depend on it
@@ -358,7 +360,7 @@ HINT: Use DROP ... CASCADE to drop the dependent objects too.
手工删除依赖,导入完成后再重新创建。
```
-gs_restore backup/MPPDB_backup.dmp -p 8000 -d postgres -e -c -n PUBLIC
+gs_restore backup/MPPDB_backup.dmp -p 5432 -d postgres -e -c -n PUBLIC
gs_restore[2017-07-21 19:16:26]: restore operation successful
gs_restore[2017-07-21 19:16:26]: total time: 2203 ms
```
@@ -366,7 +368,7 @@ gs_restore[2017-07-21 19:16:26]: total time: 2203 ms
示例5:执行gs\_restore,使用自定义归档格式的MPPDB\_backup.dmp文件来进行如下导入操作。只导入PUBLIC模式下表table1的定义。
```
-gs_restore backup/MPPDB_backup.dmp -p 8000 -d postgres -e -c -s -n PUBLIC -t table1
+gs_restore backup/MPPDB_backup.dmp -p 5432 -d postgres -e -c -s -n PUBLIC -t table1
gs_restore[2017-07-21 19:16:26]: restore operation successful
gs_restore[2017-07-21 19:16:26]: total time: 21000 ms
```
@@ -374,7 +376,7 @@ gs_restore[2017-07-21 19:16:26]: total time: 21000 ms
示例6:执行gs\_restore,使用自定义归档格式的MPPDB\_backup.dmp文件来进行如下导入操作。只导入PUBLIC模式下表table1的数据。
```
-gs_restore backup/MPPDB_backup.dmp -p 8000 -d postgres -e -a -n PUBLIC -t table1
+gs_restore backup/MPPDB_backup.dmp -p 5432 -d postgres -e -a -n PUBLIC -t table1
gs_restore[2017-07-21 19:16:26]: restore operation successful
gs_restore[2017-07-21 19:16:26]: total time: 20203 ms
```
diff --git a/content/zh/docs/Toolreference/gs_ssh.md b/content/zh/docs/Toolreference/gs_ssh.md
index f0594f32c4bb46440aa02fbf6c28510a94bb3cd4..1f000b26909e59d065e1ffb381d50fe0cd7e6516 100644
--- a/content/zh/docs/Toolreference/gs_ssh.md
+++ b/content/zh/docs/Toolreference/gs_ssh.md
@@ -1,4 +1,4 @@
-# gs\_ssh
+# gs\_ssh
## 背景信息
diff --git a/content/zh/docs/Toolreference/gs_sshexkey.md b/content/zh/docs/Toolreference/gs_sshexkey.md
index c59bf13358cfbc1388ef15a07efb4b4fc7d820ea..a2fabcc2a54e2d0a01fc4732e2bd786eb7bc00bf 100644
--- a/content/zh/docs/Toolreference/gs_sshexkey.md
+++ b/content/zh/docs/Toolreference/gs_sshexkey.md
@@ -1,4 +1,4 @@
-# gs\_sshexkey
+# gs\_sshexkey
## 背景信息
@@ -44,7 +44,7 @@ openGauss在安装过程中,需要在openGauss中的节点间执行命令,
- 建立互信
```
- gs_sshexkey -f HOSTFILE [-W PASSWORD] [...] [--skip-hostname-set] [-l LOGFILE]
+ gs_sshexkey -f HOSTFILE [...] [--skip-hostname-set] [-l LOGFILE]
```
- 显示帮助信息
@@ -69,13 +69,6 @@ openGauss在安装过程中,需要在openGauss中的节点间执行命令,
> **说明:**
>确保hostfile文件中只配置正确的主机IP,不包含其它信息。
-- -W, --password=PASSWORD
-
- 待建互信用户的密码。如果不指定该参数则在建立互信过程中需要交互式输入用户密码。如果各个主机的用户密码不一样时则使用多个-W参数,密码顺序和IP地址需要一一对应,交互式情况下则依次输入对应主机的密码。
-
- > **说明:**
- >密码不能包含";","'","$"3个特殊字符。
-
- -l
指定日志文件的保存路径。
@@ -97,59 +90,7 @@ openGauss在安装过程中,需要在openGauss中的节点间执行命令,
## 示例
-如下是为root用户建立互信的示例。
-
-- 用户密码相同情况下,非交互式模式使用以下命令建立互信。
-
- Gauss@123为root用户的密码。
-
- ```
- ./gs_sshexkey -f /opt/software/hostfile -W Gauss@123
- Checking network information.
- All nodes in the network are Normal.
- Successfully checked network information.
- Creating SSH trust.
- Creating the local key file.
- Appending local ID to authorized_keys.
- Successfully appended local ID to authorized_keys.
- Updating the known_hosts file.
- Successfully updated the known_hosts file.
- Appending authorized_key on the remote node.
- Successfully appended authorized_key on all remote node.
- Checking common authentication file content.
- Successfully checked common authentication content.
- Distributing SSH trust file to all node.
- Successfully distributed SSH trust file to all node.
- Verifying SSH trust on all hosts.
- Successfully verified SSH trust on all hosts.
- Successfully created SSH trust.
- ```
-
-- 用户密码不同情况下,非交互式模式使用以下命令建立互信。
-
- Gauss@234为主机列表中第一台主机的root密码,Gauss@345为主机列表中第二台主机的root密码。
-
- ```
- ./gs_sshexkey -f /opt/software/hostfile -W Gauss@123 -W Gauss@234 -W Gauss@345
- Checking network information.
- All nodes in the network are Normal.
- Successfully checked network information.
- Creating SSH trust.
- Creating the local key file.
- Appending local ID to authorized_keys.
- Successfully appended local ID to authorized_keys.
- Updating the known_hosts file.
- Successfully updated the known_hosts file.
- Appending authorized_key on the remote node.
- Successfully appended authorized_key on all remote node.
- Checking common authentication file content.
- Successfully checked common authentication content.
- Distributing SSH trust file to all node.
- Successfully distributed SSH trust file to all node.
- Verifying SSH trust on all hosts.
- Successfully verified SSH trust on all hosts.
- Successfully created SSH trust.
- ```
+如下是为root用户建立互信的示例。仅支持交互式输入密码。
- 用户密码相同情况下,交互式模式使用以下命令建立互信。
diff --git a/content/zh/docs/Toolreference/gs_uninstall.md b/content/zh/docs/Toolreference/gs_uninstall.md
index 4ade0cc9718061f0a081cca628608db3f42f1c5d..4bdfbf8d2dc9ab267d939b84582f21dd299762e9 100644
--- a/content/zh/docs/Toolreference/gs_uninstall.md
+++ b/content/zh/docs/Toolreference/gs_uninstall.md
@@ -1,4 +1,4 @@
-# gs\_uninstall
+# gs\_uninstall
## 背景信息
diff --git a/content/zh/docs/Toolreference/gs_upgradectl.md b/content/zh/docs/Toolreference/gs_upgradectl.md
index 83f9d9803e71b9ee6773b32b6980de7ec29da683..ce1353954c6c1e79fd6e45a5ffe6e830d28bfb7a 100644
--- a/content/zh/docs/Toolreference/gs_upgradectl.md
+++ b/content/zh/docs/Toolreference/gs_upgradectl.md
@@ -1,4 +1,4 @@
-# gs\_upgradectl
+# gs\_upgradectl
## 背景信息
@@ -6,7 +6,7 @@
升级方式为就地小版本升级。
-- 就地小版本升级:就地升级需要停止业务进行,会一次性升级openGauss中所有节点。
+就地小版本升级:就地升级需要停止业务进行,会一次性升级openGauss中所有节点。
## 注意事项
@@ -46,7 +46,7 @@
- 自动升级openGauss
```
- gs_upgradectl -t auto-upgrade -X XMLFILE [-M MOUNTDIR] [-l LOGFILE] [--product=PRODUCT_FEATURE] {-g NODENUMBER | -h HOSTNAME | --continue | --inplace}
+ gs_upgradectl -t auto-upgrade -X XMLFILE [-l LOGFILE]
```
- 自动回滚升级
diff --git a/content/zh/docs/Toolreference/gsql.md b/content/zh/docs/Toolreference/gsql.md
index 4b39d5e6db744c21eaada38be49a4bbbc82ecd21..913eb312dfbf626b8fecb3214e0d964c2b3958f1 100644
--- a/content/zh/docs/Toolreference/gsql.md
+++ b/content/zh/docs/Toolreference/gsql.md
@@ -1,4 +1,4 @@
-# gsql
+# gsql
gsql是openGauss提供在命令行下运行的数据库连接工具,可以通过此工具连接服务器并对其进行操作和维护,除了具备操作数据库的基本功能,gsql还提供了若干[高级特性](gsql概述.md#zh-cn_topic_0237152142_zh-cn_topic_0059778819_s999ec23443d04c7ab199c53189744b58),便于用户使用。
diff --git "a/content/zh/docs/Toolreference/gsql\346\246\202\350\277\260.md" "b/content/zh/docs/Toolreference/gsql\346\246\202\350\277\260.md"
index 1f98d82ff99082c80a346a0059c5a83a07465f64..8855071f31cff6225dc054017b314235decb83cd 100644
--- "a/content/zh/docs/Toolreference/gsql\346\246\202\350\277\260.md"
+++ "b/content/zh/docs/Toolreference/gsql\346\246\202\350\277\260.md"
@@ -1,12 +1,12 @@
-# gsql概述
+# gsql概述
## 基本功能
-- **连接数据库:**默认只支持从服务器本机连接,如果需要连接到远端的数据库,必须在服务端进行配置。 详细操作请参见《开发者指南》中“数据库使用 \> 连接数据库 \> 使用gsql连接 \> 远程连接数据库”章节。
+- **连接数据库:**详细操作请参见《开发者指南》中“数据库使用 \> 连接数据库 \> 使用gsql连接 \> 远程连接数据库”章节。
> **说明:**
>gsql创建连接时,会有5分钟超时时间。如果在这个时间内,数据库未正确地接受连接并对身份进行认证,gsql将超时退出。
- >针对此问题,可以参考[常见问题处理](常见问题处理.md#ZH-CN_TOPIC_0242223664)。
+ >针对此问题,可以参考[常见问题处理](常见问题处理.md)。
- **执行SQL语句:**支持交互式地键入并执行SQL语句,也可以执行一个文件中指定的SQL语句。
- **执行元命令:**元命令可以帮助管理员查看数据库对象的信息、查询缓存区信息、格式化SQL输出结果,以及连接到新的数据库等。元命令的详细说明请参见[元命令参考](元命令参考.md)。
@@ -163,7 +163,7 @@ gsql的高级特性如[表1](#zh-cn_topic_0237152142_zh-cn_topic_0059778819_t88d
\set IGNOREEOF variable
- 若设置此变量为数值,假设为10,则在gsql中输入的前9次EOF字符(通常是Ctrl+C组合键)都会被忽略,在第10次按Ctrl+C才能退出gsql程序。 若设置此变量为非数值,则缺省为10。 若删除此变量,则向交互的gsql会话发送一个EOF终止应用。
+ 若设置此变量为数值,假设为10,则在gsql中输入的前9次EOF字符(通常是Ctrl+D组合键)都会被忽略,在第10次按Ctrl+D才能退出gsql程序。 若设置此变量为非数值,则缺省为10。 若删除此变量,则向交互的gsql会话发送一个EOF终止应用。
LASTOID
diff --git a/content/zh/docs/Toolreference/gstrace.md b/content/zh/docs/Toolreference/gstrace.md
index f9352e3222ec4e8ba6f706899a1c69343e57e71a..2d883a6603b14abf0ea8b9b7eb3de58fe006ac5d 100644
--- a/content/zh/docs/Toolreference/gstrace.md
+++ b/content/zh/docs/Toolreference/gstrace.md
@@ -1,4 +1,4 @@
-# gstrace
+# gstrace
## 功能介绍
@@ -17,7 +17,7 @@ gstrace是openGauss提供的用来跟踪内核代码执行路径,记录内核
## 语法
```
-gstrace [start|stop|config|dump|detailcodepath|analyze] [-p ] [-m ] [-s ] [-f ] [-o ] [-t ]
+gstrace [start|stop|config|dump|detailcodepath|analyze] [-p ][-s ] [-f ] [-o ] [-t ]
```
## 参数说明
@@ -86,20 +86,9 @@ gstrace [start|stop|config|dump|detailcodepath|analyze] [-p ] [-m ] [
指定分片分析的时间跨度(秒),可选。将生成单独的{OUTPUT_FILE}.step文件。
- -m MASK
-
- 指定哪些模块、函数需要追踪,如果参数为空,则追踪添加trace接口的所有模块的所有函数。
- 格式::[comp…][ALL].[func…][ALL]
- 描述:
-comp 是模块列表,使用‘,’分隔,例如:executer, opengauss 。也可以使用序号,例如:executer,2 func 是function列表,使用‘,’ 分隔。 例如:sql_execute_ddl, sql_execute_dcl。也可以使用序号指代模块中第几个function,例如:2 设置成ALL表示所有模块或所有function被trace。
- 示例:
-executer, opengauss .ALL :所有定义定义在executer和 opengauss 模块下的function被trace。 executer, opengauss .sql_execute_ddl :定义在executer 下的Function sql_execute_ddl被trace. opengauss 模块被忽略,因为下面没有该function 。 executer, opengauss .1 :定义在模块executer和 opengauss 下的第一个function被trace。
- ALL.1,2 :定义在所有模块下的第一,二个function被trace。
-
-
-s BUFFER_SIZE
- 指定用于trace功能的共享内存大小,默认为1G,该值需要为2的倍数,如果不是则会补齐为2的倍数。
+ 指定用于trace功能的共享内存大小,默认为1G,该值需要为2的N次方,如果不是则会补齐为2的倍数。
@@ -116,7 +105,7 @@ gstrace [start|stop|config|dump|detailcodepath|analyze] [-p
] [-m ] [
2. 停止trace
```
- gstarce stop -p 207787
+ gstrace stop -p 207787
```
3. 查看trace配置
diff --git a/content/zh/docs/Toolreference/kadmin-local.md b/content/zh/docs/Toolreference/kadmin-local.md
index 75232cad0933ae522656c4937c79ce181f36abee..20382a47f684659095d083e05d4b8adff39e4720 100644
--- a/content/zh/docs/Toolreference/kadmin-local.md
+++ b/content/zh/docs/Toolreference/kadmin-local.md
@@ -1,4 +1,4 @@
-# kadmin.local
+# kadmin.local
## 功能介绍
diff --git a/content/zh/docs/Toolreference/kdb5_util.md b/content/zh/docs/Toolreference/kdb5_util.md
index b239724f64d97f104380d2b5f5369fdacab941f6..285fe04c8b75e40b6613f37c3ceaed5fa68adf98 100644
--- a/content/zh/docs/Toolreference/kdb5_util.md
+++ b/content/zh/docs/Toolreference/kdb5_util.md
@@ -1,4 +1,4 @@
-# kdb5\_util
+# kdb5\_util
## 功能介绍
diff --git a/content/zh/docs/Toolreference/kdestroy.md b/content/zh/docs/Toolreference/kdestroy.md
index c231117353d4c97bd9d1bd38918dbccd44f5ca52..59412789607e9d9f6b0ecbbe4e1d741faaf20c69 100644
--- a/content/zh/docs/Toolreference/kdestroy.md
+++ b/content/zh/docs/Toolreference/kdestroy.md
@@ -1,4 +1,4 @@
-# kdestroy
+# kdestroy
## 功能介绍
diff --git a/content/zh/docs/Toolreference/kinit.md b/content/zh/docs/Toolreference/kinit.md
index 3bc3f4da3a7411cae524affb04981444d9bf4496..5b5e30ff94a11982ae8224b58a36e19aecf84784 100644
--- a/content/zh/docs/Toolreference/kinit.md
+++ b/content/zh/docs/Toolreference/kinit.md
@@ -1,4 +1,4 @@
-# kinit
+# kinit
## 功能介绍
diff --git a/content/zh/docs/Toolreference/klist.md b/content/zh/docs/Toolreference/klist.md
index 8bf8b3a843ed65bcb4ca040161184b35a5f6ecd3..be859181d379d71a2eddd3552412b648430245ef 100644
--- a/content/zh/docs/Toolreference/klist.md
+++ b/content/zh/docs/Toolreference/klist.md
@@ -1,4 +1,4 @@
-# klist
+# klist
## 功能介绍
diff --git a/content/zh/docs/Toolreference/krb5kdc.md b/content/zh/docs/Toolreference/krb5kdc.md
index 1779a91547667dd745287d51fea717e022e46aac..299371017bd8a33efc20fd372b7f88edcd6f6cef 100644
--- a/content/zh/docs/Toolreference/krb5kdc.md
+++ b/content/zh/docs/Toolreference/krb5kdc.md
@@ -1,4 +1,4 @@
-# krb5kdc
+# krb5kdc
## 功能介绍
diff --git a/content/zh/docs/Toolreference/pg_config.md b/content/zh/docs/Toolreference/pg_config.md
index 716a9c07ad0d3df7a645df8ea5a38e770ffd1f67..6bbabfd543ec478129a93ce0776b09fad4ad0d98 100644
--- a/content/zh/docs/Toolreference/pg_config.md
+++ b/content/zh/docs/Toolreference/pg_config.md
@@ -1,8 +1,8 @@
-# pg\_config
+# pg\_config
## 功能介绍
-通过pg\_config工具打印的当前所安装数据库的配置参数信息,可用于找到与数据库相连接的软件包所对应的头文件和库。
+通过pg\_config工具打印的当前所安装数据库的配置参数信息,可用于找到与数据库相关的软件包所对应的头文件和库。
## 语法
diff --git a/content/zh/docs/Toolreference/pg_controldata.md b/content/zh/docs/Toolreference/pg_controldata.md
index 11b58facc803f42b6f90c59d3c3f7e53bd94b640..e96514940fcbab21bc58311fbf29baab62a9b174 100644
--- a/content/zh/docs/Toolreference/pg_controldata.md
+++ b/content/zh/docs/Toolreference/pg_controldata.md
@@ -1,4 +1,4 @@
-# pg\_controldata
+# pg\_controldata
## 功能介绍
diff --git a/content/zh/docs/Toolreference/pg_resetxlog.md b/content/zh/docs/Toolreference/pg_resetxlog.md
index 757fad04226695c1aadf7e99b6eb9822087d5b45..c54c37f5395c58b4ea6217527c045a5704d8e3dc 100644
--- a/content/zh/docs/Toolreference/pg_resetxlog.md
+++ b/content/zh/docs/Toolreference/pg_resetxlog.md
@@ -1,4 +1,4 @@
-# pg\_resetxlog
+# pg\_resetxlog
## 功能介绍
@@ -24,7 +24,7 @@ OPTION取值如下所示:
- -e XIDEPOCH
- 设置下一个事务id的时期。
+ 设置下一个事务id。
- -f
@@ -32,7 +32,7 @@ OPTION取值如下所示:
- -l xlogfile
- 强制指定新事物log对应在xlog文件中的最小点。
+ 为新的事务日志指定最小的WAL起始位置。
- -m XID
diff --git "a/content/zh/docs/Toolreference/\344\275\277\347\224\250\346\214\207\345\257\274-0.md" "b/content/zh/docs/Toolreference/\344\275\277\347\224\250\346\214\207\345\257\274-0.md"
index 9b56e0552d3e99b406ed56599f30e8919f556ee1..80a703ab05ee866a7a613f93f6ec3d78e4687dfd 100644
--- "a/content/zh/docs/Toolreference/\344\275\277\347\224\250\346\214\207\345\257\274-0.md"
+++ "b/content/zh/docs/Toolreference/\344\275\277\347\224\250\346\214\207\345\257\274-0.md"
@@ -1,27 +1,56 @@
-# 使用指导
+# 使用指导
-## 前提条件
+## 背景信息
-需要首先保证数据库状态正常、客户端能够正常连接、且要求数据库内倒入数据,以便调优程序可以执行benchmark测试调优效果;用户需保证当前Python运行环境安装好相应依赖,且能够正常启动调优程序。
+在安装时,推荐使用-D参数调用gs\_initdb初始化数据库。如果由于故障恢复等原因,需要重新初始化一个数据库,可以通过执行gs\_initdb来完成。
-## 背景信息
+- 尽管gs\_initdb会尝试创建相应的数据目录,但可能没有权限执行此操作,因为要创建目录的父目录通常被root所拥有。如果要创建数据目录,首先用root用户创建一个空数据目录,然后用chown把该目录的所有权交给数据库用户。
+- gs\_initdb决定template1数据库的设置,而该设置将会成为其他数据库的默认设置。
+- gs\_initdb初始化数据库的缺省区域和字符集编码。字符集编码、字符编码排序(LC\_COLLATE)和字符集类(LC\_CTYPE,如大写、小写数字等)可以在创建数据库时独立设置。
-调优程序是一个独立于数据库内核之外的工具,需要提供数据库及其所在实例的用户名和登录密码信息,以便控制数据库执行benchmark进行性能测试;在启动调优程序前,要求用户测试环境交互正常,能够正常跑通benchmark测试脚本、能够正常连接数据库。
+## 操作步骤
-## 使用步骤
+1. 以操作系统用户omm登录数据库主节点。
+2. 规划数据库目录。
+ 1. 切换到root用户。
-1. 用户进行数据库安全配置,并验证调优程序所在客户机能够正常访问到数据库实例所在的服务器;
-2. 用户向数据库实例内倒入数据(如TPC-C, TPC-H),并根据调优程序所给出的示例代码,编写符合自己实际业务的benchmark(benchmark实例脚本路径在benchmark目录中).并手动验证benchmark可以正常跑通并可获得稳定的测试结果,记录下此时的测试结果,以方便后续对比调优效果;
-3. 用户在确保数据库运行正常并在无其他人使用时,备份现有参数,并修改调优参数列表配置文件(文件路径在knobs目录中,默认配置文件是knobs\_htap.py),设定需要调整的参数及其范围;
-4. 用户输入数据库连接信息,选择当前调优模式为“训练”或“调优”,启动参数调优程序;例如在X-Tuner根目录中输入
+ ```
+ su - root
+ ```
- python main.py -m train --db-name postgres\\
+ 2. 根据提示输入用户名和密码。
- --db-user dba --port 1234 \\
+3. 进入“/opt/gaussdb”目录,并创建“data1”目录。
- --host 192.168.1.2 --host-user opengauss\\
+ ```
+ cd /opt/gaussdb
+ mkdir data1
+ ```
- --benchmark tpcc --model-path mymodel
+ 1. 将data1目录的所有权分配给数据库用户omm,dbgrp是omm所属的用户组。
+
+ ```
+ chown omm:dbgrp data1
+ ```
+
+ 2. 退出root用户。
+
+ ```
+ exit
+ ```
+
+4. 执行gs\_initdb命令初始化数据库。
+
+ ```
+ gs_initdb /opt/gaussdb/data1 -w "Gauss@123"
+ ```
+
+ gs\_initdb的语法:
+
+ ```
+ gs_initdb [OPTION]... [DATADIR]
+ ```
+
+ OPTION参数请参见[命令参考](命令参考-1.md)。
-5. 若为“训练”模式,则输出训练后的模型,程序退出;若为“调优”模式,则输出调优后的最优参数列表,程序退出。用户通过对比调优结果,自行判断是否应该设置为该参数,并手动设置为推荐参数或重置为调优前参数。
diff --git "a/content/zh/docs/Toolreference/\344\275\277\347\224\250\346\214\207\345\257\274.md" "b/content/zh/docs/Toolreference/\344\275\277\347\224\250\346\214\207\345\257\274.md"
index 58b58b02a96224cac93a5beba628a76e4a25fdca..69ee2da12101982b97f0f57aa8881832efdc611a 100644
--- "a/content/zh/docs/Toolreference/\344\275\277\347\224\250\346\214\207\345\257\274.md"
+++ "b/content/zh/docs/Toolreference/\344\275\277\347\224\250\346\214\207\345\257\274.md"
@@ -1,4 +1,4 @@
-# 使用指导
+# 使用指导
## 前提条件
@@ -6,7 +6,7 @@
## 背景信息
-使用gsql命令可以连接本机的数据库服务,也可以连接远程数据库服务。连接远程数据库服务时,需要在服务器上设置允许远程连接,详细操作请参见《开发者指南》中“数据库使用 \> 连接数据库 \> 使用gsql连接 \> 远程连接数据库”章节。
+使用gsql命令可以连接远程数据库服务。连接远程数据库服务时,需要在服务器上设置允许远程连接,详细操作请参见《开发者指南》中“数据库使用 \> 连接数据库 \> 使用gsql连接 \> 远程连接数据库”章节。
## 操作步骤
@@ -17,31 +17,31 @@
> **说明:**
>若未指定数据库名称,则使用初始化时默认生成的数据库名称;若未指定数据库用户名,则默认使用当前操作系统用户作为数据库用户名;当某个值没有前面的参数(-d、-U等)时,若连接的命令中没有指定数据库名(-d)则该参数会被解释成数据库名;如果已经指定数据库名(-d)而没有指定数据库用户名(-U)时,该参数则会被解释成数据库用户名。
- 示例1,使用omm用户连接到本机postgres数据库的8000端口。
+ 示例1,使用omm用户连接到本机postgres数据库的5432端口。
```
- gsql -d postgres -p 8000
+ gsql -d postgres -p 5432
```
- 示例2,使用jack用户连接到远程主机postgres数据库的8000端口。
+ 示例2,使用jack用户连接到远程主机postgres数据库的5432端口。
```
- gsql -h 10.180.123.163 -d postgres -U jack -p 8000
+ gsql -h 10.180.123.163 -d postgres -U jack -p 5432
```
示例3,参数postgres和omm不属于任何选项时,分别被解释成了数据库名和用户名。
```
- gsql postgres omm -p 8000
+ gsql postgres omm -p 5432
```
**等效于**
```
- gsql -d postgres -U omm -p 8000
+ gsql -d postgres -U omm -p 5432
```
- 详细的gsql参数请参见[命令参考](命令参考.md#ZH-CN_TOPIC_0242223662)。
+ 详细的gsql参数请参见[命令参考](命令参考.md)。
2. 执行SQL语句。
@@ -84,7 +84,7 @@
postgres=# CREATE TABLE HR.areaS(
postgres(# area_ID NUMBER,
postgres(# area_NAME VARCHAR2(25)
-postgres-# )tablespace EXAMPLE;
+postgres(# )tablespace EXAMPLE
CREATE TABLE
```
diff --git "a/content/zh/docs/Toolreference/\345\205\203\345\221\275\344\273\244\345\217\202\350\200\203.md" "b/content/zh/docs/Toolreference/\345\205\203\345\221\275\344\273\244\345\217\202\350\200\203.md"
index 1a9572b095589524ec8b809da62f574c0ceac3f2..4afad11c53731b782510de644689f5bfde8c7af9 100644
--- "a/content/zh/docs/Toolreference/\345\205\203\345\221\275\344\273\244\345\217\202\350\200\203.md"
+++ "b/content/zh/docs/Toolreference/\345\205\203\345\221\275\344\273\244\345\217\202\350\200\203.md"
@@ -1,4 +1,4 @@
-# 元命令参考
+# 元命令参考
介绍使用openGauss数据库命令行交互工具登录数据库后,gsql所提供的元命令。所谓元命令就是在gsql里输入的任何以不带引号的反斜杠开头的命令。
@@ -31,7 +31,7 @@
\copyright
- 显示 openGauss 的版本和版权信息。
+ 显示openGauss的版本和版权信息。
-
@@ -586,7 +586,7 @@
x
- REFERENCES:允许创建外键约束。
+ REFERENCES:允许创建外键约束。由于当前不支持外键,所以该参数暂不生效。
t
@@ -938,8 +938,8 @@
用于控制是否开启语句出错场景下的重试功能,参数retry_times用来指定最大重试次数,缺省值为5,取值范围为5-10。当重试功能已经开启时,再次执行\set RETRY可以关闭该功能。
使用配置文件retry_errcodes.conf列举需要重试的错误码列表,该文件和gsql可执行程序位于同一级目录下。该配置文件为系统配置,非用户定义,不允许用户直接修改。
- 当前支持以下13类出错场景的重试:
-YY001:TCP通信错误,Connection reset by peer YY002:TCP通信错误,Connection reset by peer YY003:锁超时,Lock wait timeout.../wait transaction xxx sync time exceed xxx YY004:TCP通信错误,Connection timed out YY005:SET命令发送失败,ERROR SET query YY006:内存申请失败,memory is temporarily unavailable YY007:通信库错误,Memory allocate error YY008:通信库错误,No data in buffer YY009:通信库错误,Close because release memory YY010:通信库错误,TCP disconnect YY011:通信库错误,SCTP disconnect YY012:通信库错误,Stream closed by remote YY013:通信库错误,Wait poll unknown error
+ 当前支持以下出错场景的重试:
+YY001:TCP通信错误,Connection reset by peer YY002:TCP通信错误,Connection reset by peer YY003:锁超时,Lock wait timeout.../wait transaction xxx sync time exceed xxx YY004:TCP通信错误,Connection timed out YY005:SET命令发送失败,ERROR SET query YY006:内存申请失败,memory is temporarily unavailable YY007:通信库错误,Memory allocate error YY008:通信库错误,No data in buffer YY009:通信库错误,Close because release memory YY010:通信库错误,TCP disconnect YY011:通信库错误,SCTP disconnect YY012:通信库错误,Stream closed by remote YY013:通信库错误,Wait poll unknown error YY014,YY015,53200,08006,08000,57P01,XX003,XX009等
同时,出错时gsql会查询 数据库节点 的连接状态,当状态异常时会sleep 1分钟再进行重试,能够覆盖大部分主备切换场景下的出错重试。
说明: 不支持事务块中的语句错误重试; 不支持通过ODBC、JDBC接口查询的出错重试; 含有unlogged表的sql语句,不支持节点故障后的出错重试; gsql客户端本身出现的错误,不在重跑考虑范围之内;
@@ -961,13 +961,13 @@
\lo_list
- 显示一个目前存储在该数据库里的所有 openGauss 大对象和提供给他们的注释。
+ 显示一个目前存储在该数据库里的所有openGauss大对象和提供给他们的注释。
-## **PATTERN**
+## PATTERN
很多\\d命令都可以用一个PATTERN参数来指定要被显示的对象名称。在最简单的情况下,PATTERN正好就是该对象的准确名称。在PATTERN中的字符通常会被变成小写形式(就像在SQL名称中那样),例如\\dt FOO将会显示名为foo的表。就像在SQL名称中那样,把PATTERN放在双引号中可以阻止它被转换成小写形式。如果需要在一个PATTERN中包括一个真正的双引号字符,则需要把它写成两个相邻的双引号,这同样是符合SQL引用标识符的规则。例如,\\dt "FOO""BAR"将显示名为FOO"BAR(不是foo"bar)的表。和普通的SQL名称规则不同,不能只在PATTERN的一部分周围放上双引号,例如\\dt FOO"FOO"BAR将会显示名为fooFOObar的表。
diff --git "a/content/zh/docs/Toolreference/\345\221\275\344\273\244\345\217\202\350\200\203-1.md" "b/content/zh/docs/Toolreference/\345\221\275\344\273\244\345\217\202\350\200\203-1.md"
new file mode 100644
index 0000000000000000000000000000000000000000..c4628e6b944cecf0d8313240bd868e1b0fdd34d2
--- /dev/null
+++ "b/content/zh/docs/Toolreference/\345\221\275\344\273\244\345\217\202\350\200\203-1.md"
@@ -0,0 +1,240 @@
+# 命令参考
+
+## 命令参考
+
+gs\_initdb支持的常用参数和不常用参数请分别参见[表1](#zh-cn_topic_0237152414_zh-cn_topic_0059778168_t7527cd2e8e304b64bec55dcd38b701bb)和[表2](#zh-cn_topic_0237152414_zh-cn_topic_0059778168_t2f464cb1775044808eceb29e25d6d37f)。
+
+**表 1** 常用参数说明
+
+
+ 参数
+
+ 参数说明
+
+ 取值范围
+
+
+
+ -A, --auth=METHOD
+
+ 指定本地用户连接数据库时的认证方法,即“pg_hba.conf”配置文件中host和local所在行的认证方法。
+ 除非用户对本地用户都是信任的,否则不要使用默认值trust。
+
+ 须知: 若取值为md5,则需手动修改参数文件 postgresql.conf.sample 中的密码存储类型 password_encryption_type 参数的值,修改为0,且放开注释使之生效。gs_initdb工具需同时配合 -W 的使用。
+
+
+
+ METHOD的取值:
+trust reject md5(不安全的算法,为了兼容老版本而存在) sha256
+ 默认值:trust
+
+
+ --auth-host=METHOD
+
+ 指定本地用户通过TCP/IP连接数据库时的认证方法,即:“pg_hba.conf”配置文件中host所在行的认证方法。
+ 指定此参数则会覆盖-A参数的值。
+
+ METHOD的取值:
+trust reject md5(不安全的算法,为了兼容老版本而存在) sha256
+ 默认值:trust
+
+
+ --auth-local=METHOD
+
+ 指定本地用户通过Unix域套接字连接数据库时的认证方法,即“pg_hba.conf”配置文件中local所在行的认证方法。
+ 指定此参数则会覆盖-A参数的值。
+
+ METHOD的取值:
+trust reject md5(不安全的算法,为了兼容老版本而存在) sha256
+ 默认值:trust
+
+
+ [-D, --pgdata=]DATADIR
+
+ 指定数据目录的位置。
+
+ DATADIR的取值:用户自定义。
+
+
+ --nodename=NODENAME
+
+ 初始化的节点名称。
+
+ -
+
+
+ -E, --encoding=ENCODING
+
+ 为新数据库设置编码格式。
+
+
+
+
+ --locale=LOCALE
+
+ 为新数据库设置缺省的区域。
+ 须知: 如果用户设置了数据库的编码格式,则用户选择区域的编码格式必须与用户设置的编码格式一致,否则数据库初始化会失败。
+
+
+ 例如用户要将数据库编码格式初始化为GBK,可以采用如下步骤:
+用locale -a |grep gbk命令查看系统支持gbk编码的区域,如下: omm @linux:~ > locale -a|grep gbk
+zh_CN.gbk
+zh_SG.gbk
+
+ 初始化数据库时加入--locale=zh_CN.gbk选项。
+
+
+ --dbcompatibility=DBCOMPATIBILITY
+
+ 指定兼容的数据库的类型。
+
+ 取值范围:A、B、C。分别表示兼容O、MY和TD。
+
+
+ --lc-collate=LOCALE
+ --lc-ctype=LOCALE
+ --lc-messages=LOCALE
+ --lc-monetary=LOCALE
+ --lc-numeric=LOCALE
+ --lc-time=LOCALE
+
+ 为新数据库设置指定范畴的区域。
+
+ 各参数的取值必须是操作系统支持的值。
+ 说明: 如果用户在数据库安装的时候没有指定--lc-collate参数,则--lc-collate参数的默认值为C。
+
+
+
+ --no-locale
+
+ 和--locale=C等价。
+
+ -
+
+
+ --pwfile=FILE
+
+ gs_initdb时从文件FILE中读取数据库中系统管理员的密码。该文件的第一行将被当作密码使用。
+
+ FILE可以是“相对路径+文件”的形式,也可以是“绝对路径+文件”的形式。相对路径是相对当前路径的。
+
+
+ -T, --text-search-config=CFG
+
+ 设置缺省的文本搜索方式。此配置项的值不会做正确性校验,配置成功后,有日志记录提醒当前配置项的取值。
+
+ text-search-config的取值:
+pg_catalog.english全文搜索 pg_catalog.simple普通文本搜索
+ 默认值:pg_catalog.simple
+
+
+ -U, --username=NAME
+
+ 选择数据库系统管理员的用户名。
+
+ 取值范围:正常的数据库用户。
+ 默认值:运行gs_initdb的操作系统用户。
+
+
+ -W, --pwprompt
+
+ gs_initdb时强制交互式输入数据库管理员的密码。
+
+ -
+
+
+ -w, --pwpasswd=PASSWD
+
+ gs_initdb时通过命令行指定的管理员用户的密码,而不是交互式输入。
+
+ 设置的密码要符合复杂度要求:
+最少包含8个字符; 不能和用户名和当前密码(ALTER)相同,或和当前密码反序; 至少包含大写字母(A-Z),小写字母(a-z),数字,非字母数字字符(限定为~!@#$%^&*()-_=+\|[{}];:,<.>/?)四类字符中的三类字符。
+
+
+ -C, --enpwdfiledir=DIR
+
+ gs_initdb时指定的经AES128加密算法加密过的密码文件所在目录。gs_initdb会将该目录下密码文件进行解密,同时把解密后的密码做密码复杂度校验,校验通过的话会将此密码作为用户的密码。
+ 说明: 加密密码文件需使用gs_guc工具生成:gs_guc encrypt -K Gauss@123 -D Dir。 如果用户指定多个-w和-C参数,gs_initdb会将用户输入的最后一个-w或-C参数作为用户的需求,即输入密码的明文或经过AES128加密后的密码。
+
+
+ -
+
+
+ -X, --xlogdir=XLOGDIR
+
+ 声明事务日志存储的目录。
+ 所设置的目录,必须满足运行openGauss的用户有读写权限。
+
+ 只支持绝对路径。
+
+
+ -S, --security
+
+ 安全方式初始化数据库。
+
+ 以-S方式初始化的数据库后,创建的数据库用户权限受到限制,默认不再具有public schema的使用权限。
+
+
+
+
+
+**表 2** 不常用参数说明
+
+
+ 参数
+
+ 参数说明
+
+ 取值范围
+
+
+
+ -d, --debug
+
+ 从初始化后端打印调试输出信息。初始化后端是gs_initdb用于创建系统表的程序。
+
+ -
+
+
+ -L DIRECTORY
+
+ gs_initdb初始化数据库所需要的输入文件的路径。通常是不必要的。如果需要明确声明的话,程序会提示输入。因该参数意为创建指定配置信息的数据库,建议将share/postgresql下的所有涉及启动相关的子目录及文件全部复制过来,避免其他因素的影响。
+
+ 初始化数据库所需的输入文件路径。
+
+
+ -n, --noclean
+
+ 不指定该参数时,当gs_initdb发现一些错误妨碍它完成创建数据库的工作时,它将在检测到不能结束工作之前将其创建的所有文件删除。这个选项禁止任何清理动作,因而对调试很有用。
+
+ -
+
+
+ -s, --show
+
+ 显示内部设置。
+
+ -
+
+
+ -V, --version
+
+ 打印gs_initdb版本信息,然后退出。
+
+ -
+
+
+ -?, --help
+
+ 显示关于gs_initdb命令行参数的帮助信息,然后退出。
+
+ -
+
+
+
+
+
diff --git "a/content/zh/docs/Toolreference/\345\221\275\344\273\244\345\217\202\350\200\203.md" "b/content/zh/docs/Toolreference/\345\221\275\344\273\244\345\217\202\350\200\203.md"
index 7f025e6a615c9d27060ae0c220fffb3646d578f0..940ea3cd23731038c27115553811981d18828f1e 100644
--- "a/content/zh/docs/Toolreference/\345\221\275\344\273\244\345\217\202\350\200\203.md"
+++ "b/content/zh/docs/Toolreference/\345\221\275\344\273\244\345\217\202\350\200\203.md"
@@ -1,4 +1,4 @@
-# 命令参考
+# 命令参考
详细的gsql参数请参见[表1](#zh-cn_topic_0237152145_zh-cn_topic_0059779319_t5f35328143ec419983a1c23d13c46e49)、[表2](#zh-cn_topic_0237152145_zh-cn_topic_0059779319_t0233128ab394456c80e339179cb56739)、[表3](#zh-cn_topic_0237152145_zh-cn_topic_0059779319_t47c174e145784f16ac251d3c6aea8ea8)和[表4](#zh-cn_topic_0237152145_zh-cn_topic_0059779319_td7e646abbf6a4d85bc54cd9741c80b68)。
@@ -30,6 +30,11 @@
-f, --file=FILENAME
使用文件作为命令源而不是交互式输入。gsql将在处理完文件后结束。如果FILENAME是-(连字符),则从标准输入读取。
+ 说明: 环境场景:一主一备(8U32G)
+
实测:读取200M数据文件时,耗时约为8分钟21秒;
+
读取500M数据文件时,耗时约为18分41秒。
+
建议:文件读取的时间随文件数据量逐渐增加,如果文件太大,中间异常时需要重新读取,同时会导致系统OS的IO过载,建议文件大小控制在500M左右。
+
绝对路径或相对路径,且满足操作系统路径命名规则。
@@ -87,99 +92,99 @@
**表 2** 输入和输出参数
- 参数
+ 参数
- 参数说明
+ 参数说明
取值范围
- -a, --echo-all
+ -a, --echo-all
- 在读取行时向标准输出打印所有内容。
+ 在读取行时向标准输出打印所有内容。
注意: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。
-
- -e, --echo-queries
+ -e, --echo-queries
- 把所有发送给服务器的查询同时回显到标准输出。
+ 把所有发送给服务器的查询同时回显到标准输出。
注意: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。
-
- -E, --echo-hidden
+ -E, --echo-hidden
- 回显由\d和其他反斜杠命令生成的实际查询。
+ 回显由\d和其他反斜杠命令生成的实际查询。
-
- -k, --with-key=KEY
+ -k, --with-key=KEY
- 使用gsql对导入的加密文件进行解密。
+ 使用gsql对导入的加密文件进行解密。
须知: 对于本身就是shell命令中的关键字符如单引号(')或双引号("),Linux shell会检测输入的单引号(')或双引号(")是否匹配。如果不匹配,shell认为用户没有输入完毕,会一直等待用户输入,从而不会进入到gsql程序。
-
- -L, --log-file=FILENAME
+ -L, --log-file=FILENAME
- 除了正常的输出源之外,把所有查询输出记录到文件FILENAME中。
+ 除了正常的输出源之外,把所有查询输出记录到文件FILENAME中。
注意: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。 此参数只保留查询结果到相应文件中,主要目标是为了查询结果能够更好更准确地被其他调用者(例如自动化运维脚本)解析;而不是保留gsql运行过程中的相关日志信息。
绝对路径或相对路径,且满足操作系统路径命名规则。
- -m, --maintenance
+ -m, --maintenance
- 允许在两阶段事务恢复期间连接 openGauss 。
+ 允许在两阶段事务恢复期间连接 openGauss 。
说明: 该选项是一个开发选项,禁止用户使用,只限专业技术人员使用,功能是:使用该选项时,gsql可以连接到备机,用于校验主备机数据的一致性。
-
- -n, --no-libedit
+ -n, --no-libedit
- 关闭命令行编辑。
+ 关闭命令行编辑。
-
- -o, --output=FILENAME
+ -o, --output=FILENAME
- 将所有查询输出重定向到文件FILENAME。
+ 将所有查询输出重定向到文件FILENAME。
绝对路径或相对路径,且满足操作系统路径命名规则。
- -q, --quiet
+ -q, --quiet
- 安静模式,执行时不会打印出额外信息。
+ 安静模式,执行时不会打印出额外信息。
缺省时gsql将打印许多其他输出信息。
- -s, --single-step
+ -s, --single-step
- 单步模式运行。意味着每个查询在发往服务器之前都要提示用户,用这个选项也可以取消执行。此选项主要用于调试脚本。
+ 单步模式运行。意味着每个查询在发往服务器之前都要提示用户,用这个选项也可以取消执行。此选项主要用于调试脚本。
注意: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。
-
- -S, --single-line
+ -S, --single-line
- 单行运行模式,这时每个命令都将由换行符结束,像分号那样。
+ 单行运行模式,这时每个命令都将由换行符结束,像分号那样。
-
@@ -306,7 +311,7 @@
指定数据库服务器的端口号。
可以通过port参数修改默认端口号。
- 默认为 8000 。
+ 默认为 5432 。
-U, --username=USERNAME
@@ -320,8 +325,8 @@
-W, --password=PASSWORD
- 当使用-U参数连接本地数据库或者连接远端数据库时,可通过该选项指定密码。
- 说明: 登录 数据库主节点 所在服务器后连接本地 数据库主节点 实例时,默认使用trust连接,会忽略此参数。
+
当使用-U参数连接远端数据库时,可通过该选项指定密码。
+ 说明: 数据库主节点 所在服务器后连接本地 数据库主节点 实例时,默认使用trust连接,会忽略此参数。
用户密码中包含特殊字符“\”和"`"时,需要增加转义字符才可成功连接数据库。
如果用户未输入该参数,但是数据库连接需要用户密码,这时将出现交互式输入,请用户输入当前连接的密码。该密码最长长度为999字节,受限于GUC参数password_max_length的最大值。
diff --git "a/content/zh/docs/Toolreference/\345\256\242\346\210\267\347\253\257\345\267\245\345\205\267.md" "b/content/zh/docs/Toolreference/\345\256\242\346\210\267\347\253\257\345\267\245\345\205\267.md"
index 905b186433f049284a87bc1fb3069314359739c2..fa0da9d356e5e76408e21e2aafbcc0e682651726 100644
--- "a/content/zh/docs/Toolreference/\345\256\242\346\210\267\347\253\257\345\267\245\345\205\267.md"
+++ "b/content/zh/docs/Toolreference/\345\256\242\346\210\267\347\253\257\345\267\245\345\205\267.md"
@@ -1,13 +1,7 @@
-# 客户端工具
+# 客户端工具
数据库在部署成功后,需要通过一些工具来便捷地连接数据库,对数据库进行各种操作和调试。openGauss提供了一些数据库连接工具。通过这些工具可以方便地连接数据库并对数据库进行数据操作。
- **[gsql](gsql.md)**
-- **[X-Tuner](X-Tuner.md)**
-
-- **[Sqldiag](Sqldiag.md)**
-
-- **[Predictor](Predictor.md)**
-
diff --git "a/content/zh/docs/Toolreference/\345\267\245\345\205\267\344\270\200\350\247\210\350\241\250.md" "b/content/zh/docs/Toolreference/\345\267\245\345\205\267\344\270\200\350\247\210\350\241\250.md"
index 12b74aae1431f9b94769cc476bfc833c928dafe2..d38a121f1491f44cf33c765e2aa343122cf31f36 100644
--- "a/content/zh/docs/Toolreference/\345\267\245\345\205\267\344\270\200\350\247\210\350\241\250.md"
+++ "b/content/zh/docs/Toolreference/\345\267\245\345\205\267\344\270\200\350\247\210\350\241\250.md"
@@ -1,4 +1,4 @@
-# 工具一览表
+# 工具一览表
openGauss提供客户端和服务器端应用程序(工具),帮助用户更好地维护openGauss,提供的所有工具如[表1](#zh-cn_topic_0237152139_table11292939125111)所示。工具位于安装数据库服务器的$GPHOME/script和$GAUSSHOME/bin路径下。
@@ -17,29 +17,29 @@ openGauss提供客户端和服务器端应用程序(工具),帮助用户
gsql
-
gsql是 openGauss 提供在命令行下运行的数据库连接工具,可以通过此工具连接服务器并对其进行操作和维护,除了具备操作数据库的基本功能,gsql还提供了若干高级特性 ,便于用户使用。
+ gsql是openGauss提供在命令行下运行的数据库连接工具,可以通过此工具连接服务器并对其进行操作和维护,除了具备操作数据库的基本功能,gsql还提供了若干高级特性 ,便于用户使用。
服务端工具
gs_check
- gs_check改进增强,统一化当前系统中存在的各种检查工具,例如gs_check ,gs_checkos 等,帮助用户在 openGauss 运行过程中,全量的检查 openGauss 运行环境,操作系统环境,网络环境及数据库执行环境,也有助于在 openGauss 重大操作之前对各类环境进行全面检查,有效保证操作执行成功。
+ gs_check改进增强,统一化当前系统中存在的各种检查工具,例如gs_check ,gs_checkos 等,帮助用户在openGauss运行过程中,全量的检查openGauss运行环境,操作系统环境,网络环境及数据库执行环境,也有助于在openGauss重大操作之前对各类环境进行全面检查,有效保证操作执行成功。
gs_checkos
- gs_checkos用于检查操作系统、控制参数、磁盘配置等内容,并对系统控制参数、I/O配置、网络配置和THP服务等信息进行配置。
+ gs_checkos用于检查操作系统、控制参数、磁盘配置等内容,并对系统控制参数、I/O配置、网络配置和THP服务等信息进行配置。
gs_checkperf
- gs_checkperf工具可定期对 openGauss 级别(主机CPU占用率、Gauss CPU占用率、I/O使用情况等)、节点级别(CPU使用情况、内存使用情况、I/O使用情况)、会话/进程级别(CPU使用情况、内存使用情况、I/O使用情况)、SSD性能(写入、读取性能)进行检查,让用户了解 openGauss 的负载情况,采取对应的改进措施。
+ gs_checkperf工具可定期对openGauss级别(主机CPU占用率、Gauss CPU占用率、I/O使用情况等)、节点级别(CPU使用情况、内存使用情况、I/O使用情况)、会话/进程级别(CPU使用情况、内存使用情况、I/O使用情况)、SSD性能(写入、读取性能)进行检查,让用户了解openGauss的负载情况,采取对应的改进措施。
gs_collector
- gs_collector在 openGauss 发生故障时,收集OS信息、日志信息以及配置文件信息,来定位问题。
+ gs_collector在openGauss发生故障时,收集OS信息、日志信息以及配置文件信息,来定位问题。
gs_dump
@@ -54,22 +54,22 @@ openGauss提供客户端和服务器端应用程序(工具),帮助用户
gs_guc
- gs_guc用于设置 openGauss 配置文件(“postgresql.conf”、“pg_hba.conf”)中的参数,配置文件中参数的默认值是单机的配置模式,您可以使用gs_guc来设置适合的参数值。
+ gs_guc用于设置openGauss配置文件(“postgresql.conf”、“pg_hba.conf”)中的参数,配置文件中参数的默认值是单机的配置模式,您可以使用gs_guc来设置适合的参数值。
gs_om
- openGauss 提供了gs_om工具帮助对 openGauss 进行维护,包括启动 openGauss 、停止 openGauss 、查询 openGauss 状态、切换主备实例、管理数据库节点、修改IP、生成静态配置文件、格式化列存文件、升级时间评估、安装,扩容,增加 数据库节点 、节点替换和温备相关时间评估、管理虚拟IP、SSL证书替换、输出相对表空间路径、启停kerberos认证、删除PostGIS文件、执行日常巡检并上报告警、显示帮助信息和显示版本号信息、启动etcd的功能。
+ openGauss提供了gs_om工具帮助对 openGauss 进行维护,包括启动 openGauss 、停止 openGauss 、查询 openGauss 状态、生成静态配置文件、刷新动态配置文件、SSL证书替换、启停kerberos认证、显示帮助信息和显示版本号信息的功能。
gs_restore
- gs_restore是 openGauss 提供的针对gs_dump导出数据的导入工具。通过此工具可由gs_dump生成的导出文件进行导入。
+ gs_restore是openGauss提供的针对gs_dump导出数据的导入工具。通过此工具可由gs_dump生成的导出文件进行导入。
gs_ssh
- openGauss 提供了gs_ssh工具帮助用户在 openGauss 各节点上执行相同的命令。
+ openGauss提供了gs_ssh工具帮助用户在openGauss各节点上执行相同的命令。
diff --git "a/content/zh/docs/Toolreference/\345\270\270\350\247\201\351\227\256\351\242\230\345\244\204\347\220\206.md" "b/content/zh/docs/Toolreference/\345\270\270\350\247\201\351\227\256\351\242\230\345\244\204\347\220\206.md"
index 5f5812a78a6ab0cc94105093e83bbf86005e716f..0d8d34f7f4eec1f0f35ca50a98b18f7d61f6cec1 100644
--- "a/content/zh/docs/Toolreference/\345\270\270\350\247\201\351\227\256\351\242\230\345\244\204\347\220\206.md"
+++ "b/content/zh/docs/Toolreference/\345\270\270\350\247\201\351\227\256\351\242\230\345\244\204\347\220\206.md"
@@ -1,4 +1,4 @@
-# 常见问题处理
+# 常见问题处理
## 连接性能问题
@@ -63,14 +63,6 @@
> **说明:**
>请不要修改pg\_hba.conf中openGauss主机的相关设置,否则可能导致数据库功能故障。建议业务应用部署在openGauss之外,而非openGauss内部。
-- 在数据库主节点连接数据库,添加“-h 127.0.0.1”可以连接,去掉后无法连接问题。
-
- 通过执行SQL语句“show unix\_socket\_directory”检查数据库主节点使用的Unix套接字目录,是否与shell中的环境变量$PGHOST一致。
-
- 如果检查结果不一致,那么修改PGHOST环境变量到GUC参数unix\_socket\_directory指向的目录便可。
-
- 关于unix\_socket\_directory的更多信息,详见《开发者指南》中“GUC参数说明 \> 连接和认证 \> 连接设置”章节中的说明。
-
- The "libpq.so" loaded mismatch the version of gsql, please check it.
此问题是由于环境中使用的libpq.so的版本与gsql的版本不匹配导致的,请通过“ldd gsql”命令确认当前加载的libpq.so的版本,并通过修改LD\_LIBRARY\_PATH环境变量来加载正确的libpq.so。
@@ -105,7 +97,7 @@
1. 使用管理员用户dbadmin连接数据库。
```
- gsql -d postgres -U dbadmin -p 8000
+ gsql -d postgres -U dbadmin -p 5432
```
2. 赋予该用户访问数据库的权限。
@@ -115,9 +107,9 @@
> **说明:**
>实际上,常见的许多错误操作也可能产生用户无法连接上数据库的现象。如用户连接的数据库不存在,用户名或密码输入错误等。这些错误操作在客户端工具也有相应的提示信息。
>```
- >gsql -d postgres -p 8000
+ >gsql -d postgres -p 5432
>gsql: FATAL: database "postgres" does not exist
- >gsql -d postgres -U user1 -W gauss@789 -p 8000
+ >gsql -d postgres -U user1 -W gauss@789 -p 5432
>gsql: FATAL: Invalid username/password,login denied.
>```
diff --git "a/content/zh/docs/Toolreference/\346\211\247\350\241\214\345\221\275\344\273\244\346\212\245\351\224\231-Failed-to-obtain-the-GPHOME.md" "b/content/zh/docs/Toolreference/\346\211\247\350\241\214\345\221\275\344\273\244\346\212\245\351\224\231-Failed-to-obtain-the-GPHOME.md"
index dcae1ed0328fbe23f210fc3e027346077bb94f02..f5352420f1aa411c225b0e9692676c72459ea3b2 100644
--- "a/content/zh/docs/Toolreference/\346\211\247\350\241\214\345\221\275\344\273\244\346\212\245\351\224\231-Failed-to-obtain-the-GPHOME.md"
+++ "b/content/zh/docs/Toolreference/\346\211\247\350\241\214\345\221\275\344\273\244\346\212\245\351\224\231-Failed-to-obtain-the-GPHOME.md"
@@ -1,4 +1,4 @@
-# 执行命令报错“Failed to obtain the GPHOME”
+# 执行命令报错“Failed to obtain the GPHOME”
## 问题现象
diff --git "a/content/zh/docs/Toolreference/\346\234\215\345\212\241\347\253\257\345\267\245\345\205\267.md" "b/content/zh/docs/Toolreference/\346\234\215\345\212\241\347\253\257\345\267\245\345\205\267.md"
index a2f613a601796ea9b63b0e261c145bacf68c272b..9abdd6708304c3b700a98611832f13cb702b279c 100644
--- "a/content/zh/docs/Toolreference/\346\234\215\345\212\241\347\253\257\345\267\245\345\205\267.md"
+++ "b/content/zh/docs/Toolreference/\346\234\215\345\212\241\347\253\257\345\267\245\345\205\267.md"
@@ -1,4 +1,4 @@
-# 服务端工具
+# 服务端工具
在使用openGauss过程中,经常需要对openGauss进行安装、卸载以及健康管理。为了简单、方便的维护openGauss,openGauss提供了一系列的管理工具。
diff --git "a/content/zh/docs/Toolreference/\347\263\273\347\273\237\345\206\205\351\203\250\344\275\277\347\224\250\347\232\204\345\267\245\345\205\267.md" "b/content/zh/docs/Toolreference/\347\263\273\347\273\237\345\206\205\351\203\250\344\275\277\347\224\250\347\232\204\345\267\245\345\205\267.md"
index 64f2f97880e2c49826c2d56eee768d75015e65be..c882115c42a156fd481e71e43ba9a04d8e1bcb48 100644
--- "a/content/zh/docs/Toolreference/\347\263\273\347\273\237\345\206\205\351\203\250\344\275\277\347\224\250\347\232\204\345\267\245\345\205\267.md"
+++ "b/content/zh/docs/Toolreference/\347\263\273\347\273\237\345\206\205\351\203\250\344\275\277\347\224\250\347\232\204\345\267\245\345\205\267.md"
@@ -1,4 +1,4 @@
-# 系统内部使用的工具
+# 系统内部使用的工具
本节所涉及的工具为openGauss进程间运行使用的工具,或者说模块间调用的工具。这些工具只用于满足内部调用场景,未对其他场景下的使用正确性做过验证。因此,不建议用户直接使用这些工具执行业务,以防对系统运行带来影响。
@@ -10,6 +10,8 @@
- **[gs\_ctl](gs_ctl.md)**
+- **[gs\_initdb](gs_initdb.md)**
+
- **[gs\_install](gs_install.md)**
- **[gs\_postuninstall](gs_postuninstall.md)**
diff --git "a/content/zh/docs/Toolreference/\350\216\267\345\217\226\345\270\256\345\212\251.md" "b/content/zh/docs/Toolreference/\350\216\267\345\217\226\345\270\256\345\212\251.md"
index 5940a1e81b0790e2ad3e16b88e2b24c4389c225d..8d54e34a9048a6e3a59854a048e8c78388e4eff7 100644
--- "a/content/zh/docs/Toolreference/\350\216\267\345\217\226\345\270\256\345\212\251.md"
+++ "b/content/zh/docs/Toolreference/\350\216\267\345\217\226\345\270\256\345\212\251.md"
@@ -1,4 +1,4 @@
-# 获取帮助
+# 获取帮助
## 操作步骤
@@ -45,10 +45,10 @@
1. 使用如下命令连接数据库。
```
- gsql -d postgres -p 8000
+ gsql -d postgres -p 5432
```
- postgres为需要连接的数据库名称,8000为数据库主节点的端口号。
+ postgres为需要连接的数据库名称,5432为数据库主节点的端口号。
连接成功后,系统显示类似如下信息:
@@ -76,14 +76,13 @@
\copyright
- 查看 openGauss 支持的SQL语句的帮助
+ 查看openGauss支持的SQL语句的帮助
- 查看 openGauss 支持的SQL语句的帮助
- 例如,查看 openGauss 支持的所有SQL语句:
+ 查看openGauss支持的SQL语句的帮助
+ 例如,查看openGauss支持的所有SQL语句:
postgres=# \h
Available help:
ABORT
- ALTER AGGREGATE
ALTER APP WORKLOAD GROUP
... ...
例如,查看CREATE DATABASE命令的参数可使用下面的命令:
@@ -107,9 +106,10 @@
例如,查看gsql支持的命令:
postgres=# \?
General
- \copyright show PostgreSQL usage and distribution terms
+ \copyright show FusionInsight LibrA usage and distribution terms
\g [FILE] or ; execute query (and send results to file or |pipe)
\h(\help) [NAME] help on syntax of SQL commands, * for all commands
+ \parallel [on [num]|off] toggle status of execute (currently off)
\q quit gsql
... ...
diff --git "a/content/zh/docs/installation/\344\270\200\344\270\273\344\270\200\345\244\207\351\205\215\347\275\256\346\226\207\344\273\266.md" "b/content/zh/docs/installation/\344\270\200\344\270\273\344\270\200\345\244\207\351\205\215\347\275\256\346\226\207\344\273\266.md"
index 759439dd46c273ca04f8c019ca943da03ef61a68..7cca3b048143b8d0c2d01aab27712358209410fb 100644
--- "a/content/zh/docs/installation/\344\270\200\344\270\273\344\270\200\345\244\207\351\205\215\347\275\256\346\226\207\344\273\266.md"
+++ "b/content/zh/docs/installation/\344\270\200\344\270\273\344\270\200\345\244\207\351\205\215\347\275\256\346\226\207\344\273\266.md"
@@ -1,4 +1,4 @@
-# 一主一备配置文件
+# 一主一备配置文件
```
@@ -8,10 +8,11 @@
-
-
-
-
+
+
+
+
+
@@ -28,7 +29,7 @@
-
+
diff --git "a/content/zh/docs/installation/\344\270\200\351\224\256\345\274\217\347\216\257\345\242\203\346\270\205\347\220\206.md" "b/content/zh/docs/installation/\344\270\200\351\224\256\345\274\217\347\216\257\345\242\203\346\270\205\347\220\206.md"
index d039fc41eef9c4265bf2bc1d5e3614fb7eb0f6f1..b4296df35b4119500f3c96913e90100060e76c36 100644
--- "a/content/zh/docs/installation/\344\270\200\351\224\256\345\274\217\347\216\257\345\242\203\346\270\205\347\220\206.md"
+++ "b/content/zh/docs/installation/\344\270\200\351\224\256\345\274\217\347\216\257\345\242\203\346\270\205\347\220\206.md"
@@ -1,4 +1,4 @@
-# 一键式环境清理
+# 一键式环境清理
在openGauss卸载完成后,如果不需要在环境上重新部署openGauss,可以运行脚本gs\_postuninstall对openGauss服务器上环境信息做清理。openGauss环境清理是对环境准备脚本gs\_preinstall所做设置的清理。
@@ -11,13 +11,7 @@
## 操作步骤
1. 以root用户登录openGauss服务器。
-2. 进入script路径下
-
- ```
- cd /opt/software/openGauss/script
- ```
-
-3. 查看root用户互信是否建立,如果root用户没有建立互信,需要手工建立root用户互信,操作参考3.2.2手工建立互信。
+2. 查看root用户互信是否建立,如果root用户没有建立互信,需要手工建立root用户互信,操作参考3.2.2手工建立互信。
查看互信是否建成功,可以互相ssh主机名。输入exit退出。
@@ -31,16 +25,22 @@
plat1:~ #
```
+3. 进入script路径下
+
+ ```
+ cd /opt/software/openGauss/script
+ ```
+
4. 使用gs\_postuninstall进行清理。若为环境变量分离的模式安装的集群需要source环境变量分离文件ENVFILE。
```
- gs_postuninstall -U omm -X /opt/software/openGauss/clusterconfig.xml --delete-user --delete-group
+ ./gs_postuninstall -U omm -X /opt/software/openGauss/clusterconfig.xml --delete-user --delete-group
```
或者在openGauss中每个节点执行本地后置清理。
```
- gs_postuninstall -U omm -X /opt/software/openGauss/clusterconfig.xml --delete-user --delete-group -L
+ ./gs_postuninstall -U omm -X /opt/software/openGauss/clusterconfig.xml --delete-user --delete-group -L
```
omm为运行openGauss的操作系统用户名,/opt/software/openGauss/clusterconfig.xml为openGauss配置文件路径。
diff --git "a/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\346\265\201\347\250\213.md" "b/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\346\265\201\347\250\213.md"
index 0e47b2fdf0a877d30940db153d15fbe5d42c6037..72c78f6b1c29f6edf035cdeef02e487e35a12177 100644
--- "a/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\346\265\201\347\250\213.md"
+++ "b/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\346\265\201\347\250\213.md"
@@ -1,4 +1,4 @@
-# 了解安装流程
+# 了解安装流程
本章节通过流程图简要介绍openGauss的安装流程。
diff --git "a/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\224\250\346\210\267\347\273\204.md" "b/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\224\250\346\210\267\347\273\204.md"
index 8cf7e623af0db02bc4b9d3c3ed95dd2d6eaf30e6..c0492a9da6700a5b761b8d0b56893e267914d0a8 100644
--- "a/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\224\250\346\210\267\347\273\204.md"
+++ "b/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\224\250\346\210\267\347\273\204.md"
@@ -1,4 +1,4 @@
-# 了解安装用户及用户组
+# 了解安装用户及用户组
为了实现安装过程中安装帐户权限最小化,及安装后openGauss的系统运行安全性。安装脚本在安装过程中会自动按照用户指定创建安装用户,并将此用户作为后续运行和维护openGauss的管理员帐户。
@@ -33,5 +33,5 @@
-在安装openGauss过程中运行“gs\_preinstall”时,会创建与安装用户同名的数据库用户,即数据库用户omm。此用户具备数据库的最高操作权限,openGauss为此用户设置的初始密码为GaussDB@2012。为了保证系统的安全性,请及时修改密码。或在安装后通过设置GUC参数modify\_initial\_password为on启用强制修改初始密码特性。启用后,使用此用户首次连接数据库时,系统会强制要求修改此密码。关于GUC参数的修改方法请参见《openGauss 开发者指南》中的“GUC参数说明“。
+在安装openGauss过程中运行“gs\_install”时,会创建与安装用户同名的数据库用户,即数据库用户omm。此用户具备数据库的最高操作权限,此用户初始密码由用户指定。
diff --git "a/content/zh/docs/installation/\344\277\256\346\224\271\346\223\215\344\275\234\347\263\273\347\273\237\351\205\215\347\275\256.md" "b/content/zh/docs/installation/\344\277\256\346\224\271\346\223\215\344\275\234\347\263\273\347\273\237\351\205\215\347\275\256.md"
index e86b97972fcc31ab1dd7b40555c82b5574ce203c..f1a91eb0ee89ed2a90cc1db9e97cb5411fd45266 100644
--- "a/content/zh/docs/installation/\344\277\256\346\224\271\346\223\215\344\275\234\347\263\273\347\273\237\351\205\215\347\275\256.md"
+++ "b/content/zh/docs/installation/\344\277\256\346\224\271\346\223\215\344\275\234\347\263\273\347\273\237\351\205\215\347\275\256.md"
@@ -1,4 +1,4 @@
-# 修改操作系统配置
+# 修改操作系统配置
- **[关闭操作系统防火墙](关闭操作系统防火墙.md)**
为了在防火墙开启的状态下,确保openGauss的正常使用。用户需要将同openGauss相关的服务、协议、IP以及端口添加到openGauss各主机的防火墙白名单中。
diff --git "a/content/zh/docs/installation/\345\205\263\351\227\255swap\344\272\244\346\215\242\345\206\205\345\255\230.md" "b/content/zh/docs/installation/\345\205\263\351\227\255swap\344\272\244\346\215\242\345\206\205\345\255\230.md"
index 42a8415932786ce20ff9e1f650f38a4d096423aa..d2579ea02451cf211ed2ad67fdee9243a0e36d9d 100644
--- "a/content/zh/docs/installation/\345\205\263\351\227\255swap\344\272\244\346\215\242\345\206\205\345\255\230.md"
+++ "b/content/zh/docs/installation/\345\205\263\351\227\255swap\344\272\244\346\215\242\345\206\205\345\255\230.md"
@@ -1,4 +1,4 @@
-# 关闭swap交换内存
+# 关闭swap交换内存
在各数据库节点上,使用swapoff -a命令将交换内存关闭。
diff --git "a/content/zh/docs/installation/\345\205\263\351\227\255\346\223\215\344\275\234\347\263\273\347\273\237\351\230\262\347\201\253\345\242\231.md" "b/content/zh/docs/installation/\345\205\263\351\227\255\346\223\215\344\275\234\347\263\273\347\273\237\351\230\262\347\201\253\345\242\231.md"
index 1a86445549c88fce1d0c6293a4afd35874861ffa..98c9d3409cdc1d2bbee936a471a144096217c5ce 100644
--- "a/content/zh/docs/installation/\345\205\263\351\227\255\346\223\215\344\275\234\347\263\273\347\273\237\351\230\262\347\201\253\345\242\231.md"
+++ "b/content/zh/docs/installation/\345\205\263\351\227\255\346\223\215\344\275\234\347\263\273\347\273\237\351\230\262\347\201\253\345\242\231.md"
@@ -1,4 +1,4 @@
-# 关闭操作系统防火墙
+# 关闭操作系统防火墙
为了在防火墙开启的状态下,确保openGauss的正常使用。用户需要将同openGauss相关的服务、协议、IP以及端口添加到openGauss各主机的防火墙白名单中。
@@ -70,6 +70,7 @@
2. 关闭防火墙。
```
+ systemctl disable firewalld.service
systemctl stop firewalld.service
```
diff --git "a/content/zh/docs/installation/\345\207\206\345\244\207\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\216\257\345\242\203.md" "b/content/zh/docs/installation/\345\207\206\345\244\207\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\216\257\345\242\203.md"
index c4b8b672dfffc6dc685c0d05e93cbe16f41640ac..2197b8359e9ad882c8c9cf6879e1e8bf650fee19 100644
--- "a/content/zh/docs/installation/\345\207\206\345\244\207\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\216\257\345\242\203.md"
+++ "b/content/zh/docs/installation/\345\207\206\345\244\207\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\216\257\345\242\203.md"
@@ -1,4 +1,4 @@
-# 准备安装用户及环境
+# 准备安装用户及环境
创建完openGauss配置文件后,在执行安装前,为了后续能以最小权限进行安装及openGauss管理操作,保证系统安全性,需要运行安装前置脚本gs\_preinstall准备好安装用户及环境。
@@ -51,32 +51,32 @@
- openGauss-x.x.x - open EULER-64bit-ClientTools.tar.gz
+ openGauss-x.x.x -openEULER-64bit-ClientTools.tar.gz
用于Linux的客户端工具安装包。含gsql、dump restore tool、ODBC驱动、JDBC驱动、Libpq库。
- openGauss-x.x.x - openEULER -64bit-Jdbc.tar.gz
+ openGauss-x.x.x -openEULER-64bit-Jdbc.tar.gz
用于Linux的JDBC驱动安装包。
- openGauss-x.x.x - openEULER -64bit-Libpq.tar.gz
+ openGauss-x.x.x -openEULER-64bit-Libpq.tar.gz
用于Linux的libpq库。
- openGauss-x.x.x - openEULER -64bit-Odbc.tar.gz
+ openGauss-x.x.x -openEULER-64bit-Odbc.tar.gz
用于Linux的ODBC驱动安装包。
- openGauss-x.x.x - openEULER -64bit-symbol.tar.gz
+ openGauss-x.x.x -openEULER-64bit-symbol.tar.gz
用于调试和定位数据库问题的支持文件。
- openGauss-x.x.x - openEULER -64bit.tar.gz
+ openGauss-x.x.x -openEULER-64bit.tar.gz
数据库管理系统安装包。即本手册使用的安装包。
@@ -130,17 +130,17 @@
- 采用交互模式执行前置,并在执行过程中自动创建root用户互信和openGauss用户互信:
```
- python gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml
+ ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml
```
omm为数据库管理员(也是运行openGauss的操作系统用户),dbgrp为运行openGauss的操作系统用户的群组名称,/opt/software/openGauss/clusterconfig.xml为openGauss配置文件路径。在执行过程中,用户根据提示选择是否创建互信,并输入root用户或openGauss用户的密码。
- - 不允许创建root用户互信时,创建omm用户,在各主机上执行本地模式前置,然后用户手动创建openGauss用户互信:
+ - 不允许创建root用户互信时,创建omm用户,在各主机上执行本地模式前置,然后用户手动创建openGauss用户互信:如果预安装指定-L参数,预安装前需手动将所有节点的主机名和ip映射关系,写入各个主机的/etc/hosts,并在每个映射关系后边加入注释内容:\#Gauss OM IP Hosts Mapping。
1. 执行下面命令准备安装环境。
```
cd /opt/software/openGauss/script
- python gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/clusterconfig.xml
+ ./gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/clusterconfig.xml
```
> **说明:**
@@ -153,7 +153,7 @@
```
cd /opt/software/openGauss/script
- python gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml --non-interactive
+ ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml --non-interactive
```
> **说明:**
@@ -168,7 +168,7 @@
执行前置脚本:
```
-plat1:/opt/software/openGauss/script # python gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml
+plat1:/opt/software/openGauss/script # ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml
Parsing the configuration file.
Successfully parsed the configuration file.
Installing the tools on the local node.
@@ -197,20 +197,27 @@ Verifying SSH trust on all hosts.
Successfully verified SSH trust on all hosts.
Successfully created SSH trust.
Successfully created SSH trust for the root permission user.
+Setting pssh path
+Successfully set core path.
Distributing package.
Begin to distribute package to tool path.
Successfully distribute package to tool path.
Begin to distribute package to package path.
Successfully distribute package to package path.
Successfully distributed package.
-Are you sure you want to create the user[gaussdba] and create trust for it (yes/no)? yes
+Are you sure you want to create the user[omm] and create trust for it (yes/no)? yes
+Please enter password for cluster user.
+Password:
+Please enter password for cluster user again.
+Password:
+Successfully created [omm] user on all nodes.
+Preparing SSH service.
+Successfully prepared SSH service.
Installing the tools in the cluster.
Successfully installed the tools in the cluster.
Checking hostname mapping.
Successfully checked hostname mapping.
-Creating SSH trust for [gaussdba] user.
-Please enter password for current user[gaussdba].
-Password:
+Creating SSH trust for [omm] user.
Checking network information.
All nodes in the network are Normal.
Successfully checked network information.
@@ -230,7 +237,9 @@ Successfully distributed SSH trust file to all node.
Verifying SSH trust on all hosts.
Successfully verified SSH trust on all hosts.
Successfully created SSH trust.
-Successfully created SSH trust for [gaussdba] user.
+Successfully created SSH trust for [omm] user.
+Checking OS software.
+Successfully check os software.
Checking OS version.
Successfully checked OS version.
Creating cluster's path.
@@ -240,30 +249,29 @@ Successfully set SCTP service.
Set and check OS parameter.
Setting OS parameters.
Successfully set OS parameters.
-Set and check OS parameter completed.
Preparing CRON service.
Successfully prepared CRON service.
-Preparing SSH service.
-Successfully prepared SSH service.
Setting user environmental variables.
Successfully set user environmental variables.
-Configuring alarms on the cluster nodes.
-Successfully configured alarms on the cluster nodes.
Setting the dynamic link library.
Successfully set the dynamic link library.
-Setting Cgroup.
-Successfully set Cgroup.
+Setting Core file
+Successfully set core path.
+Setting pssh path
+Successfully set pssh path.
Set ARM Optimization.
-Successfully set ARM Optimization.
+No need to set ARM Optimization.
+Fixing server package owner.
Setting finish flag.
Successfully set finish flag.
Preinstallation succeeded.
+S
```
root密码不一致也不能修改为一致,执行前置脚本本地安装模式:
```
-plat1:/opt/software/openGauss/script # python gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/clusterconfig.xml
+plat1:/opt/software/openGauss/script # ./gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/clusterconfig.xml
Parsing the configuration file.
Successfully parsed the configuration file.
Installing the tools on the local node.
@@ -300,7 +308,7 @@ Preinstallation succeeded.
以非交互模式执行前置:
```
-plat1:/opt/software/openGauss/script # python gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml --non-interactive
+plat1:/opt/software/openGauss/script # ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml --non-interactive
Parsing the configuration file.
Successfully parsed the configuration file.
Installing the tools on the local node.
diff --git "a/content/zh/docs/installation/\345\207\206\345\244\207\350\275\257\347\241\254\344\273\266\345\256\211\350\243\205\347\216\257\345\242\203.md" "b/content/zh/docs/installation/\345\207\206\345\244\207\350\275\257\347\241\254\344\273\266\345\256\211\350\243\205\347\216\257\345\242\203.md"
index 9a7e8f73b22367f76968833a9353ac845700959e..7a67ee06200bc3f01e2885d71e32d4bee349ea97 100644
--- "a/content/zh/docs/installation/\345\207\206\345\244\207\350\275\257\347\241\254\344\273\266\345\256\211\350\243\205\347\216\257\345\242\203.md"
+++ "b/content/zh/docs/installation/\345\207\206\345\244\207\350\275\257\347\241\254\344\273\266\345\256\211\350\243\205\347\216\257\345\242\203.md"
@@ -1,4 +1,4 @@
-# 准备软硬件安装环境
+# 准备软硬件安装环境
本章节描述安装前需要进行的环境准备。
diff --git "a/content/zh/docs/installation/\345\210\233\345\273\272XML\351\205\215\347\275\256\346\226\207\344\273\266.md" "b/content/zh/docs/installation/\345\210\233\345\273\272XML\351\205\215\347\275\256\346\226\207\344\273\266.md"
index a47446b58a5a312280c2b3f10c3a44d75071cde2..975e8500d684a438d79f6480c5422a6b771d1221 100644
--- "a/content/zh/docs/installation/\345\210\233\345\273\272XML\351\205\215\347\275\256\346\226\207\344\273\266.md"
+++ "b/content/zh/docs/installation/\345\210\233\345\273\272XML\351\205\215\347\275\256\346\226\207\344\273\266.md"
@@ -1,4 +1,4 @@
-# 创建XML配置文件
+# 创建XML配置文件
安装openGauss前需要创建XML文件。XML文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件。
diff --git "a/content/zh/docs/installation/\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/installation/\345\210\235\345\247\213\345\214\226\345\256\211\350\243\205\347\216\257\345\242\203.md"
index e15cf25b6f338585ad181e65a6d0fc4701c5abb4..50efc705f6b9deaba7b6cc0c0a091a48c5072156 100644
--- "a/content/zh/docs/installation/\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/installation/\345\210\235\345\247\213\345\214\226\345\256\211\350\243\205\347\216\257\345\242\203.md"
@@ -1,4 +1,4 @@
-# 初始化安装环境
+# 初始化安装环境
为了保证openGauss的正确安装,请首先对主机环境进行配置。
diff --git "a/content/zh/docs/installation/\345\210\235\345\247\213\351\205\215\347\275\256.md" "b/content/zh/docs/installation/\345\210\235\345\247\213\351\205\215\347\275\256.md"
index 894dae50f77b9c7cfdc3c5b74f2945596b091574..5345de777efe8a2b887680c8c5fc05f0ea0b99be 100644
--- "a/content/zh/docs/installation/\345\210\235\345\247\213\351\205\215\347\275\256.md"
+++ "b/content/zh/docs/installation/\345\210\235\345\247\213\351\205\215\347\275\256.md"
@@ -1,4 +1,4 @@
-# 初始配置
+# 初始配置
安装完成后,可以对GUC参数、区域和字符集等进行配置,保证openGauss的平稳运行。
diff --git "a/content/zh/docs/installation/\345\215\225\350\212\202\347\202\271\351\205\215\347\275\256\346\226\207\344\273\266.md" "b/content/zh/docs/installation/\345\215\225\350\212\202\347\202\271\351\205\215\347\275\256\346\226\207\344\273\266.md"
index 44ad1084cf1bf33aa1474abc03c7182fe69f4fdc..da4120369475a1092460308eb977302edfd20923 100644
--- "a/content/zh/docs/installation/\345\215\225\350\212\202\347\202\271\351\205\215\347\275\256\346\226\207\344\273\266.md"
+++ "b/content/zh/docs/installation/\345\215\225\350\212\202\347\202\271\351\205\215\347\275\256\346\226\207\344\273\266.md"
@@ -1,4 +1,4 @@
-# 单节点配置文件
+# 单节点配置文件
```
@@ -8,10 +8,11 @@
-
-
-
-
+
+
+
+
+
@@ -28,7 +29,7 @@
-
+
diff --git "a/content/zh/docs/installation/\345\215\270\350\275\275openGauss.md" "b/content/zh/docs/installation/\345\215\270\350\275\275openGauss.md"
index 83caaaf8c36240028c6de4ba7dabe4be0b70adec..17b190055d130519c1baa3dde657684089cb4031 100644
--- "a/content/zh/docs/installation/\345\215\270\350\275\275openGauss.md"
+++ "b/content/zh/docs/installation/\345\215\270\350\275\275openGauss.md"
@@ -1,4 +1,4 @@
-# 卸载openGauss
+# 卸载openGauss
卸载openGauss的过程包含卸载openGauss和对openGauss服务器的环境做清理。
diff --git "a/content/zh/docs/installation/\345\256\211\350\243\205openGauss.md" "b/content/zh/docs/installation/\345\256\211\350\243\205openGauss.md"
index 4cabee01734335eecd5e4afbf44e3370a8179674..b44073284cc13597a4d2b482cebcb28d3da93632 100644
--- "a/content/zh/docs/installation/\345\256\211\350\243\205openGauss.md"
+++ "b/content/zh/docs/installation/\345\256\211\350\243\205openGauss.md"
@@ -1,4 +1,4 @@
-# 安装openGauss
+# 安装openGauss
- **[创建XML配置文件](创建XML配置文件.md)**
安装openGauss前需要创建XML文件。XML文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件。
diff --git "a/content/zh/docs/installation/\345\256\211\350\243\205\345\207\206\345\244\207.md" "b/content/zh/docs/installation/\345\256\211\350\243\205\345\207\206\345\244\207.md"
index a596c9ccee1610ccc336f96ac763eddb677415a1..b01451593aec1152d94cbaa8d0c2446a2133b0ce 100644
--- "a/content/zh/docs/installation/\345\256\211\350\243\205\345\207\206\345\244\207.md"
+++ "b/content/zh/docs/installation/\345\256\211\350\243\205\345\207\206\345\244\207.md"
@@ -1,4 +1,4 @@
-# 安装准备
+# 安装准备
本章详细介绍了安装openGauss的环境准备和配置,请在安装之前仔细阅读本章的内容。如果已完成本章节的配置,请进入“安装openGauss”章节。
diff --git "a/content/zh/docs/installation/\345\256\211\350\243\205\346\246\202\350\277\260.md" "b/content/zh/docs/installation/\345\256\211\350\243\205\346\246\202\350\277\260.md"
index 7997cfe8d89765797970b0c4ca60d8b4b51b45ad..e719ec5b5d151bb04c83d41e70ff06f932d3ea20 100644
--- "a/content/zh/docs/installation/\345\256\211\350\243\205\346\246\202\350\277\260.md"
+++ "b/content/zh/docs/installation/\345\256\211\350\243\205\346\246\202\350\277\260.md"
@@ -1,6 +1,9 @@
-# 安装概述
+# 安装概述
-openGauss支持单机部署和单机HA部署两种部署方式。单机部署时,可在一个主机部署多个数据库实例,但为了数据安全,不建议用户这样部署。单机HA部署支持一台主机和最少一台备机,备机和级联备一共最多4台的配置方式。
+openGauss支持单机部署和单机HA部署两种部署方式。单机部署时,可在一个主机部署多个数据库实例,但为了数据安全,不建议用户这样部署。单机HA部署支持一台主机和最少一台备机,备机一共最多4台的配置方式。
单机部署和单机HA部署均支持精简模式和兼容模式。精简模式下,您可以安装openGauss数据库并正常使用;兼容模式是在精简模式的基础上做了兼容增强,安装兼容包后会兼容主流数据库的接口名称,便于习惯主流数据库的用户使用openGauss。
+> **说明:**
+>通过openGauss提供的脚本安装时,只允许在单台物理机只部署一个数据库系统。如果您需要在单台物理机部署多个数据库系统,建议您通过命令行安装,不需要通过openGauss提供安装脚本执行安装。
+
diff --git "a/content/zh/docs/installation/\345\256\211\350\243\205\351\252\214\350\257\201.md" "b/content/zh/docs/installation/\345\256\211\350\243\205\351\252\214\350\257\201.md"
index 4a7f5d8492b15827447583883032554e098d4fad..5a1f012701919d60d5db3952ef842f69420843fb 100644
--- "a/content/zh/docs/installation/\345\256\211\350\243\205\351\252\214\350\257\201.md"
+++ "b/content/zh/docs/installation/\345\256\211\350\243\205\351\252\214\350\257\201.md"
@@ -1,5 +1,5 @@
-# 安装验证
+# 安装验证
-- **[检查openGauss健康状态](检查openGauss健康状态.md)**
+- **[检查健康状态](检查健康状态.md)**
diff --git "a/content/zh/docs/installation/\346\211\213\345\267\245\345\273\272\347\253\213\344\272\222\344\277\241.md" "b/content/zh/docs/installation/\346\211\213\345\267\245\345\273\272\347\253\213\344\272\222\344\277\241.md"
index cea57f1cd09ecb42f01e7ba58e564e45eaa482c5..7364cfeff59267baf41e30c04e906317dc43128a 100644
--- "a/content/zh/docs/installation/\346\211\213\345\267\245\345\273\272\347\253\213\344\272\222\344\277\241.md"
+++ "b/content/zh/docs/installation/\346\211\213\345\267\245\345\273\272\347\253\213\344\272\222\344\277\241.md"
@@ -1,10 +1,9 @@
-# 手工建立互信
+# 手工建立互信
openGauss在安装过程中,需要在openGauss中的主机间执行命令,传送文件等操作。因此,在普通用户安装前需要确保互信是连通的。前置脚本中会先建立root用户间的互信,然后创建普通用户,并建立普通用户间的互信。
> **须知:**
>root用户互信可能会存在安全隐患,因此建议用户在使用完成后,立即删除各主机上root用户的互信。
->单机部署不需要创建互信。
## 前提条件
@@ -199,8 +198,7 @@ openGauss在安装过程中,需要在openGauss中的主机间执行命令,
```
plat1:~ # ssh plat2
- Last login: Tue Jan 5 10:28:18 2016 from plat1
- Huawei's internal systems must only be used for conducting Huawei's business or for purposes authorized by Huawei management.Use is subject to audit at any time by Huawei management.
+ Last login: Sat Jun 20 14:01:07 2020
plat2:~ # exit
logout
Connection to plat2 closed.
diff --git "a/content/zh/docs/installation/\346\211\247\350\241\214\345\215\270\350\275\275.md" "b/content/zh/docs/installation/\346\211\247\350\241\214\345\215\270\350\275\275.md"
index cd6fd3c6b91314e6d7c2899a48e5250fdd467107..3ac8b25bdcbd60f112e0479975303d3fb95e3d87 100644
--- "a/content/zh/docs/installation/\346\211\247\350\241\214\345\215\270\350\275\275.md"
+++ "b/content/zh/docs/installation/\346\211\247\350\241\214\345\215\270\350\275\275.md"
@@ -1,4 +1,4 @@
-# 执行卸载
+# 执行卸载
openGauss提供了卸载脚本帮助用户完整的卸载openGauss。
diff --git "a/content/zh/docs/installation/\346\211\247\350\241\214\345\256\211\350\243\205.md" "b/content/zh/docs/installation/\346\211\247\350\241\214\345\256\211\350\243\205.md"
index 455d4d8ac7380e0af7a27f803a59b62bb7213429..06fa4dc8af9b6ff491879c4a6b2b7a14808de400 100644
--- "a/content/zh/docs/installation/\346\211\247\350\241\214\345\256\211\350\243\205.md"
+++ "b/content/zh/docs/installation/\346\211\247\350\241\214\345\256\211\350\243\205.md"
@@ -1,4 +1,4 @@
-# 执行安装
+# 执行安装
执行前置脚本准备好openGauss安装环境之后,按照启动安装过程部署openGauss。
@@ -10,12 +10,14 @@
## 操作步骤
-1. (可选)检查安装包和openGauss配置文件在规划路径下是否已存在。如果没有则需要重新上传一份,并解压和修改属主为omm。
+1. 检查安装包和openGauss配置文件在规划路径下是否已存在,如果没有,重新执行预安装,确保预安装成功,再执行以下步骤。
```
- cd /opt/software/openGauss/script
- chmod -R 755 /opt/software/openGauss/script
- chown -R omm:dbgrp /opt/software/openGauss/script
+
+ ```
+
+ ```
+
```
2. 登录到openGauss的主机,并切换到omm用户。
@@ -34,14 +36,22 @@
gs_install -X /opt/software/openGauss/clusterconfig.xml
```
- /opt/software/openGauss/clusterconfig.xml为openGauss配置文件的路径。
+ /opt/software/openGauss/clusterconfig.xml为openGauss配置文件的路径。在执行过程中,用户需根据提示输入数据库的密码,密码具有一定的复杂度,为保证用户正常使用该数据库,请记住输入的数据库密码。
+
+ 设置的密码要符合复杂度要求:
+
+ - 最少包含8个字符;
+ - 不能和用户名和当前密码(ALTER)相同,或和当前密码反序;
+ - 至少包含大写字母(A-Z),小写字母(a-z),数字,非字母数字字符(限定为\~!@\#$%^&\*\(\)-\_=+\\|\[\{\}\];:,<.\>/?)四类字符中的三类字符。
+
+ 安装过程中会生成ssl证书,证书存放路径为\{gaussdbAppPath\}/share/sslcert/om,其中\{gaussdbAppPath\}为集群openGauss配置文件中指定的程序安装目录。
日志文件路径下会生成两个日志文件:“gs\_install-YYYY-MMDD\_HHMMSS.log”和“gs\_local-YYYY-MM-DD\_HHMMSS.log”。
> **说明:**
>执行gs\_install脚本时,如果输入参数--autostart=no, 则工具脚本在配置(config)步骤完成后退出,不会自动启动openGauss,需要用户通过执行gs\_om -t start命令手动启动。
-4. 安装执行成功之后,需要手动删除主机root用户的互信,即删除openGauss数据库各节点上的互信文件。
+4. 安装执行成功之后,需要手动删除主机root用户的互信,即删除openGauss数据库各节点上的互信文件。
```
rm –rf ~/.ssh
@@ -67,11 +77,11 @@
- 1
+ 1
- openGauss 安装目录
+ openGauss 安装目录
- /opt/gaussdb/app
+ /opt/opengauss/app
bin
@@ -88,16 +98,6 @@
存放数据库运行所需要的头文件。
- jdk
-
- 存放javaJDK环境文件。
-
-
- utilslib
-
- 存放extension扩展依赖库文件。
-
-
lib
存放数据库的库文件的目录。
@@ -112,7 +112,7 @@
openGauss 数据目录
- /gaussdb/data
+ /opt/gaussdb/data
data_dnxxx
@@ -124,7 +124,7 @@
openGauss 日志目录
- /var/log/gaussdb /用户名
+ /opt/opengauss/gaussdb_log/用户名
bin
@@ -156,7 +156,7 @@
openGauss 系统工具目录
- /opt/huawei/wisequery
+ /opt/opengauss/tool
script
@@ -187,16 +187,28 @@ Check preinstall on every node.
Successfully checked preinstall on every node.
Creating the backup directory.
Successfully created the backup directory.
+begin deploy..
Installing the cluster.
+begin prepare Install Cluster..
Checking the installation environment on all nodes.
+begin install Cluster..
Installing applications on all nodes.
Successfully installed APP.
+begin init Instance..
+encrypt ciper and rand files for database.
+Please enter password for database:
+Please repeat for database:
+begin to create CA cert files
+The sslcert will be generated in /opt/gaussdb/cluster/app/share/sslcert/om
Cluster installation is completed.
Configuring.
Deleting instances from all nodes.
+Successfully deleted instances from all nodes.
Checking node configuration on all nodes.
Initializing instances on all nodes.
Updating instance configuration on all nodes.
+Check consistence of memCheck and coresCheck on DN nodes.
+Successful check consistence of memCheck and coresCheck on all nodes.
Configuring pg_hba on all nodes.
Configuration is completed.
Successfully started cluster.
diff --git "a/content/zh/docs/installation/\346\243\200\346\237\245\345\201\245\345\272\267\347\212\266\346\200\201.md" "b/content/zh/docs/installation/\346\243\200\346\237\245\345\201\245\345\272\267\347\212\266\346\200\201.md"
new file mode 100644
index 0000000000000000000000000000000000000000..c2e842984c5628c22217d00316190bb81201bb4b
--- /dev/null
+++ "b/content/zh/docs/installation/\346\243\200\346\237\245\345\201\245\345\272\267\347\212\266\346\200\201.md"
@@ -0,0 +1,61 @@
+# 检查健康状态
+
+通过openGauss提供的gs\_checkos工具可以完成操作系统状态检查。
+
+## 前提条件
+
+- 当前的硬件和网络环境正常。
+- 各主机间root互信状态正常。
+- 只能使用root用户执行gs\_checkos命令。
+
+## 操作步骤
+
+1. 以root用户身份登录服务器。
+2. 执行如下命令对openGauss节点服务器的OS参数进行检查。
+
+ ```
+ gs_checkos -i A
+ ```
+
+ 检查节点服务器的OS参数的目的是为了保证openGauss正常通过预安装,并且在安装成功后可以安全高效的运行。详细的检查项目请参见《工具参考》gs\_checkos工具的表 1 操作系统检查项,操作系统参数和文件系统参数。
+
+
+## 示例
+
+执行gs\_checkos前需要先执行前置脚本,准备环境。以参数"A"为例。
+
+```
+gs_checkos -i A
+Checking items:
+ A1. [ OS version status ] : Normal
+ A2. [ Kernel version status ] : Normal
+ A3. [ Unicode status ] : Normal
+ A4. [ Time zone status ] : Normal
+ A5. [ Swap memory status ] : Normal
+ A6. [ System control parameters status ] : Normal
+ A7. [ File system configuration status ] : Normal
+ A8. [ Disk configuration status ] : Normal
+ A9. [ Pre-read block size status ] : Normal
+ A10.[ IO scheduler status ] : Normal
+ A11.[ Network card configuration status ] : Normal
+ A12.[ Time consistency status ] : Warning
+ A13.[ Firewall service status ] : Normal
+ A14.[ THP service status ] : Normal
+Total numbers:14. Abnormal numbers:0. Warning number:1.
+```
+
+以参数"B"为例。
+
+```
+gs_checkos -i B
+Setting items:
+ B1. [ Set system control parameters ] : Normal
+ B2. [ Set file system configuration value ] : Normal
+ B3. [ Set pre-read block size value ] : Normal
+ B4. [ Set IO scheduler value ] : Normal
+ B5. [ Set network card configuration value ] : Normal
+ B6. [ Set THP service ] : Normal
+ B7. [ Set RemoveIPC value ] : Normal
+Total numbers:6. Abnormal numbers:0. Warning number:0.
+```
+
diff --git "a/content/zh/docs/installation/\347\244\272\344\276\213.md" "b/content/zh/docs/installation/\347\244\272\344\276\213.md"
index 3b66053729f94979e77f588410be56aefbc05247..c594a36d648750901da8a1308fe5c4eba55e1396 100644
--- "a/content/zh/docs/installation/\347\244\272\344\276\213.md"
+++ "b/content/zh/docs/installation/\347\244\272\344\276\213.md"
@@ -1,4 +1,4 @@
-# 示例
+# 示例
- **[单节点配置文件](单节点配置文件.md)**
diff --git "a/content/zh/docs/installation/\350\216\267\345\217\226\345\271\266\346\240\241\351\252\214\345\256\211\350\243\205\345\214\205.md" "b/content/zh/docs/installation/\350\216\267\345\217\226\345\271\266\346\240\241\351\252\214\345\256\211\350\243\205\345\214\205.md"
index b89142c17e2e05feea2630057812e3c0403b0d57..b5c9496ea2c40bae0794ca7d29a46ff8218108fa 100644
--- "a/content/zh/docs/installation/\350\216\267\345\217\226\345\271\266\346\240\241\351\252\214\345\256\211\350\243\205\345\214\205.md"
+++ "b/content/zh/docs/installation/\350\216\267\345\217\226\345\271\266\346\240\241\351\252\214\345\256\211\350\243\205\345\214\205.md"
@@ -1,16 +1,15 @@
-# 获取并校验安装包
+# 获取并校验安装包
为了防止安装包在传输过程中被恶意篡改或破坏给客户网络安全造成威胁,在获取到安装包后,需要对安装包的完整性进行校验,通过了校验的安装包才能部署。
## 前提条件
-- 已经获取PGP简易验证工具,如PGPVerify,同时也已获取公钥文件。
- 已经获取openGauss安装包和签名文件,安装包与签名文件是一一对应并放在同一目录下,一个安装包对应一个校验文件,签名文件由各产品与对应的安装包版本同时发布,签名文件的后缀是“asc”,通常情况下名称和安装包名称相同。假设安装包的名称openGauss-x.x.x.x-CentOS-64bit.tar.gz时,对应的校验文件的名称为“openGauss-x.x.x.x-CentOS-64bit.tar.asc”。
## 操作步骤
-1. **从openGauss开源社区下载对应平台的安装包**。
- 1. 登陆openGauss开源社区。
+1. 从openGauss开源社区下载对应平台的安装包。
+ 1. 登录openGauss开源社区。
2. 单击“下载”。
3. 解压下载后的压缩包。
@@ -18,40 +17,23 @@
1. 解压安装包,检查安装目录及文件是否齐全。在安装包所在目录执行以下命令:
```
- tar -zxvfopenGauss-x.x.x-openEuler-64bit.tar.gz
+ tar -zxvf openGauss-x.x.x-openEuler-64bit.tar.gz
ls -1
```
执行ls命令,显示类似如下信息,其中packages目录中_openGauss-x.x.x-openEuler_-64bit.tar.gz表示数据库安装包,在执行_openGauss-x.x.x_安装的过程中会对数据库安装程序自动执行SHA256校验
```
- total 188632
- -rwxr-xr-x 1 root root 392301 Sep 7 14:53 Copyright Notice.docx
- -rw-r--r-- 1 root root 1615973 Sep 7 14:52 openGauss-x.x.x-Inspection.tar.gz
- -rw-r--r-- 1 root root 17521151 Sep 7 14:54 openGauss-x.x.x-openEuler-64bit-ClientTools.tar.gz
- -rw-r--r-- 1 root root 7386461 Sep 7 14:54 openGauss-x.x.x-openEuler-64bit-Jdbc.tar.gz
- -rw-r--r-- 1 root root 4336455 Sep 7 14:54 openGauss-x.x.x-openEuler-64bit-Libpq.tar.gz
- -rw-r--r-- 1 root root 4982437 Sep 7 14:54 openGauss-x.x.x-openEuler-64bit-Odbc.tar.gz
- -rw-r--r-- 1 root root 2983406 Sep 7 14:54 openGauss-x.x.x-openEuler-64bit-gauss-loader.tar.gz
- -rw-r--r-- 1 root root 4559410 Sep 7 14:54openGauss-x.x.x-openEuler-64bit-gsql.tar.gz
- -rwxr-xr-x 1 root root 95274943 Sep 7 14:51 openGauss-x.x.x-openEuler-64bit-symbol.tar.gz
- -rwx------ 1 root root 184035063 Sep 7 14:53 openGauss-x.x.x-openEuler-64bit.bin
- -rw-r--r-- 1 root root 65 Sep 7 14:53 openGauss-x.x.x-openEuler-64bit.sha256
- -rw-r--r-- 1 root root 224104563 Sep 7 14:54 openGauss-x.x.x-openEuler-64bit.tar.gz
- -rw-r--r-- 1 root root 7253 Sep 7 14:30 openGauss-x.x.x-Sslcert.tar.gz
- -rwx------ 1 root root 370511659 Sep 10 15:14 openGauss-x.x.x_PACKAGES.tar.gz
- -rw------- 1 root root 65 Sep 7 14:53 inplace_upgrade_sql.sha256
- -rw------- 1 root root 193799 Sep 7 14:53 inplace_upgrade_sql.tar.gz
- drwxr-xr-x 9 root root 4096 Sep 7 14:53 lib
- drwxr-xr-x 4 root root 4096 Sep 7 14:53 libcgroup
- drwxr-xr-x 11 root root 4096 Sep 7 14:53 lvs
- drwxr-xr-x 7 root root 4096 Sep 7 14:53 pssh-2.3.1
- drwxr-xr-x 6 root root 4096 Sep 7 14:53 script
- drwxr-xr-x 9 root root 4096 Sep 7 14:53 sctp_patch
- -rwxr-xr-x 1 root root 40 Sep 7 14:53 server.key.cipher
- -rwxr-xr-x 1 root root 24 Sep 7 14:53 server.key.rand
- drwxr-xr-x 5 root root 4096 Sep 7 14:53 sudo
- -rw-r--r-- 1 root root 28 Sep 7 14:53 version.cfg
+ total 577M
+ -rw-r--r-- 1 root root 36 Jun 15 11:46 bepkit_env.conf
+ drwxr-xr-x 14 root root 4.0K Jun 15 11:46 lib
+ -rw-r--r-- 1 root root 65 Jun 15 11:46 openGauss-x.x.x-openEuler-64bit.sha256
+ -rwxr-xr-x 1 root root 214M Jun 15 11:46 openGauss-x.x.x-openEuler-64bit-symbol.tar.gz
+ -rw-r--r-- 1 root root 47M Jun 15 11:46 openGauss-x.x.x-openEuler-64bit.tar.bz2
+ -rw-r--r-- 1 root root 53M Jun 15 11:46 openGauss-x.x.x-openEuler-64bit.tar.gz
+ -rw------- 1 root root 265M Jun 18 15:50 openGauss-x.x.x_PACKAGES_RELEASE.tar.gz
+ drwxr-xr-x 5 root root 4.0K Jun 15 11:46 script
+ -rw-r--r-- 1 root root 32 Jun 15 11:46 version.cfg
```
diff --git "a/content/zh/docs/installation/\350\256\276\347\275\256root\347\224\250\346\210\267\350\277\234\347\250\213\347\231\273\345\275\225.md" "b/content/zh/docs/installation/\350\256\276\347\275\256root\347\224\250\346\210\267\350\277\234\347\250\213\347\231\273\345\275\225.md"
index 3e8d8a64fd924a30d66815677c19598ff6a79f1d..8f35098841c4f5d357768f27ad5d47e1ed382c99 100644
--- "a/content/zh/docs/installation/\350\256\276\347\275\256root\347\224\250\346\210\267\350\277\234\347\250\213\347\231\273\345\275\225.md"
+++ "b/content/zh/docs/installation/\350\256\276\347\275\256root\347\224\250\346\210\267\350\277\234\347\250\213\347\231\273\345\275\225.md"
@@ -1,4 +1,4 @@
-# 设置root用户远程登录
+# 设置root用户远程登录
在openGauss安装时需要root帐户远程登录访问权限,本章介绍如何设置使用root用户远程登录。
diff --git "a/content/zh/docs/installation/\350\256\276\347\275\256\345\255\227\347\254\246\351\233\206\345\217\202\346\225\260.md" "b/content/zh/docs/installation/\350\256\276\347\275\256\345\255\227\347\254\246\351\233\206\345\217\202\346\225\260.md"
index b106146bc1c9ebca4c5e0a106494b9f2039989dc..6b54c3de880248ea33bb2db2a107893ee8a4fe93 100644
--- "a/content/zh/docs/installation/\350\256\276\347\275\256\345\255\227\347\254\246\351\233\206\345\217\202\346\225\260.md"
+++ "b/content/zh/docs/installation/\350\256\276\347\275\256\345\255\227\347\254\246\351\233\206\345\217\202\346\225\260.md"
@@ -1,4 +1,4 @@
-# 设置字符集参数
+# 设置字符集参数
将各数据库节点的字符集设置为相同的字符集,可以在/etc/profile文件中添加"export LANG=XXX"(XXX为Unicode编码)。
diff --git "a/content/zh/docs/installation/\350\256\276\347\275\256\346\227\266\345\214\272\345\222\214\346\227\266\351\227\264.md" "b/content/zh/docs/installation/\350\256\276\347\275\256\346\227\266\345\214\272\345\222\214\346\227\266\351\227\264.md"
index 292dbc0f0702efd708b23ff200c37ec52f952b66..aee4af15c98377e7eb1ba650cdafb3de8ad4f2d6 100644
--- "a/content/zh/docs/installation/\350\256\276\347\275\256\346\227\266\345\214\272\345\222\214\346\227\266\351\227\264.md"
+++ "b/content/zh/docs/installation/\350\256\276\347\275\256\346\227\266\345\214\272\345\222\214\346\227\266\351\227\264.md"
@@ -1,4 +1,4 @@
-# 设置时区和时间
+# 设置时区和时间
将各数据库节点的时区设置为相同时区,可以将/usr/share/zoneinfo/目录下的时区文件拷贝为/etc/localtime文件。
@@ -7,7 +7,7 @@ cp /usr/share/zoneinfo/$地区/$时区 /etc/localtime
```
> **说明:**
->_$地区/$时区为需要设置时区的信息,例如:Asian_/Shanghai。
+>_$地区/$时区为需要设置时区的信息,例如:Asia_/Shanghai。
使用date -s命令将各主机的时间设置为统一时间,举例如下。
diff --git "a/content/zh/docs/installation/\350\256\276\347\275\256\347\275\221\345\215\241MTU\345\200\274.md" "b/content/zh/docs/installation/\350\256\276\347\275\256\347\275\221\345\215\241MTU\345\200\274.md"
index 8799e49db8660c41755d423a0d9d4c2effab919a..ae863617c41af2886e140e6daf3c06ff5092beee 100644
--- "a/content/zh/docs/installation/\350\256\276\347\275\256\347\275\221\345\215\241MTU\345\200\274.md"
+++ "b/content/zh/docs/installation/\350\256\276\347\275\256\347\275\221\345\215\241MTU\345\200\274.md"
@@ -1,4 +1,4 @@
-# 设置网卡MTU值
+# 设置网卡MTU值
将各数据库节点的网卡MTU值设置为相同大小。MTU值推荐8192,要求不小于1500
diff --git "a/content/zh/docs/installation/\350\275\257\347\241\254\344\273\266\347\216\257\345\242\203\350\246\201\346\261\202.md" "b/content/zh/docs/installation/\350\275\257\347\241\254\344\273\266\347\216\257\345\242\203\350\246\201\346\261\202.md"
index 936f3565c0ce907f26fbc25833ad13ff71bc5f13..e041ddd7f743c18e2fb6dbf3c4aa70a90151499d 100644
--- "a/content/zh/docs/installation/\350\275\257\347\241\254\344\273\266\347\216\257\345\242\203\350\246\201\346\261\202.md"
+++ "b/content/zh/docs/installation/\350\275\257\347\241\254\344\273\266\347\216\257\345\242\203\350\246\201\346\261\202.md"
@@ -1,4 +1,4 @@
-# 软硬件环境要求
+# 软硬件环境要求
介绍openGauss的软硬件环境要求。建议部署openGauss的各服务器具有等价的软硬件配置。
@@ -34,7 +34,7 @@
用于安装 openGauss 的硬盘需最少满足如下要求:
至少1GB用于安装 openGauss 的应用程序包。 每个主机需大约300MB用于元数据存储。 预留70%以上的磁盘剩余空间用于数据存储。
建议系统盘配置为Raid1,数据盘配置为Raid5,且规划4组Raid5数据盘用于安装 openGauss 。有关Raid的配置方法在本手册中不做介绍。请参考硬件厂家的手册或互联网上的方法进行配置,其中Disk Cache Policy一项需要设置为Disabled,否则机器异常掉电后有数据丢失的风险。
- openGauss 支持使用SSD盘作为数据库的主存储设备, 支持 SAS接口 和 NVME协议 的SSD盘,以RAID的方式部署使用。
+ openGauss 支持使用SSD盘作为数据库的主存储设备,支持SAS接口和NVME协议的SSD盘,以RAID的方式部署使用。
网络要求
@@ -52,30 +52,83 @@
**表 2** 软件环境要求
- 软件类型
+ 软件类型
- 配置描述
+ 配置描述
- Linux操作系统
+ Linux操作系统
- openEuler 20.3LTS 和CentOS7.6
+ openEuler 20.3LTS和CentOS 7.6
- Linux文件系统
+ Linux文件系统
- 剩余inode个数 > 15亿(推荐)
+ 剩余inode个数 > 15亿(推荐)
- 工具
+ 工具
- Huawei JDK 1.8.0 、psmisc
+ Huawei JDK 1.8.0、psmisc、bzip2
- Python
+ Python
- Python 3.6.X-3.7.X
+openEuler:支持Python 3.7.X CentOS:支持Python 3.6.X
+
+
+
+
+
+## 软件依赖要求
+
+openGauss的软件依赖要求如[表3](#table11459151513383)所示。
+
+建议使用上述操作系统安装光盘或者源中,下列依赖软件的默认安装包,若不存在下列软件,可参看软件对应的建议版本。
+
+**表 3** 软件依赖要求
+
+
+ 所需软件
+
+ 建议版本
+
+
+
+ libaio-devel
+
+ 建议版本:0.3.109-13
+
+
+ flex
+
+ 要求版本:2.5.31 以上
+
+
+ bison
+
+ 建议版本:2.7-4
+
+
+ ncurses-devel
+
+ 建议版本:5.9-13.20130511
+
+
+ glibc.devel
+
+ 建议版本:2.17-111
+
+
+ patch
+
+ 建议版本:2.7.1-10
+
+
+ lsb_release
+
+ 建议版本:4.1
diff --git "a/content/zh/docs/installation/\351\205\215\347\275\256Host\345\237\272\346\234\254\344\277\241\346\201\257.md" "b/content/zh/docs/installation/\351\205\215\347\275\256Host\345\237\272\346\234\254\344\277\241\346\201\257.md"
index fcd07b56b27b2a0f75751371cb09787aee32407b..faee2836c020ff8e1ee352f3c42139467537cf6b 100644
--- "a/content/zh/docs/installation/\351\205\215\347\275\256Host\345\237\272\346\234\254\344\277\241\346\201\257.md"
+++ "b/content/zh/docs/installation/\351\205\215\347\275\256Host\345\237\272\346\234\254\344\277\241\346\201\257.md"
@@ -1,4 +1,4 @@
-# 配置Host基本信息
+# 配置Host基本信息
> **说明:**
>每台Host服务器都必须有如下信息,如下示例以node1为例。
diff --git "a/content/zh/docs/installation/\351\205\215\347\275\256\345\214\272\345\237\237\345\222\214\345\255\227\347\254\246\351\233\206.md" "b/content/zh/docs/installation/\351\205\215\347\275\256\345\214\272\345\237\237\345\222\214\345\255\227\347\254\246\351\233\206.md"
index 8e1846ffc51139dc6329f678ed24651ccb4d4b90..79202b517d24e4b8f15ecac831765a3ff8165682 100644
--- "a/content/zh/docs/installation/\351\205\215\347\275\256\345\214\272\345\237\237\345\222\214\345\255\227\347\254\246\351\233\206.md"
+++ "b/content/zh/docs/installation/\351\205\215\347\275\256\345\214\272\345\237\237\345\222\214\345\255\227\347\254\246\351\233\206.md"
@@ -1,4 +1,4 @@
-# 配置区域和字符集
+# 配置区域和字符集
区域和字符集在安装过程中通过指定初始化GUC参数来控制,考虑到这两个参数的重要性,在此单独对这两个参数进行详细说明。
@@ -31,7 +31,7 @@
GBK
- 如果数据库只需要支持中文,数据量很大,性能要求也很高,那就应该选择双字节定长编码的中文字符集。对 openGauss 来说, 中文字符集 目前只能选择GBK 。
+ 如果数据库只需要支持中文,数据量很大,性能要求也很高,那就应该选择双字节定长编码的中文字符集。对 openGauss 来说,中文字符集目前只能选择GBK 。
在安装数据库时指定初始化参数-E。 通过SQL语句创建数据库时指定ENCODING参数。
详细请参见示例 。
@@ -39,7 +39,7 @@
UTF-8
- 如果应用程序要处理各种各样的文字,或者将处理结果发布到使用不同语言的国家或地区,就应该选择Unicode字符集。对 openGauss 来说, Unicode字符集 目前只能选择UTF-8 。
+ 如果应用程序要处理各种各样的文字,或者将处理结果发布到使用不同语言的国家或地区,就应该选择Unicode字符集。对 openGauss 来说,Unicode字符集目前只能选择UTF-8 。
Latin1
diff --git "a/content/zh/docs/installation/\351\205\215\347\275\256\346\223\215\344\275\234\347\263\273\347\273\237\345\217\202\346\225\260.md" "b/content/zh/docs/installation/\351\205\215\347\275\256\346\223\215\344\275\234\347\263\273\347\273\237\345\217\202\346\225\260.md"
index debed9990068f2f50bea09df4837fb19e302aa69..cfb977316b7c383ea34bf6e25bbd350d62f2129c 100644
--- "a/content/zh/docs/installation/\351\205\215\347\275\256\346\223\215\344\275\234\347\263\273\347\273\237\345\217\202\346\225\260.md"
+++ "b/content/zh/docs/installation/\351\205\215\347\275\256\346\223\215\344\275\234\347\263\273\347\273\237\345\217\202\346\225\260.md"
@@ -1,4 +1,4 @@
-# 配置操作系统参数
+# 配置操作系统参数
openGauss要求各主机上的操作系统参数设置成一定的值,以满足系统运行的性能要求等。
@@ -490,7 +490,8 @@ vim /etc/security/limits.d/90-nproc.conf
是
- 15008192
+ x86是1500
+ ARM是8192
diff --git "a/content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\344\270\273\350\212\202\347\202\271\344\277\241\346\201\257.md" "b/content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\344\270\273\350\212\202\347\202\271\344\277\241\346\201\257.md"
index 9d008424a7cf5f5517baa138dfec9d2f70aa4206..017f58a8e669a87508a12d0249bea9f19611c78d 100644
--- "a/content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\344\270\273\350\212\202\347\202\271\344\277\241\346\201\257.md"
+++ "b/content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\344\270\273\350\212\202\347\202\271\344\277\241\346\201\257.md"
@@ -1,4 +1,4 @@
-# 配置数据库主节点信息
+# 配置数据库主节点信息
加粗字体内容为示例,可自行替换。每行信息均有注释进行说明。
@@ -10,24 +10,25 @@
-
-
+
+
+
```
**表 1** 参数说明
- 实例类型
+ 实例类型
- 参数
+ 参数
说明
- DBnode
+ DBnode
- dataNum
+ dataNum
当前主机上需要部署的数据库节点个数。
@@ -54,6 +55,11 @@
用于指定当前主机上的数据库节点的数据存储目录。此目录为数据库的数据存储目录。应规划到数据盘上。
+dataNode1_syncNum
+
+ 可选参数,用于指定当前集群中同步模式的节点数目。取值范围为0~数据库备机节点数。
+
+
@@ -68,13 +74,13 @@
主DBnode
- / opt/huawei /data/xxx
+ /opt/huawei/install/data/xxx
其中,xxx为当前主DBnode的名称。
备DBnode
- opt/huawei /data/slaveX
+ /opt/huawei/install/data/slaveX
其中,xxx为当前备DBnode的名称。
diff --git "a/content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\345\220\215\347\247\260\345\217\212\345\220\204\351\241\271\347\233\256\345\275\225.md" "b/content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\345\220\215\347\247\260\345\217\212\345\220\204\351\241\271\347\233\256\345\275\225.md"
index 8d757f980602e87c95ac344ac3addfa13bf90976..28abaccb30e6eccc1c2f009303d5527b23f216cf 100644
--- "a/content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\345\220\215\347\247\260\345\217\212\345\220\204\351\241\271\347\233\256\345\275\225.md"
+++ "b/content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\345\220\215\347\247\260\345\217\212\345\220\204\351\241\271\347\233\256\345\275\225.md"
@@ -1,4 +1,4 @@
-# 配置数据库名称及各项目录
+# 配置数据库名称及各项目录
加粗字体内容为示例,可自行替换。每行信息均有注释进行说明。
@@ -14,24 +14,24 @@
-
+
-
+
-
+
-
+
-
+
```
> **须知:**
->- “/opt/huawei/newsql/tools”存放互信等工具,避免权限问题,不要把实例数据目录放在此目录下。
+>- “/opt/huawei/install/om”存放互信等工具,避免权限问题,不要把实例数据目录放在此目录下。
>- 安装目录和数据目录需为空或者不存在,否则可能导致安装失败。
->- 在对数据库节点的实例进行具体配置时,需确保配置的目录之间不相互耦合。即各个配置目录不关联,删除其中任意一个目录,不会级联删除其它目录。如gaussdbAppPath为"/opt/gaussdb/app",gaussdbLogPath为"/opt/gaussdb/app/omm"。当gaussdbAppPath目录被删除时,会级联删除gaussdbLogPath目录,从而引起其它问题。
+>- 在对数据库节点的实例进行具体配置时,需确保配置的目录之间不相互耦合。即各个配置目录不关联,删除其中任意一个目录,不会级联删除其它目录。如gaussdbAppPath为"/opt/huawei/install/app",gaussdbLogPath为"/opt/huawei/install/app/omm"。当gaussdbAppPath目录被删除时,会级联删除gaussdbLogPath目录,从而引起其它问题。
>- 若需要安装脚本自动创建安装用户时各配置的目录需保证不与系统创建的默认用户目录耦合关联。
>- 配置openGauss路径和实例路径时,路径中不能包含"|",";","&","$","<","\>","\`","\\\\","'","\\"","\{","\}","\(","\)","\[","\]","\~","\*","?"特殊字符。
diff --git "a/content/zh/docs/installation/\357\274\210\345\217\257\351\200\211\357\274\211\350\256\276\347\275\256\345\244\207\346\234\272\345\217\257\350\257\273.md" "b/content/zh/docs/installation/\357\274\210\345\217\257\351\200\211\357\274\211\350\256\276\347\275\256\345\244\207\346\234\272\345\217\257\350\257\273.md"
index 2fcc3770438074a25310033f829706b7136f08bd..d6d93dbf439d3b8aff402deb1e1b9cb81123e9dc 100644
--- "a/content/zh/docs/installation/\357\274\210\345\217\257\351\200\211\357\274\211\350\256\276\347\275\256\345\244\207\346\234\272\345\217\257\350\257\273.md"
+++ "b/content/zh/docs/installation/\357\274\210\345\217\257\351\200\211\357\274\211\350\256\276\347\275\256\345\244\207\346\234\272\345\217\257\350\257\273.md"
@@ -1,4 +1,4 @@
-# (可选)设置备机可读
+# (可选)设置备机可读
备机可读特性为可选特性,需要修改配置参数并重启主备机器后才能使用。在开启备机可读之后,备机将支持读操作,并满足数据一致性要求。
diff --git a/content/zh/menu/index.md b/content/zh/menu/index.md
index 1e3c1d50acb92d22060b447ba8c4723a9c10c717..b564b80b0afee970a4556fbe60558af6e46b4d70 100644
--- a/content/zh/menu/index.md
+++ b/content/zh/menu/index.md
@@ -1,37 +1,108 @@
----
+---
headless: true
---
+- [法律声明]({{< relref "./docs/Releasenotes/法律声明.md" >}})
+- [发行说明]({{< relref "./docs/Releasenotes/Releasenotes.md" >}})
+ - [用户须知]({{< relref "./docs/Releasenotes/用户须知.md" >}})
+ - [版本介绍]({{< relref "./docs/Releasenotes/版本介绍.md" >}})
+ - [特性介绍]({{< relref "./docs/Releasenotes/特性介绍.md" >}})
+ - [版本使用注意事项]({{< relref "./docs/Releasenotes/版本使用注意事项.md" >}})
+ - [已知问题]({{< relref "./docs/Releasenotes/已知问题.md" >}})
+ - [CVE漏洞]({{< relref "./docs/Releasenotes/CVE漏洞.md" >}})
+ - [已修复问题]({{< relref "./docs/Releasenotes/已修复问题.md" >}})
+ - [源代码]({{< relref "./docs/Releasenotes/源代码.md" >}})
+ - [参与贡献]({{< relref "./docs/Releasenotes/参与贡献.md" >}})
+ - [致谢]({{< relref "./docs/Releasenotes/致谢.md" >}})
+
- [产品描述]({{< relref "./docs/Description/Description.md" >}})
- - [产品定位]({{< relref "./docs/Description/产品定位.md" >}})
- - [系统架构]({{< relref "./docs/Description/系统架构.md" >}})
- - [应用场景]({{< relref "./docs/Description/应用场景.md" >}})
- - [运行环境]({{< relref "./docs/Description/运行环境.md" >}})
- - [技术指标]({{< relref "./docs/Description/技术指标.md" >}})
- - [基本功能和特性]({{< relref "./docs/Description/基本功能和特性.md" >}})
- - [企业级增强特性]({{< relref "./docs/Description/企业级增强特性.md" >}})
- - [数据分区]({{< relref "./docs/Description/数据分区.md" >}})
- - [向量化执行和行列混合引擎]({{< relref "./docs/Description/向量化执行和行列混合引擎.md" >}})
- - [高可靠事务处理]({{< relref "./docs/Description/高可靠事务处理.md" >}})
- - [高并发&高性能]({{< relref "./docs/Description/高并发-高性能.md" >}})
- - [SQL自诊断]({{< relref "./docs/Description/SQL自诊断.md" >}})
- - [内存表]({{< relref "./docs/Description/内存表.md" >}})
- - [主备双机]({{< relref "./docs/Description/主备双机.md" >}})
+ - [产品定位]({{< relref "./docs/Description/产品定位.md" >}})
+ - [系统架构]({{< relref "./docs/Description/系统架构.md" >}})
+ - [应用场景]({{< relref "./docs/Description/应用场景.md" >}})
+ - [运行环境]({{< relref "./docs/Description/运行环境.md" >}})
+ - [技术指标]({{< relref "./docs/Description/技术指标.md" >}})
+ - [基本功能和特性]({{< relref "./docs/Description/基本功能和特性.md" >}})
+ - [企业级增强特性]({{< relref "./docs/Description/企业级增强特性.md" >}})
+ - [数据分区]({{< relref "./docs/Description/数据分区.md" >}})
+ - [向量化执行和行列混合引擎]({{< relref "./docs/Description/向量化执行和行列混合引擎.md" >}})
+ - [高可靠事务处理]({{< relref "./docs/Description/高可靠事务处理.md" >}})
+ - [高并发&高性能]({{< relref "./docs/Description/高并发-高性能.md" >}})
+ - [SQL自诊断]({{< relref "./docs/Description/SQL自诊断.md" >}})
+ - [内存表]({{< relref "./docs/Description/内存表.md" >}})
+ - [主备双机]({{< relref "./docs/Description/主备双机.md" >}})
+
+- [技术白皮书]({{< relref "./docs/Technicalwhitepaper/Technicalwhitepaper.md" >}})
+ - [产品定位]({{< relref "./docs/Technicalwhitepaper/产品定位.md" >}})
+ - [应用场景]({{< relref "./docs/Technicalwhitepaper/应用场景.md" >}})
+ - [技术特点]({{< relref "./docs/Technicalwhitepaper/技术特点.md" >}})
+ - [软件架构]({{< relref "./docs/Technicalwhitepaper/软件架构.md" >}})
+ - [部署方案]({{< relref "./docs/Technicalwhitepaper/部署方案.md" >}})
+ - [常用概念]({{< relref "./docs/Technicalwhitepaper/常用概念.md" >}})
+ - [部署形态汇总]({{< relref "./docs/Technicalwhitepaper/部署形态汇总.md" >}})
+ - [部署方案介绍]({{< relref "./docs/Technicalwhitepaper/部署方案介绍.md" >}})
+ - [单机部署]({{< relref "./docs/Technicalwhitepaper/单机部署.md" >}})
+ - [主备部署]({{< relref "./docs/Technicalwhitepaper/主备部署.md" >}})
+ - [一主多备部署]({{< relref "./docs/Technicalwhitepaper/一主多备部署.md" >}})
+ - [典型组网]({{< relref "./docs/Technicalwhitepaper/典型组网.md" >}})
+ - [软硬件配置要求]({{< relref "./docs/Technicalwhitepaper/软硬件配置要求.md" >}})
+ - [软件要求]({{< relref "./docs/Technicalwhitepaper/软件要求.md" >}})
+ - [硬件配置要求]({{< relref "./docs/Technicalwhitepaper/硬件配置要求.md" >}})
+ - [数据库核心技术]({{< relref "./docs/Technicalwhitepaper/数据库核心技术.md" >}})
+ - [面向应用开发的基本功能]({{< relref "./docs/Technicalwhitepaper/面向应用开发的基本功能.md" >}})
+ - [支持标准SQL]({{< relref "./docs/Technicalwhitepaper/支持标准SQL.md" >}})
+ - [支持标准开发接口]({{< relref "./docs/Technicalwhitepaper/支持标准开发接口.md" >}})
+ - [事务支持]({{< relref "./docs/Technicalwhitepaper/事务支持.md" >}})
+ - [函数及存储过程支持]({{< relref "./docs/Technicalwhitepaper/函数及存储过程支持.md" >}})
+ - [PG接口兼容]({{< relref "./docs/Technicalwhitepaper/PG接口兼容.md" >}})
+ - [支持SQL hint]({{< relref "./docs/Technicalwhitepaper/支持SQL-hint.md" >}})
+ - [Copy接口支持容错机制]({{< relref "./docs/Technicalwhitepaper/Copy接口支持容错机制.md" >}})
+ - [高性能]({{< relref "./docs/Technicalwhitepaper/高性能.md" >}})
+ - [CBO优化器]({{< relref "./docs/Technicalwhitepaper/CBO优化器.md" >}})
+ - [行列混合存储]({{< relref "./docs/Technicalwhitepaper/行列混合存储.md" >}})
+ - [自适应压缩]({{< relref "./docs/Technicalwhitepaper/自适应压缩.md" >}})
+ - [分区]({{< relref "./docs/Technicalwhitepaper/分区.md" >}})
+ - [SQL by pass]({{< relref "./docs/Technicalwhitepaper/SQL-by-pass.md" >}})
+ - [鲲鹏NUMA架构优化]({{< relref "./docs/Technicalwhitepaper/鲲鹏NUMA架构优化.md" >}})
+ - [高扩展]({{< relref "./docs/Technicalwhitepaper/高扩展.md" >}})
+ - [线程池高并发]({{< relref "./docs/Technicalwhitepaper/线程池高并发.md" >}})
+ - [高可用]({{< relref "./docs/Technicalwhitepaper/高可用.md" >}})
+ - [主备机]({{< relref "./docs/Technicalwhitepaper/主备机.md" >}})
+ - [逻辑备份]({{< relref "./docs/Technicalwhitepaper/逻辑备份.md" >}})
+ - [物理备份]({{< relref "./docs/Technicalwhitepaper/物理备份.md" >}})
+ - [可维护性]({{< relref "./docs/Technicalwhitepaper/可维护性.md" >}})
+ - [支持WDR诊断报告]({{< relref "./docs/Technicalwhitepaper/支持WDR诊断报告.md" >}})
+ - [慢SQL诊断]({{< relref "./docs/Technicalwhitepaper/慢SQL诊断.md" >}})
+ - [支持一键式收集诊断信息]({{< relref "./docs/Technicalwhitepaper/支持一键式收集诊断信息.md" >}})
+ - [数据库安全]({{< relref "./docs/Technicalwhitepaper/数据库安全.md" >}})
+ - [访问控制]({{< relref "./docs/Technicalwhitepaper/访问控制.md" >}})
+ - [控制权和访问权分离]({{< relref "./docs/Technicalwhitepaper/控制权和访问权分离.md" >}})
+ - [数据库加密认证]({{< relref "./docs/Technicalwhitepaper/数据库加密认证.md" >}})
+ - [数据库审计]({{< relref "./docs/Technicalwhitepaper/数据库审计.md" >}})
+ - [网络通信安全特性]({{< relref "./docs/Technicalwhitepaper/网络通信安全特性.md" >}})
+ - [行级访问控制]({{< relref "./docs/Technicalwhitepaper/行级访问控制.md" >}})
+ - [技术指标]({{< relref "./docs/Technicalwhitepaper/技术指标.md" >}})
- [编译指导书]({{< relref "./docs/Compilationguide/Compilation.md" >}})
- - [搭建编译环境]({{< relref "./docs/Compilationguide/搭建编译环境.md" >}})
- - [硬件要求]({{< relref "./docs/Compilationguide/硬件要求.md" >}})
- - [软件要求]({{< relref "./docs/Compilationguide/软件要求.md" >}})
- - [操作系统要求]({{< relref "./docs/Compilationguide/操作系统要求.md" >}})
+ - [简介]({{< relref "./docs/Compilationguide/简介.md" >}})
+ - [目的]({{< relref "./docs/Compilationguide/目的.md" >}})
+ - [概述]({{< relref "./docs/Compilationguide/概述.md" >}})
+ - [搭建编译环境]({{< relref "./docs/Compilationguide/搭建编译环境.md" >}})
+ - [硬件要求]({{< relref "./docs/Compilationguide/硬件要求.md" >}})
+ - [软件要求]({{< relref "./docs/Compilationguide/软件要求.md" >}})
+ - [操作系统要求]({{< relref "./docs/Compilationguide/操作系统要求.md" >}})
- [软件依赖要求]({{< relref "./docs/Compilationguide/软件依赖要求.md" >}})
- [环境变量配置]({{< relref "./docs/Compilationguide/环境变量配置.md" >}})
- [版本编译]({{< relref "./docs/Compilationguide/版本编译.md" >}})
- [编译前准备]({{< relref "./docs/Compilationguide/编译前准备.md" >}})
- [代码下载]({{< relref "./docs/Compilationguide/代码下载.md" >}})
+ - [开源软件编译构建]({{< relref "./docs/Compilationguide/开源软件编译构建.md" >}})
+ - [build.sh介绍]({{< relref "./docs/Compilationguide/build-sh介绍.md" >}})
- [软件安装编译]({{< relref "./docs/Compilationguide/软件安装编译.md" >}})
- [产品安装包编译]({{< relref "./docs/Compilationguide/产品安装包编译.md" >}})
- [FAQ]({{< relref "./docs/Compilationguide/FAQ.md" >}})
- [如何清除编译过程中生成的临时文件]({{< relref "./docs/Compilationguide/如何清除编译过程中生成的临时文件.md" >}})
- - [如何解决“Configure error: Ccompiler cannot create executables”报错]({{< relref "./docs/Compilationguide/如何解决-Configure-error-Ccompiler-cannot-create-executables-报错.md" >}})
+ - [如何解决“Configure error: C compiler cannot create executables”报错]({{< relref "./docs/Compilationguide/如何解决-Configure-error-C-compiler-cannot-create-executables-报错.md" >}})
+ - [如何解决 "g++: fatal error: Killed signal terminated program cclplus" 报错]({{< relref "./docs/Compilationguide/如何解决-g++-fatal-error-Killed-signal-terminated-program-cclplus-报错.md" >}})
+ - [如何解决"out of memory allocating xxx bytes after a total of xxx bytes"报错]({{< relref "./docs/Compilationguide/如何解决-out-of-memory-allocating-xxx-bytes-after-a-total-of-xxx-bytes-报错.md" >}})
- [快速入门]({{< relref "./docs/Quickstart/Quickstart.md" >}})
- [了解产品]({{< relref "./docs/Quickstart/了解产品.md" >}})
@@ -65,11 +136,15 @@ headless: true
- [配置操作系统参数]({{< relref "./docs/Quickstart/配置操作系统参数.md" >}})
- [执行安装]({{< relref "./docs/Quickstart/执行安装.md" >}})
- [(可选)设置备机可读]({{< relref "./docs/Quickstart/(可选)设置备机可读.md" >}})
+ - [安装验证]({{< relref "./docs/Quickstart/安装验证.md" >}})
+ - [检查健康状态]({{< relref "./docs/Quickstart/检查健康状态.md" >}})
+ - [初始配置]({{< relref "./docs/Quickstart/初始配置.md" >}})
+ - [配置区域和字符集]({{< relref "./docs/Quickstart/配置区域和字符集.md" >}})
- [开始使用产品]({{< relref "./docs/Quickstart/开始使用产品.md" >}})
- [设置openGauss参数]({{< relref "./docs/Quickstart/设置openGauss参数.md" >}})
- [设置客户端认证策略]({{< relref "./docs/Quickstart/设置客户端认证策略.md" >}})
- [设置配置文件参数]({{< relref "./docs/Quickstart/设置配置文件参数.md" >}})
- - [gsql客户端连接openGauss]({{< relref "./docs/Quickstart/gsql客户端连接openGauss.md" >}})
+ - [gsql客户端连接]({{< relref "./docs/Quickstart/gsql客户端连接.md" >}})
- [确认连接信息]({{< relref "./docs/Quickstart/确认连接信息.md" >}})
- [使用gsql本地连接]({{< relref "./docs/Quickstart/使用gsql本地连接.md" >}})
- [使用gsql远程连接]({{< relref "./docs/Quickstart/使用gsql远程连接.md" >}})
@@ -143,13 +218,13 @@ headless: true
- [历史版本兼容性]({{< relref "./docs/Quickstart/历史版本兼容性.md" >}})
- [平台和客户端兼容性]({{< relref "./docs/Quickstart/平台和客户端兼容性.md" >}})
- [容错性]({{< relref "./docs/Quickstart/容错性.md" >}})
+ - [连接池参数]({{< relref "./docs/Quickstart/连接池参数.md" >}})
- [openGauss事务]({{< relref "./docs/Quickstart/openGauss事务.md" >}})
- [开发人员选项]({{< relref "./docs/Quickstart/开发人员选项.md" >}})
- [审计]({{< relref "./docs/Quickstart/审计.md" >}})
- [审计开关]({{< relref "./docs/Quickstart/审计开关.md" >}})
- [用户和权限审计]({{< relref "./docs/Quickstart/用户和权限审计.md" >}})
- [操作审计]({{< relref "./docs/Quickstart/操作审计.md" >}})
- - [事务监控]({{< relref "./docs/Quickstart/事务监控.md" >}})
- [升级参数]({{< relref "./docs/Quickstart/升级参数.md" >}})
- [其它选项]({{< relref "./docs/Quickstart/其它选项.md" >}})
- [等待事件]({{< relref "./docs/Quickstart/等待事件.md" >}})
@@ -158,21 +233,20 @@ headless: true
- [FAQ]({{< relref "./docs/Quickstart/FAQ.md" >}})
- [用户在openGauss节点间的互信丢失]({{< relref "./docs/Quickstart/用户在openGauss节点间的互信丢失.md" >}})
-
- [安装指南]({{< relref "./docs/Installation/Installation.md" >}})
- [安装概述]({{< relref "./docs/Installation/安装概述.md" >}})
- [安装准备]({{< relref "./docs/Installation/安装准备.md" >}})
- [了解安装流程]({{< relref "./docs/Installation/了解安装流程.md" >}})
- [获取并校验安装包]({{< relref "./docs/Installation/获取并校验安装包.md" >}})
- [准备软硬件安装环境]({{< relref "./docs/Installation/准备软硬件安装环境.md" >}})
- - [软硬件环境要求]({{< relref "./docs/Installation/软硬件环境要求.md" >}})
- - [修改操作系统配置]({{< relref "./docs/Installation/修改操作系统配置.md" >}})
- - [关闭操作系统防火墙]({{< relref "./docs/Installation/关闭操作系统防火墙.md" >}})
- - [设置字符集参数]({{< relref "./docs/Installation/设置字符集参数.md" >}})
- - [设置时区和时间]({{< relref "./docs/Installation/设置时区和时间.md" >}})
- - [关闭swap交换内存]({{< relref "./docs/Installation/关闭swap交换内存.md" >}})
- - [设置网卡MTU值]({{< relref "./docs/Installation/设置网卡MTU值.md" >}})
- - [设置root用户远程登录]({{< relref "./docs/Installation/设置root用户远程登录.md" >}})
+ - [软硬件环境要求]({{< relref "./docs/Installation/软硬件环境要求.md" >}})
+ - [修改操作系统配置]({{< relref "./docs/Installation/修改操作系统配置.md" >}})
+ - [关闭操作系统防火墙]({{< relref "./docs/Installation/关闭操作系统防火墙.md" >}})
+ - [设置字符集参数]({{< relref "./docs/Installation/设置字符集参数.md" >}})
+ - [设置时区和时间]({{< relref "./docs/Installation/设置时区和时间.md" >}})
+ - [关闭swap交换内存]({{< relref "./docs/Installation/关闭swap交换内存.md" >}})
+ - [设置网卡MTU值]({{< relref "./docs/Installation/设置网卡MTU值.md" >}})
+ - [设置root用户远程登录]({{< relref "./docs/Installation/设置root用户远程登录.md" >}})
- [了解安装用户及用户组]({{< relref "./docs/Installation/了解安装用户及用户组.md" >}})
- [安装openGauss]({{< relref "./docs/Installation/安装openGauss.md" >}})
- [创建XML配置文件]({{< relref "./docs/Installation/创建XML配置文件.md" >}})
@@ -189,14 +263,58 @@ headless: true
- [执行安装]({{< relref "./docs/Installation/执行安装.md" >}})
- [(可选)设置备机可读]({{< relref "./docs/Installation/(可选)设置备机可读.md" >}})
- [安装验证]({{< relref "./docs/Installation/安装验证.md" >}})
- - [检查openGauss健康状态]({{< relref "./docs/Installation/检查openGauss健康状态.md" >}})
+ - [检查健康状态]({{< relref "./docs/Installation/检查健康状态.md" >}})
- [初始配置]({{< relref "./docs/Installation/初始配置.md" >}})
- [配置区域和字符集]({{< relref "./docs/Installation/配置区域和字符集.md" >}})
- [卸载openGauss]({{< relref "./docs/Installation/卸载openGauss.md" >}})
- [执行卸载]({{< relref "./docs/Installation/执行卸载.md" >}})
- [一键式环境清理]({{< relref "./docs/Installation/一键式环境清理.md" >}})
+- [管理员指南]({{< relref "./docs/Administratorguide/Administratorguide.md" >}})
+ - [启停openGauss]({{< relref "./docs/Administratorguide/启停openGauss.md" >}})
+ - [状态查询]({{< relref "./docs/Administratorguide/状态查询.md" >}})
+ - [实例主备切换]({{< relref "./docs/Administratorguide/实例主备切换.md" >}})
+ - [生成配置文件]({{< relref "./docs/Administratorguide/生成配置文件.md" >}})
+ - [例行维护]({{< relref "./docs/Administratorguide/例行维护.md" >}})
+ - [日维护检查项]({{< relref "./docs/Administratorguide/日维护检查项.md" >}})
+ - [检查操作系统参数]({{< relref "./docs/Administratorguide/检查操作系统参数.md" >}})
+ - [检查办法]({{< relref "./docs/Administratorguide/检查办法.md" >}})
+ - [异常处理]({{< relref "./docs/Administratorguide/异常处理.md" >}})
+ - [检查openGauss健康状态]({{< relref "./docs/Administratorguide/检查openGauss健康状态.md" >}})
+ - [检查办法]({{< relref "./docs/Administratorguide/检查办法-0.md" >}})
+ - [异常处理]({{< relref "./docs/Administratorguide/异常处理-1.md" >}})
+ - [检查数据库性能]({{< relref "./docs/Administratorguide/检查数据库性能.md" >}})
+ - [检查办法]({{< relref "./docs/Administratorguide/检查办法-2.md" >}})
+ - [异常处理]({{< relref "./docs/Administratorguide/异常处理-3.md" >}})
+ - [检查和清理日志]({{< relref "./docs/Administratorguide/检查和清理日志.md" >}})
+ - [检查操作系统日志]({{< relref "./docs/Administratorguide/检查操作系统日志.md" >}})
+ - [检查openGauss运行日志]({{< relref "./docs/Administratorguide/检查openGauss运行日志.md" >}})
+ - [清理运行日志]({{< relref "./docs/Administratorguide/清理运行日志.md" >}})
+ - [检查时间一致性]({{< relref "./docs/Administratorguide/检查时间一致性.md" >}})
+ - [检查应用连接数]({{< relref "./docs/Administratorguide/检查应用连接数.md" >}})
+ - [例行维护表]({{< relref "./docs/Administratorguide/例行维护表.md" >}})
+ - [例行重建索引]({{< relref "./docs/Administratorguide/例行重建索引.md" >}})
+ - [数据安全维护建议]({{< relref "./docs/Administratorguide/数据安全维护建议.md" >}})
+ - [备份与恢复]({{< relref "./docs/Administratorguide/备份与恢复.md" >}})
+ - [概述]({{< relref "./docs/Administratorguide/概述.md" >}})
+ - [物理备份恢复]({{< relref "./docs/Administratorguide/物理备份恢复.md" >}})
+ - [gs\_basebackup]({{< relref "./docs/Administratorguide/gs_basebackup.md" >}})
+ - [逻辑备份恢复]({{< relref "./docs/Administratorguide/逻辑备份恢复.md" >}})
+ - [gs\_dump]({{< relref "./docs/Administratorguide/gs_dump.md" >}})
+ - [gs\_dumpall]({{< relref "./docs/Administratorguide/gs_dumpall.md" >}})
+ - [gs\_restore]({{< relref "./docs/Administratorguide/gs_restore.md" >}})
+ - [gs\_backup]({{< relref "./docs/Administratorguide/gs_backup.md" >}})
+ - [高危操作一览表]({{< relref "./docs/Administratorguide/高危操作一览表.md" >}})
+ - [日志参考]({{< relref "./docs/Administratorguide/日志参考.md" >}})
+ - [日志类型简介]({{< relref "./docs/Administratorguide/日志类型简介.md" >}})
+ - [系统日志]({{< relref "./docs/Administratorguide/系统日志.md" >}})
+ - [操作日志]({{< relref "./docs/Administratorguide/操作日志.md" >}})
+ - [审计日志]({{< relref "./docs/Administratorguide/审计日志.md" >}})
+ - [WAL日志]({{< relref "./docs/Administratorguide/WAL日志.md" >}})
+ - [性能日志]({{< relref "./docs/Administratorguide/性能日志.md" >}})
+
- [开发者指南]({{< relref "./docs/Developerguide/Developerguide.md" >}})
+ - [关于本文档]({{< relref "./docs/Developerguide/关于本文档.md" >}})
- [概述]({{< relref "./docs/Developerguide/概述.md" >}})
- [数据库逻辑结构图]({{< relref "./docs/Developerguide/数据库逻辑结构图.md" >}})
- [数据查询请求处理过程]({{< relref "./docs/Developerguide/数据查询请求处理过程.md" >}})
@@ -225,27 +343,40 @@ headless: true
- [创建和管理索引]({{< relref "./docs/Developerguide/创建和管理索引.md" >}})
- [创建和管理视图]({{< relref "./docs/Developerguide/创建和管理视图.md" >}})
- [创建和管理序列]({{< relref "./docs/Developerguide/创建和管理序列.md" >}})
- - [附录]({{< relref "./docs/Developerguide/附录.md" >}})
- - [客户端接入认证]({{< relref "./docs/Developerguide/客户端接入认证.md" >}})
- - [配置客户端接入认证]({{< relref "./docs/Developerguide/配置客户端接入认证.md" >}})
- - [配置文件参考]({{< relref "./docs/Developerguide/配置文件参考.md" >}})
- - [用SSL进行安全的TCP/IP连接]({{< relref "./docs/Developerguide/用SSL进行安全的TCP-IP连接.md" >}})
- - [用SSH隧道进行安全的TCP/IP连接]({{< relref "./docs/Developerguide/用SSH隧道进行安全的TCP-IP连接.md" >}})
- - [查看数据库连接数]({{< relref "./docs/Developerguide/查看数据库连接数.md" >}})
- - [SSL证书管理]({{< relref "./docs/Developerguide/SSL证书管理.md" >}})
- - [证书生成]({{< relref "./docs/Developerguide/证书生成.md" >}})
- - [证书替换]({{< relref "./docs/Developerguide/证书替换.md" >}})
- - [设置文件权限安全策略]({{< relref "./docs/Developerguide/设置文件权限安全策略.md" >}})
+ - [应用程序开发教程]({{< relref "./docs/Developerguide/应用程序开发教程.md" >}})
+ - [开发规范]({{< relref "./docs/Developerguide/开发规范.md" >}})
+ - [基于JDBC开发]({{< relref "./docs/Developerguide/基于JDBC开发.md" >}})
+ - [JDBC包、驱动类和环境类]({{< relref "./docs/Developerguide/JDBC包-驱动类和环境类.md" >}})
+ - [开发流程]({{< relref "./docs/Developerguide/开发流程.md" >}})
+ - [加载驱动]({{< relref "./docs/Developerguide/加载驱动.md" >}})
+ - [连接数据库]({{< relref "./docs/Developerguide/连接数据库-0.md" >}})
+ - [连接数据库(以SSL方式)]({{< relref "./docs/Developerguide/连接数据库(以SSL方式).md" >}})
+ - [执行SQL语句]({{< relref "./docs/Developerguide/执行SQL语句.md" >}})
+ - [处理结果集]({{< relref "./docs/Developerguide/处理结果集.md" >}})
+ - [关闭连接]({{< relref "./docs/Developerguide/关闭连接.md" >}})
+ - [示例:常用操作]({{< relref "./docs/Developerguide/示例-常用操作.md" >}})
+ - [示例:重新执行应用SQL]({{< relref "./docs/Developerguide/示例-重新执行应用SQL.md" >}})
+ - [示例:通过本地文件导入导出数据]({{< relref "./docs/Developerguide/示例-通过本地文件导入导出数据.md" >}})
+ - [示例:从MY向openGauss进行数据迁移]({{< relref "./docs/Developerguide/示例-从MY向openGauss进行数据迁移.md" >}})
+ - [JDBC接口参考]({{< relref "./docs/Developerguide/JDBC接口参考.md" >}})
+ - [基于ODBC开发]({{< relref "./docs/Developerguide/基于ODBC开发.md" >}})
+ - [ODBC包及依赖的库和头文件]({{< relref "./docs/Developerguide/ODBC包及依赖的库和头文件.md" >}})
+ - [Linux下配置数据源]({{< relref "./docs/Developerguide/Linux下配置数据源.md" >}})
+ - [开发流程]({{< relref "./docs/Developerguide/开发流程-1.md" >}})
+ - [示例]({{< relref "./docs/Developerguide/示例.md" >}})
+ - [ODBC接口参考]({{< relref "./docs/Developerguide/ODBC接口参考.md" >}})
+ - [基于libpq开发]({{< relref "./docs/Developerguide/基于libpq开发.md" >}})
+ - [调试]({{< relref "./docs/Developerguide/调试.md" >}})
- [管理数据库安全]({{< relref "./docs/Developerguide/管理数据库安全.md" >}})
- - [客户端接入认证]({{< relref "./docs/Developerguide/客户端接入认证-0.md" >}})
- - [配置客户端接入认证]({{< relref "./docs/Developerguide/配置客户端接入认证-1.md" >}})
- - [配置文件参考]({{< relref "./docs/Developerguide/配置文件参考-2.md" >}})
- - [用SSL进行安全的TCP/IP连接]({{< relref "./docs/Developerguide/用SSL进行安全的TCP-IP连接-3.md" >}})
- - [用SSH隧道进行安全的TCP/IP连接]({{< relref "./docs/Developerguide/用SSH隧道进行安全的TCP-IP连接-4.md" >}})
- - [查看数据库连接数]({{< relref "./docs/Developerguide/查看数据库连接数-5.md" >}})
- - [SSL证书管理]({{< relref "./docs/Developerguide/SSL证书管理-6.md" >}})
- - [证书生成]({{< relref "./docs/Developerguide/证书生成-7.md" >}})
- - [证书替换]({{< relref "./docs/Developerguide/证书替换-8.md" >}})
+ - [客户端接入认证]({{< relref "./docs/Developerguide/客户端接入认证.md" >}})
+ - [配置客户端接入认证]({{< relref "./docs/Developerguide/配置客户端接入认证.md" >}})
+ - [配置文件参考]({{< relref "./docs/Developerguide/配置文件参考.md" >}})
+ - [用SSL进行安全的TCP/IP连接]({{< relref "./docs/Developerguide/用SSL进行安全的TCP-IP连接.md" >}})
+ - [用SSH隧道进行安全的TCP/IP连接]({{< relref "./docs/Developerguide/用SSH隧道进行安全的TCP-IP连接.md" >}})
+ - [查看数据库连接数]({{< relref "./docs/Developerguide/查看数据库连接数.md" >}})
+ - [SSL证书管理]({{< relref "./docs/Developerguide/SSL证书管理.md" >}})
+ - [证书生成]({{< relref "./docs/Developerguide/证书生成.md" >}})
+ - [证书替换]({{< relref "./docs/Developerguide/证书替换.md" >}})
- [管理用户及权限]({{< relref "./docs/Developerguide/管理用户及权限.md" >}})
- [默认权限机制]({{< relref "./docs/Developerguide/默认权限机制.md" >}})
- [管理员]({{< relref "./docs/Developerguide/管理员.md" >}})
@@ -263,7 +394,7 @@ headless: true
- [审计概述]({{< relref "./docs/Developerguide/审计概述.md" >}})
- [查看审计结果]({{< relref "./docs/Developerguide/查看审计结果.md" >}})
- [维护审计日志]({{< relref "./docs/Developerguide/维护审计日志.md" >}})
- - [设置文件权限安全策略]({{< relref "./docs/Developerguide/设置文件权限安全策略-9.md" >}})
+ - [设置文件权限安全策略]({{< relref "./docs/Developerguide/设置文件权限安全策略.md" >}})
- [接口参考]({{< relref "./docs/Developerguide/接口参考.md" >}})
- [JDBC]({{< relref "./docs/Developerguide/JDBC.md" >}})
- [java.sql.Connection]({{< relref "./docs/Developerguide/java-sql-Connection.md" >}})
@@ -303,7 +434,7 @@ headless: true
- [SQLSetConnectAttr]({{< relref "./docs/Developerguide/SQLSetConnectAttr.md" >}})
- [SQLSetEnvAttr]({{< relref "./docs/Developerguide/SQLSetEnvAttr.md" >}})
- [SQLSetStmtAttr]({{< relref "./docs/Developerguide/SQLSetStmtAttr.md" >}})
- - [示例]({{< relref "./docs/Developerguide/示例.md" >}})
+ - [示例]({{< relref "./docs/Developerguide/示例-2.md" >}})
- [libpq]({{< relref "./docs/Developerguide/libpq.md" >}})
- [数据库连接控制函数]({{< relref "./docs/Developerguide/数据库连接控制函数.md" >}})
- [PQconnectdbParams]({{< relref "./docs/Developerguide/PQconnectdbParams.md" >}})
@@ -338,7 +469,7 @@ headless: true
- [PQgetCancel]({{< relref "./docs/Developerguide/PQgetCancel.md" >}})
- [PQfreeCancel]({{< relref "./docs/Developerguide/PQfreeCancel.md" >}})
- [PQcancel]({{< relref "./docs/Developerguide/PQcancel.md" >}})
- - [示例]({{< relref "./docs/Developerguide/示例-10.md" >}})
+ - [示例]({{< relref "./docs/Developerguide/示例-3.md" >}})
- [链接字符]({{< relref "./docs/Developerguide/链接字符.md" >}})
- [导入数据]({{< relref "./docs/Developerguide/导入数据.md" >}})
- [通过INSERT语句直接写入数据]({{< relref "./docs/Developerguide/通过INSERT语句直接写入数据.md" >}})
@@ -346,10 +477,10 @@ headless: true
- [关于COPY FROM STDIN导入数据]({{< relref "./docs/Developerguide/关于COPY-FROM-STDIN导入数据.md" >}})
- [CopyManager类简介]({{< relref "./docs/Developerguide/CopyManager类简介.md" >}})
- [示例1:通过本地文件导入导出数据]({{< relref "./docs/Developerguide/示例1-通过本地文件导入导出数据.md" >}})
- - [示例2:从MySQL向openGauss进行数据迁移]({{< relref "./docs/Developerguide/示例2-从MySQL向openGauss进行数据迁移.md" >}})
+ - [示例2:从MY向openGauss数据库进行数据迁移]({{< relref "./docs/Developerguide/示例2-从MY向openGauss数据库进行数据迁移.md" >}})
- [使用gsql元命令导入数据]({{< relref "./docs/Developerguide/使用gsql元命令导入数据.md" >}})
- [使用gs\_restore命令导入数据]({{< relref "./docs/Developerguide/使用gs_restore命令导入数据.md" >}})
- - [更新表中数据]({{< relref "./docs/Developerguide/更新表中数据-11.md" >}})
+ - [更新表中数据]({{< relref "./docs/Developerguide/更新表中数据-4.md" >}})
- [使用DML命令更新表]({{< relref "./docs/Developerguide/使用DML命令更新表.md" >}})
- [使用合并方式更新和插入数据]({{< relref "./docs/Developerguide/使用合并方式更新和插入数据.md" >}})
- [深层复制]({{< relref "./docs/Developerguide/深层复制.md" >}})
@@ -369,21 +500,81 @@ headless: true
- [数据导入和查询的并发]({{< relref "./docs/Developerguide/数据导入和查询的并发.md" >}})
- [导出数据]({{< relref "./docs/Developerguide/导出数据.md" >}})
- [使用gs\_dump和gs\_dumpall命令导出数据]({{< relref "./docs/Developerguide/使用gs_dump和gs_dumpall命令导出数据.md" >}})
- - [概述]({{< relref "./docs/Developerguide/概述-12.md" >}})
+ - [概述]({{< relref "./docs/Developerguide/概述-5.md" >}})
- [导出单个数据库]({{< relref "./docs/Developerguide/导出单个数据库.md" >}})
- [导出数据库]({{< relref "./docs/Developerguide/导出数据库.md" >}})
- [导出模式]({{< relref "./docs/Developerguide/导出模式.md" >}})
- [导出表]({{< relref "./docs/Developerguide/导出表.md" >}})
- [导出所有数据库]({{< relref "./docs/Developerguide/导出所有数据库.md" >}})
- - [导出所有数据库]({{< relref "./docs/Developerguide/导出所有数据库-13.md" >}})
+ - [导出所有数据库]({{< relref "./docs/Developerguide/导出所有数据库-6.md" >}})
- [导出全局对象]({{< relref "./docs/Developerguide/导出全局对象.md" >}})
- [无权限角色导出数据]({{< relref "./docs/Developerguide/无权限角色导出数据.md" >}})
- [AI特性]({{< relref "./docs/Developerguide/AI特性.md" >}})
- - [SQL执行时间预测特性]({{< relref "./docs/Developerguide/SQL执行时间预测特性.md" >}})
- - [概述]({{< relref "./docs/Developerguide/概述-14.md" >}})
- - [使用指南]({{< relref "./docs/Developerguide/使用指南.md" >}})
+ - [Predictor]({{< relref "./docs/Developerguide/Predictor.md" >}})
+ - [概述]({{< relref "./docs/Developerguide/概述-7.md" >}})
+ - [环境部署]({{< relref "./docs/Developerguide/环境部署.md" >}})
+ - [使用指导]({{< relref "./docs/Developerguide/使用指导.md" >}})
- [最佳实践]({{< relref "./docs/Developerguide/最佳实践.md" >}})
- [常见问题处理]({{< relref "./docs/Developerguide/常见问题处理.md" >}})
+ - [X -Tuner]({{< relref "./docs/Developerguide/X-Tuner.md" >}})
+ - [概述]({{< relref "./docs/Developerguide/概述-8.md" >}})
+ - [使用指导]({{< relref "./docs/Developerguide/使用指导-9.md" >}})
+ - [获取帮助]({{< relref "./docs/Developerguide/获取帮助.md" >}})
+ - [命令参考]({{< relref "./docs/Developerguide/命令参考.md" >}})
+ - [常见问题处理]({{< relref "./docs/Developerguide/常见问题处理-10.md" >}})
+ - [Sqldiag]({{< relref "./docs/Developerguide/Sqldiag.md" >}})
+ - [概述]({{< relref "./docs/Developerguide/概述-11.md" >}})
+ - [使用指导]({{< relref "./docs/Developerguide/使用指导-12.md" >}})
+ - [获取帮助]({{< relref "./docs/Developerguide/获取帮助-13.md" >}})
+ - [命令参考]({{< relref "./docs/Developerguide/命令参考-14.md" >}})
+ - [常见问题处理]({{< relref "./docs/Developerguide/常见问题处理-15.md" >}})
+ - [性能调优]({{< relref "./docs/Developerguide/性能调优.md" >}})
+ - [总体调优思路]({{< relref "./docs/Developerguide/总体调优思路.md" >}})
+ - [确定性能调优范围]({{< relref "./docs/Developerguide/确定性能调优范围.md" >}})
+ - [硬件瓶颈点分析]({{< relref "./docs/Developerguide/硬件瓶颈点分析.md" >}})
+ - [CPU]({{< relref "./docs/Developerguide/CPU.md" >}})
+ - [内存]({{< relref "./docs/Developerguide/内存.md" >}})
+ - [I/O]({{< relref "./docs/Developerguide/I-O.md" >}})
+ - [网络]({{< relref "./docs/Developerguide/网络.md" >}})
+ - [查询最耗性能的SQL]({{< relref "./docs/Developerguide/查询最耗性能的SQL.md" >}})
+ - [分析作业是否被阻塞]({{< relref "./docs/Developerguide/分析作业是否被阻塞.md" >}})
+ - [系统调优指南]({{< relref "./docs/Developerguide/系统调优指南.md" >}})
+ - [操作系统参数调优]({{< relref "./docs/Developerguide/操作系统参数调优.md" >}})
+ - [数据库系统参数调优]({{< relref "./docs/Developerguide/数据库系统参数调优.md" >}})
+ - [数据库内存参数调优]({{< relref "./docs/Developerguide/数据库内存参数调优.md" >}})
+ - [数据库并发队列参数调优]({{< relref "./docs/Developerguide/数据库并发队列参数调优.md" >}})
+ - [配置LLVM]({{< relref "./docs/Developerguide/配置LLVM.md" >}})
+ - [LLVM适用场景与限制]({{< relref "./docs/Developerguide/LLVM适用场景与限制.md" >}})
+ - [其他因素对LLVM性能的影响]({{< relref "./docs/Developerguide/其他因素对LLVM性能的影响.md" >}})
+ - [LLVM使用建议]({{< relref "./docs/Developerguide/LLVM使用建议.md" >}})
+ - [SQL调优指南]({{< relref "./docs/Developerguide/SQL调优指南.md" >}})
+ - [Query执行流程]({{< relref "./docs/Developerguide/Query执行流程.md" >}})
+ - [SQL执行计划介绍]({{< relref "./docs/Developerguide/SQL执行计划介绍.md" >}})
+ - [SQL执行计划概述]({{< relref "./docs/Developerguide/SQL执行计划概述.md" >}})
+ - [详解]({{< relref "./docs/Developerguide/详解.md" >}})
+ - [调优流程]({{< relref "./docs/Developerguide/调优流程.md" >}})
+ - [更新统计信息]({{< relref "./docs/Developerguide/更新统计信息.md" >}})
+ - [审视和修改表定义]({{< relref "./docs/Developerguide/审视和修改表定义.md" >}})
+ - [审视和修改表定义概述]({{< relref "./docs/Developerguide/审视和修改表定义概述.md" >}})
+ - [选择存储模型]({{< relref "./docs/Developerguide/选择存储模型.md" >}})
+ - [使用局部聚簇]({{< relref "./docs/Developerguide/使用局部聚簇.md" >}})
+ - [使用分区表]({{< relref "./docs/Developerguide/使用分区表.md" >}})
+ - [选择数据类型]({{< relref "./docs/Developerguide/选择数据类型.md" >}})
+ - [典型SQL调优点]({{< relref "./docs/Developerguide/典型SQL调优点.md" >}})
+ - [SQL自诊断]({{< relref "./docs/Developerguide/SQL自诊断.md" >}})
+ - [子查询调优]({{< relref "./docs/Developerguide/子查询调优.md" >}})
+ - [统计信息调优]({{< relref "./docs/Developerguide/统计信息调优.md" >}})
+ - [算子级调优]({{< relref "./docs/Developerguide/算子级调优.md" >}})
+ - [经验总结:SQL语句改写规则]({{< relref "./docs/Developerguide/经验总结-SQL语句改写规则.md" >}})
+ - [SQL调优关键参数调整]({{< relref "./docs/Developerguide/SQL调优关键参数调整.md" >}})
+ - [使用Plan Hint进行调优]({{< relref "./docs/Developerguide/使用Plan-Hint进行调优.md" >}})
+ - [Plan Hint调优概述]({{< relref "./docs/Developerguide/Plan-Hint调优概述.md" >}})
+ - [Join顺序的Hint]({{< relref "./docs/Developerguide/Join顺序的Hint.md" >}})
+ - [Join方式的Hint]({{< relref "./docs/Developerguide/Join方式的Hint.md" >}})
+ - [行数的Hint]({{< relref "./docs/Developerguide/行数的Hint.md" >}})
+ - [Scan方式的Hint]({{< relref "./docs/Developerguide/Scan方式的Hint.md" >}})
+ - [子链接块名的hint]({{< relref "./docs/Developerguide/子链接块名的hint.md" >}})
+ - [Hint的错误、冲突及告警]({{< relref "./docs/Developerguide/Hint的错误-冲突及告警.md" >}})
- [配置运行参数]({{< relref "./docs/Developerguide/配置运行参数.md" >}})
- [查看参数当前取值]({{< relref "./docs/Developerguide/查看参数当前取值.md" >}})
- [重设参数]({{< relref "./docs/Developerguide/重设参数.md" >}})
@@ -442,7 +633,7 @@ headless: true
- [其它函数]({{< relref "./docs/Developerguide/其它函数.md" >}})
- [统计信息函数]({{< relref "./docs/Developerguide/统计信息函数.md" >}})
- [触发器函数]({{< relref "./docs/Developerguide/触发器函数.md" >}})
- - [内部接口函数]({{< relref "./docs/Developerguide/内部接口函数.md" >}})
+ - [其他系统函数]({{< relref "./docs/Developerguide/其他系统函数.md" >}})
- [表达式]({{< relref "./docs/Developerguide/表达式.md" >}})
- [简单表达式]({{< relref "./docs/Developerguide/简单表达式.md" >}})
- [条件表达式]({{< relref "./docs/Developerguide/条件表达式.md" >}})
@@ -450,7 +641,7 @@ headless: true
- [数组表达式]({{< relref "./docs/Developerguide/数组表达式.md" >}})
- [行表达式]({{< relref "./docs/Developerguide/行表达式.md" >}})
- [类型转换]({{< relref "./docs/Developerguide/类型转换.md" >}})
- - [概述]({{< relref "./docs/Developerguide/概述-15.md" >}})
+ - [概述]({{< relref "./docs/Developerguide/概述-16.md" >}})
- [操作符]({{< relref "./docs/Developerguide/操作符.md" >}})
- [函数]({{< relref "./docs/Developerguide/函数.md" >}})
- [值存储]({{< relref "./docs/Developerguide/值存储.md" >}})
@@ -510,6 +701,7 @@ headless: true
- [ALTER SCHEMA]({{< relref "./docs/Developerguide/ALTER-SCHEMA.md" >}})
- [ALTER SEQUENCE]({{< relref "./docs/Developerguide/ALTER-SEQUENCE.md" >}})
- [ALTER SESSION]({{< relref "./docs/Developerguide/ALTER-SESSION.md" >}})
+ - [ALTER SYNONYM]({{< relref "./docs/Developerguide/ALTER-SYNONYM.md" >}})
- [ALTER SYSTEM KILL SESSION]({{< relref "./docs/Developerguide/ALTER-SYSTEM-KILL-SESSION.md" >}})
- [ALTER TABLE]({{< relref "./docs/Developerguide/ALTER-TABLE.md" >}})
- [ALTER TABLE PARTITION]({{< relref "./docs/Developerguide/ALTER-TABLE-PARTITION.md" >}})
@@ -536,11 +728,12 @@ headless: true
- [CREATE FUNCTION]({{< relref "./docs/Developerguide/CREATE-FUNCTION.md" >}})
- [CREATE GROUP]({{< relref "./docs/Developerguide/CREATE-GROUP.md" >}})
- [CREATE INDEX]({{< relref "./docs/Developerguide/CREATE-INDEX.md" >}})
- - [CREATE ROW LEVLEL SECURITY POLICY]({{< relref "./docs/Developerguide/CREATE-ROW-LEVLEL-SECURITY-POLICY.md" >}})
+ - [CREATE ROW LEVEL SECURITY POLICY]({{< relref "./docs/Developerguide/CREATE-ROW-LEVEL-SECURITY-POLICY.md" >}})
- [CREATE PROCEDURE]({{< relref "./docs/Developerguide/CREATE-PROCEDURE.md" >}})
- [CREATE ROLE]({{< relref "./docs/Developerguide/CREATE-ROLE.md" >}})
- [CREATE SCHEMA]({{< relref "./docs/Developerguide/CREATE-SCHEMA.md" >}})
- [CREATE SEQUENCE]({{< relref "./docs/Developerguide/CREATE-SEQUENCE.md" >}})
+ - [CREATE SYNONYM]({{< relref "./docs/Developerguide/CREATE-SYNONYM.md" >}})
- [CREATE TABLE]({{< relref "./docs/Developerguide/CREATE-TABLE.md" >}})
- [CREATE TABLE AS]({{< relref "./docs/Developerguide/CREATE-TABLE-AS.md" >}})
- [CREATE TABLE PARTITION]({{< relref "./docs/Developerguide/CREATE-TABLE-PARTITION.md" >}})
@@ -568,6 +761,7 @@ headless: true
- [DROP ROLE]({{< relref "./docs/Developerguide/DROP-ROLE.md" >}})
- [DROP SCHEMA]({{< relref "./docs/Developerguide/DROP-SCHEMA.md" >}})
- [DROP SEQUENCE]({{< relref "./docs/Developerguide/DROP-SEQUENCE.md" >}})
+ - [DROP SYNONYM]({{< relref "./docs/Developerguide/DROP-SYNONYM.md" >}})
- [DROP TABLE]({{< relref "./docs/Developerguide/DROP-TABLE.md" >}})
- [DROP TABLESPACE]({{< relref "./docs/Developerguide/DROP-TABLESPACE.md" >}})
- [DROP TEXT SEARCH CONFIGURATION]({{< relref "./docs/Developerguide/DROP-TEXT-SEARCH-CONFIGURATION.md" >}})
@@ -609,7 +803,7 @@ headless: true
- [UPDATE]({{< relref "./docs/Developerguide/UPDATE.md" >}})
- [VACUUM]({{< relref "./docs/Developerguide/VACUUM.md" >}})
- [VALUES]({{< relref "./docs/Developerguide/VALUES.md" >}})
- - [附录]({{< relref "./docs/Developerguide/附录-16.md" >}})
+ - [附录]({{< relref "./docs/Developerguide/附录.md" >}})
- [GIN索引]({{< relref "./docs/Developerguide/GIN索引.md" >}})
- [介绍]({{< relref "./docs/Developerguide/介绍-17.md" >}})
- [扩展性]({{< relref "./docs/Developerguide/扩展性.md" >}})
@@ -617,6 +811,48 @@ headless: true
- [GIN提示与技巧]({{< relref "./docs/Developerguide/GIN提示与技巧.md" >}})
- [扩展函数]({{< relref "./docs/Developerguide/扩展函数.md" >}})
- [扩展语法]({{< relref "./docs/Developerguide/扩展语法.md" >}})
+ - [用户自定义函数]({{< relref "./docs/Developerguide/用户自定义函数.md" >}})
+ - [PL/pgSQL语言函数]({{< relref "./docs/Developerguide/PL-pgSQL语言函数.md" >}})
+ - [存储过程]({{< relref "./docs/Developerguide/存储过程.md" >}})
+ - [存储过程]({{< relref "./docs/Developerguide/存储过程-18.md" >}})
+ - [数据类型]({{< relref "./docs/Developerguide/数据类型-19.md" >}})
+ - [数据类型转换]({{< relref "./docs/Developerguide/数据类型转换.md" >}})
+ - [数组和record]({{< relref "./docs/Developerguide/数组和record.md" >}})
+ - [数组]({{< relref "./docs/Developerguide/数组.md" >}})
+ - [record]({{< relref "./docs/Developerguide/record.md" >}})
+ - [声明语法]({{< relref "./docs/Developerguide/声明语法.md" >}})
+ - [基本结构]({{< relref "./docs/Developerguide/基本结构.md" >}})
+ - [匿名块]({{< relref "./docs/Developerguide/匿名块.md" >}})
+ - [子程序]({{< relref "./docs/Developerguide/子程序.md" >}})
+ - [基本语句]({{< relref "./docs/Developerguide/基本语句.md" >}})
+ - [定义变量]({{< relref "./docs/Developerguide/定义变量.md" >}})
+ - [赋值语句]({{< relref "./docs/Developerguide/赋值语句.md" >}})
+ - [调用语句]({{< relref "./docs/Developerguide/调用语句.md" >}})
+ - [动态语句]({{< relref "./docs/Developerguide/动态语句.md" >}})
+ - [执行动态查询语句]({{< relref "./docs/Developerguide/执行动态查询语句.md" >}})
+ - [执行动态非查询语句]({{< relref "./docs/Developerguide/执行动态非查询语句.md" >}})
+ - [动态调用存储过程]({{< relref "./docs/Developerguide/动态调用存储过程.md" >}})
+ - [动态调用匿名块]({{< relref "./docs/Developerguide/动态调用匿名块.md" >}})
+ - [控制语句]({{< relref "./docs/Developerguide/控制语句.md" >}})
+ - [返回语句]({{< relref "./docs/Developerguide/返回语句.md" >}})
+ - [RETURN]({{< relref "./docs/Developerguide/RETURN.md" >}})
+ - [RETURN NEXT及RETURN QUERY]({{< relref "./docs/Developerguide/RETURN-NEXT及RETURN-QUERY.md" >}})
+ - [条件语句]({{< relref "./docs/Developerguide/条件语句.md" >}})
+ - [循环语句]({{< relref "./docs/Developerguide/循环语句.md" >}})
+ - [分支语句]({{< relref "./docs/Developerguide/分支语句.md" >}})
+ - [空语句]({{< relref "./docs/Developerguide/空语句.md" >}})
+ - [错误捕获语句]({{< relref "./docs/Developerguide/错误捕获语句.md" >}})
+ - [GOTO语句]({{< relref "./docs/Developerguide/GOTO语句.md" >}})
+ - [其他语句]({{< relref "./docs/Developerguide/其他语句.md" >}})
+ - [锁操作]({{< relref "./docs/Developerguide/锁操作.md" >}})
+ - [游标操作]({{< relref "./docs/Developerguide/游标操作.md" >}})
+ - [游标]({{< relref "./docs/Developerguide/游标.md" >}})
+ - [游标概述]({{< relref "./docs/Developerguide/游标概述.md" >}})
+ - [显式游标]({{< relref "./docs/Developerguide/显式游标.md" >}})
+ - [隐式游标]({{< relref "./docs/Developerguide/隐式游标.md" >}})
+ - [游标循环]({{< relref "./docs/Developerguide/游标循环.md" >}})
+ - [Retry管理]({{< relref "./docs/Developerguide/Retry管理.md" >}})
+ - [调试]({{< relref "./docs/Developerguide/调试-20.md" >}})
- [系统表和系统视图]({{< relref "./docs/Developerguide/系统表和系统视图.md" >}})
- [系统表和系统视图概述]({{< relref "./docs/Developerguide/系统表和系统视图概述.md" >}})
- [系统表]({{< relref "./docs/Developerguide/系统表.md" >}})
@@ -692,7 +928,6 @@ headless: true
- [PG\_WORKLOAD\_GROUP]({{< relref "./docs/Developerguide/PG_WORKLOAD_GROUP.md" >}})
- [PLAN\_TABLE\_DATA]({{< relref "./docs/Developerguide/PLAN_TABLE_DATA.md" >}})
- [系统视图]({{< relref "./docs/Developerguide/系统视图.md" >}})
- - [GET\_GTM\_LITE\_STATUS]({{< relref "./docs/Developerguide/GET_GTM_LITE_STATUS.md" >}})
- [GS\_SESSION\_CPU\_STATISTICS]({{< relref "./docs/Developerguide/GS_SESSION_CPU_STATISTICS.md" >}})
- [GS\_SESSION\_MEMORY\_STATISTICS]({{< relref "./docs/Developerguide/GS_SESSION_MEMORY_STATISTICS.md" >}})
- [GS\_SQL\_COUNT]({{< relref "./docs/Developerguide/GS_SQL_COUNT.md" >}})
@@ -725,7 +960,6 @@ headless: true
- [PG\_RLSPOLICIES]({{< relref "./docs/Developerguide/PG_RLSPOLICIES.md" >}})
- [PG\_ROLES]({{< relref "./docs/Developerguide/PG_ROLES.md" >}})
- [PG\_RULES]({{< relref "./docs/Developerguide/PG_RULES.md" >}})
- - [PG\_RUNNING\_XACTS]({{< relref "./docs/Developerguide/PG_RUNNING_XACTS.md" >}})
- [PG\_SECLABELS]({{< relref "./docs/Developerguide/PG_SECLABELS.md" >}})
- [PG\_SESSION\_WLMSTAT]({{< relref "./docs/Developerguide/PG_SESSION_WLMSTAT.md" >}})
- [PG\_SESSION\_IOSTAT]({{< relref "./docs/Developerguide/PG_SESSION_IOSTAT.md" >}})
@@ -762,7 +996,6 @@ headless: true
- [PG\_TABLES]({{< relref "./docs/Developerguide/PG_TABLES.md" >}})
- [PG\_TDE\_INFO]({{< relref "./docs/Developerguide/PG_TDE_INFO.md" >}})
- [PG\_TIMEZONE\_NAMES]({{< relref "./docs/Developerguide/PG_TIMEZONE_NAMES.md" >}})
- - [PG\_TOTAL\_MEMORY\_DETAIL]({{< relref "./docs/Developerguide/PG_TOTAL_MEMORY_DETAIL.md" >}})
- [PG\_TOTAL\_USER\_RESOURCE\_INFO]({{< relref "./docs/Developerguide/PG_TOTAL_USER_RESOURCE_INFO.md" >}})
- [PG\_USER]({{< relref "./docs/Developerguide/PG_USER.md" >}})
- [PG\_USER\_MAPPINGS]({{< relref "./docs/Developerguide/PG_USER_MAPPINGS.md" >}})
@@ -773,16 +1006,197 @@ headless: true
- [GS\_OS\_RUN\_INFO]({{< relref "./docs/Developerguide/GS_OS_RUN_INFO.md" >}})
- [GS\_REDO\_STAT]({{< relref "./docs/Developerguide/GS_REDO_STAT.md" >}})
- [GS\_SESSION\_MEMORY]({{< relref "./docs/Developerguide/GS_SESSION_MEMORY.md" >}})
- - [GS\_SESSION\_MEMORY\_CONTEXT]({{< relref "./docs/Developerguide/GS_SESSION_MEMORY_CONTEXT.md" >}})
- [GS\_SESSION\_MEMORY\_DETAIL]({{< relref "./docs/Developerguide/GS_SESSION_MEMORY_DETAIL.md" >}})
- [GS\_SESSION\_STAT]({{< relref "./docs/Developerguide/GS_SESSION_STAT.md" >}})
- [GS\_SESSION\_TIME]({{< relref "./docs/Developerguide/GS_SESSION_TIME.md" >}})
- - [GS\_THREAD\_MEMORY\_CONTEXT]({{< relref "./docs/Developerguide/GS_THREAD_MEMORY_CONTEXT.md" >}})
+ - [GS\_THREAD\_MEMORY\_DETAIL]({{< relref "./docs/Developerguide/GS_THREAD_MEMORY_DETAIL.md" >}})
- [GS\_TOTAL\_MEMORY\_DETAIL]({{< relref "./docs/Developerguide/GS_TOTAL_MEMORY_DETAIL.md" >}})
- [PG\_TIMEZONE\_ABBREVS]({{< relref "./docs/Developerguide/PG_TIMEZONE_ABBREVS.md" >}})
- [PG\_TOTAL\_USER\_RESOURCE\_INFO\_OID]({{< relref "./docs/Developerguide/PG_TOTAL_USER_RESOURCE_INFO_OID.md" >}})
- [PG\_VARIABLE\_INFO]({{< relref "./docs/Developerguide/PG_VARIABLE_INFO.md" >}})
- [GS\_INSTANCE\_TIME]({{< relref "./docs/Developerguide/GS_INSTANCE_TIME.md" >}})
+ - [DBE\_PERF Schema]({{< relref "./docs/Developerguide/DBE_PERF-Schema.md" >}})
+ - [OS]({{< relref "./docs/Developerguide/OS.md" >}})
+ - [OS\_RUNTIME]({{< relref "./docs/Developerguide/OS_RUNTIME.md" >}})
+ - [GLOBAL\_OS\_RUNTIME]({{< relref "./docs/Developerguide/GLOBAL_OS_RUNTIME.md" >}})
+ - [OS\_THREADS]({{< relref "./docs/Developerguide/OS_THREADS.md" >}})
+ - [GLOBAL\_OS\_THREADS]({{< relref "./docs/Developerguide/GLOBAL_OS_THREADS.md" >}})
+ - [Instance]({{< relref "./docs/Developerguide/Instance.md" >}})
+ - [INSTANCE\_TIME]({{< relref "./docs/Developerguide/INSTANCE_TIME.md" >}})
+ - [GLOBAL\_INSTANCE\_TIME]({{< relref "./docs/Developerguide/GLOBAL_INSTANCE_TIME.md" >}})
+ - [Memory]({{< relref "./docs/Developerguide/Memory.md" >}})
+ - [MEMORY\_NODE\_DETAIL]({{< relref "./docs/Developerguide/MEMORY_NODE_DETAIL.md" >}})
+ - [GLOBAL\_MEMORY\_NODE\_DETAIL]({{< relref "./docs/Developerguide/GLOBAL_MEMORY_NODE_DETAIL.md" >}})
+ - [SHARED\_MEMORY\_DETAIL]({{< relref "./docs/Developerguide/SHARED_MEMORY_DETAIL.md" >}})
+ - [GLOBAL\_SHARED\_MEMORY\_DETAIL]({{< relref "./docs/Developerguide/GLOBAL_SHARED_MEMORY_DETAIL.md" >}})
+ - [File]({{< relref "./docs/Developerguide/File.md" >}})
+ - [FILE\_IOSTAT]({{< relref "./docs/Developerguide/FILE_IOSTAT.md" >}})
+ - [SUMMARY\_FILE\_IOSTAT]({{< relref "./docs/Developerguide/SUMMARY_FILE_IOSTAT.md" >}})
+ - [GLOBAL\_FILE\_IOSTAT]({{< relref "./docs/Developerguide/GLOBAL_FILE_IOSTAT.md" >}})
+ - [FILE\_REDO\_IOSTAT]({{< relref "./docs/Developerguide/FILE_REDO_IOSTAT.md" >}})
+ - [SUMMARY\_FILE\_REDO\_IOSTAT]({{< relref "./docs/Developerguide/SUMMARY_FILE_REDO_IOSTAT.md" >}})
+ - [GLOBAL\_FILE\_REDO\_IOSTAT]({{< relref "./docs/Developerguide/GLOBAL_FILE_REDO_IOSTAT.md" >}})
+ - [LOCAL\_REL\_IOSTAT]({{< relref "./docs/Developerguide/LOCAL_REL_IOSTAT.md" >}})
+ - [GLOBAL\_REL\_IOSTAT]({{< relref "./docs/Developerguide/GLOBAL_REL_IOSTAT.md" >}})
+ - [SUMMARY\_REL\_IOSTAT]({{< relref "./docs/Developerguide/SUMMARY_REL_IOSTAT.md" >}})
+ - [Object]({{< relref "./docs/Developerguide/Object.md" >}})
+ - [STAT\_USER\_TABLES]({{< relref "./docs/Developerguide/STAT_USER_TABLES.md" >}})
+ - [SUMMARY\_STAT\_USER\_TABLES]({{< relref "./docs/Developerguide/SUMMARY_STAT_USER_TABLES.md" >}})
+ - [GLOBAL\_STAT\_USER\_TABLES]({{< relref "./docs/Developerguide/GLOBAL_STAT_USER_TABLES.md" >}})
+ - [STAT\_USER\_INDEXES]({{< relref "./docs/Developerguide/STAT_USER_INDEXES.md" >}})
+ - [SUMMARY\_STAT\_USER\_INDEXES]({{< relref "./docs/Developerguide/SUMMARY_STAT_USER_INDEXES.md" >}})
+ - [GLOBAL\_STAT\_USER\_INDEXES]({{< relref "./docs/Developerguide/GLOBAL_STAT_USER_INDEXES.md" >}})
+ - [STAT\_SYS\_TABLES]({{< relref "./docs/Developerguide/STAT_SYS_TABLES.md" >}})
+ - [SUMMARY\_STAT\_SYS\_TABLES]({{< relref "./docs/Developerguide/SUMMARY_STAT_SYS_TABLES.md" >}})
+ - [GLOBAL\_STAT\_SYS\_TABLES]({{< relref "./docs/Developerguide/GLOBAL_STAT_SYS_TABLES.md" >}})
+ - [STAT\_SYS\_INDEXES]({{< relref "./docs/Developerguide/STAT_SYS_INDEXES.md" >}})
+ - [SUMMARY\_STAT\_SYS\_INDEXES]({{< relref "./docs/Developerguide/SUMMARY_STAT_SYS_INDEXES.md" >}})
+ - [GLOBAL\_STAT\_SYS\_INDEXES]({{< relref "./docs/Developerguide/GLOBAL_STAT_SYS_INDEXES.md" >}})
+ - [STAT\_ALL\_TABLES]({{< relref "./docs/Developerguide/STAT_ALL_TABLES.md" >}})
+ - [SUMMARY\_STAT\_ALL\_TABLES]({{< relref "./docs/Developerguide/SUMMARY_STAT_ALL_TABLES.md" >}})
+ - [GLOBAL\_STAT\_ALL\_TABLES]({{< relref "./docs/Developerguide/GLOBAL_STAT_ALL_TABLES.md" >}})
+ - [STAT\_ALL\_INDEXES]({{< relref "./docs/Developerguide/STAT_ALL_INDEXES.md" >}})
+ - [SUMMARY\_STAT\_ALL\_INDEXES]({{< relref "./docs/Developerguide/SUMMARY_STAT_ALL_INDEXES.md" >}})
+ - [GLOBAL\_STAT\_ALL\_INDEXES]({{< relref "./docs/Developerguide/GLOBAL_STAT_ALL_INDEXES.md" >}})
+ - [STAT\_DATABASE]({{< relref "./docs/Developerguide/STAT_DATABASE.md" >}})
+ - [SUMMARY\_STAT\_DATABASE]({{< relref "./docs/Developerguide/SUMMARY_STAT_DATABASE.md" >}})
+ - [GLOBAL\_STAT\_DATABASE]({{< relref "./docs/Developerguide/GLOBAL_STAT_DATABASE.md" >}})
+ - [STAT\_DATABASE\_CONFLICTS]({{< relref "./docs/Developerguide/STAT_DATABASE_CONFLICTS.md" >}})
+ - [SUMMARY\_STAT\_DATABASE\_CONFLICTS]({{< relref "./docs/Developerguide/SUMMARY_STAT_DATABASE_CONFLICTS.md" >}})
+ - [GLOBAL\_STAT\_DATABASE\_CONFLICTS]({{< relref "./docs/Developerguide/GLOBAL_STAT_DATABASE_CONFLICTS.md" >}})
+ - [STAT\_XACT\_ALL\_TABLES]({{< relref "./docs/Developerguide/STAT_XACT_ALL_TABLES.md" >}})
+ - [SUMMARY\_STAT\_XACT\_ALL\_TABLES]({{< relref "./docs/Developerguide/SUMMARY_STAT_XACT_ALL_TABLES.md" >}})
+ - [GLOBAL\_STAT\_XACT\_ALL\_TABLES]({{< relref "./docs/Developerguide/GLOBAL_STAT_XACT_ALL_TABLES.md" >}})
+ - [STAT\_XACT\_SYS\_TABLES]({{< relref "./docs/Developerguide/STAT_XACT_SYS_TABLES.md" >}})
+ - [SUMMARY\_STAT\_XACT\_SYS\_TABLES]({{< relref "./docs/Developerguide/SUMMARY_STAT_XACT_SYS_TABLES.md" >}})
+ - [GLOBAL\_STAT\_XACT\_SYS\_TABLES]({{< relref "./docs/Developerguide/GLOBAL_STAT_XACT_SYS_TABLES.md" >}})
+ - [STAT\_XACT\_USER\_TABLES]({{< relref "./docs/Developerguide/STAT_XACT_USER_TABLES.md" >}})
+ - [SUMMARY\_STAT\_XACT\_USER\_TABLES]({{< relref "./docs/Developerguide/SUMMARY_STAT_XACT_USER_TABLES.md" >}})
+ - [GLOBAL\_STAT\_XACT\_USER\_TABLES]({{< relref "./docs/Developerguide/GLOBAL_STAT_XACT_USER_TABLES.md" >}})
+ - [STAT\_XACT\_USER\_FUNCTIONS]({{< relref "./docs/Developerguide/STAT_XACT_USER_FUNCTIONS.md" >}})
+ - [SUMMARY\_STAT\_XACT\_USER\_FUNCTIONS]({{< relref "./docs/Developerguide/SUMMARY_STAT_XACT_USER_FUNCTIONS.md" >}})
+ - [GLOBAL\_STAT\_XACT\_USER\_FUNCTIONS]({{< relref "./docs/Developerguide/GLOBAL_STAT_XACT_USER_FUNCTIONS.md" >}})
+ - [STAT\_BAD\_BLOCK]({{< relref "./docs/Developerguide/STAT_BAD_BLOCK.md" >}})
+ - [SUMMARY\_STAT\_BAD\_BLOCK]({{< relref "./docs/Developerguide/SUMMARY_STAT_BAD_BLOCK.md" >}})
+ - [GLOBAL\_STAT\_BAD\_BLOCK]({{< relref "./docs/Developerguide/GLOBAL_STAT_BAD_BLOCK.md" >}})
+ - [STAT\_USER\_FUNCTIONS]({{< relref "./docs/Developerguide/STAT_USER_FUNCTIONS.md" >}})
+ - [SUMMARY\_STAT\_USER\_FUNCTIONS]({{< relref "./docs/Developerguide/SUMMARY_STAT_USER_FUNCTIONS.md" >}})
+ - [GLOBAL\_STAT\_USER\_FUNCTIONS]({{< relref "./docs/Developerguide/GLOBAL_STAT_USER_FUNCTIONS.md" >}})
+ - [Workload]({{< relref "./docs/Developerguide/Workload.md" >}})
+ - [WORKLOAD\_SQL\_COUNT]({{< relref "./docs/Developerguide/WORKLOAD_SQL_COUNT.md" >}})
+ - [SUMMARY\_WORKLOAD\_SQL\_COUNT]({{< relref "./docs/Developerguide/SUMMARY_WORKLOAD_SQL_COUNT.md" >}})
+ - [WORKLOAD\_TRANSACTION]({{< relref "./docs/Developerguide/WORKLOAD_TRANSACTION.md" >}})
+ - [SUMMARY\_WORKLOAD\_TRANSACTION]({{< relref "./docs/Developerguide/SUMMARY_WORKLOAD_TRANSACTION.md" >}})
+ - [GLOBAL\_WORKLOAD\_TRANSACTION]({{< relref "./docs/Developerguide/GLOBAL_WORKLOAD_TRANSACTION.md" >}})
+ - [WORKLOAD\_SQL\_ELAPSE\_TIME]({{< relref "./docs/Developerguide/WORKLOAD_SQL_ELAPSE_TIME.md" >}})
+ - [SUMMARY\_WORKLOAD\_SQL\_ELAPSE\_TIME]({{< relref "./docs/Developerguide/SUMMARY_WORKLOAD_SQL_ELAPSE_TIME.md" >}})
+ - [Session/Thread]({{< relref "./docs/Developerguide/Session-Thread.md" >}})
+ - [SESSION\_STAT]({{< relref "./docs/Developerguide/SESSION_STAT.md" >}})
+ - [GLOBAL\_SESSION\_STAT]({{< relref "./docs/Developerguide/GLOBAL_SESSION_STAT.md" >}})
+ - [SESSION\_TIME]({{< relref "./docs/Developerguide/SESSION_TIME.md" >}})
+ - [GLOBAL\_SESSION\_TIME]({{< relref "./docs/Developerguide/GLOBAL_SESSION_TIME.md" >}})
+ - [SESSION\_MEMORY]({{< relref "./docs/Developerguide/SESSION_MEMORY.md" >}})
+ - [GLOBAL\_SESSION\_MEMORY]({{< relref "./docs/Developerguide/GLOBAL_SESSION_MEMORY.md" >}})
+ - [SESSION\_MEMORY\_DETAIL]({{< relref "./docs/Developerguide/SESSION_MEMORY_DETAIL.md" >}})
+ - [GLOBAL\_SESSION\_MEMORY\_DETAIL]({{< relref "./docs/Developerguide/GLOBAL_SESSION_MEMORY_DETAIL.md" >}})
+ - [SESSION\_STAT\_ACTIVITY]({{< relref "./docs/Developerguide/SESSION_STAT_ACTIVITY.md" >}})
+ - [GLOBAL\_SESSION\_STAT\_ACTIVITY]({{< relref "./docs/Developerguide/GLOBAL_SESSION_STAT_ACTIVITY.md" >}})
+ - [THREAD\_WAIT\_STATUS]({{< relref "./docs/Developerguide/THREAD_WAIT_STATUS.md" >}})
+ - [GLOBAL\_THREAD\_WAIT\_STATUS]({{< relref "./docs/Developerguide/GLOBAL_THREAD_WAIT_STATUS.md" >}})
+ - [LOCAL\_THREADPOOL\_STATUS]({{< relref "./docs/Developerguide/LOCAL_THREADPOOL_STATUS.md" >}})
+ - [GLOBAL\_THREADPOOL\_STATUS]({{< relref "./docs/Developerguide/GLOBAL_THREADPOOL_STATUS.md" >}})
+ - [SESSION\_CPU\_RUNTIME]({{< relref "./docs/Developerguide/SESSION_CPU_RUNTIME.md" >}})
+ - [SESSION\_MEMORY\_RUNTIME]({{< relref "./docs/Developerguide/SESSION_MEMORY_RUNTIME.md" >}})
+ - [STATEMENT\_IOSTAT\_COMPLEX\_RUNTIME]({{< relref "./docs/Developerguide/STATEMENT_IOSTAT_COMPLEX_RUNTIME.md" >}})
+ - [Transaction]({{< relref "./docs/Developerguide/Transaction.md" >}})
+ - [TRANSACTIONS\_PREPARED\_XACTS]({{< relref "./docs/Developerguide/TRANSACTIONS_PREPARED_XACTS.md" >}})
+ - [SUMMARY\_TRANSACTIONS\_PREPARED\_XACTS]({{< relref "./docs/Developerguide/SUMMARY_TRANSACTIONS_PREPARED_XACTS.md" >}})
+ - [GLOBAL\_TRANSACTIONS\_PREPARED\_XACTS]({{< relref "./docs/Developerguide/GLOBAL_TRANSACTIONS_PREPARED_XACTS.md" >}})
+ - [Query]({{< relref "./docs/Developerguide/Query.md" >}})
+ - [STATEMENT]({{< relref "./docs/Developerguide/STATEMENT.md" >}})
+ - [SUMMARY\_STATEMENT]({{< relref "./docs/Developerguide/SUMMARY_STATEMENT.md" >}})
+ - [STATEMENT\_COUNT]({{< relref "./docs/Developerguide/STATEMENT_COUNT.md" >}})
+ - [GLOBAL\_STATEMENT\_COUNT]({{< relref "./docs/Developerguide/GLOBAL_STATEMENT_COUNT.md" >}})
+ - [SUMMARY\_STATEMENT\_COUNT]({{< relref "./docs/Developerguide/SUMMARY_STATEMENT_COUNT.md" >}})
+ - [GLOBAL\_STATEMENT\_COMPLEX\_HISTORY]({{< relref "./docs/Developerguide/GLOBAL_STATEMENT_COMPLEX_HISTORY.md" >}})
+ - [GLOBAL\_STATEMENT\_COMPLEX\_HISTORY\_TABLE]({{< relref "./docs/Developerguide/GLOBAL_STATEMENT_COMPLEX_HISTORY_TABLE.md" >}})
+ - [GLOBAL\_STATEMENT\_COMPLEX\_RUNTIME]({{< relref "./docs/Developerguide/GLOBAL_STATEMENT_COMPLEX_RUNTIME.md" >}})
+ - [STATEMENT\_RESPONSETIME\_PERCENTILE]({{< relref "./docs/Developerguide/STATEMENT_RESPONSETIME_PERCENTILE.md" >}})
+ - [STATEMENT\_USER\_COMPLEX\_HISTORY]({{< relref "./docs/Developerguide/STATEMENT_USER_COMPLEX_HISTORY.md" >}})
+ - [STATEMENT\_COMPLEX\_RUNTIME]({{< relref "./docs/Developerguide/STATEMENT_COMPLEX_RUNTIME.md" >}})
+ - [STATEMENT\_COMPLEX\_HISTORY\_TABLE]({{< relref "./docs/Developerguide/STATEMENT_COMPLEX_HISTORY_TABLE.md" >}})
+ - [STATEMENT\_COMPLEX\_HISTORY]({{< relref "./docs/Developerguide/STATEMENT_COMPLEX_HISTORY.md" >}})
+ - [STATEMENT\_WLMSTAT\_COMPLEX\_RUNTIME]({{< relref "./docs/Developerguide/STATEMENT_WLMSTAT_COMPLEX_RUNTIME.md" >}})
+ - [Cache/IO]({{< relref "./docs/Developerguide/Cache-IO.md" >}})
+ - [STATIO\_USER\_TABLES]({{< relref "./docs/Developerguide/STATIO_USER_TABLES.md" >}})
+ - [SUMMARY\_STATIO\_USER\_TABLES]({{< relref "./docs/Developerguide/SUMMARY_STATIO_USER_TABLES.md" >}})
+ - [GLOBAL\_STATIO\_USER\_TABLES]({{< relref "./docs/Developerguide/GLOBAL_STATIO_USER_TABLES.md" >}})
+ - [STATIO\_USER\_INDEXES]({{< relref "./docs/Developerguide/STATIO_USER_INDEXES.md" >}})
+ - [SUMMARY\_STATIO\_USER\_INDEXES]({{< relref "./docs/Developerguide/SUMMARY_STATIO_USER_INDEXES.md" >}})
+ - [GLOBAL\_STATIO\_USER\_INDEXES]({{< relref "./docs/Developerguide/GLOBAL_STATIO_USER_INDEXES.md" >}})
+ - [STATIO\_USER\_SEQUENCES]({{< relref "./docs/Developerguide/STATIO_USER_SEQUENCES.md" >}})
+ - [SUMMARY\_STATIO\_USER\_SEQUENCES]({{< relref "./docs/Developerguide/SUMMARY_STATIO_USER_SEQUENCES.md" >}})
+ - [GLOBAL\_STATIO\_USER\_SEQUENCES]({{< relref "./docs/Developerguide/GLOBAL_STATIO_USER_SEQUENCES.md" >}})
+ - [STATIO\_SYS\_TABLES]({{< relref "./docs/Developerguide/STATIO_SYS_TABLES.md" >}})
+ - [SUMMARY\_STATIO\_SYS\_TABLES]({{< relref "./docs/Developerguide/SUMMARY_STATIO_SYS_TABLES.md" >}})
+ - [GLOBAL\_STATIO\_SYS\_TABLES]({{< relref "./docs/Developerguide/GLOBAL_STATIO_SYS_TABLES.md" >}})
+ - [STATIO\_SYS\_INDEXES]({{< relref "./docs/Developerguide/STATIO_SYS_INDEXES.md" >}})
+ - [SUMMARY\_STATIO\_SYS\_INDEXES]({{< relref "./docs/Developerguide/SUMMARY_STATIO_SYS_INDEXES.md" >}})
+ - [GLOBAL\_STATIO\_SYS\_INDEXES]({{< relref "./docs/Developerguide/GLOBAL_STATIO_SYS_INDEXES.md" >}})
+ - [STATIO\_SYS\_SEQUENCES]({{< relref "./docs/Developerguide/STATIO_SYS_SEQUENCES.md" >}})
+ - [SUMMARY\_STATIO\_SYS\_SEQUENCES]({{< relref "./docs/Developerguide/SUMMARY_STATIO_SYS_SEQUENCES.md" >}})
+ - [GLOBAL\_STATIO\_SYS\_SEQUENCES]({{< relref "./docs/Developerguide/GLOBAL_STATIO_SYS_SEQUENCES.md" >}})
+ - [STATIO\_ALL\_TABLES]({{< relref "./docs/Developerguide/STATIO_ALL_TABLES.md" >}})
+ - [SUMMARY\_STATIO\_ALL\_TABLES]({{< relref "./docs/Developerguide/SUMMARY_STATIO_ALL_TABLES.md" >}})
+ - [GLOBAL\_STATIO\_ALL\_TABLES]({{< relref "./docs/Developerguide/GLOBAL_STATIO_ALL_TABLES.md" >}})
+ - [STATIO\_ALL\_INDEXES]({{< relref "./docs/Developerguide/STATIO_ALL_INDEXES.md" >}})
+ - [SUMMARY\_STATIO\_ALL\_INDEXES]({{< relref "./docs/Developerguide/SUMMARY_STATIO_ALL_INDEXES.md" >}})
+ - [GLOBAL\_STATIO\_ALL\_INDEXES]({{< relref "./docs/Developerguide/GLOBAL_STATIO_ALL_INDEXES.md" >}})
+ - [STATIO\_ALL\_SEQUENCES]({{< relref "./docs/Developerguide/STATIO_ALL_SEQUENCES.md" >}})
+ - [SUMMARY\_STATIO\_ALL\_SEQUENCES]({{< relref "./docs/Developerguide/SUMMARY_STATIO_ALL_SEQUENCES.md" >}})
+ - [GLOBAL\_STATIO\_ALL\_SEQUENCES]({{< relref "./docs/Developerguide/GLOBAL_STATIO_ALL_SEQUENCES.md" >}})
+ - [GLOBAL\_STAT\_DB\_CU]({{< relref "./docs/Developerguide/GLOBAL_STAT_DB_CU.md" >}})
+ - [GLOBAL\_STAT\_SESSION\_CU]({{< relref "./docs/Developerguide/GLOBAL_STAT_SESSION_CU.md" >}})
+ - [Utility]({{< relref "./docs/Developerguide/Utility.md" >}})
+ - [REPLICATION\_STAT]({{< relref "./docs/Developerguide/REPLICATION_STAT.md" >}})
+ - [GLOBAL\_REPLICATION\_STAT]({{< relref "./docs/Developerguide/GLOBAL_REPLICATION_STAT.md" >}})
+ - [REPLICATION\_SLOTS]({{< relref "./docs/Developerguide/REPLICATION_SLOTS.md" >}})
+ - [GLOBAL\_REPLICATION\_SLOTS]({{< relref "./docs/Developerguide/GLOBAL_REPLICATION_SLOTS.md" >}})
+ - [BGWRITER\_STAT]({{< relref "./docs/Developerguide/BGWRITER_STAT.md" >}})
+ - [GLOBAL\_BGWRITER\_STAT]({{< relref "./docs/Developerguide/GLOBAL_BGWRITER_STAT.md" >}})
+ - [GLOBAL\_CKPT\_STATUS]({{< relref "./docs/Developerguide/GLOBAL_CKPT_STATUS.md" >}})
+ - [GLOBAL\_DOUBLE\_WRITE\_STATUS]({{< relref "./docs/Developerguide/GLOBAL_DOUBLE_WRITE_STATUS.md" >}})
+ - [GLOBAL\_PAGEWRITER\_STATUS]({{< relref "./docs/Developerguide/GLOBAL_PAGEWRITER_STATUS.md" >}})
+ - [GLOBAL\_RECORD\_RESET\_TIME]({{< relref "./docs/Developerguide/GLOBAL_RECORD_RESET_TIME.md" >}})
+ - [GLOBAL\_REDO\_STATUS]({{< relref "./docs/Developerguide/GLOBAL_REDO_STATUS.md" >}})
+ - [GLOBAL\_RECOVERY\_STATUS]({{< relref "./docs/Developerguide/GLOBAL_RECOVERY_STATUS.md" >}})
+ - [CLASS\_VITAL\_INFO]({{< relref "./docs/Developerguide/CLASS_VITAL_INFO.md" >}})
+ - [USER\_LOGIN]({{< relref "./docs/Developerguide/USER_LOGIN.md" >}})
+ - [SUMMARY\_USER\_LOGIN]({{< relref "./docs/Developerguide/SUMMARY_USER_LOGIN.md" >}})
+ - [Lock]({{< relref "./docs/Developerguide/Lock.md" >}})
+ - [LOCKS]({{< relref "./docs/Developerguide/LOCKS.md" >}})
+ - [GLOBAL\_LOCKS]({{< relref "./docs/Developerguide/GLOBAL_LOCKS.md" >}})
+ - [Wait Events]({{< relref "./docs/Developerguide/Wait-Events.md" >}})
+ - [WAIT\_EVENTS]({{< relref "./docs/Developerguide/WAIT_EVENTS.md" >}})
+ - [GLOBAL\_WAIT\_EVENTS]({{< relref "./docs/Developerguide/GLOBAL_WAIT_EVENTS.md" >}})
+ - [Configuration]({{< relref "./docs/Developerguide/Configuration.md" >}})
+ - [CONFIG\_SETTINGS]({{< relref "./docs/Developerguide/CONFIG_SETTINGS.md" >}})
+ - [GLOBAL\_CONFIG\_SETTINGS]({{< relref "./docs/Developerguide/GLOBAL_CONFIG_SETTINGS.md" >}})
+ - [Operator]({{< relref "./docs/Developerguide/Operator.md" >}})
+ - [OPERATOR\_HISTORY\_TABLE]({{< relref "./docs/Developerguide/OPERATOR_HISTORY_TABLE.md" >}})
+ - [OPERATOR\_HISTORY]({{< relref "./docs/Developerguide/OPERATOR_HISTORY.md" >}})
+ - [OPERATOR\_RUNTIME]({{< relref "./docs/Developerguide/OPERATOR_RUNTIME.md" >}})
+ - [GLOBAL\_OPERATOR\_HISTORY]({{< relref "./docs/Developerguide/GLOBAL_OPERATOR_HISTORY.md" >}})
+ - [GLOBAL\_OPERATOR\_HISTORY\_TABLE]({{< relref "./docs/Developerguide/GLOBAL_OPERATOR_HISTORY_TABLE.md" >}})
+ - [GLOBAL\_OPERATOR\_RUNTIME]({{< relref "./docs/Developerguide/GLOBAL_OPERATOR_RUNTIME.md" >}})
+ - [Workload Manager]({{< relref "./docs/Developerguide/Workload-Manager.md" >}})
+ - [WLM\_USER\_RESOURCE\_CONFIG]({{< relref "./docs/Developerguide/WLM_USER_RESOURCE_CONFIG.md" >}})
+ - [WLM\_USER\_RESOURCE\_RUNTIME]({{< relref "./docs/Developerguide/WLM_USER_RESOURCE_RUNTIME.md" >}})
+ - [WDR Snapshot Schema]({{< relref "./docs/Developerguide/WDR-Snapshot-Schema.md" >}})
+ - [WDR Snapshot 原信息表]({{< relref "./docs/Developerguide/WDR-Snapshot-原信息表.md" >}})
+ - [SNAPSHOT.SNAPSHOT]({{< relref "./docs/Developerguide/SNAPSHOT-SNAPSHOT.md" >}})
+ - [SNAPSHOT.TABLES\_SNAP\_TIMESTAMP]({{< relref "./docs/Developerguide/SNAPSHOT-TABLES_SNAP_TIMESTAMP.md" >}})
+ - [WDR Snapshot 数据表]({{< relref "./docs/Developerguide/WDR-Snapshot-数据表.md" >}})
- [GUC参数说明]({{< relref "./docs/Developerguide/GUC参数说明.md" >}})
- [GUC使用说明]({{< relref "./docs/Developerguide/GUC使用说明.md" >}})
- [文件位置]({{< relref "./docs/Developerguide/文件位置.md" >}})
@@ -791,7 +1205,7 @@ headless: true
- [安全和认证(postgresql.conf)]({{< relref "./docs/Developerguide/安全和认证(postgresql-conf).md" >}})
- [通信库参数]({{< relref "./docs/Developerguide/通信库参数.md" >}})
- [资源消耗]({{< relref "./docs/Developerguide/资源消耗.md" >}})
- - [内存]({{< relref "./docs/Developerguide/内存.md" >}})
+ - [内存]({{< relref "./docs/Developerguide/内存-21.md" >}})
- [磁盘空间]({{< relref "./docs/Developerguide/磁盘空间.md" >}})
- [内核资源使用]({{< relref "./docs/Developerguide/内核资源使用.md" >}})
- [基于开销的清理延迟]({{< relref "./docs/Developerguide/基于开销的清理延迟.md" >}})
@@ -807,7 +1221,6 @@ headless: true
- [发送端服务器]({{< relref "./docs/Developerguide/发送端服务器.md" >}})
- [主服务器]({{< relref "./docs/Developerguide/主服务器.md" >}})
- [备服务器]({{< relref "./docs/Developerguide/备服务器.md" >}})
- - [内存表]({{< relref "./docs/Developerguide/内存表.md" >}})
- [查询规划]({{< relref "./docs/Developerguide/查询规划.md" >}})
- [优化器方法配置]({{< relref "./docs/Developerguide/优化器方法配置.md" >}})
- [优化器开销常量]({{< relref "./docs/Developerguide/优化器开销常量.md" >}})
@@ -840,18 +1253,19 @@ headless: true
- [审计开关]({{< relref "./docs/Developerguide/审计开关.md" >}})
- [用户和权限审计]({{< relref "./docs/Developerguide/用户和权限审计.md" >}})
- [操作审计]({{< relref "./docs/Developerguide/操作审计.md" >}})
- - [事务监控]({{< relref "./docs/Developerguide/事务监控.md" >}})
- [升级参数]({{< relref "./docs/Developerguide/升级参数.md" >}})
- [其它选项]({{< relref "./docs/Developerguide/其它选项.md" >}})
- [等待事件]({{< relref "./docs/Developerguide/等待事件.md" >}})
- - [Query]({{< relref "./docs/Developerguide/Query.md" >}})
+ - [Query]({{< relref "./docs/Developerguide/Query-22.md" >}})
- [系统性能快照]({{< relref "./docs/Developerguide/系统性能快照.md" >}})
- [常见故障定位指南]({{< relref "./docs/Developerguide/常见故障定位指南.md" >}})
- [core问题定位]({{< relref "./docs/Developerguide/core问题定位.md" >}})
- [磁盘满故障引起的core问题]({{< relref "./docs/Developerguide/磁盘满故障引起的core问题.md" >}})
- [GUC参数log\_directory设置不正确引起的core问题]({{< relref "./docs/Developerguide/GUC参数log_directory设置不正确引起的core问题.md" >}})
-
-- [工具参考]({{< relref "./docs/Toolreference/Toolreference.md" >}})
+ - [TPCC运行时,注入磁盘满故障,TPCC卡住的问题]({{< relref "./docs/Developerguide/TPCC运行时-注入磁盘满故障-TPCC卡住的问题.md" >}})
+ - [备机处于need repair\(WAL\)状态问题]({{< relref "./docs/Developerguide/备机处于need-repair(WAL)状态问题.md" >}})
+
+- [工具参考]({{< relref "./docs/Toolreference/Toolreference.md" >}})
- [工具一览表]({{< relref "./docs/Toolreference/工具一览表.md" >}})
- [客户端工具]({{< relref "./docs/Toolreference/客户端工具.md" >}})
- [gsql]({{< relref "./docs/Toolreference/gsql.md" >}})
@@ -861,22 +1275,6 @@ headless: true
- [命令参考]({{< relref "./docs/Toolreference/命令参考.md" >}})
- [元命令参考]({{< relref "./docs/Toolreference/元命令参考.md" >}})
- [常见问题处理]({{< relref "./docs/Toolreference/常见问题处理.md" >}})
- - [X-Tuner]({{< relref "./docs/Toolreference/X-Tuner.md" >}})
- - [概述]({{< relref "./docs/Toolreference/概述.md" >}})
- - [使用指导]({{< relref "./docs/Toolreference/使用指导-0.md" >}})
- - [获取帮助]({{< relref "./docs/Toolreference/获取帮助-1.md" >}})
- - [命令参考]({{< relref "./docs/Toolreference/命令参考-2.md" >}})
- - [常见问题处理]({{< relref "./docs/Toolreference/常见问题处理-3.md" >}})
- - [Sqldiag]({{< relref "./docs/Toolreference/Sqldiag.md" >}})
- - [概述]({{< relref "./docs/Toolreference/概述-4.md" >}})
- - [使用指导]({{< relref "./docs/Toolreference/使用指导-5.md" >}})
- - [获取帮助]({{< relref "./docs/Toolreference/获取帮助-6.md" >}})
- - [命令参考]({{< relref "./docs/Toolreference/命令参考-7.md" >}})
- - [常见问题处理]({{< relref "./docs/Toolreference/常见问题处理-8.md" >}})
- - [Predictor]({{< relref "./docs/Toolreference/Predictor.md" >}})
- - [概述]({{< relref "./docs/Toolreference/概述-9.md" >}})
- - [使用指导]({{< relref "./docs/Toolreference/使用指导-10.md" >}})
- - [常见问题处理]({{< relref "./docs/Toolreference/常见问题处理-11.md" >}})
- [服务端工具]({{< relref "./docs/Toolreference/服务端工具.md" >}})
- [gs\_check]({{< relref "./docs/Toolreference/gs_check.md" >}})
- [gs\_checkos]({{< relref "./docs/Toolreference/gs_checkos.md" >}})
@@ -893,6 +1291,10 @@ headless: true
- [gs\_backup]({{< relref "./docs/Toolreference/gs_backup.md" >}})
- [gs\_basebackup]({{< relref "./docs/Toolreference/gs_basebackup.md" >}})
- [gs\_ctl]({{< relref "./docs/Toolreference/gs_ctl.md" >}})
+ - [gs\_initdb]({{< relref "./docs/Toolreference/gs_initdb.md" >}})
+ - [gs\_initdb简介]({{< relref "./docs/Toolreference/gs_initdb简介.md" >}})
+ - [使用指导]({{< relref "./docs/Toolreference/使用指导-0.md" >}})
+ - [命令参考]({{< relref "./docs/Toolreference/命令参考-1.md" >}})
- [gs\_install]({{< relref "./docs/Toolreference/gs_install.md" >}})
- [gs\_postuninstall]({{< relref "./docs/Toolreference/gs_postuninstall.md" >}})
- [gs\_preinstall]({{< relref "./docs/Toolreference/gs_preinstall.md" >}})
@@ -911,4 +1313,7 @@ headless: true
- [pg\_resetxlog]({{< relref "./docs/Toolreference/pg_resetxlog.md" >}})
- [FAQ]({{< relref "./docs/Toolreference/FAQ.md" >}})
- [执行命令报错“Failed to obtain the GPHOME”]({{< relref "./docs/Toolreference/执行命令报错-Failed-to-obtain-the-GPHOME.md" >}})
- - [gs\_collector工具支持收集的系统表和视图列表]({{< relref "./docs/Toolreference/gs_collector工具支持收集的系统表和视图列表.md" >}})
+ - [gs\_ctl 重建备实例过程被中断导致秘钥文件不完整恢复方法]({{< relref "./docs/Toolreference/gs_ctl-重建备实例过程被中断导致秘钥文件不完整恢复方法.md" >}})
+ - [gs\_collector工具支持收集的系统表和视图列表]({{< relref "./docs/Toolreference/gs_collector工具支持收集的系统表和视图列表.md" >}})
+
+- [术语表]({{< relref "./docs/Glossary/Glossary.md" >}})
\ No newline at end of file