openGauss学习笔记-130 openGauss 数据库管理-参数设置-重设参数

文章目录

    • openGauss学习笔记-130 openGauss 数据库管理-参数设置-重设参数
      • 130.1 背景信息
      • 130.2 GUC参数设置
      • 130.3 操作步骤
      • 130.4 示例

openGauss学习笔记-130 openGauss 数据库管理-参数设置-重设参数

130.1 背景信息

openGauss提供了多种修改GUC参数的方法,用户可以方便的针对数据库、用户、会话进行设置。

  • 参数名称不区分大小写。
  • 参数取值有整型、浮点型、字符串、布尔型和枚举型五类。
    • 布尔值可以是(on,off)、(true,false)、(yes,no)或者(1,0),且不区分大小写。
    • 枚举类型的取值是在系统表pg_settings的enumvals字段取值定义的。
  • 对于有单位的参数,在设置时请指定单位,否则将使用默认的单位。
    • 参数的默认单位在系统表pg_settings的unit字段定义的。
    • 内存单位有:KB(千字节)、MB(兆字节)和GB(吉字节)。
    • 时间单位:ms(毫秒)、s(秒)、min(分钟)、h(小时)和d(天)。

具体参数说明请参见GUC参数说明

130.2 GUC参数设置

openGauss提供了六类GUC参数,具体分类和设置方式请参考表1

表 1 GUC参数分类

参数类型说明设置方式
INTERNAL固定参数,在创建数据库的时候确定,用户无法修改,只能通过show语法或者pg_settings视图进行查看。
POSTMASTER数据库服务端参数,在数据库启动时确定,可以通过配置文件指定。支持方式一、方式四。
SIGHUP数据库全局参数,可在数据库启动时设置或者在数据库启动后,发送指令重新加载。支持方式一、方式二、方式四。
BACKEND会话连接参数。在创建会话连接时指定,连接建立后无法修改。连接断掉后参数失效。内部使用参数,不推荐用户设置。支持方式一、方式二、方式四。说明:设置该参数后,下一次建立会话连接时生效。
SUSET数据库管理员参数。可在数据库启动时、数据库启动后或者数据库管理员通过SQL进行设置。支持方式一、方式二或由数据库管理员通过方式三设置。
USERSET普通用户参数。可被任何用户在任何时刻设置。支持方式一、方式二或方式三设置。

openGauss提供了四种方式来修改GUC参数,具体操作如下:

表 2 GUC参数设置方式

方式一:

  1. 使用如下命令修改参数。
gs_guc set -D datadir -c "paraname=value"

说明:

如果参数是一个字符串变量,则使用-c parameter="‘value’"或者使用-c “parameter = ‘value’”。

使用以下命令在数据库节点上同时设置某个参数。

gs_guc set -N all -I all -c "paraname=value"

使用以下命令在数据库节点上设置cm_agent某个参数。

gs_guc set -Z cmagent -c "paraname=value"
gs_guc set -Z cmagent -N all -I all -c "paraname=value" 

使用以下命令在数据库节点上设置cm_server某个参数。

gs_guc set -Z cmserver -c "paraname=value"
gs_guc set -Z cmserver -N all -I all -c "paraname=value" 
  1. 重启数据库使参数生效。

说明:

重启openGauss操作会导致用户执行操作中断,请在操作之前规划好合适的执行窗口。

gs_om -t stop && gs_om -t start

方式二:

gs_guc reload -D datadir -c "paraname=value"

说明:

使用以下命令在数据库节点上同时设置某个参数。

gs_guc reload -N all -I all -c "paraname=value"

方式三:

修改指定数据库、用户、会话级别的参数。

  • 设置数据库级别的参数

    openGauss=# ALTER DATABASE dbname SET paraname TO value;
    

    在下次会话中生效。

  • 设置用户级别的参数

    openGauss=# ALTER USER username SET paraname TO value;
    

    在下次会话中生效。

  • 设置会话级别的参数

    openGauss=# SET paraname TO value;
    

    修改本次会话中的取值。退出会话后,设置将失效。

    说明:

    SET设置的会话级参数优先级最高,其次是ALTER设置的,其中ALTER DATABASE设置的参数值优先级高于ALTER USER设置,这三种设置方式设置的优先级都高于gs_guc设置方式。

方式四:

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

  • 设置POSTMASERT级别的参数

    openGauss=# ALTER SYSTEM SET paraname TO value;
    

    重启后生效。

  • 设置SIGHUP级别的参数

    openGauss=# ALTER SYSTEM SET paraname TO value;
    

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

  • 设置BACKEND级别的参数

    openGauss=# ALTER SYSTEM SET paraname TO value;
    

    在下次会话中生效。

img 注意: 使用方式一和方式二设置参数时,若所设参数不属于当前环境,数据库会提示参数不在支持范围内的相关信息。

130.3 操作步骤

使用方式一设置数据库参数,以在数据库主节点设置archive_mode参数为例。

  1. 以操作系统用户omm登录数据库主节点。

  2. 查看archive_mode参数。

    cat /gaussdb/data/dbnode/postgresql.conf | grep archive_mode
    
    archive_mode = on
    

    on表示日志要进行归档操作。

  3. 设置archive_mode参数为off,关闭日志的归档操作。

    gs_guc set -D /gaussdb/data/dbnode -c "archive_mode=off"
    

    img 说明:

    可以使用以下命令在数据库节点上设置archive_mode参数为off。

    gs_guc set -N all -I all -c "archive_mode=off"
    
  4. 重启数据库使参数生效。

    gs_om -t stop && gs_om -t start
    
  5. 使用如下命令连接数据库。

    gsql -d postgres -p 8000
    

    postgres为需要连接的数据库名称,8000为数据库主节点的端口号。

    连接成功后,系统显示类似如下信息:

    gsql((openGauss x.x.x build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release)
    Non-SSL connection (SSL connection is recommended when requiring high-security)
    Type "help" for help.openGauss=# 
    
  6. 检查参数设置的正确性。

    openGauss=# SHOW archive_mode;archive_mode
    --------------off
    (1 row)
    

使用方式二设置参数,以在数据库主节点设置authentication_timeout参数为例。

  1. 以操作系统用户omm登录数据库主节点。

  2. 查看authentication_timeout参数。

    cat /gaussdb/data/dbnode/postgresql.conf | grep authentication_timeout
    
    authentication_timeout = 1min
    
  3. 设置authentication_timeout参数为59s。

    gs_guc reload -N all -I all -c "authentication_timeout = 59s"Total instances: 2. Failed instances: 0.
    Success to perform gs_guc!
    

    img 说明:

    可以使用以下命令在数据库节点上设置authentication_timeout参数为59s。

    gs_guc reload -N all -I all -c "authentication_timeout = 59s"
    
  4. 使用如下命令连接数据库。

    gsql -d postgres -p 8000
    

    postgres为需要连接的数据库名称,8000为数据库主节点的端口号。

    连接成功后,系统显示类似如下信息:

    gsql((openGauss x.x.x build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release)
    Non-SSL connection (SSL connection is recommended when requiring high-security)
    Type "help" for help.openGauss=# 
    
  5. 检查参数设置的正确性。

    openGauss=# SHOW authentication_timeout;authentication_timeout 
    ------------------------59s
    (1 row)
    

使用方式三设置参数,以设置explain_perf_mode参数为例。

  1. 以操作系统用户omm登录数据库主节点。

  2. 使用如下命令连接数据库。

    gsql -d postgres -p 8000
    

    postgres为需要连接的数据库名称,8000为数据库主节点的端口号。

    连接成功后,系统显示类似如下信息:

    gsql((openGauss x.x.x build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release)
    Non-SSL connection (SSL connection is recommended when requiring high-security)
    Type "help" for help.openGauss=# 
    
  3. 查看explain_perf_mode参数。

    openGauss=# SHOW explain_perf_mode;explain_perf_mode 
    -------------------normal
    (1 row)
    
  4. 设置explain_perf_mode参数。

    使用以下任意方式进行设置:

    • 设置数据库级别的参数

      openGauss=# ALTER DATABASE postgres SET explain_perf_mode TO pretty;
      

      当结果显示为如下信息,则表示设置成功。

      ALTER DATABASE
      

      在下次会话中生效。

    • 设置用户级别的参数

      openGauss=# ALTER USER omm SET explain_perf_mode TO pretty;
      

      当结果显示为如下信息,则表示设置成功。

      ALTER ROLE
      

      在下次会话中生效。

    • 设置会话级别的参数

      openGauss=# SET explain_perf_mode TO pretty;
      

      当结果显示为如下信息,则表示设置成功。

      SET
      
  5. 检查参数设置的正确性。

    openGauss=# SHOW explain_perf_mode;explain_perf_mode
    --------------pretty
    (1 row)
    

130.4 示例

  • 示例1:使用方式一修改openGauss数据库主节点的最大连接数。

    1. 以操作系统用户omm登录数据库主节点。

    2. 使用如下命令连接数据库。

      gsql -d postgres -p 8000
      

      postgres为需要连接的数据库名称,8000为数据库主节点的端口号。

      连接成功后,系统显示类似如下信息:

      gsql((openGauss x.x.x build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release)
      Non-SSL connection (SSL connection is recommended when requiring high-security)
      Type "help" for help.openGauss=# 
      
    3. 查看最大连接数。

      openGauss=# SHOW max_connections;max_connections 
      -----------------200
      (1 row)
      
    4. 使用如下命令退出数据库。

      openGauss=# \q
      
    5. 修改openGauss数据库主节点的最大连接数。

      gs_guc set -N all -I all -c "max_connections = 800"
      
    6. 重启openGauss。

      gs_om -t stop && gs_om -t start
      
    7. 使用如下命令连接数据库。

      gsql -d postgres -p 8000
      

      postgres为需要连接的数据库名称,8000为数据库主节点的端口号。

      连接成功后,系统显示类似如下信息:

      gsql((openGauss x.x.x build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release)
      Non-SSL connection (SSL connection is recommended when requiring high-security)
      Type "help" for help.openGauss=# 
      
    8. 查看最大连接数。

      openGauss=# SHOW max_connections;max_connections 
      -----------------800
      (1 row)
      
  • 示例2:使用方式二设置数据库主节点的客户端认证最长时间参数“authentication_timeout”

    1. 以操作系统用户omm登录数据库主节点。

    2. 使用如下命令连接数据库。

      gsql -d postgres -p 8000
      

      postgres为需要连接的数据库名称,8000为数据库主节点的端口号。

      连接成功后,系统显示类似如下信息:

      gsql((openGauss x.x.x build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release)
      Non-SSL connection (SSL connection is recommended when requiring high-security)
      Type "help" for help.openGauss=# 
      
    3. 查看客户端认证的最长时间。

      openGauss=# SHOW authentication_timeout;authentication_timeout 
      ------------------------1min
      (1 row)
      
    4. 使用如下命令退出数据库。

      openGauss=# \q
      
    5. 修改数据库主节点的客户端认证最长时间。

      gs_guc reload -N all -I all -c "authentication_timeout = 59s"
      
    6. 使用如下命令连接数据库。

      gsql -d postgres -p 8000
      

      postgres为需要连接的数据库名称,8000为数据库主节点的端口号。

      连接成功后,系统显示类似如下信息:

      gsql((openGauss x.x.x build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release)
      Non-SSL connection (SSL connection is recommended when requiring high-security)
      Type "help" for help.openGauss=# 
      
    7. 查看客户端认证的最长时间。

      openGauss=# SHOW authentication_timeout;authentication_timeout 
      ------------------------59s
      (1 row)
      
  • 示例3:修改openGauss数据库节点的最大连接数。

    1. 以操作系统用户omm登录数据库主节点。

    2. 使用如下命令连接数据库。

      gsql -d postgres -p 8000
      

      postgres为需要连接的数据库名称,8000为数据库主节点的端口号。

      连接成功后,系统显示类似如下信息:

      gsql((openGauss x.x.x build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release)
      Non-SSL connection (SSL connection is recommended when requiring high-security)
      Type "help" for help.openGauss=# 
      
    3. 查看最大连接数。

      openGauss=# SHOW max_connections;max_connections 
      -----------------200
      (1 row)
      
    4. 使用如下命令退出数据库。

      openGauss=# \q
      
    5. 修改openGauss数据库节点的最大连接数。

      gs_guc set -N all -I all -c "max_connections = 500"
      
    6. 重启openGauss。

      gs_om -t stop
      gs_om -t start
      
    7. 使用如下命令连接数据库。

      gsql -d postgres -p 8000
      

      postgres为需要连接的数据库名称,8000为数据库主节点的端口号。

      连接成功后,系统显示类似如下信息:

      gsql((openGauss x.x.x build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release)
      Non-SSL connection (SSL connection is recommended when requiring high-security)
      Type "help" for help.openGauss=# 
      
    8. 查看最大连接数。

      openGauss=# SHOW max_connections;max_connections 
      -----------------500
      (1 row)
      
  • 示例4:设置数据库节点的客户端认证最长时间参数“authentication_timeout”

    1. 以操作系统用户omm登录数据库主节点。

    2. 使用如下命令连接数据库。

      gsql -d postgres -p 8000
      

      postgres为需要连接的数据库名称,8000为数据库主节点的端口号。

      连接成功后,系统显示类似如下信息:

      gsql((openGauss x.x.x build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release)
      Non-SSL connection (SSL connection is recommended when requiring high-security)
      Type "help" for help.openGauss=# 
      
    3. 查看客户端认证的最长时间。

      openGauss=# SHOW authentication_timeout;authentication_timeout 
      ------------------------1min
      (1 row)
      
    4. 使用如下命令退出数据库。

      openGauss=# \q
      
    5. 修改openGauss数据库节点的客户端认证最长时间。

      gs_guc reload -N all -I all -c "authentication_timeout = 30s"
      
    6. 使用如下命令连接数据库。

      gsql -d postgres -p 8000
      

      postgres为需要连接的数据库名称,8000为数据库主节点的端口号。

      连接成功后,系统显示类似如下信息:

      gsql((openGauss x.x.x build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release)
      Non-SSL connection (SSL connection is recommended when requiring high-security)
      Type "help" for help.openGauss=# 
      
    7. 查看客户端认证的最长时间。

      openGauss=# SHOW authentication_timeout;authentication_timeout 
      ------------------------30s
      (1 row)
      

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/162374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网络】数据链路层协议

数据链路层协议 一、链路层解决的问题二、以太网协议1、局域网技术2、令牌环网(了解)3、以太网通信原理4、 MAC地址5、以太网帧格式6、碰撞避免7、最大传输单元MTU 二、ARP协议1、ARP数据的格式2、ARP协议的工作流程3、ARP缓存表4、ARP协议中的一些问题7…

11月23日星期四今日早报简报微语报早读

11月23日星期四,农历十月十一,早报微语早读。 1、我国5G基站总数达321.5万个; 2、2023年两院院士增选结果揭晓,共133人当选; 3、北京低保标准提升至每人每月1395元; 4、上海制定体育发展条例&#xff1a…

[Linux] shell脚本之循环

一、循环定义 一组被重复执行的语句称之为 循环体,能否继续重复,决定循环的终止条件。 循环语句 是由循环体及循环的终止条件两部分组成的。 二、for循环 2.1 带列表循环 语法 for 变量名 in 取值列表do 命令序列 done 花括号用法: 花括号{ }和seq在for循环…

年轻有为!2023两院院士增选揭榜 45岁颜宁当选

大家好,我是极智视界,欢迎关注我的公众号,获取我的更多前沿科技分享 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq 通常,两…

BTS-GAN:基于MRI和条件对抗性网络的乳腺肿瘤计算机辅助分割系统

BTS-GAN: Computer-aided segmentation system for breast tumor using MRI and conditional adversarial networks BTS-GAN:基于MRI和条件对抗性网络的乳腺肿瘤计算机辅助分割系统背景贡献实验方法Parallel dilated convolution module(并行扩展卷积模块…

逸学java【初级菜鸟篇】9.5枚举

hi,我是逸尘,一起学java吧 枚举是信息的标志和分类 当一个变量有几种固定可能的取值时,就可以将它定义为类型的枚举。 优点:代码可读性好,入参约束严谨,代码优雅,是最好的信息分类技术&#x…

【AI读论文】AutoML的8年回顾:分类、综述与趋势

论文标题:Eight years of AutoML: categorisation, review and trends 论文链接:https://link.springer.com/article/10.1007/s10115-023-01935-1 本文主要围绕自动机器学习(AutoML)展开了系统性的文献综述,总结了该领…

【文末送书】重磅!这本30w人都在看的Python数据分析畅销书:更新了!

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

div中添加el-loading(局部loading的使用)

效果&#xff1a;在div中实现el-loading <div class"content-main">{{ hotList }}</div>getHotList(columnType) {this.$nextTick(() > {var loading this.$loading({lock: true,text: "努力加载中...",spinner: "el-icon-loading&qu…

揭示卡尔曼滤波器的威力

一、说明 作为一名数据科学家&#xff0c;我们偶尔会遇到需要对趋势进行建模以预测未来值的情况。虽然人们倾向于关注基于统计或机器学习的算法&#xff0c;但我在这里提出一个不同的选择&#xff1a;卡尔曼滤波器&#xff08;KF&#xff09;。 1960 年代初期&#xff0c;Rudol…

开始通过 Amazon SageMaker JumpStart 在亚马逊云科技上使用生成式 AI

目前&#xff0c;生成式 AI 正受到公众的广泛关注&#xff0c;人们围绕着许多人工智能技术展开讨论。很多客户一直在询问有关亚马逊云科技生成式 AI 解决方案的更多信息&#xff0c;本文将为您进行解答。 这篇文章通过一个真实的客户使用案例概述了生成式 AI&#xff0c;提供了…

感恩节99句祝福语,感恩父母老师朋友亲人朋友们,永久快乐幸福

1、流星让夜空感动&#xff0c;生死让人生感动&#xff0c;爱情让生活感动&#xff0c;你让我感动&#xff0c;在感恩节真心祝福你比所有的人都开心快乐。 2、感恩节到了&#xff0c;想问候你一下&#xff0c;有太多的话语想要说&#xff0c;但是不知从何说起&#xff0c;还是用…

让SOLIDWORKS Composer动画在PPT中随意转换

SOLIDWORKS Composer作为一款易学易用的技术图解软件&#xff0c;非常适合用来给客户展示自己的产品。这里我们教大家如何将Composer文件插入大PPT中&#xff0c;并任意切换文件&#xff0c;用以给客户展示不用的方案和产品。 1.首先大家要安装SOLIDWORKS Composer Player 这个…

【2021集创赛】基于ARM-M3的双目立体视觉避障系统 SOC设计

本作品参与极术社区组织的有奖征集|秀出你的集创赛作品风采,免费电子产品等你拿~活动。 团队介绍 参赛单位&#xff1a;上海电力大学 队伍名称&#xff1a;骇行队 总决赛奖项&#xff1a;二等奖 1.摘要 随着信息技术的发展&#xff0c;AGV&#xff08;Automated Guided Vehic…

21款奔驰GLC260L升级HUD抬头显示 平视仪表信息

随着科技飞速地发展&#xff0c;从汽车领域就可以看出&#xff0c;尤其是汽车的抬头显示器&#xff0c;一经推出就吸引了很多的车主。 升级HUD抬头显示&#xff0c;HUD与汽车系统进行完整的数据信息连接&#xff0c;整合成大数据&#xff0c;然后将一些重要信息映射到车窗玻璃…

中低压MOSFET 2N7002W 60V 300mA 双N通道 SOT-323封装

2N7002W小电流双N通道MOSFET&#xff0c;电压60V电流300mA&#xff0c;采用SOT-323封装形式。超高密度电池设计&#xff0c;适用于极低的ros (on)&#xff0c;具有导通电阻和最大直流电流能力&#xff0c;ESD保护。可应用于笔记本中的电源管理&#xff0c;电池供电系统等产品应…

通过Everything 建立HTTP服务器时指定文件夹共享

在局域网传输文件&#xff0c;高效传输&#xff0c;不限文件大小 1、安装Everything 2、在Everything开启HTTP服务 【工具】—>>【选项】—>>【HTTP服务】启用HTTP服务器&#xff0c;设置HTTP服务器用户名和密码 3、查看网络信息 打开服务端电脑的【命令提示…

SpringCache使用详解

SpringCache 1.新建测试项目SpringCache2.SpringCache整合redis2.1.Cacheable2.2.CacheEvict2.3.Cacheput2.4.Caching2.5.CacheConfig 3.SpringCache问题4.SpringCache实现多级缓存 1.新建测试项目SpringCache 引入依赖 <dependencies><dependency><groupId&g…

内裤洗衣机有用吗?口碑最好的小型洗衣机

想必各位小伙伴都知道我们的贴身衣物&#xff0c;不可以与其他衣服一起在洗衣机中清洗&#xff0c;每次都需要把内衣裤挑选出来手洗&#xff0c;但是我们每天都要上厕所&#xff0c;难免会沾上污渍和细菌&#xff0c;我们在用手搓洗的过程中很难把细菌给清除掉&#xff0c;所以…

ios打包,证书获取

HBuilderX 打包ios界面&#xff1a; Bundle ID(AppID)&#xff1a; 又称应用ID&#xff0c;是每一个ios应用的唯一标识&#xff0c;就像一个人的身份证号码&#xff1b; 每开发一个新应用&#xff0c;首先都需要先去创建一个Bundle ID Bundle ID 格式&#xff1a; 一般为&…