diff --git a/content/zh/docs/Description/Description.md b/content/zh/docs/Description/Description.md deleted file mode 100644 index 95968eaa5b8589dad447e7465227b4e72ff9a420..0000000000000000000000000000000000000000 --- a/content/zh/docs/Description/Description.md +++ /dev/null @@ -1,5 +0,0 @@ -# 产品描述 - -本文档对openGauss数据库进行详细描述,包含产品定位、系统架构介绍、应用场景、运行环境、技术指标、基本功能和特性、企业级增强特性介绍等信息。 - - diff --git "a/content/zh/docs/Description/SQL\350\207\252\350\257\212\346\226\255.md" "b/content/zh/docs/Description/SQL\350\207\252\350\257\212\346\226\255.md" deleted file mode 100644 index eb7cda3b4c8ffbb5fd6408e3e2306f24777e4f9b..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Description/SQL\350\207\252\350\257\212\346\226\255.md" +++ /dev/null @@ -1,8 +0,0 @@ -# SQL自诊断 - -通过执行查询对应的explain performance,获得对应执行计划,是一种十分有效的定位查询性能问题的方法。但是这种方法需要修改业务逻辑,同时输出的日志量大,问题定位的效率依赖于人员的经验。SQL自诊断为用户提供了另一种更为高效易用的性能问题定位方法。 - -在执行作业之前,配置GUC参数resource\_track\_level和resource\_track\_cost,然后运行用户作业,就可以通过查看相关系统视图,获得执行完成的相关查询作业可能存在的性能问题。系统视图中会给出导致性能问题的可能原因,根据这些“性能告警”,参考《开发者指南》中“性能调优 \> SQL调优指南 \> 典型SQL调优点 \> SQL自诊断”章节,就可以对存在性能问题的作业进行调优。 - -SQL自诊断可以在不影响用户作业,不修改业务逻辑的情况下,诊断出相对准确的性能问题,为用户提供更为易用的性能调优参考。 - diff --git "a/content/zh/docs/Description/figures/\345\220\221\351\207\217\345\214\226\346\211\247\350\241\214\345\274\225\346\223\216.jpg" "b/content/zh/docs/Description/figures/\345\220\221\351\207\217\345\214\226\346\211\247\350\241\214\345\274\225\346\223\216.jpg" deleted file mode 100644 index 71c11fb4e6eecbd8f6d78f77fba7cf3521603537..0000000000000000000000000000000000000000 Binary files "a/content/zh/docs/Description/figures/\345\220\221\351\207\217\345\214\226\346\211\247\350\241\214\345\274\225\346\223\216.jpg" and /dev/null differ diff --git "a/content/zh/docs/Description/figures/\350\241\214\345\210\227\346\267\267\345\255\230\345\274\225\346\223\216.jpg" "b/content/zh/docs/Description/figures/\350\241\214\345\210\227\346\267\267\345\255\230\345\274\225\346\223\216.jpg" deleted file mode 100644 index d1749e883d43312db19def3ec1c242a2e84a601f..0000000000000000000000000000000000000000 Binary files "a/content/zh/docs/Description/figures/\350\241\214\345\210\227\346\267\267\345\255\230\345\274\225\346\223\216.jpg" and /dev/null differ diff --git "a/content/zh/docs/Description/\344\270\273\345\244\207\345\217\214\346\234\272.md" "b/content/zh/docs/Description/\344\270\273\345\244\207\345\217\214\346\234\272.md" deleted file mode 100644 index 2e51eaea311ea76dead01a09b47be634973dfb53..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Description/\344\270\273\345\244\207\345\217\214\346\234\272.md" +++ /dev/null @@ -1,6 +0,0 @@ -# 主备双机 - -主备双机支持同步和异步复制,应用可以根据业务场景选择合适的部署方式。同步复制保证数据的高可靠,一般需要一主两备部署,同时对性能有一定影响。异步复制一主一备部署即可,对性能影响小,但异常时可能存在数据丢失。openGauss支持页面损坏的自动修复,在主机页面发生损坏时,能够自动从备机修复损坏页面。openGauss支持备机并行日志恢复,尽量降低主机故障时业务不可用的时间。 - -同时,如果按照主备模式部署,并打开备机可读功能后,备机将能够提供读操作,但不支持写操作(如建表、插入数据、删除数据等),从而缓解主机上的压力。 - diff --git "a/content/zh/docs/Description/\344\274\201\344\270\232\347\272\247\345\242\236\345\274\272\347\211\271\346\200\247.md" "b/content/zh/docs/Description/\344\274\201\344\270\232\347\272\247\345\242\236\345\274\272\347\211\271\346\200\247.md" index 4ff015e1b612628267f0f56a4174fe6edb93370e..a8f743201c18589ea1db9054a1a6164cbf0e8034 100644 --- "a/content/zh/docs/Description/\344\274\201\344\270\232\347\272\247\345\242\236\345\274\272\347\211\271\346\200\247.md" +++ "b/content/zh/docs/Description/\344\274\201\344\270\232\347\272\247\345\242\236\345\274\272\347\211\271\346\200\247.md" @@ -1,17 +1,138 @@ # 企业级增强特性 -- **[数据分区](数据分区.md)** +## 数据分区 -- **[向量化执行和行列混合引擎](向量化执行和行列混合引擎.md)** +数据分区是数据库产品普遍具备的功能。在openGauss中,数据分区是对数据按照用户指定的策略对数据做的水平分表,将表按照指定范围划分为多个数据互不重叠的部分(Partition)。 -- **[高可靠事务处理](高可靠事务处理.md)** +openGauss支持范围分区(Range Partitioning)功能,即根据表的一列或者多列,将要插入表的记录分为若干个范围(这些范围在不同的分区里没有重叠),然后为每个范围创建一个分区,用来存储相应的数据。用户在CREATE TABLE时增加PARTITION参数,即表示针对此表应用数据分区功能。 -- **[高并发&高性能](高并发-高性能.md)** +例如,[表1](#zh-cn_topic_0237080621_zh-cn_topic_0231764089_zh-cn_topic_0059777656_t77b9e09809f742f1aaadea05d041bc23)描述了一个xDR(详单)场景下,基于时间分片的方式分区后带来的收益。 -- **[SQL自诊断](SQL自诊断.md)** +**表 1** 分区收益 -- **[内存表](内存表.md)** + + + + + + + + + + + + + + + +

场景描述

+

收益

+

当表中访问率较高的行位于一个单独分区或少数几个分区时。

+

大幅减少搜索空间,从而提升访问性能。

+

当需要查询或更新一个分区的大部分记录时。

+

仅需要连续扫描对应分区,而非扫描整个表,因此可大幅提升性能。

+

当需要大量加载或者删除的记录位于一个单独分区或少数几个分区时。

+

可直接读取或删除对应分区,从而提升处理性能;同时由于避免大量零散的删除操作,可减少清理碎片工作量。

+
-- **[主备双机](主备双机.md)** +数据分区带来的好处在于: +- **改善可管理性:**利用分区,可以将表和索引划分为一些更小、更易管理的单元。这样,数据库管理员在进行数据管理时就能采取“分而治之”的方法。 有了分区,维护操作可以专门针对表的特定部分执行。 +- **可提升删除操作的性能:**删除数据时可以删除整个分区,与分别删除每行相比,这种操作非常高效和快速。 + + 删除分区表与删除普通表的语法一致,都是通过DROP TABLE语法进行删除。 + +- **改善查询性能:**通过限制要检查或操作的数据数量,分区可带来许多性能优势。 + + 分区剪枝:分区剪枝(也称为分区消除)是openGauss在执行时过滤掉不需要扫描的分区,只对相关的分区进行扫描的技术。分区剪枝通常可以将查询性能提高若干数量级。 + +- **智能化分区联接:**通过使用一种称为智能化分区联接的技术,分区还可以改善多表联接的性能。当将两个表联接在一起,并且至少其中一个表使用联接键进行分区时,可以应用智能化分区联接。智能化分区联接将一个大型联接分为多个较小的联接,这些较小的联接包含与联接的表“相同”的数据集。这里,“相同”定义为恰好包含联接的两端中相同的分区键值集,因此可以确保只有这些“相同”数据集的联接才会有效,而不必考虑其他数据集。 + +## 向量化执行和行列混合引擎 + +在大宽表,数据量比较大、查询经常关注某些列的场景中,行存储引擎查询性能比较差。例如气象局的场景,单表有200\~800个列,查询经常访问10个列,在类似这样的场景下,向量化执行技术和列存储引擎可以极大的提升性能和减少存储空间。 + +- 向量化执行 + + 标准的迭代器模型如[图1](#zh-cn_topic_0237080624_zh-cn_topic_0231764690_zh-cn_topic_0059777898_f9d90aebe179a40759039d0263492489d)所示。控制流向下(下图实线)、数据流向上(下图虚线)、上层驱动下层(上层节点调用下层节点要数据)、一次一元组(下层节点每次只返回一条元组给上层节点)。 + + 而向量化执行相对于传统的执行模式改变是对于一次一元组的模型修改为一次一批元组,配合列存特性,可以带来巨大的性能提升。 + + **图 1** 向量化执行引擎 + + + ![](figures/向量化执行引擎(png).png) + +- 行列混合存储引擎 + + openGauss支持行存储和列存储两种存储模型,用户可以根据应用场景,建表的时候选择行存储还是列存储表。 + + 一般情况下,如果表的字段比较多(大宽表),查询中涉及到的列不很多的情况下,适合列存储。如果表的字段个数比较少,查询大部分字段,那么选择行存储比较好。 + + 如[图2](#zh-cn_topic_0237080624_zh-cn_topic_0231764690_zh-cn_topic_0059777898_fbb2af39ce12a419cb437829aaf1cf4fb)所示,行列混合存储引擎可以同时为用户提供更优的数据压缩比(列存)、更好的索引性能(列存)、更好的点更新和点查询(行存)性能。 + + **图 2** 行列混存引擎 + + + ![](figures/openGauss行列混存引擎.png) + + 当前列存储引擎有以下约束: + + - DDL仅支持CREATE/DROP/TRUNCATE TABLE的功能。 + + 兼容分区的DDL管理功能(如: ADD/DROP/MERGE PARTITION,EXCHANGE功能)。 + + 支持CREATE TABLE LIKE语法。 + + 支持ALTER TABLE的部分语法。 + + 其他功能都不支持。 + + - DML支持UPDATE/COPY/BULKLOAD/DELETE。 + - 不支持触发器,不支持主外键。 + - 支持Psort index、B-tree index和GIN index,具体约束参见《开发者指南》中“SQL参考 \> SQL语法 \> CREATE INDEX”章节。 + +- 列存下的数据压缩 + + 对于非活跃的早期数据可以通过压缩来减少空间占用,降低采购和运维成本。 + + openGauss列存储压缩支持Delta Value Encoding、Dictionary、RLE 、LZ4、ZLIB等压缩算法,且能够根据数据特征自适应的选择压缩算法,平均压缩比7:1。压缩数据可直接访问,对业务透明,极大缩短历史数据访问的准备时间。 + + +## 高可靠事务处理 + +openGauss提供事务管理功能,保证事务的ACID特性。 + +为了在主节点出现故障时尽可能地不中断服务,openGauss提供了主备双机高可靠机制。通过保护关键用户程序对外不间断提供服务,把因为硬件、软件和人为造成的故障对业务的影响程度降到最低,以保证业务的持续性。 + +**故障恢复** + +支持节点故障可恢复及恢复后满足ACID特性。节点故障、停止后重启等情况下,openGauss能够保证故障之前的数据无丢失,满足ACID特性。 + +**事务管理:** + +- 支持事务块,用户可以通过start transaction命令显式启动一个事务块。 +- 支持单语句事务,用户不显式启动事务,则单条语句就是一个事务。 + +## 高并发&高性能 + +openGauss通过服务器端的线程池,可以支持1W并发链接。通过NUMA化内核数据结构,支持线程亲核性处理,可以支持百万级tpmC。通过页面的高效冷热淘汰,支持T级别大内存缓冲区管理。通过CSN快照,去除快照瓶颈,实现多版本访问,读写互不阻塞。通过增量检查点,避免全页写导致的性能波动,实现业务性能平稳运行。 + +## SQL自诊断 + +通过执行查询对应的explain performance,获得对应执行计划,是一种十分有效的定位查询性能问题的方法。但是这种方法需要修改业务逻辑,同时输出的日志量大,问题定位的效率依赖于人员的经验。SQL自诊断为用户提供了另一种更为高效易用的性能问题定位方法。 + +在执行作业之前,配置GUC参数resource\_track\_level和resource\_track\_cost,然后运行用户作业,就可以通过查看相关系统视图,获得执行完成的相关查询作业可能存在的性能问题。系统视图中会给出导致性能问题的可能原因,根据这些“性能告警”,参考《开发者指南》中“性能调优 \> SQL调优指南 \> 典型SQL调优点 \> SQL自诊断”章节,就可以对存在性能问题的作业进行调优。 + +SQL自诊断可以在不影响用户作业,不修改业务逻辑的情况下,诊断出相对准确的性能问题,为用户提供更为易用的性能调优参考。 + +## 内存表 + +内存表把数据全部缓存在内存中,所有数据访问实现免锁并发,实现数据处理的极致性能,满足实时性严苛要求场景。 + +## 主备双机 + +主备双机支持同步和异步复制,应用可以根据业务场景选择合适的部署方式。同步复制保证数据的高可靠,一般需要一主两备部署,同时对性能有一定影响。异步复制一主一备部署即可,对性能影响小,但异常时可能存在数据丢失。openGauss支持页面损坏的自动修复,在主机页面发生损坏时,能够自动从备机修复损坏页面。openGauss支持备机并行日志恢复,尽量降低主机故障时业务不可用的时间。 + +同时,如果按照主备模式部署,并打开备机可读功能后,备机将能够提供读操作,但不支持写操作(如建表、插入数据、删除数据等),从而缓解主机上的压力。 diff --git "a/content/zh/docs/Description/\345\206\205\345\255\230\350\241\250.md" "b/content/zh/docs/Description/\345\206\205\345\255\230\350\241\250.md" deleted file mode 100644 index 6217ca991494ed45c199cd7a6d30d834b8270409..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Description/\345\206\205\345\255\230\350\241\250.md" +++ /dev/null @@ -1,4 +0,0 @@ -# 内存表 - -内存表把数据全部缓存在内存中,所有数据访问实现免锁并发,实现数据处理的极致性能,满足实时性严苛要求场景。 - diff --git "a/content/zh/docs/Description/\345\220\221\351\207\217\345\214\226\346\211\247\350\241\214\345\222\214\350\241\214\345\210\227\346\267\267\345\220\210\345\274\225\346\223\216.md" "b/content/zh/docs/Description/\345\220\221\351\207\217\345\214\226\346\211\247\350\241\214\345\222\214\350\241\214\345\210\227\346\267\267\345\220\210\345\274\225\346\223\216.md" deleted file mode 100644 index 1aa741cde296442fd537b957c247727c68544057..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Description/\345\220\221\351\207\217\345\214\226\346\211\247\350\241\214\345\222\214\350\241\214\345\210\227\346\267\267\345\220\210\345\274\225\346\223\216.md" +++ /dev/null @@ -1,51 +0,0 @@ -# 向量化执行和行列混合引擎 - -## 背景信息 - -在大宽表,数据量比较大、查询经常关注某些列的场景中,行存储引擎查询性能比较差。例如气象局的场景,单表有200\~800个列,查询经常访问10个列,在类似这样的场景下,向量化执行技术和列存储引擎可以极大的提升性能和减少存储空间。 - -## 向量化执行 - -标准的迭代器模型如[图1](#zh-cn_topic_0237080624_zh-cn_topic_0231764690_zh-cn_topic_0059777898_f9d90aebe179a40759039d0263492489d)所示。控制流向下(下图实线)、数据流向上(下图虚线)、上层驱动下层(上层节点调用下层节点要数据)、一次一元组(下层节点每次只返回一条元组给上层节点)。 - -而向量化执行相对于传统的执行模式改变是对于一次一元组的模型修改为一次一批元组,配合列存特性,可以带来巨大的性能提升。 - -**图 1** 向量化执行引擎 - - -![](figures/向量化执行引擎(png).png) - -## 行列混合存储引擎 - -openGauss支持行存储和列存储两种存储模型,用户可以根据应用场景,建表的时候选择行存储还是列存储表。 - -一般情况下,如果表的字段比较多(大宽表),查询中涉及到的列不很多的情况下,适合列存储。如果表的字段个数比较少,查询大部分字段,那么选择行存储比较好。 - -如[图2](#zh-cn_topic_0237080624_zh-cn_topic_0231764690_zh-cn_topic_0059777898_fbb2af39ce12a419cb437829aaf1cf4fb)所示,行列混合存储引擎可以同时为用户提供更优的数据压缩比(列存)、更好的索引性能(列存)、更好的点更新和点查询(行存)性能。 - -**图 2** 行列混存引擎 - - - -当前列存储引擎有以下约束: - -- DDL仅支持CREATE/DROP/TRUNCATE TABLE的功能。 - - 兼容分区的DDL管理功能(如: ADD/DROP/MERGE PARTITION,EXCHANGE功能)。 - - 支持CREATE TABLE LIKE语法。 - - 支持ALTER TABLE的部分语法。 - - 其他功能都不支持。 - -- DML支持UPDATE/COPY/BULKLOAD/DELETE。 -- 不支持触发器,不支持主外键。 -- 支持Psort index、B-tree index和GIN index,具体约束参见《开发者指南》中“SQL参考 \> SQL语法 \> CREATE INDEX”章节。 - -## 列存下的数据压缩 - -对于非活跃的早期数据可以通过压缩来减少空间占用,降低采购和运维成本。 - -openGauss列存储压缩支持Delta Value Encoding、Dictionary、RLE 、LZ4、ZLIB等压缩算法,且能够根据数据特征自适应的选择压缩算法,平均压缩比7:1。压缩数据可直接访问,对业务透明,极大缩短历史数据访问的准备时间。 - diff --git "a/content/zh/docs/Description/\346\225\260\346\215\256\345\210\206\345\214\272.md" "b/content/zh/docs/Description/\346\225\260\346\215\256\345\210\206\345\214\272.md" deleted file mode 100644 index 9becf870cf476c398e14afb4a8073042a828b701..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Description/\346\225\260\346\215\256\345\210\206\345\214\272.md" +++ /dev/null @@ -1,48 +0,0 @@ -# 数据分区 - -数据分区是数据库产品普遍具备的功能。在openGauss中,数据分区是对数据按照用户指定的策略对数据做的水平分表,将表按照指定范围划分为多个数据互不重叠的部分(Partition)。 - -openGauss支持范围分区(Range Partitioning)功能,即根据表的一列或者多列,将要插入表的记录分为若干个范围(这些范围在不同的分区里没有重叠),然后为每个范围创建一个分区,用来存储相应的数据。用户在CREATE TABLE时增加PARTITION参数,即表示针对此表应用数据分区功能。 - -例如,[表1](#zh-cn_topic_0237080621_zh-cn_topic_0231764089_zh-cn_topic_0059777656_t77b9e09809f742f1aaadea05d041bc23)描述了一个xDR(详单)场景下,基于时间分片的方式分区后带来的收益。 - -**表 1** 分区收益 - - - - - - - - - - - - - - - - -

场景描述

-

收益

-

当表中访问率较高的行位于一个单独分区或少数几个分区时。

-

大幅减少搜索空间,从而提升访问性能。

-

当需要查询或更新一个分区的大部分记录时。

-

仅需要连续扫描对应分区,而非扫描整个表,因此可大幅提升性能。

-

当需要大量加载或者删除的记录位于一个单独分区或少数几个分区时。

-

可直接读取或删除对应分区,从而提升处理性能;同时由于避免大量零散的删除操作,可减少清理碎片工作量。

-
- -数据分区带来的好处在于: - -- **改善可管理性:**利用分区,可以将表和索引划分为一些更小、更易管理的单元。这样,数据库管理员在进行数据管理时就能采取“分而治之”的方法。 有了分区,维护操作可以专门针对表的特定部分执行。 -- **可提升删除操作的性能:**删除数据时可以删除整个分区,与分别删除每行相比,这种操作非常高效和快速。 - - 删除分区表与删除普通表的语法一致,都是通过DROP TABLE语法进行删除。 - -- **改善查询性能:**通过限制要检查或操作的数据数量,分区可带来许多性能优势。 - - 分区剪枝:分区剪枝(也称为分区消除)是openGauss在执行时过滤掉不需要扫描的分区,只对相关的分区进行扫描的技术。分区剪枝通常可以将查询性能提高若干数量级。 - -- **智能化分区联接:**通过使用一种称为智能化分区联接的技术,分区还可以改善多表联接的性能。当将两个表联接在一起,并且至少其中一个表使用联接键进行分区时,可以应用智能化分区联接。智能化分区联接将一个大型联接分为多个较小的联接,这些较小的联接包含与联接的表“相同”的数据集。这里,“相同”定义为恰好包含联接的两端中相同的分区键值集,因此可以确保只有这些“相同”数据集的联接才会有效,而不必考虑其他数据集。 - diff --git "a/content/zh/docs/Description/\351\253\230\345\217\257\351\235\240\344\272\213\345\212\241\345\244\204\347\220\206.md" "b/content/zh/docs/Description/\351\253\230\345\217\257\351\235\240\344\272\213\345\212\241\345\244\204\347\220\206.md" deleted file mode 100644 index febfa3058dd280666136ce5deb1292d70c496fd5..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Description/\351\253\230\345\217\257\351\235\240\344\272\213\345\212\241\345\244\204\347\220\206.md" +++ /dev/null @@ -1,15 +0,0 @@ -# 高可靠事务处理 - -openGauss提供事务管理功能,保证事务的ACID特性。 - -为了在主节点出现故障时尽可能地不中断服务,openGauss提供了主备双机高可靠机制。通过保护关键用户程序对外不间断提供服务,把因为硬件、软件和人为造成的故障对业务的影响程度降到最低,以保证业务的持续性。 - -**故障恢复** - -支持节点故障可恢复及恢复后满足ACID特性。节点故障、停止后重启等情况下,openGauss能够保证故障之前的数据无丢失,满足ACID特性。 - -**事务管理:** - -- 支持事务块,用户可以通过start transaction命令显式启动一个事务块。 -- 支持单语句事务,用户不显式启动事务,则单条语句就是一个事务。 - diff --git "a/content/zh/docs/Description/\351\253\230\345\271\266\345\217\221-\351\253\230\346\200\247\350\203\275.md" "b/content/zh/docs/Description/\351\253\230\345\271\266\345\217\221-\351\253\230\346\200\247\350\203\275.md" deleted file mode 100644 index 36f30ccf76a6151e652f24fc42d24c907edc440d..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Description/\351\253\230\345\271\266\345\217\221-\351\253\230\346\200\247\350\203\275.md" +++ /dev/null @@ -1,4 +0,0 @@ -# 高并发&高性能 - -openGauss通过服务器端的线程池,可以支持1W并发链接。通过NUMA化内核数据结构,支持线程亲核性处理,可以支持百万级tpmC。通过页面的高效冷热淘汰,支持T级别大内存缓冲区管理。通过CSN快照,去除快照瓶颈,实现多版本访问,读写互不阻塞。通过增量检查点,避免全页写导致的性能波动,实现业务性能平稳运行。 - 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" deleted file mode 100644 index 3f195d94733d140b1530d5f4d0032fe052afa8ae..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Quickstart/JDBC\345\214\205\344\270\216\351\251\261\345\212\250\347\261\273.md" +++ /dev/null @@ -1,15 +0,0 @@ -# JDBC包与驱动类 - -## JDBC包 - -在linux服务器端源代码目录下执行build.sh,获得驱动jar包postgresql.jar,包位置在源代码目录下。从发布包中获取, 包名为openGauss-x.x.x-操作系统版本号-64bit-Jdbc.tar.gz。 - -驱动包与PostgreSQL保持兼容,其中类名、类结构与PostgreSQL驱动完全一致,曾经运行于PostgreSQL的应用程序可以直接移植到当前系统使用。 - -## 驱动类 - -在创建数据库连接之前,需要加载数据库驱动类“org.postgresql.Driver”。 - ->![](public_sys-resources/icon-note.gif) **说明:** ->由于openGauss在JDBC的使用上与PG的使用方法保持兼容,所以同时在同一进程内使用两个JDBC驱动的时候,可能会类名冲突。 - diff --git a/content/zh/docs/Quickstart/Quickstart.md b/content/zh/docs/Quickstart/Quickstart.md deleted file mode 100644 index d254fd1a324e911294b8a6bf9dba84c96670e1ba..0000000000000000000000000000000000000000 --- a/content/zh/docs/Quickstart/Quickstart.md +++ /dev/null @@ -1,6 +0,0 @@ -# 快速入门 - -本文档进行简单的产品介绍和安装,支撑用户快速使用数据库,若了解详细特性以及参考类信息需查看具体单本文档。 - - - 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" deleted file mode 100644 index 9ae90c488e9c1d5121fe2d300922e3a98bf5f56f..0000000000000000000000000000000000000000 Binary files "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" and /dev/null differ diff --git a/content/zh/docs/Quickstart/figures/zh-cn_image_0241993991.png b/content/zh/docs/Quickstart/figures/zh-cn_image_0241993991.png deleted file mode 100644 index b9f5fabba75f4afadc909a3e0383263f2cf03cf6..0000000000000000000000000000000000000000 Binary files a/content/zh/docs/Quickstart/figures/zh-cn_image_0241993991.png and /dev/null differ diff --git a/content/zh/docs/Quickstart/figures/zh-cn_image_0260397341.png b/content/zh/docs/Quickstart/figures/zh-cn_image_0260397341.png new file mode 100644 index 0000000000000000000000000000000000000000..d35d9837729b2f9c9736d1545c064004d65aee3f Binary files /dev/null and b/content/zh/docs/Quickstart/figures/zh-cn_image_0260397341.png differ diff --git a/content/zh/docs/Quickstart/figures/zh-cn_image_0260397375.png b/content/zh/docs/Quickstart/figures/zh-cn_image_0260397375.png new file mode 100644 index 0000000000000000000000000000000000000000..4c4630062be26837e33aa4c01704b7f47279e65d Binary files /dev/null and b/content/zh/docs/Quickstart/figures/zh-cn_image_0260397375.png differ diff --git "a/content/zh/docs/Quickstart/figures/\345\256\211\350\243\205\346\265\201\347\250\213\345\233\276.png" "b/content/zh/docs/Quickstart/figures/\345\256\211\350\243\205\346\265\201\347\250\213\345\233\276.png" index c6e65229b2af9b56c2d3caa1b2f308abccd15daf..8566eca735ee4edb2197b888592569d66f5b2ab0 100644 Binary files "a/content/zh/docs/Quickstart/figures/\345\256\211\350\243\205\346\265\201\347\250\213\345\233\276.png" and "b/content/zh/docs/Quickstart/figures/\345\256\211\350\243\205\346\265\201\347\250\213\345\233\276.png" differ diff --git "a/content/zh/docs/Quickstart/gsql\345\256\242\346\210\267\347\253\257\350\277\236\346\216\245openGauss.md" "b/content/zh/docs/Quickstart/gsql\345\256\242\346\210\267\347\253\257\350\277\236\346\216\245openGauss.md" deleted file mode 100644 index 6f1404dcd8c9efa132a403d5d19616bc0318f1b3..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Quickstart/gsql\345\256\242\346\210\267\347\253\257\350\277\236\346\216\245openGauss.md" +++ /dev/null @@ -1,9 +0,0 @@ -# gsql客户端连接openGauss - -- **[确认连接信息](确认连接信息.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 14d01232a6884635dc860aa0340eeeb49fb1e8aa..1bd8c6423f561592c4ea6158f9d7f2c2171889fc 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" @@ -41,8 +41,8 @@ - on表示该功能启用。 - off表示该功能被禁用。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->谨慎打开这个开关,避免引起openGauss数据不一致。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>谨慎打开这个开关,避免引起openGauss数据不一致。 **默认值:**off 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" deleted file mode 100644 index 930201725713802a65f2c1c07881c00431526532..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,47 +0,0 @@ -# 一主一备配置文件 - -``` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` - 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 8e85c0295eb36ee30c5e6ec7f93161237857f2f2..5774f7a4e744383ca67f9f8c39b1f94c6c9fa20b 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" @@ -6,11 +6,11 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 当前连接的同步备机是列表中的第一个名称。如果当前同步备机失去连接,则它会立即更换下一个优先级更高的备机,并将此备机的名称放入列表中。 ->- 备机名称可以通过设置环境变量PGAPPNAME指定。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 当前连接的同步备机是列表中的第一个名称。如果当前同步备机失去连接,则它会立即更换下一个优先级更高的备机,并将此备机的名称放入列表中。 +>- 备机名称可以通过设置环境变量PGAPPNAME指定。 -**取值范围:**字符串。当取值为\*,表示不启用同步复制。 +**取值范围:**字符串。当取值为\*,表示匹配任意提供同步复制的备机名称。 **默认值:**\* @@ -33,9 +33,9 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 此参数属于性能测试参数,用于测试带有备机和不带备机的性能参数。关闭参数后,不能进行切换、故障等异常场景测试,否则会出现主备从不一致的情况。 ->- 此参数属于受控参数,不建议正常业务场景下关闭此参数。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 此参数属于性能测试参数,用于测试带有备机和不带备机的性能参数。关闭参数后,不能进行切换、故障等异常场景测试,否则会出现主备从不一致的情况。 +>- 此参数属于受控参数,不建议正常业务场景下关闭此参数。 **取值范围:**布尔型 @@ -50,8 +50,8 @@ 该参数属于INTERNAL类型参数,默认值为off,不允许外部修改。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->此参数属于内部参数,目前不允许正常业务场景下改变其值,即关闭WAL日志、数据页混合复制模式。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>此参数属于内部参数,目前不允许正常业务场景下改变其值,即关闭WAL日志、数据页混合复制模式。 **取值范围:**布尔型 @@ -139,6 +139,6 @@ **默认值**:300 ->![](public_sys-resources/icon-note.gif) **说明:** ->单位只能设置为秒。 +>![](public_sys-resources/icon-note.gif) **说明:** +>单位只能设置为秒。 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 67dd57968e932bd38f5777cae05d96bbf7dde290..bb09cdeddd902b05dad009c03e1f1c29743b4bd9 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" @@ -2,10 +2,122 @@ openGauss是关系型数据库,采用客户端/服务器,单进程多线程架构,支持单机和一主多备部署方式,备机可读,支持双机高可用和读扩展。 -- **[产品特点](产品特点.md)** +## 产品特点 + openGauss相比其他开源数据库主要有复合应用场景、高性能和高可用等产品特点。 -- **[软件架构](软件架构.md)** + +- 复合应用场景 + - 行存储,支持业务数据频繁更新场景。 + - 列存储,支持业务数据追加和分析场景。 + - 内存表,支持高吞吐,低时延,极高性能场景。 + +- 高性能 + - 通过多核数据结构,增量检查点,大内存缓冲区管理实现百万级tpmC。 + - 服务端连接池,支持万级并发。 + +- 高可用 + - 支持主备同步,异步多种部署模式。 + - 数据页CRC校验,损坏数据页通过备机自动修复。 + - 备机并行恢复,10秒内可升主提供服务。 + + +## 软件架构 + openGauss主要包含了openGauss服务器,客户端驱动,OM等模块,本章将介绍这些模块之间的相互关系。 -- **[典型组网](典型组网.md)** + +openGauss软件的架构如[图1](#f078d2fc7ab574c8aa05c4a988e0df1b3)所示。在openGauss的文档中,将openGauss服务器称为实例。 + +**图 1** 软件架构 + + +![](figures/openGauss逻辑架构图1.png) + +图中各模块的含义详见[表1](#t17e13a118cb14f5facbde93d2db56660)。 + +**表 1** 模块说明 + + + + + + + + + + + + + + + + + + + + + + + + +

名称

+

描述

+

说明

+

OM

+

运维管理模块(Operation Manager)。提供openGauss日常运维、配置管理的管理接口、工具。

+

不同于服务器和客户端驱动模块,OM为用户提供了相关工具对openGauss实例进行管理。

+

客户端驱动

+

客户端驱动(Client Driver)。负责接收来自应用的访问请求,并向应用返回执行结果;负责与openGauss实例的通信,下发SQL在openGauss实例上执行,并接收命令执行结果。

+

负责接收来自应用的访问请求,并向应用返回执行结果。客户端驱动负责建立到openGauss实例的链接,把应用的SQL命令传输给openGauss实例,接收openGauss实例命令执行结果。

+

客户端驱动和应用运行在同一个进程内,部署在同一个物理节点。

+

openGauss主(备)

+

openGauss主(备)。负责存储业务数据(支持行存、列存、内存表存储)、执行数据查询任务以及向客户端驱动返回执行结果。

+

负责存储业务数据、执行数据查询任务以及向客户端驱动返回执行结果。

+

openGauss实例包含主、备两种类型。支持一主多备。建议将主、备openGauss分散部署在不同的物理节点中。

+

Storage

+

服务器的本地存储资源,持久化存储数据。

+

-

+
+ +## 典型组网 + 为了保证整个应用数据的安全性,建议将openGauss的典型组网划分为两个独立网络:前端业务网络和数据管理存储网络。 +**图 2** 典型组网 +![](figures/典型组网.png "典型组网") + +网络划分说明如[表2](#zh-cn_topic_0085434654_zh-cn_topic_0059782024_tb80dc4a120b64f6093f63535ce9998ef)所示。 + +**表 2** 网络划分 + + + + + + + + + + + + + +

类型

+

描述

+

数据库管理存储网络

+

DBA通过此网络调用OM脚本管理和维护openGauss实例。同时,用于openGauss主备通信组网。数据库管理存储网络也是应用执行系统监控的网络。

+

前端业务网络

+

外部客户端通过此网络访问openGauss数据库。

+
+ +该典型组网有如下优点: + +- 业务网络与数据库管理存储网络的隔离,有效保护了后端存储数据的安全。 +- 业务网络和数据库管理存储网络的隔离,可以防止攻击者通过互联网试图对数据库服务器进行管理操作,增加了系统安全性。 + +网络独占性及1:1的带宽收敛比是openGauss数据库网络性能的基本要求。因此,在生产系统中,对[图2](#zh-cn_topic_0085434654_zh-cn_topic_0059782024_fa885dc600f6a4c38860244454d95c7e4)中的后端存储网络,需满足独占性及至少1:1收敛比的要求。例如,[图3](#zh-cn_topic_0085434654_zh-cn_topic_0059782024_fig397545395542)中,其本质是Fattree组网方式。为实现收敛比1:1,交换网络层级每提高一层,带宽增加一倍。图中每根加粗连接线代表80GE带宽,即8台物理机带宽上限之和。接入层每单台交换机下行带宽160GE,上行带宽160GE,收敛比1:1;汇聚层每单台交换机接入带宽320GE。 + +对于测试系统,上述要求可以适当降低。 + +**图 3** 数据库管理存储网络组网示例 +![](figures/数据库管理存储网络组网示例.png "数据库管理存储网络组网示例") + 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 4b91852ea4f07d68818dd6bf0a8a480e601291a0..e5c54c3708397935fa7292fbc202e19df5b850fb 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,4 +1,4 @@ -# 了解安装流程 +# 了解安装流程 本章节通过流程图简要介绍openGauss的安装流程。 @@ -20,30 +20,30 @@ openGauss的安装流程如[图1](#zh-cn_topic_0249784563_fig18264185162412)所

openGauss安装前需要准备相应的软硬件环境以及相关配置。

文档提供了openGauss安装所需的最低要求,实际安装中,请用户根据实际情况进行规划。

-

更多信息,请参考安装准备

+

更多信息,请参考安装准备

-

获取并校验安装包

+

获取安装包

-

安装包需要在官方网站上下载并且对安装包进行校验,详细请参见获取并校验安装包

+

安装包需要在openGauss开源社区下载并且对安装包内容进行检查,详细请参见。获取安装包

配置XML文件

安装openGauss前需要创建XML文件。XML文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件。

-

关于如何配置XML文件,详细请参见创建XML配置文件

+

关于如何配置XML文件,详细请参见创建XML配置文件

初始化安装环境

安装环境的初始化包含上传安装包和XML文件、解压安装包、使用gs_preinstall准备好安装环境。

-

关于如何初始化安装环境,详细请参见初始化安装环境

+

关于如何初始化安装环境,详细请参见初始化安装环境

执行安装

使用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 1e8d9eb5b1fd179b411996d95cace400bbd7ed0d..240ef395699e4cb267d555b9b04ad549514b96c9 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,4 +1,4 @@ -# 了解安装用户及用户组 +# 了解安装用户及用户组 为了实现安装过程中安装帐户权限最小化,及安装后openGauss的系统运行安全性。安装脚本在安装过程中会自动按照用户指定创建安装用户,并将此用户作为后续运行和维护openGauss的管理员帐户。 @@ -16,7 +16,7 @@

操作系统

建议规划单独的用户组,例如dbgrp

-

初始化安装环境时,由-G参数所指定的安装用户所属的用户组。该用户组如果不存在,则会自动创建,也可提前创建好用户组。在执行gs_preinstall脚本时会检查权限。gs_preinstall脚本会自动赋予此组中的用户对安装目录、数据目录的访问和执行权限。

+

初始化安装环境时,由-G参数所指定的安装用户所属的用户组。该用户组如果不存在,则会自动创建,也可提前创建好用户组。在执行gs_preinstall脚本时会检查权限。gs_preinstall脚本会自动赋予此组中的用户对安装目录、数据目录的访问和执行权限。

创建dbgrp用户组命令:

groupadd dbgrp
@@ -26,7 +26,7 @@

操作系统

建议规划用户用于运行和维护openGauss,例如omm。

-

初始化安装环境时,由-U参数所指定和自动创建的操作系统用户,如果已经存在该用户,请清理该用户或更换初始化用户。从安全性考虑,对此用户的所属组规划如下:

+

初始化安装环境时,由-U参数所指定和自动创建的操作系统用户,如果已经存在该用户,请清理该用户或更换初始化用户。从安全性考虑,对此用户的所属组规划如下:

所属组:dbgrp

diff --git "a/content/zh/docs/Quickstart/\344\272\213\345\212\241\347\233\221\346\216\247.md" "b/content/zh/docs/Quickstart/\344\272\213\345\212\241\347\233\221\346\216\247.md" deleted file mode 100644 index 4c46de03b1e4b5c8142dadca49cc83d4b515d2d0..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Quickstart/\344\272\213\345\212\241\347\233\221\346\216\247.md" +++ /dev/null @@ -1,29 +0,0 @@ -# 事务监控 - -通过设置事务超时预警,可以监控自动回滚的事务并定位其中的语句问题,并且也可以监控执行时间过长的语句。 - -## transaction\_sync\_naptime - -**参数说明:**为保证数据一致性,当本地事务与GTM上snapshot中状态不一样时会阻塞其他事务的运行,需要等待本地节点上事务状态与GTM状态一致后再运行。该参数属于USERSET类型参数,请参考.2-表 GUC参数分类中对应设置方法进行设置。 - -**取值范围:**整型,0 \~ 2147483,单位为秒(s)。 - -**默认值:**30s - ->![](public_sys-resources/icon-note.gif) **说明:** ->若该值设为0,则不会在阻塞达到时长时主动调用gs\_clean进行清理,而是靠[gs\_clean\_timeout](锁管理.md#zh-cn_topic_0242371525_zh-cn_topic_0237124735_zh-cn_topic_0059778102_s3be3f5098fe846f88a95afb16b0528f6)间隔来调用gs\_clean,默认是5分钟。 - -## transaction\_sync\_timeout - -**参数说明:**为保证数据一致性,当本地事务与GTM上snapshot中状态不一样时会阻塞其他事务的运行,需要等待本地节点上事务状态与GTM状态一致后再运行。当数据库主节点上等待时长超过transaction\_sync\_timeout时会报错,回滚事务,避免由于sync lock等其他情况长时间进程停止响应造成对系统的阻塞。 - -该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 - -**取值范围:**整型,0 \~ 2147483,单位为秒(s)。 - -**默认值:**10min - ->![](public_sys-resources/icon-note.gif) **说明:** ->- 若该值设为0,则不会在阻塞超时时报错,回滚事务。 ->- 该值必须大于gs\_clean\_timeout,避免数据库节点上由于还未被gs\_clean清理的残留事务阻塞超时引起的不必要的事务回滚。 - 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" deleted file mode 100644 index 43c725096dba9eb89a499d685400e1fe68149056..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Quickstart/\344\272\247\345\223\201\347\211\271\347\202\271.md" +++ /dev/null @@ -1,19 +0,0 @@ -# 产品特点 - -openGauss相比其他开源数据库主要有复合应用场景、高性能和高可用等产品特点。 - -- 复合应用场景 - - 行存储,支持业务数据频繁更新场景。 - - 列存储,支持业务数据追加和分析场景。 - - 内存表,支持高吞吐,低时延,极高性能场景。 - -- 高性能 - - 通过多核数据结构,增量检查点,大内存缓冲区管理实现百万级tpmC。 - - 服务端连接池,支持万级并发。 - -- 高可用 - - 支持主备同步,异步多种部署模式。 - - 数据页CRC校验,损坏数据页通过备机自动修复。 - - 备机并行恢复,10秒内可升主提供服务。 - - 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 59251013f59fdc8dcbe5ac65d6a6b949529e6234..0dbaeb17928e95b0faf95ba5d076dfa8b25dcd76 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" @@ -18,16 +18,16 @@ 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->虽然服务器允许将random\_page\_cost设置的比seq\_page\_cost小,但是物理上实际不受影响。如果所有数据库都位于随机访问内存中时,两者设置为相等很合理。因为在此种情况下,非顺序抓取页并没有副作用。同样,在缓冲率很高的数据库上,应该相对于CPU参数同时降低这两个值,因为获取内存中的页要比通常情况下开销小很多。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>虽然服务器允许将random\_page\_cost设置的比seq\_page\_cost小,但是物理上实际不受影响。如果所有数据库都位于随机访问内存中时,两者设置为相等很合理。因为在此种情况下,非顺序抓取页并没有副作用。同样,在缓冲率很高的数据库上,应该相对于CPU参数同时降低这两个值,因为获取内存中的页要比通常情况下开销小很多。 **取值范围**:浮点型,0~DBL\_MAX。 **默认值**:4 ->![](public_sys-resources/icon-note.gif) **说明:** ->- 对于特别表空间中的表和索引,可以通过设置同名的表空间的参数来覆盖这个值。 ->- 相对于seq\_page\_cost,减少这个值将导致系统更倾向于使用索引扫描,而增加这个值使得索引扫描开销比较高。可以通过同时增加或减少这两个值来调整磁盘I/O相对于CPU的开销。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 对于特别表空间中的表和索引,可以通过设置同名的表空间的参数来覆盖这个值。 +>- 相对于seq\_page\_cost,减少这个值将导致系统更倾向于使用索引扫描,而增加这个值使得索引扫描开销比较高。可以通过同时增加或减少这两个值来调整磁盘I/O相对于CPU的开销。 ## cpu\_tuple\_cost 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 8173f313f720e82c4b6ea018fb07b423e73fffa0..cf6377e76247016cc926a5b5dae3d368f70dee07 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" @@ -184,8 +184,8 @@ application_name text COPY postgres_log FROM '/opt/data/pg_log/logfile.csv' WITH csv; ``` ->![](public_sys-resources/icon-note.gif) **说明:** ->此处的日志名“logfile.csv”要换成实际生成的日志的名称。 +>![](public_sys-resources/icon-note.gif) **说明:** +>此处的日志名“logfile.csv”要换成实际生成的日志的名称。 ## 简化输入 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 774cac8c6ba3b74330a012230b4268eaf508e1e9..d10ca8b344ef8edb0d28b0fb1ecf38e115360fe4 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" @@ -4,11 +4,11 @@ gsql是openGauss提供的在命令行下运行的数据库连接工具。此工 ## 注意事项 -缺省情况下,客户端连接数据库后处于空闲状态时会根据参数[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即可。 +缺省情况下,客户端连接数据库后处于空闲状态时会根据参数session\_timeout的默认值自动断开连接。如果要关闭超时设置,设置参数session\_timeout为0即可。 ## 前提条件 -已[确认连接信息](zh-cn_topic_0242370176.md)。 +已确认连接信息。 ## 本地连接数据库 @@ -37,9 +37,9 @@ gsql是openGauss提供的在命令行下运行的数据库连接工具。此工 omm用户是管理员用户,因此系统显示“DBNAME=\#”。若使用普通用户身份登录和连接数据库,系统显示“DBNAME=\>”。 - “Non-SSL connection”表示未使用SSL方式连接数据库。如果需要高安全性时,请[使用SSL连接](zh-cn_topic_0246507951.md)。 + “Non-SSL connection”表示未使用SSL方式连接数据库。如果需要高安全性时,请使用SSL连接。 -3. 首次登录需要修改密码。原始密码为安装openGauss数据库手动输入的密码,具体请参见《安装指南》,此处需将原始密码修改为自定义的密码,例如Mypwd123,命令如下: +3. 首次登录需要修改密码。原始密码为安装openGauss数据库手动输入的密码,具体请参见《安装指南》中“安装openGauss \> 执行安装”章节,此处需将原始密码修改为自定义的密码,例如Mypwd123,命令如下: ``` postgres=# ALTER ROLE omm IDENTIFIED BY 'Mypwd123' REPLACE 'XuanYuan@2012'; diff --git "a/content/zh/docs/Quickstart/\344\275\277\347\224\250gsql\350\277\234\347\250\213\350\277\236\346\216\245.md" "b/content/zh/docs/Quickstart/\344\275\277\347\224\250gsql\350\277\234\347\250\213\350\277\236\346\216\245.md" index 1139d22b734a33df4aa78653a072dc4d2b6e7ecb..a5bcdb9ee80ae55a8ea2c5776b91a7cfc2d6cdbf 100644 --- "a/content/zh/docs/Quickstart/\344\275\277\347\224\250gsql\350\277\234\347\250\213\350\277\236\346\216\245.md" +++ "b/content/zh/docs/Quickstart/\344\275\277\347\224\250gsql\350\277\234\347\250\213\350\277\236\346\216\245.md" @@ -1,7 +1,126 @@ # 使用gsql远程连接 -- **[通过gs\_guc配置白名单](通过gs_guc配置白名单.md)** +gsql是openGauss提供的在命令行下运行的数据库连接工具。此工具除了具备操作数据库的基本功能,还提供了若干高级特性,便于用户使用。本节只介绍如何安装gsql客户端,使用gsql客户端连接数据库,更多配置请参见openGauss产品文档。 -- **[安装gsql客户端并连接数据库](安装gsql客户端并连接数据库.md)** +## 前提条件 + +已确认连接信息。 + +## 通过gs\_guc配置白名单 + +1. 以操作系统用户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" + ``` + + >![](public_sys-resources/icon-note.gif) **说明:** + >- 使用“jack”用户前,需先本地连接数据库,并在数据库中使用如下语句建立“jack”用户: + > ``` + > postgres=# CREATE USER jack PASSWORD 'Test@123'; + > ``` + >- -N all表示openGauss的所有主机。 + >- -I all表示主机的所有实例。 + >- -h表示指定需要在“pg\_hba.conf”增加的语句。 + >- all表示允许客户端连接到任意的数据库。 + >- 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”文件中的每条记录可以是下面四种格式之一,四种格式的参数说明请参见《开发者指南》中“管理数据库安全>客户端接入认证>配置文件参考“章节。 + + ``` + 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”里的记录的,所以这些记录的顺序是非常关键的。 + + >![](public_sys-resources/icon-note.gif) **说明:** + >在配置“pg\_hba.conf”文件时,请依据通讯需求按照格式内容从上至下配置记录,优先级高的需求需要配置在前面。openGauss和扩容配置的IP优先级最高,用户手动配置的IP请放在这二者之后,如果已经进行的客户配置和扩容节点的IP在同一网段,请在扩容前删除,扩容成功后再进行配置。 + + 因此对于认证规则的配置建议如下: + + - 靠前的记录有比较严格的连接参数和比较弱的认证方法。 + - 靠后的记录有比较宽松的连接参数和比较强的认证方法。 + + >![](public_sys-resources/icon-note.gif) **说明:** + >- 一个用户要想成功连接到特定的数据库,不仅需要通过pg\_hba.conf中的规则检查,还必须要有该数据库上的CONNECT权限。如果希望控制某些用户只能连接到指定数据库,赋予/撤销CONNECT权限通常比在pg\_hba.conf中设置规则更为简单。 + >- 对应openGauss外部客户端连接,trust为不安全的认证方式,请将认证方式设置为sha256。 + + +## 安装gsql客户端并连接数据库 + +在客户端机器上,上传客户端工具包并配置gsql的执行环境变量。 + +1. 以root用户登录客户端机器。 +2. 创建“/tmp/tools”目录。 + + ``` + mkdir /tmp/tools + ``` + +3. 获取软件安装包中的“openGauss-1.0.0-openEuler-64bit-Libpq.tar.gz”上传到“/tmp/tools”路径下。 + + >![](public_sys-resources/icon-note.gif) **说明:** + >- 软件包相对位置为安装时所放位置,根据实际情况填写。 + >- 不同的操作系统,工具包文件名称会有差异。请根据实际的操作系统类型选择对应的工具包。 + +4. 解压文件。 + + ``` + cd /tmp/tools + tar -zxvf openGauss-1.0.0-openEuler-64bit-Libpq.tar.gz + ``` + +5. 登录数据库主节点所在的服务器,拷贝数据库安装目录下的bin目录到客户端主机的“/tmp/tools”路径下,随后继续登录客户端主机执行步骤6操作。 + + ``` + scp -r /opt/huawei/install/app/bin root@10.10.0.30:/tmp/tools + ``` + + 其中,/opt/huawei/install/app为clusterconfig.xml文件中配置的\{gaussdbAppPath\}路径,10.10.0.30为客户端主机ip。 + +6. 设置环境变量。 + + 打开“\~/.bashrc”文件。 + + ``` + vi ~/.bashrc + ``` + + 在其中输入如下内容后,使用“:wq!”命令保存并退出。 + + ``` + export PATH=/tmp/tools/bin:$PATH + export LD_LIBRARY_PATH=/tmp/tools/lib:$LD_LIBRARY_PATH + ``` + +7. 使环境变量配置生效。 + + ``` + source ~/.bashrc + ``` + +8. 连接数据库。 + + 数据库安装完成后,默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。 + + ``` + gsql -d postgres -h 10.10.0.11 -U jack -p 8000 -W Test@123 + ``` + + postgres为需要连接的数据库名称,10.10.0.11为数据库主节点所在的服务器IP地址,jack为连接数据库的用户,8000为数据库主节点的端口号,Test@123为连接数据库用户jack的密码。 + + >![](public_sys-resources/icon-note.gif) **说明:** + >- 连接openGauss的机器与openGauss不在同一网段时,-h指定的IP地址应为Manager界面上所设的coo.cooListenIp2(应用访问IP)的取值。 + >- 禁止使用omm用户进行远程连接数据库。 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 b6fe9ce16801f62efb596edc653ff5b1b0d2fbbf..19db74cb70f1974e3bc49c63617918efd51ed69b 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,13 +1,143 @@ -# 修改操作系统配置 +# 修改操作系统配置 + +## 关闭操作系统防火墙 -- **[关闭操作系统防火墙](关闭操作系统防火墙.md)** 为了在防火墙开启的状态下,确保openGauss的正常使用。用户需要将同openGauss相关的服务、协议、IP以及端口添加到openGauss各主机的防火墙白名单中。 -- **[设置字符集参数](设置字符集参数.md)** -- **[设置时区和时间](设置时区和时间.md)** +以openEuler操作系统为例,假设openGauss信息如[表 openGauss信息](#zh-cn_topic_0249784574_zh-cn_topic_0241802566_zh-cn_topic_0085434636_zh-cn_topic_0059782018_table4312170510523)所示。 + +**表 1** openGauss信息 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

主机名称

+

内部IP

+

外部IP

+

plat1

+

192.168.0.11

+

10.10.0.11

+

plat2

+

192.168.0.12

+

10.10.0.12

+

plat3

+

192.168.0.13

+

10.10.0.13

+

plat4

+

192.168.0.14

+

10.10.0.14

+

管理网络

+

-

+

10.10.64.236

+
+ +**操作步骤** + +目前仅支持在防火墙关闭的状态下进行安装。 + +1. 修改/etc/selinux/config文件中的“SELINUX“值为“disabled“。 + 1. 使用VIM打开config文件。 + + ``` + vim /etc/selinux/config + ``` + + 2. 修改“SELINUX“的值“disabled“。 + + ``` + SELINUX=disabled + ``` + +2. 重新启动操作系统。 + + ``` + reboot + ``` + +3. 检查防火墙是否关闭。 + + ``` + systemctl status firewalld + ``` + + 若防火墙未关闭,请执行[4](#zh-cn_topic_0249784574_li17330102819394); + + 若防火墙已关闭,则无需再关闭防火墙。 + +4. 关闭防火墙。 + + ``` + systemctl disable firewalld.service + systemctl stop firewalld.service + ``` + +5. 在其他主机上重复步骤1到步骤4。 + +## 设置字符集参数 + +将各数据库节点的字符集设置为相同的字符集,可以在/etc/profile文件中添加"export LANG=XXX"(XXX为Unicode编码)。 + +``` +vim /etc/profile +``` + +## 设置时区和时间 + +将各数据库节点的时区设置为相同时区,可以将/usr/share/zoneinfo/目录下的时区文件拷贝为/etc/localtime文件。 + +``` +cp /usr/share/zoneinfo/$地区/$时区 /etc/localtime +``` + +>![](public_sys-resources/icon-note.gif) **说明:** +>_$地区/$时区为需要设置时区的信息,例如:Asia_/Shanghai。 + +使用date -s命令将各主机的时间设置为统一时间,举例如下。 + +``` +date -s Mon May 11 16:42:11 CST 2020 +``` + +>![](public_sys-resources/icon-note.gif) **说明:** +>可以通过date命令查询主机时区。 + +## 关闭swap交换内存 + +在各数据库节点上,使用swapoff -a命令将交换内存关闭。 + +``` +swapoff -a +``` -- **[关闭swap交换内存](关闭swap交换内存.md)** +## 设置网卡MTU值 -- **[设置网卡MTU值](设置网卡MTU值.md)** +将各数据库节点的网卡MTU值设置为相同大小。对于X86,MTU值推荐1500;对于ARM,MTU值推荐8192。 +``` +ifconfig 网卡编号 mtu 值 +``` 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" deleted file mode 100644 index 8968dad793e8e0e1385a30b69a13682819d42780..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Quickstart/\345\205\263\351\227\255swap\344\272\244\346\215\242\345\206\205\345\255\230.md" +++ /dev/null @@ -1,8 +0,0 @@ -# 关闭swap交换内存 - -在各数据库节点上,使用swapoff -a命令将交换内存关闭。 - -``` -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" deleted file mode 100644 index ec9d25275f7ced1c55f175068a1e5e9b0f5d691c..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,97 +0,0 @@ -# 关闭操作系统防火墙 - -为了在防火墙开启的状态下,确保openGauss的正常使用。用户需要将同openGauss相关的服务、协议、IP以及端口添加到openGauss各主机的防火墙白名单中。 - -以openEuler操作系统为例,假设openGauss信息如[表1](#zh-cn_topic_0249784527_zh-cn_topic_0241802566_zh-cn_topic_0085434636_zh-cn_topic_0059782018_table4312170510523)所示。 - -**表 1** openGauss信息 - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

主机名称

-

内部IP

-

外部IP

-

plat1

-

192.168.0.11

-

10.10.0.11

-

plat2

-

192.168.0.12

-

10.10.0.12

-

plat3

-

192.168.0.13

-

10.10.0.13

-

plat4

-

192.168.0.14

-

10.10.0.14

-

管理网络

-

-

-

10.10.64.236

-
- -## 操作步骤 - -目前仅支持在防火墙关闭的状态下进行安装。 - -1. 检查防火墙是否关闭。 - - ``` - systemctl status firewalld - ``` - - 若防火墙未关闭,请执行[2](#zh-cn_topic_0249784527_zh-cn_topic_0241802566_zh-cn_topic_0085434636_zh-cn_topic_0059782018_li11887129193617); - - 若防火墙已关闭,则无需再关闭防火墙。 - -2. 关闭防火墙。 - - ``` - systemctl disable firewalld.service - systemctl stop firewalld.service - ``` - -3. 修改/etc/selinux/config文件中的“SELINUX“值为“disabled“。 - 1. 使用VIM打开config文件。 - - ``` - vim /etc/selinux/config - ``` - - 2. 修改“SELINUX“的值“disabled“。 - - ``` - SELINUX=disabled - ``` - -4. 重新启动操作系统。 - - ``` - reboot - ``` - -5. 在其他主机上重复步骤1到步骤3。 - 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 fef186d27ac779f7f12d32b00aeb08fac1f7a2a5..00335d52b04928e9fa4e948911e0e6a1b547f6f8 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" @@ -8,13 +8,13 @@ **取值范围**:整型,-100~10000。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 比默认值大的正数数值增加了ANALYZE所需的时间,但是可能会改善优化器的估计质量。 ->- 调整此参数可能存在性能劣化的风险,如果某个查询劣化,可以考虑 -> 1. 恢复默认的统计信息。 -> 2. 使用plan hint来调整到之前的查询计划。 ->- 当此guc参数设置为负数时,如果计算的采样样本数大于等于总数据量的2%,且用户表的数据量小于1600000时,ANALYZE所需时间相比guc参数为默认值的时间会有所增加。 ->- 当此guc参数设置为负数时,则autoanalyze不生效。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 比默认值大的正数数值增加了ANALYZE所需的时间,但是可能会改善优化器的估计质量。 +>- 调整此参数可能存在性能劣化的风险,如果某个查询劣化,可以考虑 +> 1. 恢复默认的统计信息。 +> 2. 使用plan hint来调整到之前的查询计划。 +>- 当此guc参数设置为负数时,如果计算的采样样本数大于等于总数据量的2%,且用户表的数据量小于1600000时,ANALYZE所需时间相比guc参数为默认值的时间会有所增加。 +>- 当此guc参数设置为负数时,则autoanalyze不生效。 **默认值**:100 @@ -30,14 +30,14 @@ - off表示不检查约束。 - partition表示只检查继承的子表和UNION ALL子查询。 - >![](public_sys-resources/icon-notice.gif) **须知:** - >当constraint\_exclusion为on,优化器用查询条件和表的CHECK约束比较,并且在查询条件和约束冲突的时候忽略对表的扫描。 + >![](public_sys-resources/icon-notice.gif) **须知:** + >当constraint\_exclusion为on,优化器用查询条件和表的CHECK约束比较,并且在查询条件和约束冲突的时候忽略对表的扫描。 **默认值**:partition ->![](public_sys-resources/icon-note.gif) **说明:** ->目前, constraint\_exclusion缺省被打开,通常用来实现表分区。为所有的表打开它时,对于简单的查询强加了额外的规划,并且对简单查询没有什么好处。如果不用分区表,可以关掉它。 +>![](public_sys-resources/icon-note.gif) **说明:** +>目前, constraint\_exclusion缺省被打开,通常用来实现表分区。为所有的表打开它时,对于简单的查询强加了额外的规划,并且对简单查询没有什么好处。如果不用分区表,可以关掉它。 ## cursor\_tuple\_fraction @@ -47,8 +47,8 @@ **取值范围**:浮点型,0.0~1.0。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->比默认值小的值与使用 “fast start” 为游标规划的值相偏离,从而使得前几行恢复的很快而抓取全部的行需要很长的时间。比默认值大的值加大了总的估计的时间。在最大的值1.0处,像正常的查询一样规划游标,只考虑总的估计时间和传送第一行的时间。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>比默认值小的值与使用 “fast start” 为游标规划的值相偏离,从而使得前几行恢复的很快而抓取全部的行需要很长的时间。比默认值大的值加大了总的估计的时间。在最大的值1.0处,像正常的查询一样规划游标,只考虑总的估计时间和传送第一行的时间。 **默认值**:0.1 @@ -60,8 +60,8 @@ **取值范围**:整型,1~INT\_MAX。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->比默认值小的数值将降低规划时间,但是可能生成差的执行计划。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>比默认值小的数值将降低规划时间,但是可能生成差的执行计划。 **默认值**:8 @@ -73,9 +73,9 @@ **取值范围**:整型,1~INT\_MAX。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 设置为1会避免任何JOIN重排。这样就使得查询中指定的连接顺序就是实际的连接顺序。查询优化器并不是总能选取最优的连接顺序,高级用户可以选择暂时把这个变量设置为1,然后指定它们需要的连接顺序。 ->- 比默认值小的数值减少规划时间但也降低了执行计划的质量。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 设置为1会避免任何JOIN重排。这样就使得查询中指定的连接顺序就是实际的连接顺序。查询优化器并不是总能选取最优的连接顺序,高级用户可以选择暂时把这个变量设置为1,然后指定它们需要的连接顺序。 +>- 比默认值小的数值减少规划时间但也降低了执行计划的质量。 **默认值**:8 @@ -89,9 +89,9 @@ **默认值**:0 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 当该参数设置为随机执行计划模式时,优化器会生成不同的随机执行计划,该执行计划可能不是最优计划。因此在随机计划模式下,会对查询性能产生影响,所以建议在升级、扩容、缩容等正常业务操作或运维过程中将该参数保持为默认值0。 ->- 当该参数不为0时,查询指定的plan hint不会生效。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 当该参数设置为随机执行计划模式时,优化器会生成不同的随机执行计划,该执行计划可能不是最优计划。因此在随机计划模式下,会对查询性能产生影响,所以建议在升级、扩容、缩容等正常业务操作或运维过程中将该参数保持为默认值0。 +>- 当该参数不为0时,查询指定的plan hint不会生效。 ## hashagg\_table\_size @@ -114,8 +114,8 @@ - on表示允许开启代码生成优化。 - off表示不允许开启代码生成优化。 - >![](public_sys-resources/icon-notice.gif) **须知:** - >目前LLVM优化仅支持向量化执行引擎特性和SQL on Hadoop特性,在其他场景下建议关闭此参数。 + >![](public_sys-resources/icon-notice.gif) **须知:** + >目前LLVM优化仅支持向量化执行引擎特性和SQL on Hadoop特性,在其他场景下建议关闭此参数。 **默认值:**on @@ -131,8 +131,8 @@ - partial表示当所计算表达式中即使包含部分未被codegen化的函数时,仍可借助表达式全codegen框架调用LLVM动态编译优化策略。 - pure表示当所计算表达式整体可被codegen化时,才考虑调用LLVM动态编译优化策略。 - >![](public_sys-resources/icon-notice.gif) **须知:** - >在开启代码生成优化会导致查询性能下降的场景下可以设置此参数为pure,其他场景下建议不改变此参数的默认值partial。 + >![](public_sys-resources/icon-notice.gif) **须知:** + >在开启代码生成优化会导致查询性能下降的场景下可以设置此参数为pure,其他场景下建议不改变此参数的默认值partial。 **默认值:**partial @@ -217,9 +217,9 @@ - on表示在满足约束条件时使用基于面向列的hash表设计的Hash Agg算子。 - off表示不使用面向列的hash表设计的Hash Agg算子。 ->![](public_sys-resources/icon-note.gif) **说明:** ->- 在开启enable\_sonic\_hashagg,且查询达到约束条件使用基于面向列的hash表设计的Hash Agg算子时,查询对应的Hash Agg算子内存使用通常可获得精简。但对于代码生成技术可获得显著性能提升的场景\([enable\_codegen](#zh-cn_topic_0242371509_zh-cn_topic_0237124719_zh-cn_topic_0059779049_sbe5e1dbabf214873baf37dbb7580a7a3)打开后获得较大性能提升\),对应的算子查询性能可能会出现劣化。 ->- 开启enable\_sonic\_hashagg,且查询达到约束条件使用基于面向列的hash表设计的Hash Agg算子时,在Explain Analyze/Performance的执行计划和执行信息中,算子显示为“Sonic Hash Aggregation”,而未达到该约束条件时,算子名称将显示为“Hash Aggregation”。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 在开启enable\_sonic\_hashagg,且查询达到约束条件使用基于面向列的hash表设计的Hash Agg算子时,查询对应的Hash Agg算子内存使用通常可获得精简。但对于代码生成技术可获得显著性能提升的场景\([enable\_codegen](#zh-cn_topic_0242371509_zh-cn_topic_0237124719_zh-cn_topic_0059779049_sbe5e1dbabf214873baf37dbb7580a7a3)打开后获得较大性能提升\),对应的算子查询性能可能会出现劣化。 +>- 开启enable\_sonic\_hashagg,且查询达到约束条件使用基于面向列的hash表设计的Hash Agg算子时,在Explain Analyze/Performance的执行计划和执行信息中,算子显示为“Sonic Hash Aggregation”,而未达到该约束条件时,算子名称将显示为“Hash Aggregation”,Explain详解请参见[详解](zh-cn_topic_0245374546.md)。 **默认值:**on @@ -234,10 +234,10 @@ - on表示在满足约束条件时使用基于面向列的hash表设计的Hash Join算子。 - off表示不使用面向列的hash表设计的Hash Join算子。 ->![](public_sys-resources/icon-note.gif) **说明:** ->- 当前开关仅适用于Inner Join的场景。 ->- 在开启enable\_sonic\_hashjoin,查询对应的Hash Inner算子内存使用通常可获得精简。但对于代码生成技术可获得显著性能提升的场景,对应的算子查询性能可能会出现劣化。 ->- 开启enable\_sonic\_hashjoin,且查询达到约束条件使用基于面向列的hash表设计的Hash Join算子时,在Explain Analyze/Performance的执行计划和执行信息中,算子显示为“Sonic Hash Join”,而未达到该约束条件时,算子名称将显示为“Hash Join”。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 当前开关仅适用于Inner Join的场景。 +>- 在开启enable\_sonic\_hashjoin,查询对应的Hash Inner算子内存使用通常可获得精简。但对于代码生成技术可获得显著性能提升的场景,对应的算子查询性能可能会出现劣化。 +>- 开启enable\_sonic\_hashjoin,且查询达到约束条件使用基于面向列的hash表设计的Hash Join算子时,在Explain Analyze/Performance的执行计划和执行信息中,算子显示为“Sonic Hash Join”,而未达到该约束条件时,算子名称将显示为“Hash Join”,Explain详解请参见[详解](zh-cn_topic_0245374546.md)。 **默认值:**on @@ -318,10 +318,10 @@ - force\_generic\_plan表示强制走generic plan。 - force\_custom\_plan表示强制走custom plan。 ->![](public_sys-resources/icon-note.gif) **说明:** ->- 此参数只对prepare语句生效,一般用在prepare语句中参数化字段存在比较严重的数据倾斜的场景下。 ->- custom plan是指对于preapre语句,在执行execute的时候,把execute语句中的参数嵌套到语句之后生成的计划。custom plan会根据execute语句中具体的参数生成计划,这种方案的优点是每次都按照具体的参数生成优选计划,执行性能比较好;缺点是每次执行前都需要重新生成计划,存在大量的重复的优化器开销。 ->- generic plan是指对于preapre语句生成计划,该计划策略会在执行execute语句的时候把参数bind到plan中,然后执行计划。这种方案的优点是每次执行可以省去重复的优化器开销;缺点是当bind参数字段上数据存在倾斜时该计划可能不是最优的,部分bind参数场景下执行性能较差。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 此参数只对prepare语句生效,一般用在prepare语句中参数化字段存在比较严重的数据倾斜的场景下。 +>- custom plan是指对于preapre语句,在执行execute的时候,把execute语句中的参数嵌套到语句之后生成的计划。custom plan会根据execute语句中具体的参数生成计划,这种方案的优点是每次都按照具体的参数生成优选计划,执行性能比较好;缺点是每次执行前都需要重新生成计划,存在大量的重复的优化器开销。 +>- generic plan是指对于preapre语句生成计划,该计划策略会在执行execute语句的时候把参数bind到plan中,然后执行计划。这种方案的优点是每次执行可以省去重复的优化器开销;缺点是当bind参数字段上数据存在倾斜时该计划可能不是最优的,部分bind参数场景下执行性能较差。 **默认值**:auto 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 b7f2309c32363a9da2029d31ee90cf238001ed25..56b0bff90fad38f452b8164390e0c58545a33e7d 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" @@ -16,8 +16,8 @@ dynamic_library_path = '/usr/local/lib/postgresql:/opt/testgs/lib:$libdir' **取值范围:**字符串 ->![](public_sys-resources/icon-note.gif) **说明:** ->设置为空字符串,表示关闭自动路径搜索。 +>![](public_sys-resources/icon-note.gif) **说明:** +>设置为空字符串,表示关闭自动路径搜索。 **默认值:**$libdir 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 d96a77ecb843f4cc1056e48aa05fa4ae4b19b3c2..a4021cfb29eac27a23ff8dcf7276949cf8373e7f 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" @@ -173,8 +173,8 @@ **默认值:**空 ->![](public_sys-resources/icon-note.gif) **说明:** ->请勿手动设置该参数,设置不当将导致openGauss不可用。 +>![](public_sys-resources/icon-note.gif) **说明:** +>请勿手动设置该参数,设置不当将导致openGauss不可用。 ## transparent\_encrypt\_kms\_url @@ -206,9 +206,9 @@ **默认值:**空 ->![](public_sys-resources/icon-note.gif) **说明:** ->- 当前只支持[表1](#zh-cn_topic_0242371544_zh-cn_topic_0237124754_table182861153114812)。 ->- 配置多个兼容性配置项时,相邻配置项用逗号隔开,例如:set behavior\_compat\_options='end\_month\_calculate,display\_leading\_zero'; +>![](public_sys-resources/icon-note.gif) **说明:** +>- 当前只支持[表1](#zh-cn_topic_0242371544_zh-cn_topic_0237124754_table182861153114812)。 +>- 配置多个兼容性配置项时,相邻配置项用逗号隔开,例如:set behavior\_compat\_options='end\_month\_calculate,display\_leading\_zero'; **表 1** 兼容性配置项 @@ -299,16 +299,14 @@ length

compat_concat_variadic

-

控制函数concat()和concat_ws()对variadic类型结果兼容性的配置项。

-

若设置此配置项,当concat函数参数为variadic类型时,保留a db和Teradata兼容模式下不同的结果形式;否则默认a db和Teradata兼容模式下结果相同,且与a db保持一致。由于MY无variadic类型,所以该选项对MY无影响。

- +

控制函数concat()和concat_ws()对variadic类型结果兼容性的配置项。

若设置此配置项,当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行为。

-

若设置此配置项,当存在上述场景时,该冲突行将会多次执行UPDATE;否则(默认)报错,即MERGE或INSERT操作失败。

- - +

控制在使用MERGE INTO ... WHEN MATCHED THEN UPDATE和INSERT ... ON DUPLICATE KEY UPDATE时,当目标表中一条目标数据与多条源数据冲突时UPDATE行为。

若设置此配置项,当存在上述场景时,该冲突行将会多次执行UPDATE;否则(默认)报错,即MERGE或INSERT操作失败。

+ + + ## table\_skewness\_warning\_threshold 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" deleted file mode 100644 index 84ba1164822c8097c4970e18f0b11a12671680e6..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Quickstart/\345\205\270\345\236\213\347\273\204\347\275\221.md" +++ /dev/null @@ -1,43 +0,0 @@ -# 典型组网 - -为了保证整个应用数据的安全性,建议将openGauss的典型组网划分为两个独立网络:前端业务网络和数据管理存储网络。 - -**图 1** 典型组网 -![](figures/典型组网.png "典型组网") - -网络划分说明如[表1](#zh-cn_topic_0085434654_zh-cn_topic_0059782024_tb80dc4a120b64f6093f63535ce9998ef)所示。 - -**表 1** 网络划分 - - - - - - - - - - - - - -

类型

-

描述

-

数据库管理存储网络

-

DBA通过此网络调用OM脚本管理和维护openGauss实例。同时,用于openGauss主备通信组网。数据库管理存储网络也是应用执行系统监控的网络。

-

前端业务网络

-

外部客户端通过此网络访问openGauss数据库。

-
- -该典型组网有如下优点: - -- 业务网络与数据库管理存储网络的隔离,有效保护了后端存储数据的安全。 -- 业务网络和数据库管理存储网络的隔离,可以防止攻击者通过互联网试图对数据库服务器进行管理操作,增加了系统安全性。 - -网络独占性及1:1的带宽收敛比是openGauss数据库网络性能的基本要求。因此,在生产系统中,对[图1](#zh-cn_topic_0085434654_zh-cn_topic_0059782024_fa885dc600f6a4c38860244454d95c7e4)中的后端存储网络,需满足独占性及至少1:1收敛比的要求。例如,[图2](#zh-cn_topic_0085434654_zh-cn_topic_0059782024_fig397545395542)中,其本质是Fattree组网方式。为实现收敛比1:1,交换网络层级每提高一层,带宽增加一倍。图中每根加粗连接线代表80GE带宽,即8台物理机带宽上限之和。接入层每单台交换机下行带宽160GE,上行带宽160GE,收敛比1:1;汇聚层每单台交换机接入带宽320GE。 - -对于测试系统,上述要求可以适当降低。 - -**图 2** 数据库管理存储网络组网示例 -![](figures/数据库管理存储网络组网示例.png "数据库管理存储网络组网示例") - 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 e3d34188c753116220e1764bc659acb500110ab3..b5093d14d4dfa286444a3ca5efab2e5b2cfa1fea 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" @@ -2,8 +2,8 @@ 介绍与内存相关的参数设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->这些参数只能在数据库服务重新启动后生效。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>这些参数只能在数据库服务重新启动后生效。 ## memorypool\_enable @@ -41,8 +41,8 @@ **默认值:**on ->![](public_sys-resources/icon-notice.gif) **须知:** ->若max\_process\_memory-shared buffer-cstore buffers少于2G,openGauss强制把enable\_memory\_limit设置为off。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>若max\_process\_memory-shared buffer-cstore buffers少于2G,openGauss强制把enable\_memory\_limit设置为off。 ## max\_process\_memory @@ -149,8 +149,8 @@ **默认值:**800 ->![](public_sys-resources/icon-note.gif) **说明:** ->为避免在准备步骤失败,此参数的值不能小于max\_connections。 +>![](public_sys-resources/icon-note.gif) **说明:** +>为避免在准备步骤失败,此参数的值不能小于max\_connections。 ## work\_mem @@ -214,8 +214,8 @@ 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->同样,好几个正在运行的会话可能会同时进行表的局部排序操作。因此使用的总内存可能是psort\_work\_mem的好几倍。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>同样,好几个正在运行的会话可能会同时进行表的局部排序操作。因此使用的总内存可能是psort\_work\_mem的好几倍。 **取值范围:**整型64\~2147483647,单位为KB。 @@ -227,8 +227,8 @@ 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->max\_loaded\_cudesc设置过高时,有可能引起内存分配不足。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>max\_loaded\_cudesc设置过高时,有可能引起内存分配不足。 **取值范围:**100\~1073741823。 @@ -250,8 +250,8 @@ **默认值:**2MB ->![](public_sys-resources/icon-note.gif) **说明:** ->默认值2MB,这个值相对比较小,不容易导致系统崩溃。但是可能会因为该值较小,导致无法执行复杂的函数。 +>![](public_sys-resources/icon-note.gif) **说明:** +>默认值2MB,这个值相对比较小,不容易导致系统崩溃。但是可能会因为该值较小,导致无法执行复杂的函数。 ## cstore\_buffers diff --git "a/content/zh/docs/Quickstart/\345\206\205\345\255\230\350\241\250.md" "b/content/zh/docs/Quickstart/\345\206\205\345\255\230\350\241\250.md" deleted file mode 100644 index ca2b1731017f3461deca7aceb792dc6b6e1c43e8..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Quickstart/\345\206\205\345\255\230\350\241\250.md" +++ /dev/null @@ -1,67 +0,0 @@ -# 内存表 - -介绍内存表的配置参数。 - -## enable\_codegen\_mot - -**参数说明**:设置是否启用原生LLVM Lite执行简单查询。如果当前平台上不支持原生LLVM,那么将使用伪LLVM。 - -该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 - -**取值范围**:布尔值 - -**默认值**:true - -## force\_pseudo\_codegen\_mot - -**参数说明**:设置是否强制伪LLVM Lite执行简单查询,即使当前平台上支持原生LLVM。 - -该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 - -**取值范围**:布尔值 - -**默认值**:true - ->![](public_sys-resources/icon-note.gif) **说明:** ->即使将force\_pseudo\_codegen\_mot设置为false,但force\_pseudo\_codegen\_mot设置为true,而当前平台不支持原生LLVM,那么仍然会使用伪LLVM。 - -## enable\_codegen\_mot\_print - -**参数说明**:设置是否打印生成函数的IR字节码(如果使用伪 LLVM,则打印伪IR字节码)。 - -该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 - -**取值范围**:布尔值 - -**默认值**:true - -## codegen\_mot\_limit - -**参数说明**:设置全局缓存计划源的数量限制,以及每个会话的克隆计划。 - -该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 - -**取值范围**:uint32 - -**默认值**:100 - -## mot\_allow\_index\_on\_nullable\_column - -**参数说明**:设置是否允许在内存表nullable列上创建索引。 - -该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 - -**取值范围**:布尔值 - -**默认值**:true - -## mot\_config\_file - -**参数说明**:指定MOT的主配置文件。 - -该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 - -**取值范围**:字符串 - -**默认值**:NULL - 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 564c12d2810b4525ccaac86f9fc4caa655f7377a..edf62dc50b38d5b1c78af639964dd65fdf860560 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" @@ -24,9 +24,9 @@ 该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 如果被声明的库不存在,openGauss服务将会启动失败。 ->- 每一个支持openGauss的库都有一个特殊的标记用于保证兼容性。因此,不支持openGauss的库不能用这种方法加载。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 如果被声明的库不存在,openGauss服务将会启动失败。 +>- 每一个支持openGauss的库都有一个特殊的标记用于保证兼容性。因此,不支持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 fb3bb6bfc74c76a7e57f7fb5bd99e5bcd0ef9b46..5946717f8dcf61649ff26b347473c1d2602ebd39 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,17 +1,17 @@ -# 准备安装用户及环境 +# 准备安装用户及环境 创建完openGauss配置文件后,在执行安装前,为了后续能以最小权限进行安装及openGauss管理操作,保证系统安全性,需要运行安装前置脚本gs\_preinstall准备好安装用户及环境。 安装前置脚本gs\_preinstall可以协助用户自动完成如下的安装环境准备工作: -- 自动设置Linux内核参数以达到提高服务器负载能力的目的。这些参数直接影响数据库系统的运行状态,请仅在确认必要时调整。openGauss所设置的Linux内核参数取值请参见[配置操作系统参数](配置操作系统参数.md#ZH-CN_TOPIC_0251900908)。 +- 自动设置Linux内核参数以达到提高服务器负载能力的目的。这些参数直接影响数据库系统的运行状态,请仅在确认必要时调整。openGauss所设置的Linux内核参数取值请参见[配置操作系统参数](配置操作系统参数.md#ZH-CN_TOPIC_0270171707)。 - 自动将openGauss配置文件、安装包拷贝到openGauss主机的相同目录下。 - openGauss安装用户、用户组不存在时,自动创建安装用户以及用户组。 - 读取openGauss配置文件中的目录信息并创建,将目录权限授予安装用户。 ## 前提条件 -- 已完成[安装准备](安装准备.md#ZH-CN_TOPIC_0251900884)的所有任务。 +- 已完成[安装准备](安装准备.md#ZH-CN_TOPIC_0270171690)的所有任务。 ## 注意事项 @@ -28,137 +28,75 @@ chmod 755 -R /opt/software ``` - >![](public_sys-resources/icon-note.gif) **说明:** - >- 不建议把安装包的存放目录规划到openGauss用户的家目录或其子目录下,可能导致权限问题。 - >- openGauss用户须具有/opt/software/openGauss目录的读写权限。 + >![](public_sys-resources/icon-note.gif) **说明:** + >- 不建议把安装包的存放目录规划到openGauss用户的家目录或其子目录下,可能导致权限问题。 + >- openGauss用户须具有/opt/software/openGauss目录的读写权限。 -2. 以release包为例,将安装包“openGauss\_x.x.x\_PACKAGES\_RELEASE.tar.gz”和配置文件“clusterconfig.xml”都上传至上一步所创建的目录中。 -3. 在安装包所在的目录下,解压安装包。 +2. 将安装包“openGauss-x.x.x-openEULER-64bit.tar.gz”和配置文件“cluster\_config.xml”都上传至上一步所创建的目录中。 +3. 在安装包所在的目录下,解压安装包openGauss-x.x.x-openEULER-64bit.tar.gz。安装包解压后,会在/opt/software/openGauss路径下自动生成script子目录,并且在script目录下生成gs\_preinstall等各种OM工具脚本。 ``` cd /opt/software/openGauss - tar -zxvf openGauss_x.x.x_PACKAGES_RELEASE.tar.gz - ``` - - 解压后的安装包说明见[表1](#zh-cn_topic_0249784578_zh-cn_topic_0241805803_zh-cn_topic_0085434653_zh-cn_topic_0059781995_te4a9d557337c400c85acff184476a722)。 - - **表 1** 安装包说明 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

包名

-

说明

-

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

-

用于Linux的JDBC驱动安装包。

-

openGauss-x.x.x-openEULER-64bit-Libpq.tar.gz

-

用于Linux的libpq库。

-

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.tar.gz

-

数据库管理系统安装包。即本手册使用的安装包。

-

openGauss-x.x.x-Sslcert.tar.gz

-

用于客户端服务器认证的证书。

-

openGauss-x.x.x-Inspection.tar.gz

-

用于检查数据库健康状况的巡检工具。

-
- -4. 对openGauss-x.x.x-openEULER-64bit.tar.gz进行解压。 - - ``` tar -zxvf openGauss-x.x.x-openEULER-64bit.tar.gz ``` - 安装包解压后,会在/opt/software/openGauss路径下自动生成script子目录,并且在script目录下生成gs\_preinstall等各种OM工具脚本。 - - >![](public_sys-resources/icon-note.gif) **说明:** - >- 在执行前置脚本gs\_preinstall时,需要规划好openGauss配置文件路径、安装包存放路径、程序安装目录、实例数据目录,后续普通用户使用过程中不能再更改这些路径。 - >- 运行前置脚本gs\_preinstall准备安装环境时,脚本内部会自动将openGauss配置文件、解压后的安装包同步拷贝到其余服务器的相同目录下。 - >- 在执行前置或者互信前,请检查/etc/profile文件中是否包含错误输出信息,如果存在错误输出,需手动处理。 + >![](public_sys-resources/icon-note.gif) **说明:** + >- 在执行前置脚本gs\_preinstall时,需要规划好openGauss配置文件路径、安装包存放路径、程序安装目录、实例数据目录,后续普通用户使用过程中不能再更改这些路径。 + >- 运行前置脚本gs\_preinstall准备安装环境时,脚本内部会自动将openGauss配置文件、解压后的安装包同步拷贝到其余服务器的相同目录下。 + >- 在执行前置或者互信前,请检查/etc/profile文件中是否包含错误输出信息,如果存在错误输出,需手动处理。 -5. 进入到工具脚本存放目录下。 +4. 进入到工具脚本存放目录下。 ``` cd /opt/software/openGauss/script ``` -6. 如果是openEuler的操作系统,执行如下命令打开performance.sh文件,用\#注释sysctl -w vm.min\_free\_kbytes=112640 &\> /dev/null,键入“ESC”键进入指令模式,执行**:wq**保存并退出修改。 +5. 如果是openEuler的操作系统,执行如下命令打开performance.sh文件,用\#注释sysctl -w vm.min\_free\_kbytes=112640 &\> /dev/null,键入“ESC”键进入指令模式,执行**:wq**保存并退出修改。 ``` vi /etc/profile.d/performance.sh ``` -7. 为确保openssl版本正确,执行预安装前请加载安装包中lib库。执行命令如下,其中_\{packagePath\}_为用户安装包放置的路径,本示例中为/opt/software/openGauss。 +6. 为确保openssl版本正确,执行预安装前请加载安装包中lib库。执行命令如下,其中_\{packagePath\}_为用户安装包放置的路径,本示例中为/opt/software/openGauss。 ``` export LD_LIBRARY_PATH={packagePath}/script/gspylib/clib:$LD_LIBRARY_PATH ``` -8. 为确保成功安装,检查 hostname 与 /etc/hostname 是否一致。预安装过程中,会对hostname进行检查。 -9. 使用gs\_preinstall准备好安装环境。若为共用环境需加入--sep-env-file=ENVFILE参数分离环境变量避免与其他用户相互影响,ENVFILE为用户自行指定的环境变量分离文件的路径。 +7. 为确保成功安装,检查 hostname 与 /etc/hostname 是否一致。预安装过程中,会对hostname进行检查。 +8. 使用gs\_preinstall准备好安装环境。若为共用环境需加入--sep-env-file=ENVFILE参数分离环境变量,避免与其他用户相互影响,ENVFILE为用户自行指定的环境变量分离文件的路径。 - 采用交互模式执行前置,并在执行过程中自动创建root用户互信和openGauss用户互信: ``` - ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml + ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml ``` - omm为数据库管理员(也是运行openGauss的操作系统用户),dbgrp为运行openGauss的操作系统用户的群组名称,/opt/software/openGauss/clusterconfig.xml为openGauss配置文件路径。在执行过程中,用户根据提示选择是否创建互信,并输入root用户或openGauss用户的密码。 + omm为数据库管理员(也是运行openGauss的操作系统用户),dbgrp为运行openGauss的操作系统用户的群组名称,/opt/software/openGauss/cluster\_config.xml为openGauss配置文件路径。在执行过程中,用户根据提示选择是否创建互信,并输入root用户或openGauss用户的密码。 - 不允许创建root用户互信时,创建omm用户,在各主机上执行本地模式前置,然后用户手动创建openGauss用户互信:如果预安装指定-L参数,预安装前需手动将所有节点的主机名和ip映射关系,写入各个主机的/etc/hosts,并在每个映射关系后边加入注释内容:\#Gauss OM IP Hosts Mapping。 1. 执行下面命令准备安装环境。 ``` cd /opt/software/openGauss/script - ./gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/clusterconfig.xml + ./gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/cluster_config.xml ``` - >![](public_sys-resources/icon-note.gif) **说明:** - >此操作需要在每台主机上执行该命令。 + >![](public_sys-resources/icon-note.gif) **说明:** + >此操作需要在每台主机上执行该命令。 - 采用非交互模式执行前置: - 1. 参考[手工建立互信](手工建立互信.md#ZH-CN_TOPIC_0251900907)章节手工建立root用户互信和openGauss用户互信。 + 1. 参考[手工建立互信](手工建立互信.md#ZH-CN_TOPIC_0270171706)章节手工建立root用户互信和openGauss用户互信。 2. 执行下面命令准备安装环境。 ``` cd /opt/software/openGauss/script - ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/clusterconfig.xml --non-interactive + ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml --non-interactive ``` - >![](public_sys-resources/icon-note.gif) **说明:** - >- 此模式要求用户确保在执行前,已经建立了各节点root用户互信和openGauss用户互信。 - >- root用户互信可能会存在安全隐患,因此建议用户在执行完安装后,立即删除各主机上root用户的互信。 + >![](public_sys-resources/icon-note.gif) **说明:** + >- 此模式要求用户确保在执行前,已经建立了各节点root用户互信和openGauss用户互信。 + >- root用户互信可能会存在安全隐患,因此建议用户在执行完安装后,立即删除各主机上root用户的互信。 @@ -168,7 +106,7 @@ 执行前置脚本: ``` -plat1:/opt/software/openGauss/script # ./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/cluster_config.xml Parsing the configuration file. Successfully parsed the configuration file. Installing the tools on the local node. @@ -265,13 +203,12 @@ Fixing server package owner. Setting finish flag. Successfully set finish flag. Preinstallation succeeded. -S ``` -root密码不一致也不能修改为一致,执行前置脚本本地安装模式: +如果主备机的root用户密码不同,且不能统一修改为一致时,执行前置脚本本地安装模式: ``` -plat1:/opt/software/openGauss/script # ./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/cluster_config.xml Parsing the configuration file. Successfully parsed the configuration file. Installing the tools on the local node. @@ -308,7 +245,7 @@ Preinstallation succeeded. 以非交互模式执行前置: ``` -plat1:/opt/software/openGauss/script # ./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/cluster_config.xml --non-interactive Parsing the configuration file. Successfully parsed the configuration file. Installing the tools on the local node. @@ -356,6 +293,6 @@ 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的用户。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->准备安装用户及环境的过程中会使用root添加定时任务用于定时巡检和上报。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>准备安装用户及环境的过程中会使用root添加定时任务用于定时巡检和上报。 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 1022e8a0d6d95600bfe4319d964cdeac791f81d9..45173c7bbc546c410905f9bcf49bcb462574f8db 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 d9f68c683825c157b85b576d72d07905d6717b46..1aafb7b588c259b506bbaff810fa9fc3bd94ad56 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,6 +1,6 @@ -# 创建XML配置文件 +# 创建XML配置文件 -安装openGauss前需要创建XML文件。XML文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件。 +安装openGauss前需要创建cluster\_config.xml文件。cluster\_config.xml文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件。 下面以一主一备的方案为例,说明如何创建XML配置文件。 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 a4bf365b63090f467a010ddf2f85cabb7c4da0d2..420712e01333ba304802f22cef16092078a56811 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,9 +18,6 @@ CREATE USER user_name [ [ WITH ] option [ ... ] ] [ ENCRYPTED | UNENCRYPTED ] { ``` {SYSADMIN | NOSYSADMIN} - | {MONADMIN | NOMONADMIN} - | {OPRADMIN | NOOPRADMIN} - | {POLADMIN | NOPOLADMIN} | {AUDITADMIN | NOAUDITADMIN} | {CREATEDB | NOCREATEDB} | {USEFT | NOUSEFT} 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 22254a96de3bb4b3c96cccf5d6397d67ad32c4e2..60afafaa33f4415dacb205d7181da7a4ba310778 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" @@ -224,7 +224,7 @@ postgres=# CREATE TEMPORARY TABLE warehouse_t24 W_GMT_OFFSET DECIMAL(5,2) ); ---事务中创建表临时表,并指定提交事务时删除该临时表数据。 +--创建本地临时表,并指定提交事务时删除该临时表数据。 postgres=# CREATE TEMPORARY TABLE warehouse_t25 ( W_WAREHOUSE_SK INTEGER NOT NULL, @@ -243,6 +243,15 @@ postgres=# CREATE TEMPORARY TABLE warehouse_t25 W_GMT_OFFSET DECIMAL(5,2) ) ON COMMIT DELETE ROWS; +--创建全局临时表,并指定会话结束时删除该临时表数据。 +postgres=# CREATE GLOBAL TEMPORARY TABLE gtt1 +( + ID INTEGER NOT NULL, + NAME CHAR(16) NOT NULL, + ADDRESS VARCHAR(50) , + POSTCODE CHAR(6) +) ON COMMIT PRESERVE ROWS; + --创建表时,不希望因为表已存在而报错。 postgres=# CREATE TABLE IF NOT EXISTS tpcds.warehouse_t8 ( 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 ce15e1e46f30867e0ce5d48b6efbc27031b5477f..5ce81278543a4b566b99c9f4e496e3bfb4ee16a7 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\345\214\226\346\225\260\346\215\256\345\272\223.md" "b/content/zh/docs/Quickstart/\345\210\235\345\247\213\345\214\226\346\225\260\346\215\256\345\272\223.md" new file mode 100644 index 0000000000000000000000000000000000000000..a9f378da2e777f4de44b79354fb97a0d0c151055 --- /dev/null +++ "b/content/zh/docs/Quickstart/\345\210\235\345\247\213\345\214\226\346\225\260\346\215\256\345\272\223.md" @@ -0,0 +1,20 @@ +# 初始化数据库 + +使用SQL创建新的数据库 + +使用SQL语句创建数据库时,指定数据库的字符集为GBK。 + +``` +gsql -d postgres -p 26000 +``` + +``` +postgres=# CREATE DATABASE mydb WITH ENCODING 'GBK' template = template0; +``` + +显示类似如下信息: + +``` +CREATE DATABASE +``` + 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" deleted file mode 100644 index b31cef599368e01ba54ecefc414a75b455e8f2d7..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Quickstart/\345\210\235\345\247\213\351\205\215\347\275\256.md" +++ /dev/null @@ -1,7 +0,0 @@ -# 初始配置 - -安装完成后,可以对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" deleted file mode 100644 index 508afe8acca534f0052e59ed47bd989d9feeaecf..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Quickstart/\345\212\240\350\275\275\351\251\261\345\212\250.md" +++ /dev/null @@ -1,13 +0,0 @@ -# 加载驱动 - -在创建数据库连接之前,需要先加载数据库驱动程序。 - -加载驱动有两种方法: - -- 在代码中创建连接之前任意位置隐含装载:Class.forName\("org.postgresql.Driver"\); -- 在JVM启动时参数传递:java -Djdbc.drivers=org.postgresql.Driver jdbctest - - >![](public_sys-resources/icon-note.gif) **说明:** - >上述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 b6a7091debb91b8085eac9790a783ffe9d3e8280..d9330ff4c186633a42d7457081759ed0f329b201 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" @@ -14,8 +14,8 @@ **默认值:**ISO, MDY ->![](public_sys-resources/icon-note.gif) **说明:** ->gs\_initdb会将这个参数初始化成与[lc\_time](#zh-cn_topic_0242371523_zh-cn_topic_0237124733_zh-cn_topic_0059778109_scbb410b3c5c94682a3eec218c7ff0220)一致的值。 +>![](public_sys-resources/icon-note.gif) **说明:** +>gs\_initdb会将这个参数初始化成与[lc\_time](#zh-cn_topic_0242371523_zh-cn_topic_0237124733_zh-cn_topic_0059778109_scbb410b3c5c94682a3eec218c7ff0220)一致的值。 **设置建议:**优先推荐使用ISO格式。Postgres、SQL和German均采用字母缩写的形式来表示时区,例如“EST、WST、CST”等。这些缩写可同时指代不同的时区,比如CST可同时代表美国中部时间\(Central Standard Time \(USA\) UT-6:00\)、澳大利亚中部时间\(Central Standard Time \(Australia\) UT+9:30\)、中国标准时间\(China Standard Time UT+8:00\)、古巴标准时间\(Cuba Standard Time UT-4:00\)。这种情况下在时区转化时可能会得不到正确的结果,从而引发其他问题。 @@ -31,10 +31,10 @@ - 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表示与numtodsinterval函数相匹配的输出结果,详细请参考[numtodsinterval](zh-cn_topic_0242370436.md#zh-cn_topic_0237121972_zh-cn_topic_0059779084_lf9dae2de082b41c094177f70cf798433)。 +- a表示与numtodsinterval函数相匹配的输出结果。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->IntervalStyle参数也会影响不明确的间隔输入的说明。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>IntervalStyle参数也会影响不明确的间隔输入的说明。 **默认值:**postgres @@ -44,12 +44,12 @@ 该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。 -**取值范围:**字符串,可查询视图[PG\_TIMEZONE\_NAMES](zh-cn_topic_0242385996.md)获得。 +**取值范围:**字符串,可查询视图PG\_TIMEZONE\_NAMES获得。 **默认值:**PRC ->![](public_sys-resources/icon-note.gif) **说明:** ->gs\_initdb将设置一个与其系统环境一致的时区值。 +>![](public_sys-resources/icon-note.gif) **说明:** +>gs\_initdb将设置一个与其系统环境一致的时区值。 ## timezone\_abbreviations @@ -61,8 +61,8 @@ **默认值:**Default ->![](public_sys-resources/icon-note.gif) **说明:** ->Default表示通用时区的缩写, 适合绝大部分情况。但也可设置其他诸如 'Australia' 和 'India' 等用来定义特定的安装。而设置除此之外的时区缩写, 需要在建数据库之前通过相应的配置文件进行设置。 +>![](public_sys-resources/icon-note.gif) **说明:** +>Default表示通用时区的缩写, 适合绝大部分情况。但也可设置其他诸如 'Australia' 和 'India' 等用来定义特定的安装。而设置除此之外的时区缩写, 需要在建数据库之前通过相应的配置文件进行设置。 ## extra\_float\_digits @@ -72,9 +72,9 @@ **取值范围:**整型,-15~3 ->![](public_sys-resources/icon-note.gif) **说明:** ->- 设置为3,表示包括部分关键的数据位。这个功能对转储那些需要精确恢复的浮点数据特别有用。 ->- 设置为负数,表示消除不需要的数据位。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 设置为3,表示包括部分关键的数据位。这个功能对转储那些需要精确恢复的浮点数据特别有用。 +>- 设置为负数,表示消除不需要的数据位。 **默认值:**0 @@ -88,10 +88,10 @@ **取值范围:**兼容PostgreSQL所有的字符编码类型。其中UTF8表示使用数据库的字符编码类型。 ->![](public_sys-resources/icon-note.gif) **说明:** ->- 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 ->- 默认情况下,gs\_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 ->- 参数建议保持默认值,不建议通过gs\_guc工具或其他方式直接在postgresql.conf文件中设置client\_encoding参数,即使设置也不会生效,以保证openGauss内部通信编码格式一致。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 +>- 默认情况下,gs\_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 +>- 参数建议保持默认值,不建议通过gs\_guc工具或其他方式直接在postgresql.conf文件中设置client\_encoding参数,即使设置也不会生效,以保证openGauss内部通信编码格式一致。 **默认值:**UTF8 @@ -109,9 +109,9 @@ **取值范围:**字符串 ->![](public_sys-resources/icon-note.gif) **说明:** ->- 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 ->- 默认情况下,gs\_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 +>- 默认情况下,gs\_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 **默认值:**C @@ -123,9 +123,9 @@ **取值范围:**字符串 ->![](public_sys-resources/icon-note.gif) **说明:** ->- 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 ->- 默认情况下,gs\_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 +>- 默认情况下,gs\_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 **默认值:**C @@ -137,9 +137,9 @@ **取值范围:**字符串 ->![](public_sys-resources/icon-note.gif) **说明:** ->- 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 ->- 默认情况下,gs\_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 +>- 默认情况下,gs\_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 **默认值:**C @@ -151,9 +151,9 @@ **取值范围:**字符串 ->![](public_sys-resources/icon-note.gif) **说明:** ->- 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 ->- 默认情况下,gs\_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 +>- 默认情况下,gs\_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 **默认值:**C @@ -171,8 +171,8 @@ **取值范围:**字符串 ->![](public_sys-resources/icon-note.gif) **说明:** ->openGauss支持pg\_catalog.english,pg\_catalog.simple两种配置。 +>![](public_sys-resources/icon-note.gif) **说明:** +>openGauss支持pg\_catalog.english,pg\_catalog.simple两种配置。 **默认值:**pg\_catalog.english 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" deleted file mode 100644 index aef7dd956052fe6e5aa12cd5d29abd5497ee22e1..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,37 +0,0 @@ -# 单节点配置文件 - -``` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` - 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 0d59fdc8b44fdb3f86ae3d08b1a33a00cebcbd42..15ebe7b000464c2dfd5202bd651ceeb290661078 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" @@ -21,8 +21,8 @@ openGauss介绍数据库的向下兼容性和对外兼容性特性的参数控 该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->在字符串文本符合SQL标准的情况下,\\没有任何其他含义。这个参数影响的是如何处理不符合标准的字符串文本,包括明确的字符串转义语法是(E'...')。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>在字符串文本符合SQL标准的情况下,\\没有任何其他含义。这个参数影响的是如何处理不符合标准的字符串文本,包括明确的字符串转义语法是(E'...')。 **取值范围:**枚举类型 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 ab7eb0b8f605b06e5f6732a86aebe11661113902..2d16079bf0d23f394fecf869fcb47fd014d38821 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" @@ -6,8 +6,8 @@ 该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->[wal\_level](设置.md#zh-cn_topic_0242371497_zh-cn_topic_0237124707_zh-cn_topic_0059778393_s2c76f5957066407a959191148f2c780f)必须设置为archive或者hot\_standby以允许备机的连接。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>[wal\_level](设置.md#zh-cn_topic_0242371497_zh-cn_topic_0237124707_zh-cn_topic_0059778393_s2c76f5957066407a959191148f2c780f)必须设置为archive或者hot\_standby以允许备机的连接。 **取值范围**:整型,0~262143 @@ -35,14 +35,67 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 如果主机数据较大,重建备机数据库时需要增大此参数的值,主机数据在 500G时,此参数的参考值为 600s。 ->- 此值不能大于wal\_receiver\_timeout或数据库重建时的超时参数。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 如果主机数据较大,重建备机数据库时需要增大此参数的值,主机数据在 500G时,此参数的参考值为 600s。 +>- 此值不能大于wal\_receiver\_timeout或数据库重建时的超时参数。 **取值范围:**整型, 0 \~ INT\_MAX,单位为毫秒(ms)。 **默认值:6**s +## max\_replication\_slots + +**参数说明:**设置主机端的日志复制slot个数。 + +该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 + +**取值范围:**整型, 8\~100。 + +**默认值:8** + +**设置建议**: + +使用逻辑解码时,该参数值建议设为:当前物理流复制槽数+所需的逻辑复制槽数。 + +- 物理流复制槽提供了一种自动化的方法来确保主节点在所有备节点或从备节点收到xlog之前,xlog不会被移除。也就是说物理流复制槽用于支撑集群HA。集群所需要的物理流复制槽数为备节点加从备的和与主节点之间的比例。例如,假设集群高可用方案为1主、1备、1从备,则所需物理流复制槽数为2。假设集群的高可用方案为1主3备,则所需物理流复制槽数为3。 +- 关于逻辑复制槽数,请按如下规则考虑: + - 一个逻辑复制槽只能解码一个数据库的修改,如果需要解码多个数据库,则需要创建多个逻辑复制槽。 + - 如果需要多路逻辑复制同步给多个目标数据库,在源端数据库需要创建多个逻辑复制槽,每个逻辑复制槽对应一条逻辑复制链路。 + + +## enable\_slot\_log + +**参数说明**:是否开启逻辑复制槽主备同步特性。 + +该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 + +**取值范围**:布尔型 + +- on表示开启逻辑复制槽主备同步特性。 +- off表示不开启逻辑复制槽主备同步特性。 + +**默认值**:**off** + +## max\_changes\_in\_memory + +**参数说明**:逻辑解码时单条事务在内存中缓存的大小上限,单位字节。 + +该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 + +**取值范围**:整型,1\~2147483647‬ + +**默认值**:**4096** + +## max\_cached\_tuplebufs + +**参数说明**:逻辑解码时总元组信息在内存中缓存的大小上限,单位字节。建议设置为[max\_changes\_in\_memory](#zh-cn_topic_0242371502_section16366164213497)的两倍以上。 + +该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 + +**取值范围**:整型,1\~2147483647‬ + +**默认值**:**8192** + ## replconninfo1 **参数说明:**设置本端监听和鉴权的第一个节点信息。 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 5696b22604ff1dd4680ff23a5a437920e85c57dc..a551e6add9ffe1558f60e13229dd0d184a09e431 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" @@ -26,8 +26,8 @@ **取值范围:**整型,0~1000 ->![](public_sys-resources/icon-note.gif) **说明:** ->此参数设置为0表示禁用后端写功能,禁用后端写功能不会对checkpoints产生影响。 +>![](public_sys-resources/icon-note.gif) **说明:** +>此参数设置为0表示禁用后端写功能,禁用后端写功能不会对checkpoints产生影响。 **默认值:**100 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 fcbd0f6f2b4e76993ee1d09c024d6ae8bd7f0422..eecb00adb2ea52591df1cc5aef6055224a573652 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" @@ -2,14 +2,14 @@ 这个特性的目的是允许管理员减少VACUUM和ANALYZE语句在并发活动的数据库上的I/O影响。比如,像VACUUM和ANALYZE这样的维护语句并不需要迅速完成,并且不希望他们严重干扰系统执行其他的数据库操作。基于开销的清理延迟为管理员提供了一个实现这个目的手段。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->有些清理操作会持有关键的锁,这些操作应该尽快结束并释放锁。所以openGauss的机制是,在这类操作过程中,基于开销的清理延迟不会发生作用。为了避免在这种情况下的长延时,实际的开销限制取下面两者之间的较大值: ->- vacuum\_cost\_delay\*accumulated\_balance/vacuum\_cost\_limit ->- vacuum\_cost\_delay\*4 +>![](public_sys-resources/icon-notice.gif) **须知:** +>有些清理操作会持有关键的锁,这些操作应该尽快结束并释放锁。所以openGauss的机制是,在这类操作过程中,基于开销的清理延迟不会发生作用。为了避免在这种情况下的长延时,实际的开销限制取下面两者之间的较大值: +>- vacuum\_cost\_delay\*accumulated\_balance/vacuum\_cost\_limit +>- vacuum\_cost\_delay\*4 ## 背景信息 -在[ANALYZE | ANALYSE](zh-cn_topic_0242370550.md)和[VACUUM](zh-cn_topic_0242370659.md)语句执行过程中,系统维护一个内部的记数器,跟踪所执行的各种I/O操作的近似开销。如果积累的开销达到了vacuum\_cost\_limit声明的限制,则执行这个操作的进程将睡眠vacuum\_cost\_delay指定的时间。然后它会重置记数器然后继续执行。 +在ANALYZE和VACUUM语句执行过程中,系统维护一个内部的记数器,跟踪所执行的各种I/O操作的近似开销。如果积累的开销达到了vacuum\_cost\_limit声明的限制,则执行这个操作的进程将睡眠vacuum\_cost\_delay指定的时间。然后它会重置记数器然后继续执行。 这个特性是缺省关闭的。要想打开它,把vacuum\_cost\_delay变量设置为一个非零值。 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 6d23e2a8a5b6093f31f944a549925659863f1e98..cc225e5668bd14049f76f40dd93f428794879f3b 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" @@ -8,8 +8,8 @@ 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->通常情况下在执行过程中不要关闭,geqo\_threshold变量提供了更精细的控制GEQO的方法。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>通常情况下在执行过程中不要关闭,geqo\_threshold变量提供了更精细的控制GEQO的方法。 **取值范围**:布尔型 @@ -24,9 +24,9 @@ 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 对于简单的查询,通常用详尽搜索方法,当涉及多个表的查询的时候,用GEQO可以更好的管理查询。 ->- 一个FULL OUTER JOIN构造仅作为一个FROM项。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 对于简单的查询,通常用详尽搜索方法,当涉及多个表的查询的时候,用GEQO可以更好的管理查询。 +>- 一个FULL OUTER JOIN构造仅作为一个FROM项。 **取值范围**:整型,2~INT\_MAX。 @@ -38,13 +38,13 @@ 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->geqo\_effort实际上并没有直接做任何事情,只是用于计算其他影响GEQO的变量的默认值。如果愿意,可以手工设置其他参数。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>geqo\_effort实际上并没有直接做任何事情,只是用于计算其他影响GEQO的变量的默认值。如果愿意,可以手工设置其他参数。 **取值范围**:整型,1~10。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->比默认值大的数值增加了查询规划的时间,但是也增加了选中有效查询的几率。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>比默认值大的数值增加了查询规划的时间,但是也增加了选中有效查询的几率。 **默认值**:5 @@ -56,8 +56,8 @@ **取值范围**:整型,0~INT\_MAX。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->至少是2,且有用的值一般在100到1000之间。设置为0,表示使用系统自适应方式,openGauss会基于geqo\_effort和表的个数选取合适的值。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>至少是2,且有用的值一般在100到1000之间。设置为0,表示使用系统自适应方式,openGauss会基于geqo\_effort和表的个数选取合适的值。 **默认值**:0 @@ -69,8 +69,8 @@ **取值范围**:整型,0~INT\_MAX。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->必须至少是1,且有用的值介于100和1000之间。如果设置为0,则基于geqo\_pool\_size选取合适的值。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>必须至少是1,且有用的值介于100和1000之间。如果设置为0,则基于geqo\_pool\_size选取合适的值。 **默认值**:0 @@ -92,8 +92,8 @@ **取值范围**:浮点型,0.0~1.0。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->不同的值会改变搜索的连接路径,从而影响了所找路径的优劣。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>不同的值会改变搜索的连接路径,从而影响了所找路径的优劣。 **默认值**: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 75a24cdd24f7f7e1e516fc5ccf2f6f4acef58389..0b5c8b0de85dbfd09056822f50326f78683aa229 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" @@ -6,9 +6,9 @@ 该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 如果此参数设置为on,[wal\_level](设置.md#zh-cn_topic_0242371497_zh-cn_topic_0237124707_zh-cn_topic_0059778393_s2c76f5957066407a959191148f2c780f)必须设置为hot\_standby,否则将导致数据库无法启动。 ->- 在双机环境中,因为会对双机其他一些功能产生影响,hot\_standby参数不能设置成off。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 如果此参数设置为on,[wal\_level](设置.md#zh-cn_topic_0242371497_zh-cn_topic_0237124707_zh-cn_topic_0059778393_s2c76f5957066407a959191148f2c780f)必须设置为hot\_standby,否则将导致数据库无法启动。 +>- 在双机环境中,因为会对双机其他一些功能产生影响,hot\_standby参数不能设置成off。 **取值范围:**布尔型 @@ -23,8 +23,8 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->-1表示允许备机一直等待冲突的查询完成。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>-1表示允许备机一直等待冲突的查询完成。 **取值范围:**整型,范围:-1\~INT\_MAX,单位为毫秒。 @@ -36,8 +36,8 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->-1表示允许备机一直等待冲突的查询完成。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>-1表示允许备机一直等待冲突的查询完成。 **取值范围:**整型(毫秒),范围:-1\~INT\_MAX @@ -66,9 +66,9 @@ **默认值:**off ->![](public_sys-resources/icon-notice.gif) **须知:** ->当该参数为on时,主机的旧版本数据的清理会受限于备机正在读的事务,即主机只允许清理小于备机反馈回来的事务所作的更改。 ->所以,若该参数开启时,会影响主机的性能。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>当该参数为on时,主机的旧版本数据的清理会受限于备机正在读的事务,即主机只允许清理小于备机反馈回来的事务所作的更改。 +>所以,若该参数开启时,会影响主机的性能。 ## wal\_receiver\_timeout diff --git "a/content/zh/docs/Quickstart/\345\256\211\345\205\250\345\222\214\350\256\244\350\257\201_postgresql-conf.md" "b/content/zh/docs/Quickstart/\345\256\211\345\205\250\345\222\214\350\256\244\350\257\201_postgresql-conf.md" index bf3a3a55a528dc449809cd3fcd82d736743ea176..778f8c0355b80ff8b53382968cfdb52828260122 100644 --- "a/content/zh/docs/Quickstart/\345\256\211\345\205\250\345\222\214\350\256\244\350\257\201_postgresql-conf.md" +++ "b/content/zh/docs/Quickstart/\345\256\211\345\205\250\345\222\214\350\256\244\350\257\201_postgresql-conf.md" @@ -22,8 +22,8 @@ **默认值:**10000 ->![](public_sys-resources/icon-notice.gif) **须知:** ->迭代次数设置过小会降低口令存储的安全性,设置过大会导致认证、用户创建等涉及口令加密的场景性能劣化,请根据实际硬件条件合理设置迭代次数,推荐采用默认迭代次数。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>迭代次数设置过小会降低口令存储的安全性,设置过大会导致认证、用户创建等涉及口令加密的场景性能劣化,请根据实际硬件条件合理设置迭代次数,推荐采用默认迭代次数。 ## session\_timeout @@ -35,12 +35,12 @@ **默认值:**10min ->![](public_sys-resources/icon-notice.gif) **须知:** ->openGauss gsql客户端中有自动重连机制,所以针对初始化用户本地连接,超时后gsql表现的现象为断开后重连。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>openGauss gsql客户端中有自动重连机制,所以针对初始化用户本地连接,超时后gsql表现的现象为断开后重连。 ## ssl -**参数说明:**启用SSL连接。请在使用这个选项之前阅读[使用gsql连接](zh-cn_topic_0242370178.md)。 +**参数说明:**启用SSL连接。请在使用这个选项之前阅读[使用gsql远程连接](使用gsql远程连接.md)。 该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 @@ -49,14 +49,14 @@ - on表示启用SSL连接。 - off表示不启用SSL连接。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->openGauss目前支持SSL的场景为客户端连接数据库主节点场景,该参数目前建议只在数据库主节点中开启,数据库节点默认值为off。开启此参数需要同时配置ssl\_cert\_file、ssl\_key\_file和ssl\_ca\_file等参数及对应文件,不正确的配置可能会导致openGauss无法正常启动。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>openGauss目前支持SSL的场景为客户端连接数据库主节点场景,该参数目前建议只在数据库主节点中开启,数据库节点默认值为off。开启此参数需要同时配置ssl\_cert\_file、ssl\_key\_file和ssl\_ca\_file等参数及对应文件,不正确的配置可能会导致openGauss无法正常启动。 **默认值:**off ## require\_ssl -**参数说明:**设置服务器端是否强制要求SSL连接,该参数只有当参数[ssl](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s8c4647db116f44c4b9ce3dceee3d6ffa)为on时才有效。请在使用这个选项之前阅读[使用gsql连接](zh-cn_topic_0242370178.md)。 +**参数说明:**设置服务器端是否强制要求SSL连接,该参数只有当参数[ssl](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s8c4647db116f44c4b9ce3dceee3d6ffa)为on时才有效。请在使用这个选项之前阅读[使用gsql远程连接](使用gsql远程连接.md)。 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 @@ -65,8 +65,8 @@ - on表示服务器端强制要求SSL连接。 - off表示服务器端对是否通过SSL连接不作强制要求。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->openGauss目前支持SSL的场景为客户端连接数据库主节点场景,该参数目前建议只在数据库主节点中开启。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>openGauss目前支持SSL的场景为客户端连接数据库主节点场景,该参数目前建议只在数据库主节点中开启。 **默认值:**off @@ -76,7 +76,7 @@ 该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 -**取值范围:**字符串,如果指定多个加密算法,加密算法之间需要以分号分割。详细请参见[用SSL进行安全的TCP/IP连接](zh-cn_topic_0246507951.md)获取支持的加密算法。 +**取值范围:**字符串,如果指定多个加密算法,加密算法之间需要以分号分割。 **默认值:**ALL @@ -178,12 +178,12 @@ ## password\_policy -**参数说明:**在使用CREATE ROLE/USER或者ALTER ROLE/USER命令创建或者修改openGauss帐户时,该参数决定是否进行密码复杂度检查。关于密码复杂度检查策略请参见[设置密码安全策略](zh-cn_topic_0246507969.md)。 +**参数说明:**在使用CREATE ROLE/USER或者ALTER ROLE/USER命令创建或者修改openGauss帐户时,该参数决定是否进行密码复杂度检查。 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->从安全性考虑,请勿关闭密码复杂度策略。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>从安全性考虑,请勿关闭密码复杂度策略。 **取值范围:**0、1 @@ -194,16 +194,16 @@ ## password\_reuse\_time -**参数说明:**在使用ALTER USER或者ALTER ROLE修改用户密码时,该参数指定是否对新密码进行可重用天数检查。关于密码可重用策略请参见[设置密码安全策略](zh-cn_topic_0246507969.md)。 +**参数说明:**在使用ALTER USER或者ALTER ROLE修改用户密码时,该参数指定是否对新密码进行可重用天数检查。 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->修改密码时会检查配置参数[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)和[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)。 ->- 当[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)和[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)都为正数时,只要满足其中任一个,即可认为密码可以重用。 ->- 当[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)为0时,表示不限制密码重用天数,仅限制密码重用次数。 ->- 当[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)为0时,表示不限制密码重用次数,仅限制密码重用天数。 ->- 当[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)和[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)都为0时,表示不对密码重用进行限制。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>修改密码时会检查配置参数[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)和[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)。 +>- 当[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)和[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)都为正数时,只要满足其中任一个,即可认为密码可以重用。 +>- 当[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)为0时,表示不限制密码重用天数,仅限制密码重用次数。 +>- 当[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)为0时,表示不限制密码重用次数,仅限制密码重用天数。 +>- 当[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)和[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)都为0时,表示不对密码重用进行限制。 **取值范围:**浮点型(天),最小值为0,最大值为3650。 @@ -214,16 +214,16 @@ ## password\_reuse\_max -**参数说明:**在使用ALTER USER或者ALTER ROLE修改用户密码时,该参数指定是否对新密码进行可重用次数检查。关于密码可重用策略请参见[设置密码安全策略](zh-cn_topic_0246507969.md)。 +**参数说明:**在使用ALTER USER或者ALTER ROLE修改用户密码时,该参数指定是否对新密码进行可重用次数检查。 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->修改密码时会检查配置参数[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)和[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)。 ->- 当[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)和[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)都为正数时,只要满足其中任一个,即可认为密码可以重用。 ->- 当[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)为0时,表示不限制密码重用天数,仅限制密码重用次数。 ->- 当[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)为0时,表示不限制密码重用次数,仅限制密码重用天数。 ->- 当[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)和[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)都为0时,表示不对密码重用进行限制。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>修改密码时会检查配置参数[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)和[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)。 +>- 当[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)和[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)都为正数时,只要满足其中任一个,即可认为密码可以重用。 +>- 当[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)为0时,表示不限制密码重用天数,仅限制密码重用次数。 +>- 当[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)为0时,表示不限制密码重用次数,仅限制密码重用天数。 +>- 当[password\_reuse\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s36625909efc14a42af3e142435ae9794)和[password\_reuse\_max](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_scad28ae18dfc4557b10f51bf147a9e53)都为0时,表示不对密码重用进行限制。 **取值范围:**整型,最小值为0,最大值为1000。 @@ -234,12 +234,12 @@ ## password\_lock\_time -**参数说明:**该参数指定帐户被锁定后自动解锁的时间。关于帐户自动锁定策略请参见[设置密码安全策略](zh-cn_topic_0246507969.md)。 +**参数说明:**该参数指定帐户被锁定后自动解锁的时间。 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->password\_lock\_time和[failed\_login\_attempts](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_sc155ec2258b34e78a2ffcf797e66b959)必须都为正数时锁定和解锁功能才能生效。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>password\_lock\_time和[failed\_login\_attempts](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_sc155ec2258b34e78a2ffcf797e66b959)必须都为正数时锁定和解锁功能才能生效。 **取值范围:**浮点型,最小值为0,最大值为365,单位为天。 @@ -250,12 +250,12 @@ ## failed\_login\_attempts -**参数说明:**在任意时候,如果输入密码错误的次数达到failed\_login\_attempts则当前帐户被锁定,password\_lock\_time秒后被自动解锁。 例如,登录时输入密码失败,ALTER USER时修改密码失败等。关于帐户自动锁定策略请参见[设置密码安全策略](zh-cn_topic_0246507969.md)。 +**参数说明:**在任意时候,如果输入密码错误的次数达到failed\_login\_attempts则当前帐户被锁定,password\_lock\_time秒后被自动解锁。 例如,登录时输入密码失败,ALTER USER时修改密码失败等。 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->failed\_login\_attempts和[password\_lock\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s5e488e82235e4bd5b470b57a44a38c27)必须都为正数时锁定和解锁功能才能生效。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>failed\_login\_attempts和[password\_lock\_time](#zh-cn_topic_0242371486_zh-cn_topic_0237124696_zh-cn_topic_0059778664_s5e488e82235e4bd5b470b57a44a38c27)必须都为正数时锁定和解锁功能才能生效。 **取值范围:**整型,最小值为0,最大值为1000。 @@ -276,8 +276,8 @@ - 1表示采用sha256和md5两种方式分别对密码加密。 - 2表示采用sha256方式对密码加密。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->md5为不安全的加密算法,不建议用户使用。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>md5为不安全的加密算法,不建议用户使用。 **默认值:**2 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" deleted file mode 100644 index 35d5e0dc45ea6d06f6c194e4cf8598e5241ceded..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,73 +0,0 @@ -# 安装gsql客户端并连接数据库 - -gsql是openGauss提供的在命令行下运行的数据库连接工具。此工具除了具备操作数据库的基本功能,还提供了若干高级特性,便于用户使用。本节只介绍如何安装gsql客户端,使用gsql客户端连接数据库,更多配置请参见openGauss产品文档。 - -## 前提条件 - -已[确认连接信息](zh-cn_topic_0242370176.md)。 - -## 操作步骤 - -在客户端机器上,上传客户端工具包并配置gsql的执行环境变量。 - -1. 以root用户登录客户端机器。 -2. 创建“/tmp/tools”目录。 - - ``` - mkdir /tmp/tools - ``` - -3. 获取软件安装包中的“openGauss-1.0.0-openEuler-64bit-Libpq.tar.gz”上传到“/tmp/tools”路径下。 - - >![](public_sys-resources/icon-note.gif) **说明:** - >- 软件包相对位置为安装时所放位置,根据实际情况填写。 - >- 不同的操作系统,工具包文件名称会有差异。请根据实际的操作系统类型选择对应的工具包。 - -4. 解压文件。 - - ``` - cd /tmp/tools - tar -zxvf openGauss-1.0.0-openEuler-64bit-Libpq.tar.gz - ``` -5. 登录数据库主节点所在的服务器,拷贝数据库安装目录下的bin目录至客户端主机的“/tmp/tools”路径下。 - ``` - scp -r /opt/install/app/bin root@10.10.0.30:/tmp/tools - ``` - 其中,/opt/install/app为clusterconfig.xml文件中配置的{gaussdbAppPath}路径,10.10.0.30为客户端主机IP。 - -6. 登陆客户端主机,执行如下操作设置环境变量。 - - 打开“\~/.bashrc”文件。 - - ``` - vi ~/.bashrc - ``` - - 在其中输入如下内容后,使用“:wq!”命令保存并退出。 - - ``` - export PATH=/tmp/tools/bin:$PATH - export LD_LIBRARY_PATH=/tmp/tools/lib:$LD_LIBRARY_PATH - ``` - -7. 使环境变量配置生效。 - - ``` - source ~/.bashrc - ``` - -8. 连接数据库。 - - 数据库安装完成后,默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。 - - ``` - gsql -d postgres -h 10.10.0.11 -U jack -p 8000 -W Test@123 - ``` - - postgres为需要连接的数据库名称,10.10.0.11为数据库主节点所在的服务器IP地址,jack为连接数据库的用户,8000为数据库主节点的端口号,Test@123为连接数据库用户jack的密码。 - - >![](public_sys-resources/icon-note.gif) **说明:** - >- 连接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 c779ebff90bd79a2ca5ce0d27c302d1d0d3d0792..6ea09b5e8081010db5c77369422b22d3ff23a8fb 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,15 +1,15 @@ -# 安装openGauss +# 安装openGauss - **[创建XML配置文件](创建XML配置文件.md)** -安装openGauss前需要创建XML文件。XML文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件。 +安装openGauss前需要创建cluster\_config.xml文件。cluster\_config.xml文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件。 - **[初始化安装环境](初始化安装环境.md)** 为了保证openGauss的正确安装,请首先对主机环境进行配置。 - **[执行安装](执行安装.md)** 执行前置脚本准备好openGauss安装环境之后,按照启动安装过程部署openGauss。 +- **[初始化数据库](初始化数据库.md)** + - **[(可选)设置备机可读]((可选)设置备机可读.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 99b4db6180b45d308ce394d2a50595045ce3f286..02c305c193afa0b0e27b92ac9ff39a776fbf03a1 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,11 +1,11 @@ -# 安装准备 +# 安装准备 本章详细介绍了安装openGauss的环境准备和配置,请在安装之前仔细阅读本章的内容。如果已完成本章节的配置,请进入“安装openGauss”章节。 - **[了解安装流程](了解安装流程.md)** 本章节通过流程图简要介绍openGauss的安装流程。 -- **[获取并校验安装包](获取并校验安装包.md)** -为了防止安装包在传输过程中被恶意篡改或破坏给客户网络安全造成威胁,在获取到安装包后,需要对安装包的完整性进行校验,通过了校验的安装包才能部署。 +- **[获取安装包](获取安装包.md)** +openGauss开源社区上提供了安装包的获取方式。 - **[准备软硬件安装环境](准备软硬件安装环境.md)** 本章节描述安装前需要进行的环境准备。 - **[了解安装用户及用户组](了解安装用户及用户组.md)** 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" index 473ae33755fcf8cd2448865df6a0a5231b3b4583..135ed8a84050f676ba7a3d7737fda89e57319665 100644 --- "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" @@ -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 c75c0da8574863cf8f41bc8dcb3ffdd90c0fd620..38f44b413b10b886ce67b0f6cf11ed5353f0b3b8 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" @@ -43,8 +43,8 @@ **默认值**:1d ->![](public_sys-resources/icon-notice.gif) **须知:** ->请不要随意调整此参数,否侧可能会导致audit\_resource\_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用[audit\_resource\_policy](#zh-cn_topic_0242371535_zh-cn_topic_0237124745_section939915522551)、[audit\_space\_limit](#zh-cn_topic_0242371535_zh-cn_topic_0237124745_zh-cn_topic_0059777744_s167d5900250946bca199444c0617c714)和[audit\_file\_remain\_time](#zh-cn_topic_0242371535_zh-cn_topic_0237124745_section149961828185211)参数进行控制。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>请不要随意调整此参数,否侧可能会导致audit\_resource\_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用[audit\_resource\_policy](#zh-cn_topic_0242371535_zh-cn_topic_0237124745_section939915522551)、[audit\_space\_limit](#zh-cn_topic_0242371535_zh-cn_topic_0237124745_zh-cn_topic_0059777744_s167d5900250946bca199444c0617c714)和[audit\_file\_remain\_time](#zh-cn_topic_0242371535_zh-cn_topic_0237124745_section149961828185211)参数进行控制。 ## audit\_rotation\_size @@ -56,8 +56,8 @@ **默认值**:10MB ->![](public_sys-resources/icon-notice.gif) **须知:** ->请不要随意调整此参数,否侧可能会导致audit\_resource\_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用audit\_resource\_policy、audit\_space\_limit和audit\_file\_remain\_time参数进行控制。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>请不要随意调整此参数,否侧可能会导致audit\_resource\_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用audit\_resource\_policy、audit\_space\_limit和audit\_file\_remain\_time参数进行控制。 ## audit\_resource\_policy @@ -102,6 +102,6 @@ **默认值:**1048576 ->![](public_sys-resources/icon-notice.gif) **须知:** ->请尽量保证此参数为1048576,并不要随意调整此参数,否则可能会导致audit\_resource\_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用audit\_resource\_policy、audit\_space\_limit和audit\_file\_remain\_time参数进行控制。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>请尽量保证此参数为1048576,并不要随意调整此参数,否则可能会导致audit\_resource\_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用audit\_resource\_policy、audit\_space\_limit和audit\_file\_remain\_time参数进行控制。 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 99521a1b704a187bec854e649702ef393642a50d..6d7d18beaccc31ae7caad48289787fe380a63341 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" @@ -18,8 +18,8 @@ **默认值:**off ->![](public_sys-resources/icon-note.gif) **说明:** ->新用户经常在涉及NULL的表达式上语义混淆,故默认值设为off。 +>![](public_sys-resources/icon-note.gif) **说明:** +>新用户经常在涉及NULL的表达式上语义混淆,故默认值设为off。 ## support\_extended\_features @@ -38,9 +38,9 @@ **参数说明:**控制是否开启与Teradata数据库相应兼容的特征。该参数在用户连接上与TD兼容的数据库时,可以将参数设置成为on(即超长字符串自动截断功能启用),该功能启用后,在后续的insert语句中,对目标表中char和varchar类型的列插入超长字符串时,会按照目标表中相应列定义的最大长度对超长字符串进行自动截断。保证数据都能插入目标表中,而不是报错。 ->![](public_sys-resources/icon-note.gif) **说明:** ->超长字符串自动截断功能不适用于insert语句包含外表的场景。 ->如果向字符集为字节类型编码(SQL\_ASCII,LATIN1等)的数据库中插入多字节字符数据(如汉字等),且字符数据跨越截断位置,这种情况下,按照字节长度自动截断,自动截断后会在尾部产生非预期结果。如果用户有对于截断结果正确性的要求,建议用户采用UTF8等能够按照字符截断的输入字符集作为数据库的编码集。 +>![](public_sys-resources/icon-note.gif) **说明:** +>超长字符串自动截断功能不适用于insert语句包含外表的场景。 +>如果向字符集为字节类型编码(SQL\_ASCII,LATIN1等)的数据库中插入多字节字符数据(如汉字等),且字符数据跨越截断位置,这种情况下,按照字节长度自动截断,自动截断后会在尾部产生非预期结果。如果用户有对于截断结果正确性的要求,建议用户采用UTF8等能够按照字符截断的输入字符集作为数据库的编码集。 该参数属于USERSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。 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 e002263f1244db1c6fcedaea21dc8b3af85b8ff9..8e12f5e08b3431aac6d258f03663692885aad230 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" @@ -39,7 +39,7 @@ openGauss提供了并行导入功能,以快速、高效地完成大量数据 ## enable\_delta\_store -**参数说明:**为了增强列存单条数据导入的性能和解决磁盘冗余问题,可通过此参数选择是否开启支持列存delta表功能。该参数开启时,数据导入列存表,会根据表定义时指定的[DELTAROW\_THRESHOLD](zh-cn_topic_0242370581.md#zh-cn_topic_0237122117_zh-cn_topic_0059778169_lb0b5377e83534b3eac0e425f44b60166)决定数据进入delta表存储还是主表CU存储,当数据量小于DELTAROW\_THRESHOLD时,数据进入delta表。该参数影响的操作包括insert,copy,vacuum,vacuum full,vacuum deltamerge重分布等所有涉及列存表数据移动的操作。 +**参数说明:**为了增强列存单条数据导入的性能和解决磁盘冗余问题,可通过此参数选择是否开启支持列存delta表功能。该参数开启时,数据导入列存表,会根据表定义时指定的DELTAROW\_THRESHOLD决定数据进入delta表存储还是主表CU存储,当数据量小于DELTAROW\_THRESHOLD时,数据进入delta表。该参数影响的操作包括insert,copy,vacuum,vacuum full,vacuum deltamerge重分布等所有涉及列存表数据移动的操作。 该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 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 58eb1e6885f0ff36b9ca8aa3a5c1d429eb8d4f42..6340dee7533883a7903c9db303ff94590c3bd337 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" @@ -24,8 +24,8 @@ - on表示打开断言检查。 - off表示不打开断言检查。 ->![](public_sys-resources/icon-note.gif) **说明:** ->当启用断言选项编译openGauss时,debug\_assertions缺省值为on 。 +>![](public_sys-resources/icon-note.gif) **说明:** +>当启用断言选项编译openGauss时,debug\_assertions缺省值为on 。 **默认值:**off @@ -58,8 +58,8 @@ 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->这个参数的取值必须是绝对路径加上.csv格式的文件名。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>这个参数的取值必须是绝对路径加上.csv格式的文件名。 **取值范围:**字符串 @@ -86,8 +86,8 @@ 该参数属于BACKEND类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->这个参数在从系统索引被破坏的表中恢复数据的时候非常有用。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>这个参数在从系统索引被破坏的表中恢复数据的时候非常有用。 **取值范围:**布尔型 @@ -139,9 +139,9 @@ **默认值:**log ->![](public_sys-resources/icon-note.gif) **说明:** ->- 默认值log表示不影响记录决策。 ->- 除默认值外,其他值会导致优先级更高的恢复相关调试信息被记录,因为它们有log优先权。对于常见的log\_min\_messages设置,这会导致无条件地将它们记录到服务器日志上。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 默认值log表示不影响记录决策。 +>- 除默认值外,其他值会导致优先级更高的恢复相关调试信息被记录,因为它们有log优先权。对于常见的log\_min\_messages设置,这会导致无条件地将它们记录到服务器日志上。 ## trace\_sort @@ -179,8 +179,8 @@ - on表示计算方式相同,不需要进行重分布。 - off表示计算方式不同,需要进行重分布。 ->![](public_sys-resources/icon-note.gif) **说明:** ->计算方式的不同主要体现在字符串计算hash值时传入的字节长度上。(如果为char,则会忽略字符串后面空格的长度,如果为text或varchar,则会保留字符串后面空格的长度。)hash值的计算会影响到查询的计算结果,因此此参数一旦设置后,在整个数据库使用过程中不能再对其进行修改,以避免查询错误。 +>![](public_sys-resources/icon-note.gif) **说明:** +>计算方式的不同主要体现在字符串计算hash值时传入的字节长度上。(如果为char,则会忽略字符串后面空格的长度,如果为text或varchar,则会保留字符串后面空格的长度。)hash值的计算会影响到查询的计算结果,因此此参数一旦设置后,在整个数据库使用过程中不能再对其进行修改,以避免查询错误。 **默认值:**off @@ -211,8 +211,8 @@ **默认值**:on ->![](public_sys-resources/icon-notice.gif) **须知:** ->请谨慎调整该参数,调整该参数会修改内部数据类型转换规则并可能导致不可预期的行为。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>请谨慎调整该参数,调整该参数会修改内部数据类型转换规则并可能导致不可预期的行为。 ## nls\_timestamp\_format @@ -354,10 +354,10 @@ set rewrite_rule=none; --关闭所有可选查询重写规则 **默认值:**ALL,on\(\),off\(LLVM\_COMPILE,HASH\_CONFLICT,STREAM\_DATA\_CHECK\),不开启任何定位功能。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->设置时,选择开启或者关闭的选项请使用'on\(\)'或'off\(\)'包括,未被显示指定的功能选项会维持原来的值。参考格式: ->'on\(option1, option2, ...\)' ->'off\(ALL\)' +>![](public_sys-resources/icon-notice.gif) **须知:** +>设置时,选择开启或者关闭的选项请使用'on\(\)'或'off\(\)'包括,未被显示指定的功能选项会维持原来的值。参考格式: +>'on\(option1, option2, ...\)' +>'off\(ALL\)' ## resource\_track\_log @@ -420,8 +420,8 @@ set rewrite_rule=none; --关闭所有可选查询重写规则 - JDK8 JVM系统属性参数(以–D开头如–Djava.ext.dirs,可参见JDK[官方](https://docs.oracle.com/javase/tutorial/deployment/doingMoreWithRIA/properties.html)说明) - 用户自定义参数(以–D开头,如–Duser.defined.option) ->![](public_sys-resources/icon-notice.gif) **须知:** ->如果用户在pljava\_vmoptions中设置参数不满足上述取值范围,会在使用PL/Java语言函数时报错。此参数的详细说明参见[PL/pgSQL语言函数](zh-cn_topic_0245374598.md)。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>如果用户在pljava\_vmoptions中设置参数不满足上述取值范围,会在使用PL/Java语言函数时报错。此参数的详细说明参见[PL/pgSQL语言函数](zh-cn_topic_0245374598.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 be1f8fdf8cda1e0835ce918591a7cef563353075..11b64a5d303df60c44a77a260cbd89babab0fc00 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" @@ -17,7 +17,8 @@ **参数说明:**是否开起ADIO功能。 -该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 +>![](public_sys-resources/icon-note.gif) **说明:** +>当前版本暂不支持开启异步IO功能,默认该功能关闭,请勿自行修改。 **取值范围:**布尔型 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 86a4a3de0c0f68c3fded9370be7bc160085e057b..6ef274cf8e2acb56e3e26b722e7d26909d948196 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" @@ -6,8 +6,8 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->当[wal\_level](设置.md#zh-cn_topic_0242371497_zh-cn_topic_0237124707_zh-cn_topic_0059778393_s2c76f5957066407a959191148f2c780f)设置成minimal时,archive\_mode参数无法使用。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>当[wal\_level](设置.md#zh-cn_topic_0242371497_zh-cn_topic_0237124707_zh-cn_topic_0059778393_s2c76f5957066407a959191148f2c780f)设置成minimal时,archive\_mode参数无法使用。 **取值范围: **布尔型 @@ -22,13 +22,13 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 字符串中任何%p都被要归档的文件的绝对路径代替,而任何%f都只被该文件名代替(相对路径都相对于数据目录的)。如果需要在命令里嵌入%字符就必须双写%。 ->- 这个命令当且仅当成功的时候才返回零。示例如下: -> ``` -> archive_command = 'cp --remove-destination %p /mnt/server/archivedir/%f' -> ``` ->- --remove-destination选项作用为:拷贝前如果目标文件已存在,会先删除已存在的目标文件,然后执行拷贝操作。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 字符串中任何%p都被要归档的文件的绝对路径代替,而任何%f都只被该文件名代替(相对路径都相对于数据目录的)。如果需要在命令里嵌入%字符就必须双写%。 +>- 这个命令当且仅当成功的时候才返回零。示例如下: +> ``` +> archive_command = 'cp --remove-destination %p /mnt/server/archivedir/%f' +> ``` +>- --remove-destination选项作用为:拷贝前如果目标文件已存在,会先删除已存在的目标文件,然后执行拷贝操作。 **取值范围**:字符串 @@ -40,9 +40,9 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 超过该参数设定的时间时强制切换WAL段。 ->- 由于强制切换而提早关闭的归档文件仍然与完整的归档文件长度相同。因此,将archive\_timeout设为很小的值将导致占用巨大的归档存储空间,建议将archive\_timeout设置为60秒。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 超过该参数设定的时间时强制切换WAL段。 +>- 由于强制切换而提早关闭的归档文件仍然与完整的归档文件长度相同。因此,将archive\_timeout设为很小的值将导致占用巨大的归档存储空间,建议将archive\_timeout设置为60秒。 **取值范围**:整型,0 \~ INT\_MAX,单位为秒。其中0表示禁用该功能。 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 0dd2ecd07a2a9a0de37cc7ce32265dbbeabb62ae..5c3c34aacc5f6280df280a1bf7f7f310d2f67bc2 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" @@ -15,9 +15,9 @@ 这些参数属于SUSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- log\_statement\_stats记录总的语句统计数据,而其他的只记录针对每个模块的统计数据。 ->- log\_statement\_stats不能和其他任何针对每个模块统计的选项一起打开。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- log\_statement\_stats记录总的语句统计数据,而其他的只记录针对每个模块的统计数据。 +>- log\_statement\_stats不能和其他任何针对每个模块统计的选项一起打开。 **取值范围:**布尔型 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 3c344cfcc24ae5898bd80b6119ffabf5ae3d41fe..9dacae907292760100d925a11f02c3b541ad94b1 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,9 +1,9 @@ -# 手工建立互信 +# 手工建立互信 openGauss在安装过程中,需要在openGauss中的主机间执行命令,传送文件等操作。因此,在普通用户安装前需要确保互信是连通的。前置脚本中会先建立root用户间的互信,然后创建普通用户,并建立普通用户间的互信。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->root用户互信可能会存在安全隐患,因此建议用户在使用完成后,立即删除各主机上root用户的互信。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>root用户互信可能会存在安全隐患,因此建议用户在使用完成后,立即删除各主机上root用户的互信。 ## 前提条件 @@ -52,7 +52,7 @@ openGauss在安装过程中,需要在openGauss中的主机间执行命令, 3. 执行下面脚本建立互信。 ``` - plat1:/opt/software/openGauss/script# gs_sshexkey -f /opt/software/hostfile + plat1:/opt/software/openGauss/script# ./gs_sshexkey -f /opt/software/hostfile ``` /opt/software/hostfile为主机列表,列出所有需要建立互信机器的主机IP。 @@ -62,8 +62,8 @@ openGauss在安装过程中,需要在openGauss中的主机间执行命令, 如果openGauss各主机的root密码不一致,gs\_preinstall脚本无法建立互信,可以手工建立互信。 ->![](public_sys-resources/icon-note.gif) **说明:** ->建立互信的过程中需要生成如下4个文件:authorized\_keys、id\_rsa、id\_rsa.pub、known\_hosts。请勿删除或破坏这些互信相关的文件。 +>![](public_sys-resources/icon-note.gif) **说明:** +>建立互信的过程中需要生成如下4个文件:authorized\_keys、id\_rsa、id\_rsa.pub、known\_hosts。请勿删除或破坏这些互信相关的文件。 手工建立信任关系,步骤如下,plat1,plat2,plat3是主机名: @@ -104,13 +104,13 @@ openGauss在安装过程中,需要在openGauss中的主机间执行命令, 2. 生成本机授权文件。 ``` - cat .ssh/id_rsa.pub >> .ssh/authorized_keys + cat .ssh/id_rsa.pub >> ~/.ssh/authorized_keys ``` 示例如下: ``` - plat1:~ # cat .ssh/id_rsa.pub >> .ssh/authorized_keys + plat1:~ # cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ``` 2. 收集所有的待建互信主机的公钥,写入到本机的known\_hosts文件中。此步骤需要在步骤1执行的主机上执行。需要收集plat1、plat2、plat3三个主机的公钥。 @@ -153,9 +153,9 @@ openGauss在安装过程中,需要在openGauss中的主机间执行命令, # plat3 SSH-2.0-OpenSSH_5.1 ``` - >![](public_sys-resources/icon-note.gif) **说明:** - >- 当远程主机的公钥被接受以后,它就会被保存在文件$HOME/.ssh/known\_hosts之中。下次再连接这台主机,系统就会认出它的公钥已经保存在本地了,从而跳过警告部分。 - >- 如果该主机上known\_hosts文件被删除,互信仍然可以使用,但是会有告警提示信息。如果需要规避告警提示信息,请将/etc/ssh/ssh\_config配置文件中,StrictHostKeyChecking参数设置为no。 + >![](public_sys-resources/icon-note.gif) **说明:** + >- 当远程主机的公钥被接受以后,它就会被保存在文件$HOME/.ssh/known\_hosts之中。下次再连接这台主机,系统就会认出它的公钥已经保存在本地了,从而跳过警告部分。 + >- 如果该主机上known\_hosts文件被删除,互信仍然可以使用,但是会有告警提示信息。如果需要规避告警提示信息,请将/etc/ssh/ssh\_config配置文件中,StrictHostKeyChecking参数设置为no。 3. 将互信文件分发到其它所有主机上。在本例中,需要将plat1上的互信文件分发到plat2和plat3上。 @@ -163,13 +163,13 @@ openGauss在安装过程中,需要在openGauss中的主机间执行命令, 1、将互信文件分发到plat2上。Password输入拷贝目标主机的密码。 ``` - scp -r .ssh plat2:~ + scp -r ~/.ssh plat2:~ ``` 示例如下: ``` - plat1:~ # scp -r .ssh plat2:~ + plat1:~ # scp -r ~/.ssh plat2:~ Password: authorized_keys 100% 796 0.8KB/s 00:00 id_rsa 100% 1675 1.6KB/s 00:00 @@ -180,13 +180,13 @@ openGauss在安装过程中,需要在openGauss中的主机间执行命令, 2、将互信文件分发到plat3上。Password输入拷贝目标主机的密码。 ``` - scp -r .ssh plat3:~ + scp -r ~/.ssh plat3:~ ``` 示例如下: ``` - plat1:~ # scp -r .ssh plat3:~ + plat1:~ # scp -r ~/.ssh plat3:~ Password: authorized_keys 100% 796 0.8KB/s 00:00 id_rsa 100% 1675 1.6KB/s 00:00 @@ -205,8 +205,8 @@ openGauss在安装过程中,需要在openGauss中的主机间执行命令, plat1:~ # ``` - >![](public_sys-resources/icon-note.gif) **说明:** - >如果三个以上节点,和上述过程类似。假设节点名为plat1、plat2、plat3、......。第一步,需要在plat1上生成root用户的本机授权文件;第二步,需要收集所有待建互信主机\(plat1、plat2、plat3、......\)的公钥并写入到本机known\_hosts文件中;第三步,需要将互信文件分发到除本机外的所有其它主机\(plat2、plat3、......\)上;第四步,检查互信是否建立成功。 + >![](public_sys-resources/icon-note.gif) **说明:** + >如果三个以上节点,和上述过程类似。假设节点名为plat1、plat2、plat3、......。第一步,需要在plat1上生成root用户的本机授权文件;第二步,需要收集所有待建互信主机\(plat1、plat2、plat3、......\)的公钥并写入到本机known\_hosts文件中;第三步,需要将互信文件分发到除本机外的所有其它主机\(plat2、plat3、......\)上;第四步,检查互信是否建立成功。 ## 删除root用户互信 @@ -235,7 +235,7 @@ openGauss在安装过程中,需要在openGauss中的主机间执行命令, root用户建立互信示例: ``` -plat1:~ # gs_sshexkey -f /opt/software/hostfile -W Gauss_234 +plat1:~ # gs_sshexkey -f /opt/software/hostfile -W Gauss_123 Checking network information. All nodes in the network are Normal. Successfully checked network information. @@ -260,7 +260,7 @@ Successfully created SSH trust. 普通用户建立互信示例: ``` -gaussdb@plat1:~ > gs_sshexkey -f /opt/software/hostfile -W Gauss_234 +gaussdb@plat1:~ > gs_sshexkey -f /opt/software/hostfile -W Gauss_123 Checking network information. All nodes in the network are Normal. Successfully checked network information. 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" deleted file mode 100644 index d83d35378656d05c4ac7a7804b07b70c4968e0bf..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Quickstart/\346\211\247\350\241\214\345\215\225\346\235\241SQL.md" +++ /dev/null @@ -1,48 +0,0 @@ -# 执行单条SQL - -使用客户端工具连接到openGauss执行单条SQL。 - -## 前提条件 - -已通过客户端工具连接到openGauss,连接方法请参见[使用gsql本地连接](使用gsql本地连接.md)。 - -## 操作步骤 - -方法一: - -1. 以操作系统用户omm登录数据库主节点。 -2. 使用gsql连接到openGauss服务器。 - - ``` - gsql -h 10.180.123.163 -d postgres -U jack -p 8000 -r - ``` - - -d参数指定目标数据库名、-U参数指定数据库用户名、-h参数指定主机名、-p参数指定端口号信息。 - - >![](public_sys-resources/icon-note.gif) **说明:** - >若未指定数据库名称,则使用初始化时默认生成的数据库名称;若未指定数据库用户名,则默认使用当前操作系统用户作为数据库用户名;当某个值没有前面的参数(-d、-U等)时,若连接的命令中没有指定数据库名(-d)则该参数会被解释成数据库名;如果已经指定数据库名(-d)而没有指定数据库用户名(-U)时,该参数则会被解释成数据库用户名。 - -3. 执行SQL语句。 - - 以创建数据库human\_staff为例。 - - ``` - CREATE DATABASE human_staff; - CREATE DATABASE - ``` - - 通常,输入的命令行在遇到分号的时候结束。如果输入的命令行没有错误,结果就会输出到屏幕上。 - - -方法二: - -1. 以操作系统用户omm登录数据库主节点。 -2. 执行如下命令中的SQL语句。 - - ``` - gsql -d postgres -h 10.29.103.168 -U jack -p 8000 -W Gauss@123 -c 'CREATE DATABASE human_staff' - ``` - - gsql工具使用-d参数指定目标数据库名、-U参数指定数据库用户名、-h参数指定主机名、-p参数指定端口号信息,-c参数指定需要执行的SQL。使用该语句时,该用户需要具有相应的权限。 - - 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 6349c4733d9551fab57b40edec8316c6244bd81b..a6ebf3458ee1ec626207f83de9bac8778ff09603 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,12 +1,12 @@ -# 执行安装 +# 执行安装 执行前置脚本准备好openGauss安装环境之后,按照启动安装过程部署openGauss。 ## 前提条件 -- 已成功执行前置脚本gs\_preinstall。即完成了[准备安装用户及环境](准备安装用户及环境.md#ZH-CN_TOPIC_0251900906)。 +- 已成功执行前置脚本gs\_preinstall。即完成了[准备安装用户及环境](准备安装用户及环境.md#ZH-CN_TOPIC_0270171705)。 - 所有服务器操作系统和网络均正常运行。 -- 用户需确保各个主机上的locale保持一致。详细请参见[配置区域和字符集](配置区域和字符集.md#ZH-CN_TOPIC_0251900915)。 +- 用户需确保各个主机上的locale保持一致。 ## 操作步骤 @@ -17,17 +17,17 @@ su - omm ``` - >![](public_sys-resources/icon-note.gif) **说明:** - >- omm指的是前置脚本gs\_preinstall中-U参数指定的用户。 - >- 安装脚本gs\_install必须以前置脚本中指定的omm执行,否则,脚本执行会报错。 + >![](public_sys-resources/icon-note.gif) **说明:** + >- omm指的是前置脚本gs\_preinstall中-U参数指定的用户。 + >- 安装脚本gs\_install必须以前置脚本中指定的omm执行,否则,脚本执行会报错。 3. 使用gs\_install安装openGauss。若为环境变量分离的模式安装的集群需要source环境变量分离文件ENVFILE。 ``` - gs_install -X /opt/software/openGauss/script/clusterconfig.xml + gs_install -X /opt/software/openGauss/cluster_config.xml ``` - /opt/software/openGauss/script/clusterconfig.xml为openGauss配置文件的路径。在执行过程中,用户需根据提示输入数据库的密码,密码具有一定的复杂度,为保证用户正常使用该数据库,请记住输入的数据库密码。 + /opt/software/openGauss/cluster\_config.xml为openGauss配置文件的路径。在执行过程中,用户需根据提示输入数据库的密码,密码具有一定的复杂度,为保证用户正常使用该数据库,请记住输入的数据库密码。 设置的密码要符合复杂度要求: @@ -39,8 +39,25 @@ 日志文件路径下会生成两个日志文件:“gs\_install-YYYY-MMDD\_HHMMSS.log”和“gs\_local-YYYY-MM-DD\_HHMMSS.log”。 - >![](public_sys-resources/icon-note.gif) **说明:** - >执行gs\_install脚本时,如果输入参数--autostart=no, 则工具脚本在配置(config)步骤完成后退出,不会自动启动openGauss,需要用户通过执行gs\_om -t start命令手动启动。 + >![](public_sys-resources/icon-note.gif) **说明:** + >- openGauss支持字符集的多种写法:gbk/GBK、UTF-8/UTF8/uft8/utf-8和Latine1/latine1。 + >- 安装时若不指定字符集,默认字符集为SQL\_ASCII,为简化和统一区域loacle默认设置为C,若想指定其他字符集和区域,请在安装时使用参数--gsinit-parameter="--locale=LOCALE"来指定,LOCALE为新数据库设置缺省的区域。 + > 例如用户要将数据库编码格式初始化为UTF-8,可以采用如下步骤: + > 用locale -a |grep utf8命令查看系统支持UTF-8编码的区域,如下: + > ``` + > omm@linux:~> locale -a|grep utf8 + > ``` + > 显示类似如下信息,其中en\_US.utf8表示区域en\_US支持UTF-8编码。 + > ``` + > ...... + > en_SG.utf8 + > en_US.utf8 + > ...... + > ``` + > 根据需要选择区域,如en\_US.utf8,初始化数据库时加入--locale=en\_US.utf8选项进行安装,示例如下: + > ``` + > gs_install -X /opt/software/openGauss/cluster_config.xml --gsinit-parameter="--locale=en_US.utf8" + > ``` 4. 安装执行成功之后,需要手动删除主机root用户的互信,即删除openGauss数据库各节点上的互信文件。 @@ -58,9 +75,9 @@ - - @@ -70,9 +87,9 @@ - - @@ -101,9 +118,9 @@ - - @@ -113,9 +130,9 @@ - - @@ -143,33 +160,41 @@ - - - - + + + + + +

序号

项目目录说明

+

项目目录说明

目录

+

目录

子目录

1

openGauss安装目录

+

openGauss安装目录

/opt/opengauss/app

+

/opt/huawei/install/app

bin

2

openGauss数据目录

+

openGauss数据目录

/opt/gaussdb/data

+

/opt/huawei/install/data/dn

data_dnxxx

3

openGauss日志目录

+

openGauss日志目录

/opt/opengauss/gaussdb_log/用户名

+

/var/log/omm/用户名

bin

数据库节点实例的运行日志目录。

4

+

4

openGauss系统工具目录

+

openGauss系统工具目录

/opt/opengauss/tool

+

/opt/huawei/install/om

script

用于openGauss用户进行openGauss管理的脚本文件。

lib

bin目录下的二进制文件依赖的库文件。

5

+

openGauss临时文件目录

+

/opt/huawei/tmp

+
  

用于放置临时文件

+
- ## 示例 执行安装: ``` -omm@plat1:~> gs_install -X /opt/software/openGauss/script/clusterconfig.xml +omm@plat1:~> gs_install -X /opt/software/openGauss/cluster_config.xml Parsing the configuration file. Check preinstall on every node. Successfully checked preinstall on every node. 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" deleted file mode 100644 index 880798d4e8b87d63c420cb70c88d97205a289793..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Quickstart/\346\211\247\350\241\214\346\211\271\351\207\217\346\226\207\344\273\266.md" +++ /dev/null @@ -1,22 +0,0 @@ -# 执行批量文件 - -使用客户端工具连接到openGauss执行批量文件。 - -## 前提条件 - -已通过客户端工具连接到openGauss,连接方法请参见[使用gsql远程连接](使用gsql远程连接.md)。 - -## 操作步骤 - -1. 以操作系统用户omm登录数据库主节点。 -2. 使用gsql连接到数据库,然后使用文件作为命令源而不是交互式输入,gsql将在处理完文件后结束。 - - ``` - gsql -h 10.180.123.163 -d postgres -U jack -p 8000 -f /home/omm/staff.sql - ``` - - gsql工具使用-d参数指定目标数据库名、-U参数指定数据库用户名、-h参数指定主机名、-p参数指定端口号信息、-f参数指定文件名(绝对路径或相对路径,且满足操作系统路径命名规则)。 - - 本命令中使用jack用户连接到远程主机postgres数据库的8000端口,并采用文件staff.sql作为命令源。 - - 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 39210fcd15f7a901b66e7bb258a918ab75857eba..11f00b250eb12dcd145f87205ac5baa2bbca2f93 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" @@ -245,8 +245,8 @@ **默认值:**A ->![](public_sys-resources/icon-notice.gif) **须知:** ->在数据库中,该参数只能是确定的一个值,要么始终设置为A,要么始终设置为B,不能随便改动,否则会导致数据库行为不一致。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>在数据库中,该参数只能是确定的一个值,要么始终设置为A,要么始终设置为B,不能随便改动,否则会导致数据库行为不一致。 ## enableSeparationOfDuty @@ -287,8 +287,8 @@ **默认值:**off ->![](public_sys-resources/icon-notice.gif) **须知:** ->copy from/to file要求具有系统管理员权限的用户或初始用户才能使用,但是,在三权分立开启的状态下,系统管理员与初始用户的权限不同,可以通过使用enable\_copy\_server\_file控制系统管理员的copy权限,当前默认不允许系统管理员权限用户进行对文件的copy操作,此参数打开后系统管理员方可执行该类型操作。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>copy from/to file要求具有系统管理员权限的用户或初始用户才能使用,但是,在三权分立开启的状态下,系统管理员与初始用户的权限不同,可以通过使用enable\_copy\_server\_file控制系统管理员的copy权限,当前默认不允许系统管理员权限用户进行对文件的copy操作,此参数打开后系统管理员方可执行该类型操作。 ## enable\_access\_server\_directory @@ -303,7 +303,7 @@ **默认值:**off ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 出于安全考虑,默认情况下,只有初始用户才能够创建、删除DIRECTORY对象。 ->- 如果开启了enable\_access\_server\_directory,那么在三权分立关闭时,系统管理员(包括初始用户)可以创建、删除DIRECTORY对象;而在三权分立开启时,只有初始用户可以创建、删除DIRECTORY对象。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 出于安全考虑,默认情况下,只有初始用户才能够创建、删除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 15ccb1de457251b3b3340f9312fbc7745313d642..f35b2e9a0327bdf8b6bd50a4d8d0bbe3573ef6bb 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" @@ -4,8 +4,8 @@ 修改任意一个配置文件的存放目录时,postgresql.conf里的data\_directory参数必须设置为实际数据目录(data)。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->考虑到配置文件修改一旦出错对数据库的影响很大,不建议安装后再修改本节的配置文件。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>考虑到配置文件修改一旦出错对数据库的影响很大,不建议安装后再修改本节的配置文件。 ## data\_directory @@ -54,8 +54,8 @@ 该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->这个参数只能在数据库服务重新启动后生效。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>这个参数只能在数据库服务重新启动后生效。 **取值范围:**字符串 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 5bbc2ba0ca9ee0da25524a54e719831c514fbdd1..795228677e5e76b06e821b0db399a4f81d167709 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" @@ -64,5 +64,5 @@ **取值范围**:布尔型 -**默认值:**true +**默认值:**on 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 c7a4d911efc125968cd41e3ca9662f1b9200fc4a..7e795ad0c1f2bc22c04c26246ef483c6523dda86 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" @@ -60,8 +60,8 @@ [ WITH GRANT OPTION ]; ``` - >![](public_sys-resources/icon-note.gif) **说明:** - >本版本暂时不支持赋予域的访问权限。 + >![](public_sys-resources/icon-note.gif) **说明:** + >本版本暂时不支持赋予域的访问权限。 - 将外部数据源的访问权限赋予给指定的用户或角色。 @@ -109,8 +109,8 @@ [ WITH GRANT OPTION ]; ``` - >![](public_sys-resources/icon-note.gif) **说明:** - >本版本暂时不支持大对象。 + >![](public_sys-resources/icon-note.gif) **说明:** + >本版本暂时不支持大对象。 - 将模式的访问权限赋予指定的用户或角色。 @@ -121,8 +121,8 @@ [ WITH GRANT OPTION ]; ``` - >![](public_sys-resources/icon-note.gif) **说明:** - >将模式中的表或者视图对象授权给其他用户时,需要将表或视图所属的模式的USAGE权限同时授予该用户,若没有该权限,则只能看到这些对象的名称,并不能实际进行对象访问。 + >![](public_sys-resources/icon-note.gif) **说明:** + >将模式中的表或者视图对象授权给其他用户时,需要将表或视图所属的模式的USAGE权限同时授予该用户,若没有该权限,则只能看到这些对象的名称,并不能实际进行对象访问。 - 将表空间的访问权限赋予指定的用户或角色。 @@ -142,8 +142,8 @@ [ WITH GRANT OPTION ]; ``` - >![](public_sys-resources/icon-note.gif) **说明:** - >本版本暂时不支持赋予类型的访问权限。 + >![](public_sys-resources/icon-note.gif) **说明:** + >本版本暂时不支持赋予类型的访问权限。 - 将角色的权限赋予其他用户或角色的语法。 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 372deb85d1c5b3a84170b4ceb6ad9be373cc8348..2e57ee6c441b3b6c51b0e2b1433b90f955d75d88 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" @@ -26,8 +26,8 @@ - on表示开启收集功能。 - off表示关闭收集功能。 ->![](public_sys-resources/icon-note.gif) **说明:** ->在AutoVacuum自动清理进程中选择清理的数据库时,需要数据库的统计数据,故默认值设为on。 +>![](public_sys-resources/icon-note.gif) **说明:** +>在AutoVacuum自动清理进程中选择清理的数据库时,需要数据库的统计数据,故默认值设为on。 **默认值:**on @@ -50,8 +50,8 @@ 该参数属于SUSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->当SQL语言函数设置为调用查询的“内联”函数时,不管是否设置此选项,这些SQL语言函数无法被追踪到。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>当SQL语言函数设置为调用查询的“内联”函数时,不管是否设置此选项,这些SQL语言函数无法被追踪到。 **取值范围:**枚举类型 @@ -92,8 +92,8 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->将其设置为一个基于RAM的文件系统目录会减少实际的I/O开销并可以提升其性能。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>将其设置为一个基于RAM的文件系统目录会减少实际的I/O开销并可以提升其性能。 **取值范围:**字符串 @@ -135,10 +135,10 @@ **默认值:on** ->![](public_sys-resources/icon-note.gif) **说明:** ->- 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是关闭。 ->- 当参数关闭时,查询视图的结果为0行。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 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是关闭。 +>- 当参数关闭时,查询视图的结果为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 374f851d0f7740caa21c3f8582e2fff9403f8575..5f1abcb612f7afa345531d2f21bba45320faad5c 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" @@ -2,10 +2,10 @@ 介绍查询优化器方法配置、开销常量、规划算法以及一些配置参数。 ->![](public_sys-resources/icon-note.gif) **说明:** ->优化器中涉及的两个参数: ->- INT\_MAX数据类型INT的最大值,其值为2147483647。 ->- DBL\_MAX数据类型FLOAT的最大值。 +>![](public_sys-resources/icon-note.gif) **说明:** +>优化器中涉及的两个参数: +>- INT\_MAX数据类型INT的最大值,其值为2147483647。 +>- DBL\_MAX数据类型FLOAT的最大值。 - **[优化器方法配置](优化器方法配置.md)** 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" index 90ecaf36104c390c9579117ca1a5a72d6d887915..34982c232e60ac710704faed1b25d8bd660d025d 100644 --- "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" @@ -1,4 +1,4 @@ -# 检查健康状态 +# 检查健康状态 通过openGauss提供的gs\_checkos工具可以完成操作系统状态检查。 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 8fff2112c62b730c3e7af54ef0c41e3803cd36ae..e9e747bc4f4497508da3e4261d8ed5cd492dc1fe 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" @@ -34,8 +34,8 @@ **默认值:**0.5 ->![](public_sys-resources/icon-note.gif) **说明:** ->默认值0.5表示:每个checkpoint需要在checkpoints间隔时间的50%内完成。 +>![](public_sys-resources/icon-note.gif) **说明:** +>默认值0.5表示:每个checkpoint需要在checkpoints间隔时间的50%内完成。 ## checkpoint\_warning 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 e206e10e62c54018aaf3360b33cce2683fbfd8d7..ce2a55e342a27505375cfaeb8011040f8f62158d 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" @@ -63,7 +63,7 @@ Password: 3. 执行下面脚本建立互信。 ``` - plat1:/opt/software/openGauss/script# gs_sshexkey -f /opt/software/hostfile + plat1:/opt/software/openGauss/script# ./gs_sshexkey -f /opt/software/hostfile ``` /opt/software/hostfile为主机列表,列出所有需要建立互信机器的主机IP。 @@ -73,8 +73,8 @@ Password: 如果openGauss各主机的root密码不一致,gs\_preinstall脚本无法建立互信,可以手工建立互信。 ->![](public_sys-resources/icon-note.gif) **说明:** ->建立互信的过程中需要生成如下4个文件:authorized\_keys、id\_rsa、id\_rsa.pub、known\_hosts。请勿删除或破坏这些互信相关的文件。 +>![](public_sys-resources/icon-note.gif) **说明:** +>建立互信的过程中需要生成如下4个文件:authorized\_keys、id\_rsa、id\_rsa.pub、known\_hosts。请勿删除或破坏这些互信相关的文件。 手工建立信任关系,步骤如下,plat1,plat2,plat3是主机名: @@ -115,13 +115,13 @@ Password: 2. 生成本机授权文件。 ``` - cat .ssh/id_rsa.pub >> .ssh/authorized_keys + cat .ssh/id_rsa.pub >> ~/.ssh/authorized_keys ``` 示例如下: ``` - plat1:~ # cat .ssh/id_rsa.pub >> .ssh/authorized_keys + plat1:~ # cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ``` 2. 收集所有的待建互信主机的公钥,写入到本机的known\_hosts文件中。此步骤需要在步骤1执行的主机上执行。需要收集plat1、plat2、plat3三个主机的公钥。 @@ -164,9 +164,9 @@ Password: # plat3 SSH-2.0-OpenSSH_5.1 ``` - >![](public_sys-resources/icon-note.gif) **说明:** - >- 当远程主机的公钥被接受以后,它就会被保存在文件$HOME/.ssh/known\_hosts之中。下次再连接这台主机,系统就会认出它的公钥已经保存在本地了,从而跳过警告部分。 - >- 如果该主机上known\_hosts文件被删除,互信仍然可以使用,但是会有告警提示信息。如果需要规避告警提示信息,请将/etc/ssh/ssh\_config配置文件中,StrictHostKeyChecking参数设置为no。 + >![](public_sys-resources/icon-note.gif) **说明:** + >- 当远程主机的公钥被接受以后,它就会被保存在文件$HOME/.ssh/known\_hosts之中。下次再连接这台主机,系统就会认出它的公钥已经保存在本地了,从而跳过警告部分。 + >- 如果该主机上known\_hosts文件被删除,互信仍然可以使用,但是会有告警提示信息。如果需要规避告警提示信息,请将/etc/ssh/ssh\_config配置文件中,StrictHostKeyChecking参数设置为no。 3. 将互信文件分发到其它所有主机上。在本例中,需要将plat1上的互信文件分发到plat2和plat3上。 @@ -174,13 +174,13 @@ Password: 1、将互信文件分发到plat2上。Password输入拷贝目标主机的密码。 ``` - scp -r .ssh plat2:~ + scp -r ~/.ssh plat2:~ ``` 示例如下: ``` - plat1:~ # scp -r .ssh plat2:~ + plat1:~ # scp -r ~/.ssh plat2:~ Password: authorized_keys 100% 796 0.8KB/s 00:00 id_rsa 100% 1675 1.6KB/s 00:00 @@ -191,13 +191,13 @@ Password: 2、将互信文件分发到plat3上。Password输入拷贝目标主机的密码。 ``` - scp -r .ssh plat3:~ + scp -r ~/.ssh plat3:~ ``` 示例如下: ``` - plat1:~ # scp -r .ssh plat3:~ + plat1:~ # scp -r ~/.ssh plat3:~ Password: authorized_keys 100% 796 0.8KB/s 00:00 id_rsa 100% 1675 1.6KB/s 00:00 @@ -216,7 +216,7 @@ Password: plat1:~ # ``` - >![](public_sys-resources/icon-note.gif) **说明:** - >如果三个以上节点,和上述过程类似。假设节点名为plat1、plat2、plat3、......。第一步,需要在plat1上生成root用户的本机授权文件;第二步,需要收集所有待建互信主机\(plat1、plat2、plat3、......\)的公钥并写入到本机known\_hosts文件中;第三步,需要将互信文件分发到除本机外的所有其它主机\(plat2、plat3、......\)上;第四步,检查互信是否建立成功。 + >![](public_sys-resources/icon-note.gif) **说明:** + >如果三个以上节点,和上述过程类似。假设节点名为plat1、plat2、plat3、......。第一步,需要在plat1上生成root用户的本机授权文件;第二步,需要收集所有待建互信主机\(plat1、plat2、plat3、......\)的公钥并写入到本机known\_hosts文件中;第三步,需要将互信文件分发到除本机外的所有其它主机\(plat2、plat3、......\)上;第四步,检查互信是否建立成功。 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 9bbbb7bbc907dab262acaeef6dd2725abc49e839..4233be95b927e5fe0016452bf339d664a5134026 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" @@ -20,8 +20,8 @@ 该参数属于SUSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->SQL查询执行时使用的临时表空间不在此限制。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>SQL查询执行时使用的临时表空间不在此限制。 **取值范围:**整型,-1\~2147483647,单位为KB。其中-1表示没有限制。 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" deleted file mode 100644 index 93a3cbb1d840bf0f84f09dff3e9c7668d19cfda5..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Quickstart/\347\244\272\344\276\213-0.md" +++ /dev/null @@ -1,174 +0,0 @@ -# 示例 - -此示例将演示如何基于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(); - } - - } - -} -``` - 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 3382744d84a7e2b45011b30cd94c137b3b38126d..789a2dcdbe3f6c8d1deebd54bd678a60f3454072 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,7 +1,90 @@ -# 示例 +# 示例 -- **[单节点配置文件](单节点配置文件.md)** +## 单节点配置文件 -- **[一主一备配置文件](一主一备配置文件.md)** +``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` +## 一主一备配置文件 + +``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` 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 78d07f783f14f6e7bc48b73c3d36a9f742708a25..4e0dcb8805499b974725c15c00e79ffba3c35082 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" @@ -8,16 +8,16 @@ 该参数属于SIGHUP类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。 ->![](public_sys-resources/icon-note.gif) **说明:** ->- 如果希望系统在故障恢复后,具备自动清理两阶段事务的功能,请将autovacuum设置为on; ->- 当设置autovacuum为on,[autovacuum\_max\_workers](#zh-cn_topic_0242371520_zh-cn_topic_0237124730_zh-cn_topic_0059778244_s76932f79410248ba8923017d19982673)为0时,表示系统不会自动进行autovacuum,只会在故障恢复后,自动清理两阶段事务; ->- 当设置autovacuum为on,[autovacuum\_max\_workers](#zh-cn_topic_0242371520_zh-cn_topic_0237124730_zh-cn_topic_0059778244_s76932f79410248ba8923017d19982673)大于0时,表示系统不仅在故障恢复后,自动清理两阶段事务,并且还可以自动清理进程。 - ->![](public_sys-resources/icon-notice.gif) **须知:** ->即使此参数设置为off,当事务ID回绕即将发生时,数据库也会自动启动自动清理进程。对于create/drop database发生异常时,可能有的节点提交或回滚,有的节点未提交(prepared状态),此时系统不能自动修复,需要手动修复,修复步骤: ->1. 使用gs\_clean工具(-N参数)查询出异常两阶段事务的xid以及处于prepared的节点; ->2. 登录事务处于prepared状态的节点,系统管理员连接一个可用的数据库(如postgres),执行语句set xc\_maintenance\_mode = on; ->3. 根据事务全局状态提交或者回滚此两阶段事务(如提交语句;回滚语句)。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 如果希望系统在故障恢复后,具备自动清理两阶段事务的功能,请将autovacuum设置为on; +>- 当设置autovacuum为on,[autovacuum\_max\_workers](#zh-cn_topic_0242371520_zh-cn_topic_0237124730_zh-cn_topic_0059778244_s76932f79410248ba8923017d19982673)为0时,表示系统不会自动进行autovacuum,只会在故障恢复后,自动清理两阶段事务; +>- 当设置autovacuum为on,[autovacuum\_max\_workers](#zh-cn_topic_0242371520_zh-cn_topic_0237124730_zh-cn_topic_0059778244_s76932f79410248ba8923017d19982673)大于0时,表示系统不仅在故障恢复后,自动清理两阶段事务,并且还可以自动清理进程。 + +>![](public_sys-resources/icon-notice.gif) **须知:** +>即使此参数设置为off,当事务ID回绕即将发生时,数据库也会自动启动自动清理进程。对于create/drop database发生异常时,可能有的节点提交或回滚,有的节点未提交(prepared状态),此时系统不能自动修复,需要手动修复,修复步骤: +>1. 使用gs\_clean工具(-N参数)查询出异常两阶段事务的xid以及处于prepared的节点; +>2. 登录事务处于prepared状态的节点,系统管理员连接一个可用的数据库(如postgres),执行语句set xc\_maintenance\_mode = on; +>3. 根据事务全局状态提交或者回滚此两阶段事务(如提交语句;回滚语句)。 **取值范围:**布尔型 diff --git "a/content/zh/docs/Quickstart/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md" "b/content/zh/docs/Quickstart/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md" new file mode 100644 index 0000000000000000000000000000000000000000..7e7f238e17f9825b143bf1044b413736dc2b981c --- /dev/null +++ "b/content/zh/docs/Quickstart/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md" @@ -0,0 +1,69 @@ +# 获取安装包 + +openGauss开源社区上提供了安装包的获取方式。 + +## 操作步骤 + +1. 从openGauss开源社区下载对应平台的安装包。 + 1. 通过[https://opengauss.org/zh/download.html](https://opengauss.org/zh/download.html)登录openGauss开源社区。用户可根据安装包说明[表1](#zh-cn_topic_0249784569_zh-cn_topic_0241805803_zh-cn_topic_0085434653_zh-cn_topic_0059781995_te4a9d557337c400c85acff184476a722)按需下载。 + + **图1** 开源网站openGauss Server页面 + + ![](figures/zh-cn_image_0260397375.png) + + **图2** 开源网站openGauss Connectors页面 + + ![](figures/zh-cn_image_0260397341.png) + + **表 1** openGauss Connectors安装包说明 + + + + + + + + + + + + + + + + +

安装包名称

+

说明

+

JDBC

+

用于Linux的JDBC驱动安装包。

+

ODBC

+

用于Linux的ODBC驱动安装包。

+

libpq

+

用于Linux的libpq库。

+
+ + 2. 选择所需安装包单击“下载”。 + 3. 解压下载后的压缩包。 + +2. 检查安装包。 + + 解压安装包,检查安装目录及文件是否齐全。在安装包所在目录执行以下命令: + + ``` + tar -zxvf openGauss-x.x.x-openEuler-64bit.tar.gz + ls -1 + ``` + + 执行ls命令,显示类似如下信息: + + ``` + total 50M + drwxr-xr-x 14 root root 4.0K Jul 6 11:03 lib + -rw-r--r-- 1 root root 65 Jul 6 11:03 openGauss-x.x.x-openEuler-64bit.sha256 + -rw-r--r-- 1 root root 50M Jul 6 11:03 openGauss-x.x.x-openEuler-64bit.tar.bz2 + drwxr-xr-x 5 root root 4.0K Jul 6 11:03 script + -rw-r--r-- 1 root root 32 Jul 6 11:03 version.cfg + + ``` + + 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" deleted file mode 100644 index e2dc884532e679d0653cdd0d53dc5e37b552fae7..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,55 +0,0 @@ -# 获取并校验安装包 - -为了防止安装包在传输过程中被恶意篡改或破坏给客户网络安全造成威胁,在获取到安装包后,需要对安装包的完整性进行校验,通过了校验的安装包才能部署。 - -## 前提条件 - -已经获取openGauss安装包和签名文件,安装包与签名文件是一一对应并放在同一目录下,一个安装包对应一个校验文件,签名文件由各产品与对应的安装包版本同时发布,签名文件的后缀是“sha256”,通常情况下名称和安装包名称相同。假设安装包的名称openGauss-x.x.x.x-openEuler-64bit.tar.gz时,对应的校验文件的名称为“openGauss-x.x.x.x-openEuler-64bit.tar.gz.sha256”。 - -## 操作步骤 - -1. 从openGauss开源社区下载对应平台的安装包。 - 1. 登录openGauss开源社区。 - 2. 单击“下载”。 - 3. 解压下载后的压缩包。 - -2. 验证安装程序。 - 1. 解压安装包,检查安装目录及文件是否齐全。在安装包所在目录执行以下命令: - - ``` - 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 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 - - ``` - - 2. 进入scripts目录启动openGauss安装,观察是否提示安装不成功。 - - 在安装过程中,安装包会自动使用SHA256文件校验数据库安装程序的完整性。 - - 如果出现类似如下的信息,则表示数据库安装包校验失败,从而会导致openGauss安装失败。 - - ``` - Error: The sha256 value is different! - Bin file a4ebce0b6052723b1f386928e4d820fa2 - sha256 file 4ebce0b6052723b1f386928e4d820fa2 - ``` - - 如果无任何错误提示,则表示安装程序正确,未被非法修改。 - - - 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 35c729d9d5b6e2de15e2d3bf06c95fc2c23effed..d04461160e7e3d932a2c3e26f2e6aef22aa900f7 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" @@ -29,8 +29,8 @@ 该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->将服务器日志发送到stderr时可以不使用logging\_collector参数,此时日志消息会被发送到服务器的stderr指向的空间。这种方法的缺点是日志回滚困难,只适用于较小的日志容量。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>将服务器日志发送到stderr时可以不使用logging\_collector参数,此时日志消息会被发送到服务器的stderr指向的空间。这种方法的缺点是日志回滚困难,只适用于较小的日志容量。 **取值范围:**布尔型 @@ -45,13 +45,13 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 当配置文件中log\_directory的值为非法路径时,会导致openGauss无法重新启动。 ->- 通过gs\_guc reload动态修改log\_directory时,当指定路径为合法路径时,日志输出到新的路径下。当指定路径为非法路径时,日志输出到上一次合法的日志输出路径下而不影响数据库正常运行。此时即使指定的log\_directory的值非法,也会写入到配置文件中。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 当配置文件中log\_directory的值为非法路径时,会导致openGauss无法重新启动。 +>- 通过gs\_guc reload动态修改log\_directory时,当指定路径为合法路径时,日志输出到新的路径下。当指定路径为非法路径时,日志输出到上一次合法的日志输出路径下而不影响数据库正常运行。此时即使指定的log\_directory的值非法,也会写入到配置文件中。 ->![](public_sys-resources/icon-note.gif) **说明:** ->合法路径:用户对此路径有读写权限 ->非法路径:用户对此路径无读写权限 +>![](public_sys-resources/icon-note.gif) **说明:** +>合法路径:用户对此路径有读写权限 +>非法路径:用户对此路径无读写权限 **取值范围:**字符串 @@ -63,9 +63,9 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 建议使用%转义字符定义日志文件名称,否则难以对日志文件进行有效的管理。 ->- 当log\_destination设为csvlog时,系统会生成附加了时间戳的日志文件名,文件格式为csv格式,例如“server\_log.1093827753.csv”。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 建议使用%转义字符定义日志文件名称,否则难以对日志文件进行有效的管理。 +>- 当log\_destination设为csvlog时,系统会生成附加了时间戳的日志文件名,文件格式为csv格式,例如“server\_log.1093827753.csv”。 **取值范围:**字符串 @@ -77,15 +77,15 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 使用此选项前请设置log\_directory,将日志存储到数据目录之外的地方。 ->- 因日志文件可能含有敏感数据,故不能将其设为对外可读。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 使用此选项前请设置log\_directory,将日志存储到数据目录之外的地方。 +>- 因日志文件可能含有敏感数据,故不能将其设为对外可读。 **取值范围:**整型,0000~0777 (8进制计数,转化为十进制 0 \~ 511)。 ->![](public_sys-resources/icon-note.gif) **说明:** ->- 0600表示只允许服务器管理员读写日志文件。 ->- 0640表示允许管理员所在用户组成员只能读日志文件。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 0600表示只允许服务器管理员读写日志文件。 +>- 0640表示允许管理员所在用户组成员只能读日志文件。 **默认值:**0600 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 a460018b1b931857f0cf2ee07b24f35054a55811..ce729a55a4f1d24ec8edfbdcbd250ad8afe5d6ec 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" @@ -39,9 +39,9 @@ **默认值:**off ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 只有当日志的级别为log及以上时,debug\_print\_parse、debug\_print\_rewritten和debug\_print\_plan的调试信息才会输出。当这些选项打开时,调试信息只会记录在服务器的日志中,而不会输出到客户端的日志中。通过设置[client\_min\_messages](记录日志的时间.md#zh-cn_topic_0242371512_zh-cn_topic_0237124722_zh-cn_topic_0059778452_s2955da1f1cb24b0aa68ddc77700233e0)和[log\_min\_messages](记录日志的时间.md#zh-cn_topic_0242371512_zh-cn_topic_0237124722_zh-cn_topic_0059778452_sc6c47ec8cc1b47e28be98dbb24b1b39a)参数可以改变日志级别。 ->- 在打开debug\_print\_plan开关的情况下需尽量避免调用gs\_encrypt\_aes128及gs\_decrypt\_aes128函数,避免敏感参数信息在日志中泄露的风险。同时建议用户在打开debug\_print\_plan开关生成的日志中对gs\_encrypt\_aes128及gs\_decrypt\_aes128函数的参数信息进行过滤后再提供给外部维护人员定位,日志使用完成后请及时删除。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 只有当日志的级别为log及以上时,debug\_print\_parse、debug\_print\_rewritten和debug\_print\_plan的调试信息才会输出。当这些选项打开时,调试信息只会记录在服务器的日志中,而不会输出到客户端的日志中。通过设置[client\_min\_messages](记录日志的时间.md#zh-cn_topic_0242371512_zh-cn_topic_0237124722_zh-cn_topic_0059778452_s2955da1f1cb24b0aa68ddc77700233e0)和[log\_min\_messages](记录日志的时间.md#zh-cn_topic_0242371512_zh-cn_topic_0237124722_zh-cn_topic_0059778452_sc6c47ec8cc1b47e28be98dbb24b1b39a)参数可以改变日志级别。 +>- 在打开debug\_print\_plan开关的情况下需尽量避免调用gs\_encrypt\_aes128及gs\_decrypt\_aes128函数,避免敏感参数信息在日志中泄露的风险。同时建议用户在打开debug\_print\_plan开关生成的日志中对gs\_encrypt\_aes128及gs\_decrypt\_aes128函数的参数信息进行过滤后再提供给外部维护人员定位,日志使用完成后请及时删除。 ## debug\_pretty\_print @@ -75,8 +75,8 @@ 该参数属于BACKEND类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->有些客户端程序(例如gsql),在判断是否需要口令的时候会尝试连接两次,因此日志消息中重复的“connection receive”(收到连接请求)并不意味着一定是问题。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>有些客户端程序(例如gsql),在判断是否需要口令的时候会尝试连接两次,因此日志消息中重复的“connection receive”(收到连接请求)并不意味着一定是问题。 **取值范围:**布尔型 @@ -246,22 +246,22 @@ ->![](public_sys-resources/icon-note.gif) **说明:** ->转义字符%c打印一个独一无二的会话ID,由两个4字节的十六进制数组成,通过字符“.”分开。这两个十六进制数分别表示进程的启动时间及进程编号,所以%c也可以看作是保存打印这些名目的途径的空间。比如,从pg\_stat\_activity中产生会话ID,可以用下面的查询: ->``` ->SELECT to_hex(EXTRACT(EPOCH FROM backend_start)::integer) || '.' || -> to_hex(pid) ->FROM pg_stat_activity; ->``` ->- 当log\_line\_prefix设置为非空值时,请将其最后一个字符作为一个独立的段,以此来直观地与后续的日志进行区分,也可以使用一个标点符号。 ->- Syslog生成自己的时间戳及进程ID信息,所以当登录日志时,不需要包含这些转义字符。 +>![](public_sys-resources/icon-note.gif) **说明:** +>转义字符%c打印一个独一无二的会话ID,由两个4字节的十六进制数组成,通过字符“.”分开。这两个十六进制数分别表示进程的启动时间及进程编号,所以%c也可以看作是保存打印这些名目的途径的空间。比如,从pg\_stat\_activity中产生会话ID,可以用下面的查询: +>``` +>SELECT to_hex(EXTRACT(EPOCH FROM backend_start)::integer) || '.' || +> to_hex(pid) +>FROM pg_stat_activity; +>``` +>- 当log\_line\_prefix设置为非空值时,请将其最后一个字符作为一个独立的段,以此来直观地与后续的日志进行区分,也可以使用一个标点符号。 +>- Syslog生成自己的时间戳及进程ID信息,所以当登录日志时,不需要包含这些转义字符。 **取值范围:**字符串 **默认值:**%m %c %d %p %a %x %n %e ->![](public_sys-resources/icon-note.gif) **说明:** ->%m %c %d %p %a %x %n %e表示在日志开头附加会话开始时间戳,会话ID,数据库名,线程ID,应用程序名,事务ID,报错节点,SQLSTATE错误码。 +>![](public_sys-resources/icon-note.gif) **说明:** +>%m %c %d %p %a %x %n %e表示在日志开头附加会话开始时间戳,会话ID,数据库名,线程ID,应用程序名,事务ID,报错节点,SQLSTATE错误码。 ## log\_lock\_waits @@ -282,8 +282,8 @@ 该参数属于SUSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->即使log\_statement设置为all,包含简单语法错误的语句也不会被记录,因为仅在完成基本的语法分析并确定了语句类型之后才记录日志。在使用扩展查询协议的情况下,在执行阶段之前(语法分析或规划阶段)同样不会记录。将log\_min\_error\_statement设为ERROR或更低才能记录这些语句。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>即使log\_statement设置为all,包含简单语法错误的语句也不会被记录,因为仅在完成基本的语法分析并确定了语句类型之后才记录日志。在使用扩展查询协议的情况下,在执行阶段之前(语法分析或规划阶段)同样不会记录。将log\_min\_error\_statement设为ERROR或更低才能记录这些语句。 **取值范围:**枚举类型 @@ -318,8 +318,8 @@ **默认值:**PRC ->![](public_sys-resources/icon-note.gif) **说明:** ->gs\_initdb进行相应系统环境设置时会对默认值进行修改。 +>![](public_sys-resources/icon-note.gif) **说明:** +>gs\_initdb进行相应系统环境设置时会对默认值进行修改。 ## logging\_module @@ -382,8 +382,8 @@ postgres=# show logging_module; - off表示不打开该功能。 - log表示打开该功能,可以在数据库节点的执行计划中看到没有查询优化的具体原因。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->提供在log中显示语句没有查询优化的具体原因,需要将参数设置成log级别,log\_min\_messages设置成debug4级别,logging\_module设置'on\(OPFUSION\)',注意log内容可能会比较多,尽可能在调优期间执行少量作业使用。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>提供在log中显示语句没有查询优化的具体原因,需要将参数设置成log级别,log\_min\_messages设置成debug4级别,logging\_module设置'on\(OPFUSION\)',注意log内容可能会比较多,尽可能在调优期间执行少量作业使用。 **默认值:**off 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 3a615abec9f3abfae48ca86909cd7d7caf67a975..499656f426a7f3d9bae856ba38e3ee7ba67aa392 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" @@ -6,8 +6,8 @@ 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->当client\_min\_messages和[log\_min\_messages](#zh-cn_topic_0242371512_zh-cn_topic_0237124722_zh-cn_topic_0059778452_sc6c47ec8cc1b47e28be98dbb24b1b39a)取相同值时,其值所代表的级别不同。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>当client\_min\_messages和[log\_min\_messages](#zh-cn_topic_0242371512_zh-cn_topic_0237124722_zh-cn_topic_0059778452_sc6c47ec8cc1b47e28be98dbb24b1b39a)取相同值时,其值所代表的级别不同。 **取值范围:**枚举类型,有效值有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)。在实际设置过程中,如果设置的级别大于error,为fatal或panic,系统会默认将级别转为error。 @@ -19,8 +19,8 @@ 该参数属于SUSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->当[client\_min\_messages](#zh-cn_topic_0242371512_zh-cn_topic_0237124722_zh-cn_topic_0059778452_s2955da1f1cb24b0aa68ddc77700233e0)和log\_min\_messages取相同值log时所代表的消息级别不同。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>当[client\_min\_messages](#zh-cn_topic_0242371512_zh-cn_topic_0237124722_zh-cn_topic_0059778452_s2955da1f1cb24b0aa68ddc77700233e0)和log\_min\_messages取相同值log时所代表的消息级别不同。 **取值范围:**枚举类型,有效值有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)。 @@ -34,9 +34,9 @@ **取值范围:**枚举类型,有效值有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)。 ->![](public_sys-resources/icon-note.gif) **说明:** ->- 设置为error ,表示导致错误、日志消息、致命错误、panic的语句都将被记录。 ->- 设置为panic,表示关闭此特性。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 设置为error ,表示导致错误、日志消息、致命错误、panic的语句都将被记录。 +>- 设置为panic,表示关闭此特性。 **默认值:**error @@ -48,8 +48,8 @@ 该参数属于SUSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->当此选项与[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,方便将当前语句消息连接到最后的持续时间消息。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>当此选项与[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,单位为毫秒。 @@ -65,8 +65,8 @@ 该参数属于SUSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->该参数作为客户现场问题定位手段使用,且由于频繁的打印函数栈会对系统的开销及稳定性有一定的影响,因此如果需要进行问题定位时,建议避免将backtrace\_min\_messages的值设置为fatal及panic以外的级别。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>该参数作为客户现场问题定位手段使用,且由于频繁的打印函数栈会对系统的开销及稳定性有一定的影响,因此如果需要进行问题定位时,建议避免将backtrace\_min\_messages的值设置为fatal及panic以外的级别。 **取值范围:**枚举类型 @@ -170,8 +170,8 @@ 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->该参数以毫秒为单位的,建议在使用过程中设置值为1000的整数倍,即设置值以秒为最小单位。该参数所控制的性能日志文件以prf为扩展名,文件放置在$GAUSSLOG/gs\_profile/ 目录下面,其中node\_name是由postgres.conf文件中的pgxc\_node\_name的值,不建议外部使用该参数。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>该参数以毫秒为单位的,建议在使用过程中设置值为1000的整数倍,即设置值以秒为最小单位。该参数所控制的性能日志文件以prf为扩展名,文件放置在$GAUSSLOG/gs\_profile/ 目录下面,其中node\_name是由postgres.conf文件中的pgxc\_node\_name的值,不建议外部使用该参数。 **取值范围:**0\~2147483647,单位为毫秒(ms)。 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 9c8dcfa95e2335c57f5b5e873b46168821cc5730..c7260faa27eb65bf193878c0fd67c35787ea4e8a 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" @@ -6,10 +6,10 @@ 该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 如果需要启用WAL日志归档和主备机的数据流复制,必须将此参数设置为archive或者hot\_standby。 ->- 如果此参数设置为minimal, archive\_mode必须设置为off, hot\_standby必须设置为off,max\_wal\_senders参数设置为0, 且需为单机环境, 否则将导致数据库无法启动。 ->- 如果此参数设置为archive,hot\_standby必须设置为off,否则将导致数据库无法启动。但是,hot\_standby在双机环境中不能设置为off,具体参见hot\_standby参数说明。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 如果需要启用WAL日志归档和主备机的数据流复制,必须将此参数设置为archive或者hot\_standby。 +>- 如果此参数设置为minimal, archive\_mode必须设置为off, hot\_standby必须设置为off,max\_wal\_senders参数设置为0, 且需为单机环境, 否则将导致数据库无法启动。 +>- 如果此参数设置为archive,hot\_standby必须设置为off,否则将导致数据库无法启动。但是,hot\_standby在双机环境中不能设置为off,具体参见hot\_standby参数说明。 **取值范围**:枚举类型 @@ -36,9 +36,9 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 使用fsync\(\)系统函数可以保证在操作系统或者硬件崩溃的情况下将数据恢复到一个已知的状态。 ->- 如果将此参数关闭,可能会在系统崩溃时无法恢复原来的数据,导致数据库不可用。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 使用fsync\(\)系统函数可以保证在操作系统或者硬件崩溃的情况下将数据恢复到一个已知的状态。 +>- 如果将此参数关闭,可能会在系统崩溃时无法恢复原来的数据,导致数据库不可用。 **取值范围:**布尔型 @@ -61,7 +61,7 @@ - remote\_write表示要备机的同步日志写到磁盘。 - remote\_receive表示要备机同步日志接收数据。 -**默认值:**on +**默认值:**off ## wal\_sync\_method @@ -69,8 +69,8 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->如果将[fsync](#zh-cn_topic_0242371497_zh-cn_topic_0237124707_zh-cn_topic_0059778393_sb6cc47bbe02c47a785c873b1959ad0df)关闭,这个参数的设置就没有意义,因为所有数据更新都不会强制写入磁盘。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>如果将[fsync](#zh-cn_topic_0242371497_zh-cn_topic_0237124707_zh-cn_topic_0059778393_sb6cc47bbe02c47a785c873b1959ad0df)关闭,这个参数的设置就没有意义,因为所有数据更新都不会强制写入磁盘。 **取值范围**:枚举类型 @@ -78,8 +78,8 @@ - fdatasync表示每次提交的时候都调用fdatasync\(\)。(支持suse10和suse11)。 - fsync\_writethrough表示每次提交的时候调用fsync\(\)强制把缓冲区任何数据写入磁盘。 - >![](public_sys-resources/icon-note.gif) **说明:** - >由于历史原因,Windows平台支持将wal\_sync\_method设置为fsync\_writethrough。在windows平台上fsync\_writethrough和fsync等效。 + >![](public_sys-resources/icon-note.gif) **说明:** + >由于历史原因,Windows平台支持将wal\_sync\_method设置为fsync\_writethrough。在windows平台上fsync\_writethrough和fsync等效。 - fsync表示每次提交的时候调用fsync\(\)。(支持suse10和suse11) - open\_sync表示用带O\_SYNC选项的open\(\)写“WAL”文件。(支持suse10和suse11) @@ -92,9 +92,9 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 设置这个参数是因为在操作系统崩溃过程中可能磁盘页面只写入了一部分内容,从而导致在同一个页面中包含新旧数据的混合。在崩溃后的恢复期间,由于在WAL日志中存储的行变化信息不够完整,因此无法完全恢复该页。把完整的页面影像保存下来就可以保证页面被正确还原,代价是增加了写入WAL日志的数据量。 ->- 关闭此参数,在系统崩溃的时候,可能无法恢复原来的数据。如果服务器硬件的特质(比如电池供电的磁盘控制器)可以减小部分页面的写入风险,或者文件系统特性支持(比如ReiserFS 4),并且清楚知道写入风险在一个可以接受的范畴,可以关闭这个参数。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 设置这个参数是因为在操作系统崩溃过程中可能磁盘页面只写入了一部分内容,从而导致在同一个页面中包含新旧数据的混合。在崩溃后的恢复期间,由于在WAL日志中存储的行变化信息不够完整,因此无法完全恢复该页。把完整的页面影像保存下来就可以保证页面被正确还原,代价是增加了写入WAL日志的数据量。 +>- 关闭此参数,在系统崩溃的时候,可能无法恢复原来的数据。如果服务器硬件的特质(比如电池供电的磁盘控制器)可以减小部分页面的写入风险,或者文件系统特性支持(比如ReiserFS 4),并且清楚知道写入风险在一个可以接受的范畴,可以关闭这个参数。 **取值范围:**布尔型 @@ -137,8 +137,8 @@ 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->如果时间过长可能造成WAL缓冲区的内存不足,时间过短会引起WAL不断写入,增加磁盘I/O负担。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>如果时间过长可能造成WAL缓冲区的内存不足,时间过短会引起WAL不断写入,增加磁盘I/O负担。 **取值范围**:整型, 1~10000(毫秒) @@ -150,9 +150,9 @@ 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 设置为非 0 值时事务执行commit后不会立即写入WAL中,而仍存放在WAL缓冲区中,等待WalWriter进程周期性写入磁盘。 ->- 如果系统负载很高,在延迟时间内,其他事务可能已经准备好提交。但如果没有事务准备提交,这个延迟就是在浪费时间。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 设置为非 0 值时事务执行commit后不会立即写入WAL中,而仍存放在WAL缓冲区中,等待WalWriter进程周期性写入磁盘。 +>- 如果系统负载很高,在延迟时间内,其他事务可能已经准备好提交。但如果没有事务准备提交,这个延迟就是在浪费时间。 **取值范围**:整型, 0~100000(微秒),其中0表示无延迟。 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 b4bc34ad06c1daf5e2a3be5fb8705373cdb436ea..da3ec2472bbb6a4e24891f8b910bf31ab19fc7e2 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用户远程登录。 @@ -34,7 +34,7 @@ 2. 修改Banner配置,注释掉“Banner”所在的行。 ``` - #Banner /etc/ssh/welcome.msg + #Banner XXXX ``` 3. 执行**:wq**保存并退出编辑页面。 @@ -45,8 +45,8 @@ service sshd restart ``` - >![](public_sys-resources/icon-caution.gif) **注意:** - >若执行命令后返回提示信息“Redirecting to /bin/systemctl restart sshd.service”,请执行命令:/bin/systemctl restart sshd.service。 + >![](public_sys-resources/icon-caution.gif) **注意:** + >若执行命令后返回提示信息“Redirecting to /bin/systemctl restart sshd.service”,请执行命令:/bin/systemctl restart sshd.service。 4. 以root用户身份重新登录。 @@ -54,7 +54,7 @@ ssh xxx.xxx.xxx.xxx ``` - >![](public_sys-resources/icon-note.gif) **说明:** - >xxx.xxx.xxx.xxx为安装openGauss环境的ip。 + >![](public_sys-resources/icon-note.gif) **说明:** + >xxx.xxx.xxx.xxx为安装openGauss环境的ip。 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" deleted file mode 100644 index 8ca700c88a65fdb5c8df130398f1f7000b533bfc..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,8 +0,0 @@ -# 设置字符集参数 - -将各数据库节点的字符集设置为相同的字符集,可以在/etc/profile文件中添加"export LANG=XXX"(XXX为Unicode编码)。 - -``` -vim /etc/profile -``` - diff --git "a/content/zh/docs/Quickstart/\350\256\276\347\275\256\345\256\242\346\210\267\347\253\257\350\256\244\350\257\201\347\255\226\347\225\245.md" "b/content/zh/docs/Quickstart/\350\256\276\347\275\256\345\256\242\346\210\267\347\253\257\350\256\244\350\257\201\347\255\226\347\225\245.md" index 4275fa9d4acb8984fee748fb0363b193adb5bbaa..27471be44fe3f3869bd341d30caa27db014ba7c3 100644 --- "a/content/zh/docs/Quickstart/\350\256\276\347\275\256\345\256\242\346\210\267\347\253\257\350\256\244\350\257\201\347\255\226\347\225\245.md" +++ "b/content/zh/docs/Quickstart/\350\256\276\347\275\256\345\256\242\346\210\267\347\253\257\350\256\244\350\257\201\347\255\226\347\225\245.md" @@ -2,20 +2,20 @@ 目前openGauss配置文件“pg\_hba.conf”中的参数默认值都是单机的配置模式。应用程序可以通过调用gs\_guc来设置适合自己的参数。更多配置请参见《开发者指南》。 -## 语法 +## 语法 设置客户端认证策略,同时发送信号量到数据库进程。 ``` -gs_guc [ set | reload ] [-N NODE-NAME] [-I INSTANCE-NAME | -D DATADIR] -h "HOSTTYPE DATABASE USERNAME IPADDR-WITH-IPMASK AUTHMEHOD authentication-options option" +gs_guc [ set | reload ] [-N NODE-NAME] [-I INSTANCE-NAME | -D DATADIR] -h "HOSTTYPE DATABASE USERNAME IPADDR-WITH-IPMASK AUTHMEHOD authentication-options" ``` ->![](public_sys-resources/icon-note.gif) **说明:** ->authmehod-options支持以下选项: ->trust:不验密,禁止远程主机使用trust方式访问openGauss ->reject:拒绝访问 ->md5、sha256、cert:客户端证书认证 ->gss:kerberos认证 +>![](public_sys-resources/icon-note.gif) **说明:** +>authentication-options支持以下选项: +>- trust:不验密,禁止远程主机使用trust方式访问openGauss +>- reject:拒绝访问 +>- md5、sha256、cert:客户端证书认证 +>- gss:kerberos认证 ## 命令参考 @@ -43,13 +43,12 @@ gs_guc [ set | reload ] [-N NODE-NAME] [-I INSTANCE-NAME | -D DATADIR] -h "HOSTT 当参数取值为ALL时,表示设置主机中所有的实例。 -- -D +- -D - 需要执行命令的openGauss实例路径。使用encrypt命令时,此参数表示指定的密码文件生成的路径。 + 需要执行命令的openGauss实例路径。使用encrypt命令时,此参数表示指定的密码文件生成的路径。 - >![](public_sys-resources/icon-note.gif) **说明:** - > - >- 与"-I" 不能一块使用 + >![](public_sys-resources/icon-note.gif) **说明:** + >- 与"-I" 不能一块使用 - -h host-auth-policy @@ -57,11 +56,11 @@ gs_guc [ set | reload ] [-N NODE-NAME] [-I INSTANCE-NAME | -D DATADIR] -h "HOSTT 取值范围: - - HOSTTYPE DATABASE USERNAME IPADDR IPMASK \[authmehod-options\] - - HOSTTYPE DATABASE USERNAME IPADDR-WITH-IPMASK \[authmehod-options \] - - HOSTTYPE DATABASE USERNAME HOSTNAME \[authmehod-options \] + - HOSTTYPE DATABASE USERNAME IPADDR IPMASK \[authentication-options\] + - HOSTTYPE DATABASE USERNAME IPADDR-WITH-IPMASK \[authentication-options\] + - HOSTTYPE DATABASE USERNAME HOSTNAME \[authentication-options \] - HOSTTYPE是必输参数,取值: + HOSTTYPE是必输参数,取值范围如下: - local - host @@ -70,7 +69,7 @@ gs_guc [ set | reload ] [-N NODE-NAME] [-I INSTANCE-NAME | -D DATADIR] -h "HOSTT 其中“local”是一个Unix域套接字,“host”是普通或SSL加密的TCP / IP套接字,“hostssl”是SSL加密的TCP / IP套接字,“hostnossl”是一个纯TCP / IP套接字。 - authmehod-options是可选输入,取值: + authentication-options是可选输入,取值范围如下: - trust - reject 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" deleted file mode 100644 index 594b7180ac40b1ebfbce57095898f9a7bdea663a..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,20 +0,0 @@ -# 设置时区和时间 - -将各数据库节点的时区设置为相同时区,可以将/usr/share/zoneinfo/目录下的时区文件拷贝为/etc/localtime文件。 - -``` -cp /usr/share/zoneinfo/$地区/$时区 /etc/localtime -``` - ->![](public_sys-resources/icon-note.gif) **说明:** ->_$地区/$时区为需要设置时区的信息,例如:Asia_/Shanghai。 - -使用date -s命令将各主机的时间设置为统一时间,举例如下。 - -``` -date -s Mon May 11 16:42:11 CST 2020 -``` - ->![](public_sys-resources/icon-note.gif) **说明:** ->可以通过date命令查询主机时区。 - 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" deleted file mode 100644 index ae61e3804c76a402497a8e5e7b435110c113d9f2..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Quickstart/\350\256\276\347\275\256\347\275\221\345\215\241MTU\345\200\274.md" +++ /dev/null @@ -1,8 +0,0 @@ -# 设置网卡MTU值 - -将各数据库节点的网卡MTU值设置为相同大小。MTU值推荐8192,要求不小于1500 - -``` -ifconfig 网卡编号 mtu 值 -``` - diff --git "a/content/zh/docs/Quickstart/\350\256\276\347\275\256\351\205\215\347\275\256\346\226\207\344\273\266\345\217\202\346\225\260.md" "b/content/zh/docs/Quickstart/\350\256\276\347\275\256\351\205\215\347\275\256\346\226\207\344\273\266\345\217\202\346\225\260.md" index 4cc61a9214743fcb4d792160b5b5f885f174aa4d..7abac5b307914d90ec049aa7164f83d43a203602 100644 --- "a/content/zh/docs/Quickstart/\350\256\276\347\275\256\351\205\215\347\275\256\346\226\207\344\273\266\345\217\202\346\225\260.md" +++ "b/content/zh/docs/Quickstart/\350\256\276\347\275\256\351\205\215\347\275\256\346\226\207\344\273\266\345\217\202\346\225\260.md" @@ -47,16 +47,16 @@ 需要执行命令的openGauss实例路径。使用encrypt命令时,此参数表示指定的密码文件生成的路径。 - >![](public_sys-resources/icon-note.gif) **说明:** - >- 与"-I" 不能一块使用 + >![](public_sys-resources/icon-note.gif) **说明:** + >- 与"-I" 不能一块使用 - -c parameter=value 要设定的openGauss配置参数的名称和参数值。 - >![](public_sys-resources/icon-note.gif) **说明:** - >- 如果参数是一个字符串变量,则使用-c parameter="'value'"或者使用-c "parameter = 'value'"。 - >- 当使用gs\_guc set/reload为"log\_directory" 恢复默认值时,其默认值会被置为具体的data目录。 + >![](public_sys-resources/icon-note.gif) **说明:** + >- 如果参数是一个字符串变量,则使用-c parameter="'value'"或者使用-c "parameter = 'value'"。 + >- 当使用gs\_guc set/reload为"log\_directory" 恢复默认值时,其默认值会被置为具体的data目录。 取值范围:postgresql.conf中的所有参数。 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 45b47a17bd40818f6494bf3d0adb965b28ae7bd1..b3fe89b498c662cebf84a7cbbc902fae4a8db71b 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" @@ -15,15 +15,15 @@ **取值范围:**字符串 ->![](public_sys-resources/icon-note.gif) **说明:** ->- 设置为"$user",public时,支持共享数据库(没有用户具有私有模式和所有共享使用public),用户私有模式和这些功能的组合使用。可以通过改变默认搜索路径来获得其他效果,无论是全局化的还是私有化的。 ->- 设置为空串('')的时候,系统会自动转换成一对双引号。 ->- 设置的内容中包含双引号,系统会认为是不安全字符,会将每个双引号转换成一对双引号。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 设置为"$user",public时,支持共享数据库(没有用户具有私有模式和所有共享使用public),用户私有模式和这些功能的组合使用。可以通过改变默认搜索路径来获得其他效果,无论是全局化的还是私有化的。 +>- 设置为空串('')的时候,系统会自动转换成一对双引号。 +>- 设置的内容中包含双引号,系统会认为是不安全字符,会将每个双引号转换成一对双引号。 **默认值:**"$user",public ->![](public_sys-resources/icon-note.gif) **说明:** ->$user表示与当前会话用户名同名的模式名,如果这样的模式不存在,$user将被忽略。 +>![](public_sys-resources/icon-note.gif) **说明:** +>$user表示与当前会话用户名同名的模式名,如果这样的模式不存在,$user将被忽略。 ## current\_schema @@ -35,8 +35,8 @@ **默认值:**"$user",public ->![](public_sys-resources/icon-note.gif) **说明:** ->$user表示与当前会话用户名同名的模式名,如果这样的模式不存在,$user将被忽略。 +>![](public_sys-resources/icon-note.gif) **说明:** +>$user表示与当前会话用户名同名的模式名,如果这样的模式不存在,$user将被忽略。 ## default\_tablespace @@ -139,8 +139,8 @@ openGauss不支持可串行化的隔离级别,因此,该参数无实际意 该参数属于SUSET类型参数,请参考[表2](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t290c8f15953843db8d8e53d867cd893d)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->设置此参数会丢弃之前任何缓存的执行计划。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>设置此参数会丢弃之前任何缓存的执行计划。 **取值范围:**枚举类型 @@ -168,8 +168,8 @@ openGauss不支持可串行化的隔离级别,因此,该参数无实际意 **取值范围:**整型,0~576 460 752 303 423 487 ->![](public_sys-resources/icon-note.gif) **说明:** ->尽管随时可以将此参数设为0到10亿之间的任意值,但是,VACUUM将默认其有效值范围限制在[autovacuum\_freeze\_max\_age](自动清理.md#zh-cn_topic_0242371520_zh-cn_topic_0237124730_zh-cn_topic_0059778244_s7857d2d0002547a3853b7aac36a458b3)的50%以内。 +>![](public_sys-resources/icon-note.gif) **说明:** +>尽管随时可以将此参数设为0到10亿之间的任意值,但是,VACUUM将默认其有效值范围限制在[autovacuum\_freeze\_max\_age](自动清理.md#zh-cn_topic_0242371520_zh-cn_topic_0237124730_zh-cn_topic_0059778244_s7857d2d0002547a3853b7aac36a458b3)的50%以内。 **默认值:**5000000000 @@ -181,8 +181,8 @@ openGauss不支持可串行化的隔离级别,因此,该参数无实际意 **取值范围:**整型,0~576 460 752 303 423 487 ->![](public_sys-resources/icon-note.gif) **说明:** ->尽管随时可以将此参数设为零到20亿之间的值,但是,VACUUM将默认其有效值范围限制在[autovacuum\_freeze\_max\_age](自动清理.md#zh-cn_topic_0242371520_zh-cn_topic_0237124730_zh-cn_topic_0059778244_s7857d2d0002547a3853b7aac36a458b3)的95%以内。定期的手动VACUUM可以在对此表的反重叠自动清理启动之前运行。 +>![](public_sys-resources/icon-note.gif) **说明:** +>尽管随时可以将此参数设为零到20亿之间的值,但是,VACUUM将默认其有效值范围限制在[autovacuum\_freeze\_max\_age](自动清理.md#zh-cn_topic_0242371520_zh-cn_topic_0237124730_zh-cn_topic_0059778244_s7857d2d0002547a3853b7aac36a458b3)的95%以内。定期的手动VACUUM可以在对此表的反重叠自动清理启动之前运行。 **默认值:**15000000000 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 a05d8b1a44fb054b16280806a7c31c74b446f48b..a788f1e92e07e69a9ee29ff703935864dc657487 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" @@ -13,15 +13,15 @@ - on表示打开资源管理。 - off表示关闭资源管理。 - >![](public_sys-resources/icon-note.gif) **说明:** - >- 当使用[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中的方式二来修改参数值时,新参数值只能对更改操作执行后启动的线程生效。此外,对于后台线程以及线程复用执行的新作业,该参数值的改动不会生效。如果希望这类线程即时识别参数变化,可以使用kill session或重启节点的方式来实现。 - >- use\_workload\_manager参数由off变为on状态后,不会统计off时的存储资源。如果需要统计off时用户使用的存储资源,请在数据库中执行以下命令: - > ``` - > select gs_wlm_readjust_user_space(0); - > ``` + >![](public_sys-resources/icon-note.gif) **说明:** + >- 当使用[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中的方式二来修改参数值时,新参数值只能对更改操作执行后启动的线程生效。此外,对于后台线程以及线程复用执行的新作业,该参数值的改动不会生效。如果希望这类线程即时识别参数变化,可以使用kill session或重启节点的方式来实现。 + >- use\_workload\_manager参数由off变为on状态后,不会统计off时的存储资源。如果需要统计off时用户使用的存储资源,请在数据库中执行以下命令: + > ``` + > select gs_wlm_readjust_user_space(0); + > ``` -**默认值:off** +**默认值:**off ## cgroup\_name @@ -76,8 +76,8 @@ **默认值:**空 ->![](public_sys-resources/icon-notice.gif) **须知:** ->该参数不允许用户进行设置,建议保持默认值。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>该参数不允许用户进行设置,建议保持默认值。 ## enable\_resource\_track @@ -120,7 +120,7 @@ ## enable\_user\_metric\_persistent -参数说明:设置是否开启用户历史资源监控转存功能。开启时,对于PG\_TOTAL\_USER\_RESOURCE\_INFO视图中数据,会定期采样保存到[GS\_WLM\_USER\_RESOURCE\_HISTORY](zh-cn_topic_0242385792.md)系统表中。 +参数说明:设置是否开启用户历史资源监控转存功能。开启时,对于PG\_TOTAL\_USER\_RESOURCE\_INFO视图中数据,会定期采样保存到[GS\_WLM\_USER\_RESOURCE\_HISTORY系统表中。 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 @@ -148,7 +148,7 @@ ## enable\_instance\_metric\_persistent -**参数说明:**设置是否开启实例资源监控转存功能。开启时,对实例的监控数据会保存到[GS\_WLM\_INSTANCE\_HISTORY](zh-cn_topic_0242385749.md)系统表中。 +**参数说明:**设置是否开启实例资源监控转存功能。开启时,对实例的监控数据会保存到GS\_WLM\_INSTANCE\_HISTORY系统表中。 该参数属于SIGHUP类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 @@ -259,8 +259,8 @@ **默认值:**8 ->![](public_sys-resources/icon-note.gif) **说明:** ->在并发产生core文件时,core文件的产生个数可能大于bbox\_dump\_count。 +>![](public_sys-resources/icon-note.gif) **说明:** +>在并发产生core文件时,core文件的产生个数可能大于bbox\_dump\_count。 ## bbox\_dump\_path 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" deleted file mode 100644 index c065130b560101b9fc12d1893de596b7264b56b1..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Quickstart/\350\275\257\344\273\266\346\236\266\346\236\204.md" +++ /dev/null @@ -1,57 +0,0 @@ -# 软件架构 - -openGauss主要包含了openGauss服务器,客户端驱动,OM等模块,本章将介绍这些模块之间的相互关系。 - -openGauss软件的架构如[图1](#f078d2fc7ab574c8aa05c4a988e0df1b3)所示。在openGauss的文档中,将openGauss服务器称为实例。 - -**图 1** 软件架构 - - -![](figures/openGauss逻辑架构图1.png) - -图中各模块的含义详见[表1](#t17e13a118cb14f5facbde93d2db56660)。 - -**表 1** 模块说明 - - - - - - - - - - - - - - - - - - - - - - - - -

名称

-

描述

-

说明

-

OM

-

运维管理模块(Operation Manager)。提供openGauss日常运维、配置管理的管理接口、工具。

-

不同于服务器和客户端驱动模块,OM为用户提供了相关工具对openGauss实例进行管理。

-

客户端驱动

-

客户端驱动(Client Driver)。负责接收来自应用的访问请求,并向应用返回执行结果;负责与openGauss实例的通信,下发SQL在openGauss实例上执行,并接收命令执行结果。

-

负责接收来自应用的访问请求,并向应用返回执行结果。客户端驱动负责建立到openGauss实例的链接,把应用的SQL命令传输给openGauss实例,接收openGauss实例命令执行结果。

-

客户端驱动和应用运行在同一个进程内,部署在同一个物理节点。

-

openGauss主(备)

-

openGauss主(备)。负责存储业务数据(支持行存、列存、内存表存储)、执行数据查询任务以及向客户端驱动返回执行结果。

-

负责存储业务数据、执行数据查询任务以及向客户端驱动返回执行结果。

-

openGauss实例包含主、备两种类型。支持一主多备。建议将主、备openGauss分散部署在不同的物理节点中。

-

Storage

-

服务器的本地存储资源,持久化存储数据。

-

-

-
- 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 0c3f09afd9c62620ced8ab5c377f073c57bcb7ea..71577699dcbb0a573cc690cbc5e5b02fccf359e4 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,4 +1,4 @@ -# 软硬件环境要求 +# 软硬件环境要求 介绍openGauss的软硬件环境要求。建议部署openGauss的各服务器具有等价的软硬件配置。 @@ -15,9 +15,9 @@ -

最小内存

+

内存

-

功能调试32GB以上。

+

功能调试建议32GB以上。

性能测试和商业部署时,单实例部署建议128GB以上。

复杂的查询对内存的需求量比较高,在高并发场景下,可能出现内存不足。此时建议使用大内存的机器,或使用负载管理限制系统的并发。

@@ -52,30 +52,30 @@ **表 2** 软件环境要求 - - - @@ -484,20 +484,10 @@ vim /etc/security/limits.d/90-nproc.conf - - - - -

软件类型

+ - - - - - - - - - @@ -83,52 +83,52 @@ ## 软件依赖要求 -openGauss的软件依赖要求如[表3](#zh-cn_topic_0249784577_table11459151513383)所示。 +openGauss的软件依赖要求如[表 软件依赖要求](#zh-cn_topic_0249784577_table1212531681911)所示。 建议使用上述操作系统安装光盘或者源中,下列依赖软件的默认安装包,若不存在下列软件,可参看软件对应的建议版本。 **表 3** 软件依赖要求 - -

软件类型

配置描述

+

配置描述

Linux操作系统

+

Linux操作系统

openEuler 20.3LTS和CentOS 7.6

+

openEuler 20.3LTS和CentOS 7.6

Linux文件系统

+

Linux文件系统

剩余inode个数 > 15亿(推荐)

+

剩余inode个数 > 15亿(推荐)

工具

+

工具

Huawei JDK 1.8.0、bzip2

+

bzip2

Python

+

Python

  • openEuler:支持Python 3.7.X
  • CentOS:支持Python 3.6.X
+
  • openEuler:支持Python 3.7.X
  • CentOS:支持Python 3.6.X
-

所需软件

+ + - - - - - - - - - - - - - - - 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" deleted file mode 100644 index 5f56854a41d69e919bc1a18416b978a6375e5b98..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Quickstart/\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223.md" +++ /dev/null @@ -1,140 +0,0 @@ -# 连接数据库 - -在创建数据库连接之后,才能使用它来执行SQL语句操作数据。 - -## 函数原型 - -JDBC提供了三个方法,用于创建数据库连接。 - -- DriverManager.getConnection\(String url\); -- DriverManager.getConnection\(String url, Properties info\); -- DriverManager.getConnection\(String url, String user, String password\); - -## 参数 - -**表 1** 数据库连接参数 - - -

所需软件

建议版本

+

建议版本

libaio-devel

+

libaio-devel

建议版本:0.3.109-13

+

建议版本:0.3.109-13

flex

+

flex

要求版本:2.5.31 以上

+

要求版本:2.5.31 以上

bison

+

bison

建议版本:2.7-4

+

建议版本:2.7-4

ncurses-devel

+

ncurses-devel

建议版本:5.9-13.20130511

+

建议版本:5.9-13.20130511

glibc.devel

+

glibc.devel

建议版本:2.17-111

+

建议版本:2.17-111

patch

+

patch

建议版本:2.7.1-10

+

建议版本:2.7.1-10

lsb_release

+

lsb_release

建议版本:4.1

+

建议版本:4.1

- - - - - - - - - - - - - - - - -

参数

-

描述

-

url

-

postgresql.jar数据库连接描述符。格式如下:

-
  • jdbc:postgresql:database
  • jdbc:postgresql://host/database
  • jdbc:postgresql://host:port/database
  • jdbc:postgresql://host:port/database?param1=value1&param2=value2
  • jdbc:postgresql://host1:port1,host2:port2/database?param1=value1&param2=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/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 f45a388edd623ad5eca4014639b3f9d986d22ef6..9634d7d4220c52332ffe11c0cacf6df343b22174 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" @@ -16,8 +16,8 @@ **默认值:**localhost ->![](public_sys-resources/icon-note.gif) **说明:** ->localhost表示只允许进行本地“回环”连接。 +>![](public_sys-resources/icon-note.gif) **说明:** +>localhost表示只允许进行本地“回环”连接。 ## local\_bind\_address @@ -61,13 +61,13 @@ **取值范围:**整型。最小值为1,最大值为262143。 -**默认值:**数据库节点:10。如果该默认值超过内核支持的最大值(在执行gs\_initdb的时候判断),系统会提示错误。 +**默认值:**数据库节点为10。如果该默认值超过内核支持的最大值(在执行gs\_initdb的时候判断),系统会提示错误。 **设置建议:** 数据库主节点中此参数建议保持默认值。 -增大这个参数可能导致openGauss要求更多的SystemV共享内存或者信号量,可能超过操作系统缺省配置的最大值。这种情况下,请酌情对数值加以调整。 +增大此参数可能导致openGauss要求更多的SystemV共享内存或者信号量,可能超过操作系统缺省配置的最大值。这种情况下,请酌情对数值加以调整。 ## sysadmin\_reserved\_connections @@ -115,19 +115,19 @@ Unix域套接字使用普通的Unix文件系统权限集。这个参数的值应 **默认值:**0700 ->![](public_sys-resources/icon-note.gif) **说明:** ->在Linux中,文档具有十个属性,其中第一个属性为文档类型,后面九个为权限属性,分别为Owner,Group及Others这三个组别的read、write、execute属性。 ->文档的权限属性分别简写为r,w,x,这九个属性三个为一组,也可以使用数字来表示文档的权限,对照表如下: ->r:4 ->w: 2 ->x:1 ->-:0 ->同一组(owner/group/others)的三个属性是累加的。 ->例如,-rwxrwx---表示这个文档的权限为: ->owner = rwx = 4+2+1 = 7 ->group = rwx = 4+2+1 = 7 ->others = --- = 0+0+0 = 0 ->所以其权限为0770。 +>![](public_sys-resources/icon-note.gif) **说明:** +>在Linux中,文档具有十个属性,其中第一个属性为文档类型,后面九个为权限属性,分别为Owner,Group及Others这三个组别的read、write、execute属性。 +>文档的权限属性分别简写为r,w,x,这九个属性三个为一组,也可以使用数字来表示文档的权限,对照表如下: +>r:4 +>w: 2 +>x:1 +>-:0 +>同一组(owner/group/others)的三个属性是累加的。 +>例如,-rwxrwx---表示这个文档的权限为: +>owner = rwx = 4+2+1 = 7 +>group = rwx = 4+2+1 = 7 +>others = --- = 0+0+0 = 0 +>所以其权限为0770。 ## application\_name @@ -149,11 +149,11 @@ Unix域套接字使用普通的Unix文件系统权限集。这个参数的值应 **默认值:**空字符串**。** ->![](public_sys-resources/icon-note.gif) **说明:** ->- 空字符串,表示当前连接数据库的驱动不支持自动设置connection\_info参数或应用程序未设置。 ->- 驱动连接数据库的时候自行拼接的connection\_info参数格式如下: -> ``` -> {"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的显示由用户控制(参见[连接数据库](连接数据库.md#ZH-CN_TOPIC_0254904958)和[Linux下配置数据源](zh-cn_topic_0244721235.md))。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- 空字符串,表示当前连接数据库的驱动不支持自动设置connection\_info参数或应用程序未设置。 +>- 驱动连接数据库的时候自行拼接的connection\_info参数格式如下: +> ``` +> {"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的显示由用户控制。 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 48c4bacb66db7250f2d86bcdff75716ef7b8009d..5111a811ce68d98fbffd9a2ec18a1f1d9a166833 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" @@ -8,9 +8,9 @@ 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 如果操作系统不支持TCP\_KEEPIDLE选项 ,这个参数的值必须为0。 ->- 在通过Unix域套接字进行的连接的操作系统上,这个参数将被忽略。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 如果操作系统不支持TCP\_KEEPIDLE选项 ,这个参数的值必须为0。 +>- 在通过Unix域套接字进行的连接的操作系统上,这个参数将被忽略。 **取值范围:**0-3600,单位为s。 @@ -26,9 +26,9 @@ **默认值:**30 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 如果操作系统不支持TCP\_KEEPINTVL选项,这个参数的值必须为0。 ->- 在通过Unix域套接字进行的连接的操作系统上,这个参数将被忽略。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 如果操作系统不支持TCP\_KEEPINTVL选项,这个参数的值必须为0。 +>- 在通过Unix域套接字进行的连接的操作系统上,这个参数将被忽略。 ## tcp\_keepalives\_count @@ -36,9 +36,9 @@ 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 如果操作系统不支持TCP\_KEEPCNT选项,这个参数的值必须为0。 ->- 在通过Unix域套接字进行连接的操作系统上,这个参数将被忽略。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 如果操作系统不支持TCP\_KEEPCNT选项,这个参数的值必须为0。 +>- 在通过Unix域套接字进行连接的操作系统上,这个参数将被忽略。 **取值范围:**0-100,其中0表示openGauss未收到客户端反馈的保持活跃信号则立即断开连接。 @@ -50,11 +50,11 @@ 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 如果操作系统不支持SO\_RCVTIMEO选项,这个参数的值必须为0。 ->- 在通过Unix域套接字进行连接的操作系统上,这个参数将被忽略。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 如果操作系统不支持SO\_RCVTIMEO选项,此参数的值必须为0。 +>- 在通过Unix域套接字进行连接的操作系统上,此参数将被忽略。 -**取值范围:**0-86400,单位为s,其中0表示永不超时。 +**取值范围:**0-86400,单位为秒(s),其中0表示永不超时。 **默认值:**0 @@ -64,8 +64,8 @@ 该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->SCTP协议的连接不再提供支持,为了保持兼容,提供此参数的接口,但此参数会在设置过程中强制改为on。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>SCTP协议的连接不再提供支持,为了保持兼容,提供此参数的接口,但此参数会在设置过程中强制改为on。 **取值范围:**布尔型,设置为on表示使用TCP模式连接数据库节点。 @@ -77,8 +77,8 @@ 该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->openGauss部署时会自动分配此端口号,请不要轻易修改此参数,如端口号配置不正确会导致数据库通信失败。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>openGauss部署时会自动分配此端口号,请不要轻易修改此参数,如端口号配置不正确会导致数据库通信失败。 **取值范围:**整型,最小值为0,最大值为65535。 @@ -90,8 +90,8 @@ 该参数属于INTERNAL类型参数,为固定参数,用户无法修改此参数,只能查看。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->openGauss部署时会自动分配此端口号,请不要轻易修改此参数,如端口号配置不正确会导致数据库通信失败。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>openGauss部署时会自动分配此端口号,请不要轻易修改此参数,如端口号配置不正确会导致数据库通信失败。 **取值范围:**整型,最小值为0,最大值为65535。 @@ -121,8 +121,8 @@ **参数说明:**单个数据库节点内TCP代理通信库或SCTP通信库缓存最大可使用内存。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->此参数需根据环境内存及部署方式具体配置,过大会造成OOM,过小会降低TCP代理通信库或SCTP通信库性能。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>此参数需根据环境内存及部署方式具体配置,过大会造成OOM,过小会降低TCP代理通信库或SCTP通信库性能。 该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 @@ -134,8 +134,8 @@ **参数说明:**单个数据库节点内TCP代理通信库或SCTP通信库可使用内存池资源的容量大小。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->此参数需根据实际业务情况做调整,若通信库使用内存小,可设置该参数数值较小,反之设置数值较大。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>此参数需根据实际业务情况做调整,若通信库使用内存小,可设置该参数数值较小,反之设置数值较大。 该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 @@ -147,8 +147,8 @@ **参数说明:**单个数据库节点内TCP代理通信库或SCTP通信库可使用内存池资源的百分比,用于自适应负载预留通信库通信消耗的内存大小。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->此参数需根据实际业务情况做调整,若通信库使用内存小,可设置该参数数值较小,反之设置数值较大。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>此参数需根据实际业务情况做调整,若通信库使用内存小,可设置该参数数值较小,反之设置数值较大。 该参数属于POSTMASTER类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 @@ -164,8 +164,8 @@ **取值范围:**布尔型 ->![](public_sys-resources/icon-notice.gif) **须知:** ->如果openGauss出现因每秒接收数据包过多导致的丢包时,需设置为off,以便小包合并成大包发送,减少数据包总数。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>如果openGauss出现因每秒接收数据包过多导致的丢包时,需设置为off,以便小包合并成大包发送,减少数据包总数。 **默认值:**off @@ -173,8 +173,8 @@ **参数说明:**TCP代理通信库或SCTP通信库debug模式开关,该参数设置是否打印通信层详细日志。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->设置为on时,打印日志量较大,会增加额外的overhead并降低数据库性能,仅在调试时打开。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>设置为on时,打印日志量较大,会增加额外的overhead并降低数据库性能,仅在调试时打开。 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 @@ -199,8 +199,8 @@ **参数说明:**TCP代理通信库或SCTP通信库timer模式开关,该参数设置是否打印通信层各阶段时间桩。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->设置为on时,打印日志量较大,会增加额外的overhead并降低数据库性能,仅在调试时打开。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>设置为on时,打印日志量较大,会增加额外的overhead并降低数据库性能,仅在调试时打开。 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 @@ -215,8 +215,8 @@ **参数说明:**TCP代理通信库或SCTP通信库stat模式开关,该参数设置是否打印通信层的统计信息。 ->![](public_sys-resources/icon-notice.gif) **须知:** ->设置为on时,打印日志量较大,会增加额外的overhead并降低数据库性能,仅在调试时打开。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>设置为on时,打印日志量较大,会增加额外的overhead并降低数据库性能,仅在调试时打开。 该参数属于USERSET类型参数,请参考[表1](重设参数.md#zh-cn_topic_0242370406_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。 diff --git "a/content/zh/docs/Quickstart/\351\200\232\350\277\207JDBC\346\211\247\350\241\214SQL.md" "b/content/zh/docs/Quickstart/\351\200\232\350\277\207JDBC\346\211\247\350\241\214SQL.md" index 0ebad871c407f8d3886ae52202d018e8c0fccd13..1f211bce2f89a22394b6226e3af1228963d103c9 100644 --- "a/content/zh/docs/Quickstart/\351\200\232\350\277\207JDBC\346\211\247\350\241\214SQL.md" +++ "b/content/zh/docs/Quickstart/\351\200\232\350\277\207JDBC\346\211\247\350\241\214SQL.md" @@ -1,11 +1,346 @@ # 通过JDBC执行SQL -- **[JDBC包与驱动类](JDBC包与驱动类.md)** +## JDBC包与驱动类 -- **[加载驱动](加载驱动.md)** +- JDBC包 -- **[连接数据库](连接数据库.md)** + 在linux服务器端源代码目录下执行build.sh,获得驱动jar包postgresql.jar,包位置在源代码目录下。从发布包中获取, 包名为openGauss-x.x.x-操作系统版本号-64bit-Jdbc.tar.gz。 -- **[示例](示例-0.md)** + 驱动包与PostgreSQL保持兼容,其中类名、类结构与PostgreSQL驱动完全一致,曾经运行于PostgreSQL的应用程序可以直接移植到当前系统使用。 + +- 驱动类 + + 在创建数据库连接之前,需要加载数据库驱动类“org.postgresql.Driver”。 + + >![](public_sys-resources/icon-note.gif) **说明:** + >由于openGauss在JDBC的使用上与PG的使用方法保持兼容,所以同时在同一进程内使用两个JDBC驱动的时候,可能会类名冲突。 + + +## 加载驱动 + +在创建数据库连接之前,需要先加载数据库驱动程序。 + +加载驱动有两种方法: + +- 在代码中创建连接之前任意位置隐含装载:Class.forName\("org.postgresql.Driver"\); +- 在JVM启动时参数传递:java -Djdbc.drivers=org.postgresql.Driver jdbctest + + >![](public_sys-resources/icon-note.gif) **说明:** + >上述jdbctest为测试用例程序的名称。 + + +## 连接数据库 + +在创建数据库连接之后,才能使用它来执行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&param2=value2
  • jdbc:postgresql://host1:port1,host2:port2/database?param1=value1&param2=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

+

数据库用户的密码。

+
+ +## 示例 + +- 示例1:此示例将演示如何基于openGauss提供的JDBC接口连接数据库。 + + ``` + //以下代码将获取数据库连接操作封装为一个接口,可通过给定用户名和密码来连接数据库。 + 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; + }; + ``` + +- 示例2:此示例将演示如何基于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(); + } + + } + + } + ``` 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" deleted file mode 100644 index 270ae1d415c4b687055133969768afacb7069891..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,52 +0,0 @@ -# 通过gs\_guc配置白名单 - -## 操作步骤 - -1. 以操作系统用户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" - ``` - - >![](public_sys-resources/icon-note.gif) **说明:** - >- 使用“jack”用户前,需先本地连接数据库,并在数据库中使用如下语句建立“jack”用户: - > ``` - > postgres=# CREATE USER jack PASSWORD 'Test@123'; - > ``` - >- -N all表示openGauss的所有主机。 - >- -I all表示主机的所有实例。 - >- -h表示指定需要在“pg\_hba.conf”增加的语句。 - >- all表示允许客户端连接到任意的数据库。 - >- 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”里的记录的,所以这些记录的顺序是非常关键的。 - - >![](public_sys-resources/icon-note.gif) **说明:** - >在配置“pg\_hba.conf”文件时,请依据通讯需求按照格式内容从上至下配置记录,优先级高的需求需要配置在前面。openGaussopenGauss和扩容配置的IP优先级最高,用户手动配置的IP请放在这二者之后,如果已经进行的客户配置和扩容节点的IP在同一网段,请在扩容前删除,扩容成功后再进行配置。 - - 因此对于认证规则的配置建议如下: - - - 靠前的记录有比较严格的连接参数和比较弱的认证方法。 - - 靠后的记录有比较宽松的连接参数和比较强的认证方法。 - - >![](public_sys-resources/icon-note.gif) **说明:** - >- 一个用户要想成功连接到特定的数据库,不仅需要通过pg\_hba.conf中的规则检查,还必须要有该数据库上的CONNECT权限。如果希望控制某些用户只能连接到指定数据库,赋予/撤销CONNECT权限通常比在pg\_hba.conf中设置规则更为简单。 - >- 对应openGauss外部客户端连接,trust为不安全的认证方式,请将认证方式设置为sha256。 - - diff --git "a/content/zh/docs/Quickstart/\351\200\232\350\277\207\345\256\242\346\210\267\347\253\257\345\267\245\345\205\267\346\211\247\350\241\214SQL.md" "b/content/zh/docs/Quickstart/\351\200\232\350\277\207\345\256\242\346\210\267\347\253\257\345\267\245\345\205\267\346\211\247\350\241\214SQL.md" index 7f138fbc953fbed4a19a004c4b217f1462ad5f40..3aa6f3424a4c49f13d361e489ce6b9842a6a804a 100644 --- "a/content/zh/docs/Quickstart/\351\200\232\350\277\207\345\256\242\346\210\267\347\253\257\345\267\245\345\205\267\346\211\247\350\241\214SQL.md" +++ "b/content/zh/docs/Quickstart/\351\200\232\350\277\207\345\256\242\346\210\267\347\253\257\345\267\245\345\205\267\346\211\247\350\241\214SQL.md" @@ -1,7 +1,62 @@ # 通过客户端工具执行SQL -- **[执行单条SQL](执行单条SQL.md)** +使用客户端工具连接到openGauss执行单条SQL和批量SQL文件。 -- **[执行批量文件](执行批量文件.md)** +## 前提条件 + +已通过客户端工具连接到openGauss,连接方法请参见[使用gsql远程连接](使用gsql远程连接.md)。 + +## 执行单条SQL + +方法一: + +1. 以操作系统用户omm登录数据库主节点。 +2. 使用gsql连接到openGauss服务器。 + + ``` + gsql -h 10.180.123.163 -d postgres -U jack -p 8000 -r + ``` + + -d参数指定目标数据库名、-U参数指定数据库用户名、-h参数指定主机名、-p参数指定端口号信息。 + + >![](public_sys-resources/icon-note.gif) **说明:** + >若未指定数据库名称,则使用初始化时默认生成的数据库名称;若未指定数据库用户名,则默认使用当前操作系统用户作为数据库用户名;当某个值没有前面的参数(-d、-U等)时,若连接的命令中没有指定数据库名(-d)则该参数会被解释成数据库名;如果已经指定数据库名(-d)而没有指定数据库用户名(-U)时,该参数则会被解释成数据库用户名。 + +3. 执行SQL语句。 + + 以创建数据库human\_staff为例。 + + ``` + CREATE DATABASE human_staff; + CREATE DATABASE + ``` + + 通常,输入的命令行在遇到分号的时候结束。如果输入的命令行没有错误,结果就会输出到屏幕上。 + + +方法二: + +1. 以操作系统用户omm登录数据库主节点。 +2. 执行如下命令中的SQL语句。 + + ``` + gsql -d postgres -h 10.29.103.168 -U jack -p 8000 -W Gauss@123 -c 'CREATE DATABASE human_staff' + ``` + + gsql工具使用-d参数指定目标数据库名、-U参数指定数据库用户名、-h参数指定主机名、-p参数指定端口号信息,-c参数指定需要执行的SQL。使用该语句时,该用户需要具有相应的权限。 + + +## 执行批量文件 + +1. 以操作系统用户omm登录数据库主节点。 +2. 使用gsql连接到数据库,然后使用文件作为命令源而不是交互式输入,gsql将在处理完文件后结束。 + + ``` + gsql -h 10.180.123.163 -d postgres -U jack -p 8000 -f /home/omm/staff.sql + ``` + + gsql工具使用-d参数指定目标数据库名、-U参数指定数据库用户名、-h参数指定主机名、-p参数指定端口号信息、-f参数指定文件名(绝对路径或相对路径,且满足操作系统路径命名规则)。 + + 本命令中使用jack用户连接到远程主机postgres数据库的8000端口,并采用文件staff.sql作为命令源。 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 1a48667c789b8e2e5c7769158aa2db74b0c45229..d2e3b518cb23e206a88d52dd281b5549a04a8249 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,7 +1,7 @@ -# 配置Host基本信息 +# 配置Host基本信息 ->![](public_sys-resources/icon-note.gif) **说明:** ->每台Host服务器都必须有如下信息,如下示例以node1为例。 +>![](public_sys-resources/icon-note.gif) **说明:** +>每台Host服务器都必须有如下信息,如下示例以node1为例。 加粗字体内容为示例,可自行替换。每行信息均有注释进行说明。 @@ -9,15 +9,15 @@ - + - + - - + + ``` **表 1** 参数说明 @@ -40,7 +40,7 @@

azName

指定azName,字符串(不能含有特殊字符),例如AZ1、AZ2、AZ3。

+

指定azName(Available Zone Name),字符串(不能含有特殊字符),例如AZ1、AZ2、AZ3。

azPriority

@@ -61,12 +61,12 @@
->![](public_sys-resources/icon-note.gif) **说明:** ->配置文件中所有IP参数(包含backIp、sshIp、listenIp等)均只支持配置一个IP。如果配置第二个IP参数,则不会读取第二个参数的配置值。 ->示例:xml配置文件中同时配置backIp1和backIp2参数: ->在解析配置文件时仅读取backIp1参数的配置值,不会读取backIp2参数的配置值。 ->``` -> -> ->``` +>![](public_sys-resources/icon-note.gif) **说明:** +>配置文件中所有IP参数(包含backIp、sshIp、listenIp等)均只支持配置一个IP。如果配置第二个IP参数,则不会读取第二个参数的配置值。 +>示例:xml配置文件中同时配置backIp1和backIp2参数: +>在解析配置文件时仅读取backIp1参数的配置值,不会读取backIp2参数的配置值。 +>``` +> +> +>``` 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" deleted file mode 100644 index 47644f4ba28fdf23c9edeac6d68a5a5698c6c107..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,119 +0,0 @@ -# 配置区域和字符集 - -区域和字符集在安装过程中通过指定初始化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。

-
- - >![](public_sys-resources/icon-note.gif) **说明:** - >- 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 1a6c0bdeef777e5138f462fe7228558f6350af14..aa79392bb1da65d6376eb5c33fe96f4e14aeca92 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要求各主机上的操作系统参数设置成一定的值,以满足系统运行的性能要求等。 @@ -443,9 +443,9 @@ vim /etc/security/limits.d/90-nproc.conf

soft nproc参数用来限制每个用户的最大processes数量。

+

60000

+

unlimited

4096

mtu

-

网卡最大传输单元设置

-

-

x86是1500

-

ARM是8192

-
->![](public_sys-resources/icon-notice.gif) **须知:** ->- 网卡参数配置功能只针对万兆及万兆以上级别的业务网卡。即backIp1所绑定的网卡。 ->- 设置网卡参数的命令只有在设置成功后,才会被写入系统启动文件。执行失败的信息会被记入后台日志中。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 网卡参数配置功能只针对万兆及万兆以上级别的业务网卡。即backIp1所绑定的网卡。 +>- 设置网卡参数的命令只有在设置成功后,才会被写入系统启动文件。执行失败的信息会被记入后台日志中。 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 68df79a17f20bb96bfa7a64b910a7c9d5168dd1b..b5341bb6a5f610e9af56405ede0cff6336724206 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 @@ -# 配置数据库主节点信息 +# 配置数据库主节点信息 加粗字体内容为示例,可自行替换。每行信息均有注释进行说明。 @@ -8,9 +8,9 @@ - + - + ``` @@ -26,7 +26,7 @@ -

DBnode

+

DBnode

dataNum

@@ -38,24 +38,12 @@

数据库节点的基础端口号,默认值40000。

-

dataListenIp1

- -

监听的IP地址,用于接受其他数据库节点的连接。未设置时,使用对应主机上的backIp1生成。

-

如果配置有虚拟IP,该字段也可配置虚拟IP。

- - -

dataHaIp1

- -

主、备DBnode通信的IP地址。未设置时,使用对应主机的backIp生成。

-

value中需设置主、备DBnode所在主机的IP地址。

- -

dataNode1

用于指定当前主机上的数据库节点的数据存储目录。此目录为数据库的数据存储目录。应规划到数据盘上。

-

dataNode1_syncNum

+

dataNode1_syncNum

可选参数,用于指定当前集群中同步模式的节点数目。取值范围为0~数据库备机节点数。

@@ -81,7 +69,7 @@

备DBnode

/opt/huawei/install/data/slaveX

-

其中,xxx为当前备DBnode的名称。

+

其中,slaveX为当前备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 d32c1a6657aee564db3ef46c53eb317265533d79..8c8068e818e3b8a0b0d0d11d4fd2631db1426283 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,6 +1,6 @@ -# 配置数据库名称及各项目录 +# 配置数据库名称及各项目录 -加粗字体内容为示例,可自行替换。每行信息均有注释进行说明。 +在script/gspylib/etc/conf/cluster\_config\_template.xml获取XML文件模板。加粗字体内容为示例,可自行替换。每行信息均有注释进行说明。 ``` @@ -8,11 +8,9 @@ - + - - - + @@ -23,18 +21,19 @@ - - + + + ``` ->![](public_sys-resources/icon-notice.gif) **须知:** ->- “/opt/huawei/install/om”存放互信等工具,避免权限问题,不要把实例数据目录放在此目录下。 ->- 安装目录和数据目录需为空或者不存在,否则可能导致安装失败。 ->- 在对数据库节点的实例进行具体配置时,需确保配置的目录之间不相互耦合。即各个配置目录不关联,删除其中任意一个目录,不会级联删除其它目录。如gaussdbAppPath为"/opt/huawei/install/app",gaussdbLogPath为"/opt/huawei/install/app/omm"。当gaussdbAppPath目录被删除时,会级联删除gaussdbLogPath目录,从而引起其它问题。 ->- 若需要安装脚本自动创建安装用户时各配置的目录需保证不与系统创建的默认用户目录耦合关联。 ->- 配置openGauss路径和实例路径时,路径中不能包含"|",";","&","$","<","\>","\`","\\\\","'","\\"","\{","\}","\(","\)","\[","\]","\~","\*","?"特殊字符。 ->- 配置数据库节点名称时,请通过hostname命令获取数据库节点的主机名称,替换示例中的node1,node2。 +>![](public_sys-resources/icon-notice.gif) **须知:** +>- “/opt/huawei/install/om”存放互信等工具,避免权限问题,不要把实例数据目录放在此目录下。 +>- 安装目录和数据目录需为空或者不存在,否则可能导致安装失败。 +>- 在对数据库节点的实例进行具体配置时,需确保配置的目录之间不相互耦合。即各个配置目录不关联,删除其中任意一个目录,不会级联删除其它目录。如gaussdbAppPath为"/opt/huawei/install/app",gaussdbLogPath为"/opt/huawei/install/app/omm"。当gaussdbAppPath目录被删除时,会级联删除gaussdbLogPath目录,从而引起其它问题。 +>- 若需要安装脚本自动创建安装用户时各配置的目录需保证不与系统创建的默认用户目录耦合关联。 +>- 配置openGauss路径和实例路径时,路径中不能包含"|",";","&","$","<","\>","\`","\\\\","'","\\"","\{","\}","\(","\)","\[","\]","\~","\*","?"特殊字符。 +>- 配置数据库节点名称时,请通过hostname命令获取数据库节点的主机名称,替换示例中的**node1\_hostname**,**node2\_hostname**。 **表 1** 参数说明 @@ -47,7 +46,7 @@ -

整体信息

+

整体信息

clusterName

@@ -95,12 +94,6 @@

openGauss core文件的指定目录。

-

clusterType

- -

openGauss类型,openGauss拓扑类型;可选字段。

-

“single-inst”表示单机一主多备部署形态。

- - 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 23ce3f0a3ef5e1f7d36a213293fab7f9a015c708..de3bb27358ade1600f68b36dee279a6d4340e1cd 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" @@ -43,21 +43,21 @@ openGauss提供了六类GUC参数,具体分类和设置方式请参考[表1](#

数据库服务端参数,在数据库启动时确定,可以通过配置文件指定。

-

支持表2中的方式一。

+

支持表2中的方式一、方式四。

SIGHUP

数据库全局参数,可在数据库启动时设置或者在数据库启动后,发送指令重新加载。

-

支持表2中的方式一、方式二。

+

支持表2中的方式一、方式二、方式四。

BACKEND

会话连接参数。在创建会话连接时指定,连接建立后无法修改。连接断掉后参数失效。内部使用参数,不推荐用户设置。

-

支持表2中的方式一、方式二。

+

支持表2中的方式一、方式二、方式四。

说明:

设置该参数后,下一次建立会话连接时生效。

@@ -84,6 +84,7 @@ openGauss提供了三种方式来修改GUC参数,具体操作请参考[表2](# **表 2** GUC参数设置方式 + + + +

序号

设置方法

@@ -123,9 +124,22 @@ openGauss提供了三种方式来修改GUC参数,具体操作请参考[表2](#

方式四

+

使用ALTER SYSTEM SET修改数据库参数。

+
  • 设置POSTMASERT级别的参数
    postgres=# ALTER SYSTEM SET paraname TO value;
    +

    重启后生效。

    +
  • 设置SIGHUP级别的参数
    postgres=# ALTER SYSTEM SET paraname TO value;
    +

    立刻生效(实际等待线程重新加载参数略有延迟)。

    +
  • 设置BACKEND级别的参数
    postgres=# ALTER SYSTEM SET paraname TO value;
    +

    在下次会话中生效。

    +
+
+ ## 操作步骤 使用方式一设置数据库参数,以在数据库主节点设置archive\_mode参数为例。 @@ -149,11 +163,11 @@ openGauss提供了三种方式来修改GUC参数,具体操作请参考[表2](# gs_guc set -D /gaussdb/data/dbnode -c "archive_mode=off" ``` - >![](public_sys-resources/icon-note.gif) **说明:** - >可以使用以下命令在数据库节点上设置archive\_mode参数为off。 - >``` - >gs_guc set -N all -I all -c "archive_mode=off" - >``` + >![](public_sys-resources/icon-note.gif) **说明:** + >可以使用以下命令在数据库节点上设置archive\_mode参数为off。 + >``` + >gs_guc set -N all -I all -c "archive_mode=off" + >``` 4. 重启数据库使参数生效。 @@ -212,11 +226,11 @@ openGauss提供了三种方式来修改GUC参数,具体操作请参考[表2](# Success to perform gs_guc! ``` - >![](public_sys-resources/icon-note.gif) **说明:** - >可以使用以下命令在数据库节点上设置authentication\_timeout参数为59s。 - >``` - >gs_guc reload -N all -I all -c "authentication_timeout = 59s" - >``` + >![](public_sys-resources/icon-note.gif) **说明:** + >可以使用以下命令在数据库节点上设置authentication\_timeout参数为59s。 + >``` + >gs_guc reload -N all -I all -c "authentication_timeout = 59s" + >``` 4. 使用如下命令连接数据库。 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 82e674c1cdb451dca711ea29715d8b6798a42df2..5decca0dadbd50b9a81fd0ca610ae31e1cdf2c63 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_0249784583_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/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" deleted file mode 100644 index 177ce05171d92266433b73cac7a5576fc3dfc6e5..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/CBO\344\274\230\345\214\226\345\231\250.md" +++ /dev/null @@ -1,6 +0,0 @@ -# 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" deleted file mode 100644 index f65ab4ad621f104621ae03abef784688faa00c4e..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,4 +0,0 @@ -# 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" deleted file mode 100644 index 2292a1603d1cbcb6b1f0e8fb9023239971b6cb20..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/PG\346\216\245\345\217\243\345\205\274\345\256\271.md" +++ /dev/null @@ -1,4 +0,0 @@ -# PG接口兼容 - -兼容PSQL客户端,兼容PostgreSQL标准接口。 - diff --git a/content/zh/docs/Technicalwhitepaper/SQL-by-pass.md b/content/zh/docs/Technicalwhitepaper/SQL-by-pass.md deleted file mode 100644 index 99bb5dd8fc5782ef2b5a9ccf7fce56d2ded6ddf3..0000000000000000000000000000000000000000 --- a/content/zh/docs/Technicalwhitepaper/SQL-by-pass.md +++ /dev/null @@ -1,4 +0,0 @@ -# SQL by pass - -在典型的OLTP场景中,简单查询占了很大一部分比例。这种查询的特征是只涉及单表和简单表达式的查询,因此为了加速这类查询,提出了SQL-BY-PASS框架,在parse层对这类查询做简单的模式判别后,进入到特殊的执行路径里,跳过经典的执行器执行框架,包括算子的初始化与执行、表达式与投影等经典框架,直接重写一套简洁的执行路径,并且直接调用存储接口,这样可以大大加速简单查询的执行速度。 - diff --git a/content/zh/docs/Technicalwhitepaper/Technicalwhitepaper.md b/content/zh/docs/Technicalwhitepaper/Technicalwhitepaper.md deleted file mode 100644 index 7cf6bd74cd8d0d5763d6e30e01deb7534d5a0de8..0000000000000000000000000000000000000000 --- a/content/zh/docs/Technicalwhitepaper/Technicalwhitepaper.md +++ /dev/null @@ -1,3 +0,0 @@ -# 技术白皮书 - -本文档主要介绍openGauss数据库的架构、能力以及主要技术。 diff --git a/content/zh/docs/Technicalwhitepaper/figures/zh-cn_image_0253069486.png b/content/zh/docs/Technicalwhitepaper/figures/zh-cn_image_0270110662.png similarity index 100% rename from content/zh/docs/Technicalwhitepaper/figures/zh-cn_image_0253069486.png rename to content/zh/docs/Technicalwhitepaper/figures/zh-cn_image_0270110662.png 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" deleted file mode 100644 index bec5e6422b54edb3f1ed825412add560cd999c56..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\344\270\200\344\270\273\345\244\232\345\244\207\351\203\250\347\275\262.md" +++ /dev/null @@ -1,14 +0,0 @@ -# 一主多备部署 - -多副本的部署形态,提供了抵御实例级故障的能力,。适用于不要求机房级别容灾,但是需要抵御个别硬件故障的应用场景。 - -一般多副本部署时使用1主2备模式,总共3个副本,3个副本的可靠性为4个9,可以满足大多数应用的可靠性要求。 - -- 主备间Quorum复制,至少同步到一台备机,保证最大性能。 -- 主备任意一个节点故障,不影响业务的进行。 -- 数据有三份,任何一个节点故障,系统仍然有双份数据确保继续运行。任何一个备份都可以升主。 -- 主备实例之间不可部署在同一台物理机上。 - -**图 1** 一主多备部署形态图 -![](figures/一主多备部署形态图.png "一主多备部署形态图") - 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" deleted file mode 100644 index 8ba47faf0cddd897a030a647315fb4696237c982..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\344\270\273\345\244\207\346\234\272.md" +++ /dev/null @@ -1,8 +0,0 @@ -# 主备机 - -为了保证故障的可恢复,需要将数据写多份,设置主备多个副本,通过日志进行数据同步,可以实现节点故障、停止后重启等情况下,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" deleted file mode 100644 index 147beffe7d9918a4785acb38da90e7e49821f7fb..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\344\270\273\345\244\207\351\203\250\347\275\262.md" +++ /dev/null @@ -1,7 +0,0 @@ -# 主备部署 - -主备模式相当于两个数据副本,主机和备机各一个数据副本,备机接受日志、做日志回放; - -**图 1** 主备部署形态图 -![](figures/主备部署形态图.png "主备部署形态图") - 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" deleted file mode 100644 index ec7745b5bd39db5e72d5d02174f88966c5bdf52b..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\344\272\213\345\212\241\346\224\257\346\214\201.md" +++ /dev/null @@ -1,36 +0,0 @@ -# 事务支持 - -事务支持指的就是系统提供事务的能力,支持全局事务的ACID,保证事务的原子性、一致性、隔离性和持久性。。 - -事务支持及数据一致性保证是绝大多数数据库的基本功能,只有支持了事务,才能满足事务化的应用需求。 - -- A:atomicity 原子性 - - 整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。 - - -- C:consistency 一致性 - - 事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务的数量。 - - -- I: Isolation 隔离性 - - 隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。 - - -- D:Durability 持久性 - - 在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。 - - -支持事务的默认隔离级别是读已提交。保证不会读到脏数据。 - -事务分为单语句事务和事务块,相关基础接口: - -- Start transaction; 事务开启 -- Commit; 事务提交 -- Rollback; 事务回滚 - -另有Set transaction可设置隔离级别、读写模式或可推迟模式。详细语法参见《openGauss 开发者指南》。 - 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" deleted file mode 100644 index a3a37795a61898daf612c86c4d11252dfa109c1d..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,16 +0,0 @@ -# 函数及存储过程支持 - -函数和存储过程是数据库中的一种重要对象,主要功能将用户特定功能的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" deleted file mode 100644 index ad3851e7946e3083602a3993bde0ca607395f0b1..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\345\210\206\345\214\272.md" +++ /dev/null @@ -1,19 +0,0 @@ -# 分区 - -在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" deleted file mode 100644 index 4ddb7de4ce7f9dde30750a949fc6ea278fd9c12f..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\345\215\225\346\234\272\351\203\250\347\275\262.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 单机部署 - -单机部署形态是一种非常特殊的部署形态,这种形态对于可靠性、可用性均无任何保证。由于只有一个数据副本,一旦发生数据损坏、丢失,只能通过物理备份恢复数据。这种部署形态,一般用于数据库体验用户,以及测试环境做语法功能调测等场景。不建议用于商业现网运行。 - -**图 1** 单机部署形态图 - - -![](figures/zh-cn_image_0253069486.png) - 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" index 09d6ef03beb59fb5b5bbde07b52c97adc8016804..a67d489d98041064367401e24277c49e78e69509 100644 --- "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" @@ -1,9 +1,157 @@ # 可维护性 -- **[支持WDR诊断报告](支持WDR诊断报告.md)** +## 支持WDR诊断报告 + WDR\(Workload Diagnosis Report\)基于两次不同时间点系统的性能快照数据, 生成这两个时间点之间的性能表现报表,用于诊断数据库内核的性能故障。 -- **[慢SQL诊断](慢SQL诊断.md)** + +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也是后续性能问题自诊断和自优化建议的重要数据来源。 + +## 慢SQL诊断 + 慢SQL诊断分为两部分:实时慢SQL 和历史慢SQL。 -- **[支持一键式收集诊断信息](支持一键式收集诊断信息.md)** -提供多种套件用于捕获、收集、分析诊断数据,使问题可以诊断,加速诊断过程。能根据开发和定位人员的需要,从生产环境中将必要的数据库日志、集群管理日志、堆栈信息等提取出来,定位人员根据获得信息进行问题的定界定位 + +- 实时慢SQL能根据用户提供的执行时间阈值,输出当前系统中正在执行的,且执行时间超过阈值的作业信息。 +- 历史慢SQL能根据用户提供的执行时间阈值,记录所有超过阈值的执行完毕的作业信息。 + +历史慢SQL提供表和文件两种维度的查询接口,用户从接口中能查询到作业的执行计划,开始、结束执行时间,执行查询的语句,行活动,内核时间、CPU时间、执行时间、解析时间、编译时间、查询重写时间、计划生成时间、网络时间、IO时间等。所有信息都是脱敏的。 + +应用价值: + +- 实时的慢SQL提供给用户管理尚未执行完毕的作业的接口,用户可以手动结束异常的,消耗过多资源的作业。 +- 历史慢SQL提供给用户对于慢SQL诊断所需的详细信息,用户无需通过复现就能离线诊断特定慢SQL的性能问题。表和文件接口方便用户统计慢SQL指标,对接第三方平台。 + +## 支持一键式收集诊断信息 + +提供多种套件用于捕获、收集、分析诊断数据,使问题可以诊断,加速诊断过程。能根据开发和定位人员的需要,从生产环境中将必要的数据库日志、集群管理日志、堆栈信息等提取出来,定位人员根据获得信息进行问题的定界定位。 + +一键式收集工具,根据生产环境中问题的不同,从生产环境中获取不同的信息,从而提高问题定位定界的效率。用户可以通过改写配置文件,收集自己想要的信息: + +- 通过linux命令收集操作系统相关的信息 +- 通过查询系统表或者视图获得数据库系统相关的信息 +- 数据库系统运行日志和集群管理相关的日志 +- 数据库系统的配置信息 +- 数据库相关进程产生的Core文件 +- 数据库相关进程的堆栈信息 +- 数据库进程产生的trace信息 +- 数据库产生的redo日志文件xlog +- 计划复现信息 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" deleted file mode 100644 index 56c2a67090ea31159a022ae65db877e6ab373f40..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\345\270\270\347\224\250\346\246\202\345\277\265.md" +++ /dev/null @@ -1,21 +0,0 @@ -# 常用概念 - -- 单机 - - 单机指的是只有一个数据库实例。 - -- 双机 - - 双机指的是系统中存在主备数据库实例,主实例支持读写,备实例支持只读。 - -- 一主多备 - - 一主多备指的是在系统存在一个主机,多个备机。最多支持4个备机。 - -- 冷热备份 - - 冷备份: 是指备份就是一个简单的备份集,不可以提供服务。 - - 热备份: 是指备份集群可以对外提供服务 。 - - 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" deleted file mode 100644 index db42b280acb48add8d4318e34c95504d065fb2d0..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\346\205\242SQL\350\257\212\346\226\255.md" +++ /dev/null @@ -1,14 +0,0 @@ -# 慢SQL诊断 - -慢SQL诊断分为两部分:实时慢SQL 和历史慢SQL。 - -- 实时慢SQL能根据用户提供的执行时间阈值,输出当前系统中正在执行的,且执行时间超过阈值的作业信息。 -- 历史慢SQL能根据用户提供的执行时间阈值,记录所有超过阈值的执行完毕的作业信息。 - -历史慢SQL提供表和文件两种维度的查询接口,用户从接口中能查询到作业的执行计划,开始、结束执行时间,执行查询的语句,行活动,内核时间、CPU时间、执行时间、解析时间、编译时间、查询重写时间、计划生成时间、网络时间、IO时间等。所有信息都是脱敏的。 - -应用价值: - -- 实时的慢SQL提供给用户管理尚未执行完毕的作业的接口,用户可以手动结束异常的,消耗过多资源的作业。 -- 历史慢SQL提供给用户对于慢SQL诊断所需的详细信息,用户无需通过复现就能离线诊断特定慢SQL的性能问题。表和文件接口方便用户统计慢SQL指标,对接第三方平台 - 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" deleted file mode 100644 index bff58d7134bfebf73b5e40daf80d9c0ad9aa91bc..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,8 +0,0 @@ -# 控制权和访问权分离 - -针对系统管理员用户,实现表对象的控制权和访问权分离,提高普通用户数据安全性,限制管理员对象访问权限。 - -该特性适用于如下场景,即对于有多个业务部门的企业,各部门间使用不同的数据库用户进行业务操作,同时存在同级别的数据库维护部门使用数据库管理员进行运维操作,业务部门希望在未经授权的情况下,管理员用户只能对各部门的数据进行控制操作(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" deleted file mode 100644 index 10bb6e844daef188e37a38bef2eebc98b47925c5..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201SQL-hint.md" +++ /dev/null @@ -1,6 +0,0 @@ -# 支持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" deleted file mode 100644 index 164d2eaea953e195973cc4f538b32eaa587568fe..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201WDR\350\257\212\346\226\255\346\212\245\345\221\212.md" +++ /dev/null @@ -1,125 +0,0 @@ -# 支持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" deleted file mode 100644 index d0dac31a0f4fef8718927e2c6c06a0e9564de656..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,16 +0,0 @@ -# 支持一键式收集诊断信息 - -提供多种套件用于捕获、收集、分析诊断数据,使问题可以诊断,加速诊断过程。能根据开发和定位人员的需要,从生产环境中将必要的数据库日志、集群管理日志、堆栈信息等提取出来,定位人员根据获得信息进行问题的定界定位 - -一键式收集工具,根据生产环境中问题的不同,从生产环境中获取不同的信息,从而提高问题定位定界的效率。用户可以通过改写配置文件,收集自己想要的信息: - -- 通过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" deleted file mode 100644 index c4bf55f44907098f6305802a840cc4736eefea63..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\346\224\257\346\214\201\346\240\207\345\207\206SQL.md" +++ /dev/null @@ -1,8 +0,0 @@ -# 支持标准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" deleted file mode 100644 index 44bc862ff8eee198f2de4ed10c1b40f4d3e74983..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,6 +0,0 @@ -# 支持标准开发接口 - -提供业界标准的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" deleted file mode 100644 index b3e5eb8ac2882889648791d22837d6d55ebc212f..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,10 +0,0 @@ -# 数据库加密认证 - -采用基于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" index 5f0dce97c7777b8ed01c7b55e36dc28cdce00b9b..4e0cd236bc25c3251b2cc5128b0fcaaedfb959f5 100644 --- "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" @@ -1,15 +1,136 @@ # 数据库安全 -- **[访问控制](访问控制.md)** +## 访问控制 -- **[控制权和访问权分离](控制权和访问权分离.md)** +管理用户对数据库的访问控制权限,涵盖数据库系统权限和对象权限。 -- **[数据库加密认证](数据库加密认证.md)** +支持基于角色的访问控制机制,将角色和权限关联起来,通过将权限赋予给对应的角色,再将角色授予给用户,可实现用户访问控制权限管理。其中登录访问控制通过用户标识和认证技术来共同实现,而对象访问控制则基于用户在对象上的权限,通过对象权限检查实现对象访问控制。用户在为相关的数据库用户分配完成任务所需要的最小权限从而将数据库使用风险降到最低。 -- **[数据库审计](数据库审计.md)** +支持三权分立权限访问控制模型,数据库角色可分为系统管理员、安全管理员和审计管理员。其中安全管理员负责创建和管理用户,系统管理员负责授予和撤销用户权限,审计管理员负责审计所有用户的行为。 -- **[网络通信安全特性](网络通信安全特性.md)** +默认情况下,使用基于角色的访问控制模型。客户可通过设置参数来选择是否开启三权分立控制模型。 -- **[行级访问控制](行级访问控制.md)** +## 控制权和访问权分离 +针对系统管理员用户,实现表对象的控制权和访问权分离,提高普通用户数据安全性,限制管理员对象访问权限。 + +该特性适用于如下场景,即对于有多个业务部门的企业,各部门间使用不同的数据库用户进行业务操作,同时存在同级别的数据库维护部门使用数据库管理员进行运维操作,业务部门希望在未经授权的情况下,管理员用户只能对各部门的数据进行控制操作(DROP、ALTER、TRUNCATE),但是不能进行访问操作(INSERT、DELETE、UPDATE、SELECT、COPY)。即针对管理员用户,表对象的控制权和访问权分离,提高用户数据的安全性。 + +系统管理员可以在创建用户时指定INDEPENDENT属性,表示该用户为私有用户。针对该用户的对象,数据库管理员(包含初始用户和其他管理员用户)在未经其授权前,只能进行控制操作(DROP、ALTER、TRUNCATE),无权进行INSERT、DELETE、SELECT、UPDATE、COPY、GRANT、REVOKE、ALTER OWNER操作。 + +## 数据库加密认证 + +采用基于RFC5802机制的口令加密认证方法。 + +加密认证过程中采用单向Hash不可逆加密算法PBKDF2,可有效防止彩虹攻击。 + +创建用户所设置的口令被加密存储在系统表中。整个认证过程中口令加密存储和传输,通过计算相应的hash值并与服务端存储的值比较来进行正确性校验。 + +统一加密认证过程中的消息处理流程,可有效防止攻击者通过抓取报文猜解用户名或者口令的正确性。 + +## 数据库审计 + +审计日志记录用户对数据库的启停、连接、DDL、DML、DCL等操作。审计日志机制主要增强数据库系统对非法操作的追溯及举证能力。 + +用户可以通过参数配置对哪些语句或操作记录审计日志。 + +审计日志记录事件的时间、类型、执行结果、用户名、数据库、连接信息、数据库对象、数据库实例名称和端口号以及详细信息。支持按起止时间段查询审计日志,并根据记录的字段进行筛选。 + +数据库安全管理员可以利用这些日志信息,重现导致数据库现状的一系列事件,找出非法操作的用户、时间和内容等。 + +## 网络通信安全特性 + +支持通过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

+
+ +## 行级访问控制 + +行级访问控制特性将数据库访问粒度控制到数据表行级别,使数据库达到行级访问控制的能力。不同用户执行相同的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/\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" deleted file mode 100644 index 4d0f846052af5701837d8d70bcb66f7fe4594ab1..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\346\225\260\346\215\256\345\272\223\345\256\241\350\256\241.md" +++ /dev/null @@ -1,10 +0,0 @@ -# 数据库审计 - -审计日志记录用户对数据库的启停、连接、DDL、DML、DCL等操作。审计日志机制主要增强数据库系统对非法操作的追溯及举证能力。 - -用户可以通过参数配置对哪些语句或操作记录审计日志。 - -审计日志记录事件的时间、类型、执行结果、用户名、数据库、连接信息、数据库对象、数据库实例名称和端口号以及详细信息。支持按起止时间段查询审计日志,并根据记录的字段进行筛选。 - -数据库安全管理员可以利用这些日志信息,重现导致数据库现状的一系列事件,找出非法操作的用户、时间和内容等。 - 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" index 611b671f1815965d90f42440725e933e907a9103..81030c38924f3015c5c7f06c11ed7d702cbe8d46 100644 --- "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" @@ -17,6 +17,11 @@

在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、和持久性(Durability)。

+

AZ

+ +

Available Zone,通常指一个机房。

+ +

Bgwriter

数据库启动时创建的一个后台写线程,此线程用于将数据库中脏页面写入到持久性设备(例如磁盘)中。

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" deleted file mode 100644 index e7132fb987d3a1b9203843dcf6631a7f8a9c430d..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\347\211\251\347\220\206\345\244\207\344\273\275.md" +++ /dev/null @@ -1,6 +0,0 @@ -# 物理备份 - -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" deleted file mode 100644 index debe1ddedcbfccd73df449637f02d85b825bc630..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\347\241\254\344\273\266\351\205\215\347\275\256\350\246\201\346\261\202.md" +++ /dev/null @@ -1,43 +0,0 @@ -# 硬件配置要求 - -**表 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" deleted file mode 100644 index a02cacc0f4ef302f01d8443ede7d1771c8959897..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\347\272\277\347\250\213\346\261\240\351\253\230\345\271\266\345\217\221.md" +++ /dev/null @@ -1,8 +0,0 @@ -# 线程池高并发 - -在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" deleted file mode 100644 index c413e6138c59630e9b63375427cf31ddb804334e..0000000000000000000000000000000000000000 --- "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" +++ /dev/null @@ -1,88 +0,0 @@ -# 网络通信安全特性 - -支持通过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" deleted file mode 100644 index e0779ac0cdb0ad2732e773757d1417ffa5068e02..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\350\207\252\351\200\202\345\272\224\345\216\213\347\274\251.md" +++ /dev/null @@ -1,79 +0,0 @@ -# 自适应压缩 - -当前主流数据库通常都会采用数据压缩技术。数据类型不同,适用于它的压缩算法不同。对于相同类型的数据,其数据特征不同,采用不同的压缩算法达到的效果也不相同。自适用压缩正是从数据类型和数据特征出发,采用相应的压缩算法,实现了良好的压缩比、快速的入库性能以及良好的查询性能。 - -数据入库和频繁的海量数据查询是用户的主要应用场景。 在数据入库场景中,自适应压缩可以大幅度地减少数据量,成倍提高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" deleted file mode 100644 index 44e47404ae2d2cee18a9f874d04ac5173c11d022..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\350\241\214\345\210\227\346\267\267\345\220\210\345\255\230\345\202\250.md" +++ /dev/null @@ -1,47 +0,0 @@ -# 行列混合存储 - -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" deleted file mode 100644 index 64b517f98d37b3c86f3f259413f017c1ad7b3bee..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\350\241\214\347\272\247\350\256\277\351\227\256\346\216\247\345\210\266.md" +++ /dev/null @@ -1,8 +0,0 @@ -# 行级访问控制 - -行级访问控制特性将数据库访问粒度控制到数据表行级别,使数据库达到行级访问控制的能力。不同用户执行相同的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" deleted file mode 100644 index a294ca155d92b612799dfdcd096072605f1de474..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\350\256\277\351\227\256\346\216\247\345\210\266.md" +++ /dev/null @@ -1,10 +0,0 @@ -# 访问控制 - -管理用户对数据库的访问控制权限,涵盖数据库系统权限和对象权限。 - -支持基于角色的访问控制机制,将角色和权限关联起来,通过将权限赋予给对应的角色,再将角色授予给用户,可实现用户访问控制权限管理。其中登录访问控制通过用户标识和认证技术来共同实现,而对象访问控制则基于用户在对象上的权限,通过对象权限检查实现对象访问控制。用户在为相关的数据库用户分配完成任务所需要的最小权限从而将数据库使用风险降到最低。 - -支持三权分立权限访问控制模型,数据库角色可分为系统管理员、安全管理员和审计管理员。其中安全管理员负责创建和管理用户,系统管理员负责授予和撤销用户权限,审计管理员负责审计所有用户的行为。 - -默认情况下,使用基于角色的访问控制模型。客户可通过设置参数来选择是否开启三权分立控制模型。 - 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" deleted file mode 100644 index 5707f9435c1d05e29826ae241e15fa440aead81f..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\350\275\257\344\273\266\350\246\201\346\261\202.md" +++ /dev/null @@ -1,35 +0,0 @@ -# 软件要求 - -**表 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" index c2d99ab989a5de9d4632ecb874e061d3a4c26a5b..941858ccb93a691fd99f0982a717b0463102d1f0 100644 --- "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" @@ -1,7 +1,80 @@ # 软硬件配置要求 -- **[软件要求](软件要求.md)** +## 软件要求 -- **[硬件配置要求](硬件配置要求.md)** +**表 1** 软件环境要求 + + + + + + + + + + + + + + + + + + +

软件类型

+

配置描述

+

Linux操作系统

+

openEuler20.3LTS和CentOS7.6

+

Linux文件系统

+

在EulerOS操作系统下建议首选使用Ext4格式文件系统。

+

剩余inode个数 > 15亿(推荐)。

+

工具

+

bzip2

+

Python

+
  • openEuler:支持Python 3.7.X
  • CentOS:支持Python 3.6.X
+
+ +## 硬件配置要求 + +**表 2** 硬件环境要求 + + + + + + + + + + + + + + + + + + + +

项目

+

配置描述

+

最小内存

+

功能调试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/\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" deleted file mode 100644 index def7018ab74053ea168daace7edae64783a46c6a..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\351\200\273\350\276\221\345\244\207\344\273\275.md" +++ /dev/null @@ -1,4 +0,0 @@ -# 逻辑备份 - -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" deleted file mode 100644 index 02ac8061e3933b50e65ed11e81ffb9791248e0d6..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\351\203\250\347\275\262\345\275\242\346\200\201\346\261\207\346\200\273.md" +++ /dev/null @@ -1,101 +0,0 @@ -# 部署形态汇总 - -单机和双机两种部署形态方案介绍请见[表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" index aefdafc55cfb4f7cc591dbd81c61a148c6b8dcaf..546498e3adf46644803f91b0be8f47969423978d 100644 --- "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" @@ -1,11 +1,161 @@ # 部署方案 -openGauss主要支持单机部署和一主多备部署两种部署形态 +openGauss主要支持单机部署和一主多备部署两种部署形态。 -- **[常用概念](常用概念.md)** +## 常用概念 -- **[部署形态汇总](部署形态汇总.md)** +- 单机 -- **[部署方案介绍](部署方案介绍.md)** + 单机指的是只有一个数据库实例。 + +- 双机 + + 双机指的是系统中存在主备数据库实例,主实例支持读写,备实例支持只读。 + +- 一主多备 + + 一主多备指的是在系统存在一个主机,多个备机。最多支持4个备机。 + +- 冷热备份 + + 冷备份: 是指备份就是一个简单的备份集,不可以提供服务。 + + 热备份: 是指备份集群可以对外提供服务 。 + + +## 部署形态汇总 + +单机和双机两种部署形态方案介绍请见[表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

+
+ +## 部署方案介绍 + +整体部署方案可以分为三类:单机部署、一主一备部署、一主多备部署。 + +- 单机部署 + + 单机部署形态是一种非常特殊的部署形态,这种形态对于可靠性、可用性均无任何保证。由于只有一个数据副本,一旦发生数据损坏、丢失,只能通过物理备份恢复数据。这种部署形态,一般用于数据库体验用户,以及测试环境做语法功能调测等场景。不建议用于商业现网运行。 + + **图 1** 单机部署形态图 + + + ![](figures/zh-cn_image_0270110662.png) + +- 主备部署 + + 主备模式相当于两个数据副本,主机和备机各一个数据副本,备机接受日志、执行日志回放; + + **图 2** 主备部署形态图 + ![](figures/主备部署形态图.png "主备部署形态图") + +- 一主多备部署 + + 多副本的部署形态,提供了抵御实例级故障的能力。适用于不要求机房级别容灾,但是需要抵御个别硬件故障的应用场景。 + + 一般多副本部署时使用1主2备模式,总共3个副本,3个副本的可靠性为4个9,可以满足大多数应用的可靠性要求。 + + - 主备间Quorum复制,至少同步到一台备机,保证最大性能。 + - 主备任意一个节点故障,不影响业务的进行。 + - 数据有三份,任何一个节点故障,系统仍然有双份数据确保继续运行。任何一个备份都可以升主。 + - 主备实例之间不可部署在同一台物理机上。 + + **图 3** 一主多备部署形态图 + ![](figures/一主多备部署形态图.png "一主多备部署形态图") 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" deleted file mode 100644 index ec5db753acfdf57ce472648d339b83dd76f17f8b..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\351\203\250\347\275\262\346\226\271\346\241\210\344\273\213\347\273\215.md" +++ /dev/null @@ -1,11 +0,0 @@ -# 部署方案介绍 - -整体部署方案可以分为三类:单机部署、一主一备部署、一主多备部署。具体在后续每个小节分解。 - -- **[单机部署](单机部署.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" index 29ee5868d320f3e56a97856b33e0cf0fafab8dea..dc9e95dce7e6f0d75a63ef241ca28932a68caad6 100644 --- "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" @@ -1,17 +1,77 @@ # 面向应用开发的基本功能 -- **[支持标准SQL](支持标准SQL.md)** +- 支持标准SQL -- **[支持标准开发接口](支持标准开发接口.md)** + openGauss数据库支持标准的SQL。SQL标准是一个国际性的标准,定期会进行刷新。SQL标准的定义分成核心特性以及可选特性,绝大部分的数据库都没有100%支撑SQL标准。遗憾的是,SQL特性的构筑成为了数据库厂商吸引用户和提高应用迁移成本的手段,新的SQL特性在厂商之间差异越来越大,目前还没有机构来进行权威的SQL标准度的测试。 -- **[事务支持](事务支持.md)** + openGauss数据库支持SQL:2011大部分的核心特性,同时还支持部分的可选特性,具体的特性列表可以参考《openGauss 产品描述》。 -- **[函数及存储过程支持](函数及存储过程支持.md)** + 标准SQL的引入为所有的数据库厂商提供统一的SQL界面,减少使用者的学习成本和应用openGauss程序的迁移代价。 -- **[PG接口兼容](PG接口兼容.md)** +- 支持标准开发接口 -- **[支持SQL hint](支持SQL-hint.md)** + 提供业界标准的ODBC及JDBC接口,保证用户业务快速迁移至openGauss。 + + 目前支持标准的ODBC 3.5及JDBC 4.0接口,其中ODBC支持SUSE、Win32、Win64平台,JDBC无平台差异。 + +- 事务支持 + + 事务支持指的就是系统提供事务的能力,支持全局事务的ACID,保证事务的原子性、一致性、隔离性和持久性。 + + 事务支持及数据一致性保证是绝大多数数据库的基本功能,只有支持了事务,才能满足事务化的应用需求。 + + - A:atomicity 原子性 + + 整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。 + + - C:consistency 一致性 + + 事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务的数量。 + + - I: Isolation 隔离性 + + 隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。 + + - D:Durability 持久性 + + 在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。 + + 支持事务的默认隔离级别是读已提交。保证不会读到脏数据。 + + 事务分为单语句事务和事务块,相关基础接口: + + - Start transaction; 事务开启 + - Commit; 事务提交 + - Rollback; 事务回滚 + + 另有Set transaction可设置隔离级别、读写模式或可推迟模式。详细语法参见《openGauss 开发者指南》。 + +- 函数及存储过程支持 + + 函数和存储过程是数据库中的一种重要对象,主要功能将用户特定功能的SQL语句集进行封装,并方便调用。 + + 存储过程是SQL、PL/SQL的组合。存储过程可以使执行商业规则的代码从应用程序中移动到数据库。从而,代码存储一次能够被多个程序使用。 + + 1. 允许客户模块化程序设计,对SQL语句集进行封装,调用方便。 + 2. 存储过程会进行编译缓存,可以提升用户执行SQL语句集的速度。 + 3. 系统管理员通过执行某一存储过程的权限进行限制,能够实现对相应的数据的访问权限的限制,避免了非授权用户对数据的访问,保证了数据的安全。 + 4. 为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标,存储过程可以控制上下文区域的变化。 + 5. 支持6种异常信息级别方便客户对存储过程进行调试。 + + openGauss支持SQL标准中的函数及存储过程增强了存储过程的易用性。存储过程具体的使用方式可以参考《openGauss 开发者指南》。 + +- PG接口兼容 + + 兼容PSQL客户端,兼容PostgreSQL标准接口。 + +- 支持SQL hint + + 支持SQL hint影响执行计划生成、提升SQL查询性能。 + + Plan Hint为用户提供了直接影响执行计划生成的手段,用户可以通过指定join顺序,join、stream、scan方法,指定结果行数,等多个手段来进行执行计划的调优,以提升查询的性能。 + +- Copy接口支持容错机制 + + openGauss提供用户封装好的Copy错误表创建函数,并允许用户在使用Copy From指令时指定容错选项,使得Copy From语句在执行过程中部分解析、数据格式、字符集等相关的报错不会报错中断事务、而是被记录至错误表中,使得在Copy From的目标文件即使有少量数据错误也可以完成入库操作。用户随后可以在错误表中对相关的错误进行定位以及进一步排查。 -- **[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" index 9657d112c39b49d8f6c2c5c876079cc33d760aa0..8bc94e6207ad4c58c29620d933ec566195c35297 100644 --- "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" @@ -1,9 +1,20 @@ # 高可用 -- **[主备机](主备机.md)** +## 主备机 + +为了保证故障的可恢复,需要将数据写多份,设置主备多个副本,通过日志进行数据同步,可以实现节点故障、停止后重启等情况下,openGauss能够保证故障之前的数据无丢失,满足ACID特性。主备环境可以支持主备和一主多备两种模式。主备模式下,备机需要重做日志,可以升主。在一主多备模式下,所有的备机都需要重做日志,都可以升主。主备主要用于一般可靠性的OLTP系统能够节省一定的存储资源。而一主多备提供更高的容灾能力,适合于更高可靠性事务处理的OLTP系统。 + +主备之间可以通过switchover进行角色切换,主机故障后可以通过failover对备机进行升主。 + +初始化安装或者备份恢复等场景中,需要根据主机重建备机的数据,此时需要build功能,将主机的数据和WAL日志发送到备机。主机故障后重新以备机的角色加入时,也需要build功能将其数据和日志与新主拉齐。Build包含全量build和增量build,全量build要全部依赖主机数据进行重建,拷贝的数据量比较大,耗时比较长,而增量build只拷贝差异文件,拷贝的数据量比较小,耗时比较短。一般情况下,优先选择增量build来进行故障恢复,如果增量build失败,再继续执行全量build,直至故障恢复。 + +## 逻辑备份 -- **[逻辑备份](逻辑备份.md)** openGauss提供逻辑备份能力,可以将用户表的数据以通用的text或者csv格式备份到本地磁盘文件、,并在同构/异构数据库中恢复该用户表的数据。 -- **[物理备份](物理备份.md)** + +## 物理备份 + openGauss提供物理备份能力,可以将整个实例的数据以数据库内部格式备份到本地磁盘文件、中,并在同构数据库中恢复整个实例的数据。 +物理备份主要分为全量备份和增量备份,区别如下:全量备份包含备份时刻点上数据库的全量数据,耗时时间长(和数据库数据总量成正比),自身即可恢复出完整的数据库;增量备份只包含从指定时刻点之后的增量修改数据,耗时时间短(和增量数据成正比,和数据总量无关),但是必须要和全量备份数据一起才能恢复出完整的数据库。当前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" index c7dd7a3c8bfe69da7fe77c8c6da5492ba6e46b06..2385554e8d6e9da2b151e19c7d510ae32eb70127 100644 --- "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" @@ -1,15 +1,168 @@ # 高性能 -- **[CBO优化器](CBO优化器.md)** +## CBO优化器 + openGauss优化器是典型的基于代价的优化 \(Cost-Based Optimization,简称CBO\)。在这种优化器模型下,数据库根据表的元组数、字段宽度、NULL记录比率、distinct值、MCV值、HB值等表的特征值,以及一定的代价计算模型,计算出每一个执行步骤的不同执行方式的输出元组数和执行代价\(cost\),进而选出整体执行代价最小/首元组返回代价最小的执行方式进行执行。 -- **[行列混合存储](行列混合存储.md)** -- **[自适应压缩](自适应压缩.md)** +CBO优化器能够在众多计划中依据代价选出最高效的执行计划,最大限度的满足客户业务要求。 + +## 行列混合存储 + +openGauss支持行存储和列存储两种存储模型,用户可以根据应用场景,建表的时候选择行存储还是列存储表。 + +一般情况下,如果表的字段比较多(大宽表),查询中涉及到的列不很多的情况下,适合列存储。如果表的字段个数比较少,查询大部分字段,那么选择行存储比较好。 + +列存储方式如[图1](#zh-cn_topic_0242724708_fig4487133722819)所示。 + +**图 1** 列存储示意图 +![](figures/列存储示意图.png "列存储示意图") + +在大宽表、数据量比较大的场景中,查询经常关注某些列,行存储引擎查询性能比较差。例如气象局的场景,单表有200\~800个列,查询经常访问10个列,在类似这样的场景下,向量化执行技术和列存储引擎可以极大的提升性能和减少存储空间。 + +行存表和列存表各有优劣,建议根据实际情况选择。 + +- 行存表 + + 默认创建表的类型。数据按行进行存储,即一行数据紧挨着存储。行存表支持完整的增删改查。适用于对数据需要经常更新的场景。 + +- 列存表 + + 数据按列进行存储,即一列所有数据紧挨着存储。单列查询IO小,比行存表占用更少的存储空间。适合数据批量插入、更新较少和以查询为主统计分析类的场景。列存表不适合点查询,insert插入单条记录性能差。 + + +行存表和列存表的选择原则如下: + +- 更新频繁程度 + + 数据如果频繁更新,选择行存表。 + +- 插入频繁程度 + + 频繁的少量插入,选择行存表。一次插入大批量数据,选择列存表。 + +- 表的列数 + + 表的列数很多,选择列存表。 + +- 查询的列数 -- **[分区](分区.md)** + 如果每次查询时,只涉及了表的少数(<50%总列数)几个列,选择列存表。 + +- 压缩率 + + 列存表比行存表压缩率高。但高压缩率会消耗更多的CPU资源。 + + +## 自适应压缩 + +当前主流数据库通常都会采用数据压缩技术。数据类型不同,适用于它的压缩算法不同。对于相同类型的数据,其数据特征不同,采用不同的压缩算法达到的效果也不相同。自适用压缩正是从数据类型和数据特征出发,采用相应的压缩算法,实现了良好的压缩比、快速的入库性能以及良好的查询性能。 + +数据入库和频繁的海量数据查询是用户的主要应用场景。 在数据入库场景中,自适应压缩可以大幅度地减少数据量,成倍提高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类型的大整数压缩、支持对压缩算法进行不同压缩水平的调整。 + +## 分区 + +在openGauss系统中,数据分区是在一个实例内部对数据按照用户指定的策略对数据做进一步的水平分表,将表按照指定范围划分为多个数据互不重叠的部分。 + +对于大多数用户使用场景,分区表和普通表相比具有以下优点: + +- 改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索效率。 +- 增强可用性:如果分区表的某个分区出现故障,表在其他分区的数据仍然可用。 +- 方便维护:如果分区表的某个分区出现故障,需要修复数据,只修复该分区即可。 +- 均衡I/O:可以把不同的分区映射到不同的磁盘以平衡I/O,改善整个系统性能。 + +目前openGauss数据库支持的分区表为范围分区表:将数据基于范围映射到每一个分区,这个范围是由创建分区表时指定的分区键决定的。这种分区方式是最为常用的。 + +范围分区功能,即根据表的一列或者多列,将要插入表的记录分为若干个范围(这些范围在不同的分区里没有重叠),然后为每个范围创建一个分区,用来存储相应的数据。用户在CREATE TABLE时增加PARTITION参数,即表示针对此表应用数据分区功能。 + +用户可以在实际使用中根据需要调整建表时的分区键,使每次查询结果尽可能存储在相同或者最少的分区内(称为“分区剪枝”),通过获取连续I/O大幅度提升查询性能。 + +实际业务中,时间经常被作为查询对象的过滤条件。因此,用户可考虑选择时间列为分区键,键值范围可根据总数据量、一次查询数据量调整。 + +## SQL by pass -- **[SQL by pass](SQL-by-pass.md)** 在典型的OLTP场景中,简单查询占了很大一部分比例。这种查询的特征是只涉及单表和简单表达式的查询,因此为了加速这类查询,提出了SQL-BY-PASS框架,在parse层对这类查询做简单的模式判别后,进入到特殊的执行路径里,跳过经典的执行器执行框架,包括算子的初始化与执行、表达式与投影等经典框架,直接重写一套简洁的执行路径,并且直接调用存储接口,这样可以大大加速简单查询的执行速度。 -- **[鲲鹏NUMA架构优化](鲲鹏NUMA架构优化.md)** +## 鲲鹏NUMA架构优化 + +鲲鹏NUMA架构优化图如下。 + +**图 2** 鲲鹏NUMA架构优化图 +![](figures/鲲鹏NUMA架构优化图.png "鲲鹏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/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" index 8b5cb154ad7bc7b9325bcf5e86347038af84c153..ed7cd64de65eb79b813a8454f3205c4a5ed7951b 100644 --- "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" @@ -1,5 +1,10 @@ # 高扩展 -- **[线程池高并发](线程池高并发.md)** +**线程池高并发** + 在OLTP领域中,数据库需要处理大量的客户端连接。因此,高并发场景的处理能力是数据库的重要能力之一。 +对于外部连接最简单的处理模式是per-thread-per-connection模式,即来一个用户连接产生一个线程。这个模式好处是架构上处理简单,但是高并发下,由于线程太多,线程切换和数据库轻量级锁区域的冲突过大导致性能急剧下降,使得系统性能(吞吐量)严重下降,无法满足用户性能的SLA。 + +因此,需要通过线程资源池化复用的技术来解决该问题。线程池技术的整体设计思想是线程资源池化、并且在不同连接之间复用。系统在启动之后会根据当前核数或者用户配置启动固定一批数量的工作线程,一个工作线程会服务一到多个连接session,这样把session和thread进行了解耦。因为工作线程数是固定的,因此在高并发下不会导致线程的频繁切换,而由数据库层来进行session的调度管理。 + 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" deleted file mode 100644 index ee21ba3d31194dacdc6347e5cf5f979e2bd97f5e..0000000000000000000000000000000000000000 --- "a/content/zh/docs/Technicalwhitepaper/\351\262\262\351\271\217NUMA\346\236\266\346\236\204\344\274\230\345\214\226.md" +++ /dev/null @@ -1,9 +0,0 @@ -# 鲲鹏NUMA架构优化 - -**图 1** 鲲鹏NUMA架构优化图 -![](figures/鲲鹏NUMA架构优化图.png "鲲鹏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/menu/index.md b/content/zh/menu/index.md index a24830aeaa692658d0774514103c46dc0dab1518..de1ff21e037d3eac9bc34263e130b6ff72cb39bd 100644 --- a/content/zh/menu/index.md +++ b/content/zh/menu/index.md @@ -15,70 +15,30 @@ headless: true - [产品描述]({{< 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/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/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/Compilationguide/Compilation.md" >}}) - [简介]({{< relref "./docs/Compilationguide/简介.md" >}}) @@ -105,133 +65,113 @@ headless: true - [快速入门]({{< relref "./docs/Quickstart/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" >}}) - - [软硬件环境要求]({{< relref "./docs/Quickstart/软硬件环境要求.md" >}}) - - [修改操作系统配置]({{< relref "./docs/Quickstart/修改操作系统配置.md" >}}) - - [关闭操作系统防火墙]({{< relref "./docs/Quickstart/关闭操作系统防火墙.md" >}}) - - [设置字符集参数]({{< relref "./docs/Quickstart/设置字符集参数.md" >}}) - - [设置时区和时间]({{< relref "./docs/Quickstart/设置时区和时间.md" >}}) - - [关闭swap交换内存]({{< relref "./docs/Quickstart/关闭swap交换内存.md" >}}) - - [设置网卡MTU值]({{< relref "./docs/Quickstart/设置网卡MTU值.md" >}}) - - [设置root用户远程登录]({{< relref "./docs/Quickstart/设置root用户远程登录.md" >}}) - - [了解安装用户及用户组]({{< relref "./docs/Quickstart/了解安装用户及用户组.md" >}}) - - [安装openGauss]({{< relref "./docs/Quickstart/安装openGauss.md" >}}) - - [创建XML配置文件]({{< relref "./docs/Quickstart/创建XML配置文件.md" >}}) - - [配置数据库名称及各项目录]({{< relref "./docs/Quickstart/配置数据库名称及各项目录.md" >}}) - - [配置Host基本信息]({{< relref "./docs/Quickstart/配置Host基本信息.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" >}}) - - [(可选)设置备机可读]({{< 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客户端连接]({{< relref "./docs/Quickstart/gsql客户端连接.md" >}}) - - [确认连接信息]({{< relref "./docs/Quickstart/确认连接信息.md" >}}) - - [使用gsql本地连接]({{< relref "./docs/Quickstart/使用gsql本地连接.md" >}}) - - [使用gsql远程连接]({{< relref "./docs/Quickstart/使用gsql远程连接.md" >}}) - - [通过gs\_guc配置白名单]({{< relref "./docs/Quickstart/通过gs_guc配置白名单.md" >}}) - - [安装gsql客户端并连接数据库]({{< relref "./docs/Quickstart/安装gsql客户端并连接数据库.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" >}}) - - [通过客户端工具执行SQL]({{< relref "./docs/Quickstart/通过客户端工具执行SQL.md" >}}) - - [执行单条SQL]({{< relref "./docs/Quickstart/执行单条SQL.md" >}}) - - [执行批量文件]({{< relref "./docs/Quickstart/执行批量文件.md" >}}) - - [通过JDBC执行SQL]({{< relref "./docs/Quickstart/通过JDBC执行SQL.md" >}}) - - [JDBC包与驱动类]({{< relref "./docs/Quickstart/JDBC包与驱动类.md" >}}) - - [加载驱动]({{< relref "./docs/Quickstart/加载驱动.md" >}}) - - [连接数据库]({{< relref "./docs/Quickstart/连接数据库.md" >}}) - - [示例]({{< relref "./docs/Quickstart/示例-0.md" >}}) - - [配置运行参数]({{< relref "./docs/Quickstart/配置运行参数.md" >}}) - - [查看参数当前取值]({{< relref "./docs/Quickstart/查看参数当前取值.md" >}}) - - [重设参数]({{< relref "./docs/Quickstart/重设参数.md" >}}) - - [GUC参数说明]({{< relref "./docs/Quickstart/GUC参数说明.md" >}}) - - [GUC使用说明]({{< relref "./docs/Quickstart/GUC使用说明.md" >}}) - - [文件位置]({{< relref "./docs/Quickstart/文件位置.md" >}}) - - [连接和认证]({{< relref "./docs/Quickstart/连接和认证.md" >}}) - - [连接设置]({{< relref "./docs/Quickstart/连接设置.md" >}}) - - [安全和认证(postgresql.conf)]({{< relref "./docs/Quickstart/安全和认证_postgresql-conf.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" >}}) - - [异步IO]({{< relref "./docs/Quickstart/异步IO.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" >}}) - - [备服务器]({{< 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" >}}) - - [记录日志的时间]({{< relref "./docs/Quickstart/记录日志的时间.md" >}}) - - [记录日志的内容]({{< relref "./docs/Quickstart/记录日志的内容.md" >}}) - - [使用CSV格式写日志]({{< relref "./docs/Quickstart/使用CSV格式写日志.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" >}}) - - [其他缺省]({{< 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" >}}) - - [审计开关]({{< relref "./docs/Quickstart/审计开关.md" >}}) - - [用户和权限审计]({{< relref "./docs/Quickstart/用户和权限审计.md" >}}) - - [操作审计]({{< relref "./docs/Quickstart/操作审计.md" >}}) - - [升级参数]({{< relref "./docs/Quickstart/升级参数.md" >}}) - - [其它选项]({{< relref "./docs/Quickstart/其它选项.md" >}}) - - [等待事件]({{< relref "./docs/Quickstart/等待事件.md" >}}) - - [Query]({{< relref "./docs/Quickstart/Query.md" >}}) - - [系统性能快照]({{< relref "./docs/Quickstart/系统性能快照.md" >}}) - - [FAQ]({{< relref "./docs/Quickstart/FAQ.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" >}}) + - [设置root用户远程登录]({{< relref "./docs/Quickstart/设置root用户远程登录.md" >}}) + - [了解安装用户及用户组]({{< relref "./docs/Quickstart/了解安装用户及用户组.md" >}}) + - [安装openGauss]({{< relref "./docs/Quickstart/安装openGauss.md" >}}) + - [创建XML配置文件]({{< relref "./docs/Quickstart/创建XML配置文件.md" >}}) + - [配置数据库名称及各项目录]({{< relref "./docs/Quickstart/配置数据库名称及各项目录.md" >}}) + - [配置Host基本信息]({{< relref "./docs/Quickstart/配置Host基本信息.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" >}}) + - [安装验证]({{< 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客户端连接]({{< relref "./docs/Quickstart/gsql客户端连接.md" >}}) + - [确认连接信息]({{< relref "./docs/Quickstart/确认连接信息.md" >}}) + - [使用gsql本地连接]({{< relref "./docs/Quickstart/使用gsql本地连接.md" >}}) + - [使用gsql远程连接]({{< relref "./docs/Quickstart/使用gsql远程连接.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" >}}) + - [通过客户端工具执行SQL]({{< relref "./docs/Quickstart/通过客户端工具执行SQL.md" >}}) + - [通过JDBC执行SQL]({{< relref "./docs/Quickstart/通过JDBC执行SQL.md" >}}) + - [配置运行参数]({{< relref "./docs/Quickstart/配置运行参数.md" >}}) + - [查看参数当前取值]({{< relref "./docs/Quickstart/查看参数当前取值.md" >}}) + - [重设参数]({{< relref "./docs/Quickstart/重设参数.md" >}}) + - [GUC参数说明]({{< relref "./docs/Quickstart/GUC参数说明.md" >}}) + - [GUC使用说明]({{< relref "./docs/Quickstart/GUC使用说明.md" >}}) + - [文件位置]({{< relref "./docs/Quickstart/文件位置.md" >}}) + - [连接和认证]({{< relref "./docs/Quickstart/连接和认证.md" >}}) + - [连接设置]({{< relref "./docs/Quickstart/连接设置.md" >}}) + - [安全和认证(postgresql.conf)]({{< relref "./docs/Quickstart/安全和认证(postgresql-conf).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" >}}) + - [异步IO]({{< relref "./docs/Quickstart/异步IO.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" >}}) + - [备服务器]({{< 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" >}}) + - [记录日志的内容]({{< relref "./docs/Quickstart/记录日志的内容.md" >}}) + - [使用CSV格式写日志]({{< relref "./docs/Quickstart/使用CSV格式写日志.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" >}}) + - [其他缺省]({{< 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" >}}) + - [审计开关]({{< relref "./docs/Quickstart/审计开关.md" >}}) + - [用户和权限审计]({{< relref "./docs/Quickstart/用户和权限审计.md" >}}) + - [操作审计]({{< relref "./docs/Quickstart/操作审计.md" >}}) + - [升级参数]({{< relref "./docs/Quickstart/升级参数.md" >}}) + - [其它选项]({{< relref "./docs/Quickstart/其它选项.md" >}}) + - [等待事件]({{< relref "./docs/Quickstart/等待事件.md" >}}) + - [Query]({{< relref "./docs/Quickstart/Query.md" >}}) + - [系统性能快照]({{< relref "./docs/Quickstart/系统性能快照.md" >}}) + - [FAQ]({{< relref "./docs/Quickstart/FAQ.md" >}}) + - [用户在openGauss节点间的互信丢失]({{< relref "./docs/Quickstart/用户在openGauss节点间的互信丢失.md" >}}) - [安装指南]({{< relref "./docs/Installation/Installation.md" >}}) - [安装概述]({{< relref "./docs/Installation/安装概述.md" >}})