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.hqwc.cn/news/207003.html

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

相关文章

Unity中Shader双向反射分布函数BRDF

文章目录 前言一、渲染方程二、什么是BxDF1、BSSRDF2、BRDF3、BTDF4、BSDF 三、迪士尼原则的BRDF四、迪士尼原则的BRDF的参数五、在Unity中看一下默认Shader的这些参数六、在这里记录一下使用 Blender 和 SubstancePainter 的流程1、在Blender中导出模型为 .obj 格式2、在Subst…

企业数字化建设诊断报告

市场竞争越来越激烈 不管是初创企业,还是面临转型的发展型企业 亦或是稳定发展突破瓶颈的传统企业 或多或少都面临着企业数字化建设的问题...... 联系亿达四方限时免费领取, “企业数字化建设诊断报告”。

Connect-The-Dots_2

Connect-The-Dots_2 一、主机发现和端口扫描 主机发现,靶机地址192.168.80.148 arp-scan -l端口扫描 nmap -A -p- -sV 192.168.80.148开放端口 21/tcp open ftp vsftpd 2.0.8 or later 80/tcp open http Apache httpd 2.4.38 ((Debian)) 111/tcp …

vxe编辑保存表格

业务需求: 1、需要点击编辑时,全部表格显示编辑框,点击保存,全部保存。 2、因为位置问题,产品经理把24小时分成了两行,开发就得分两个表格。列标题是写死的,文字偏移也是写死的,其他…

Raspberry Pi 5 新一代单板计算机:树莓派5代 (介绍、入门、解疑)

树莓派5代正式发布后,硬件和性能的全面升级让众多开发者们都想入手感受一波,外观上Raspberry Pi 5 与前代产品非常相似,不过,在保留信用卡大小的整体尺寸的同时,也更新了一些设计元素,以适应新芯片组的功能…

跨境电商客服系统:提升客户满意度与优化电商体验的关键

随着全球电子商务的快速发展,跨境电商已经成为新的商业发展趋势。在这个高度竞争的市场环境中,优质的客户服务成为区分优秀与平庸的关键因素。一个高效的跨境电商客服系统不仅可以提高客户满意度,还能帮助企业优化电商体验,进而提…

Stable Diffusion XL网络结构-超详细原创

强烈推荐先看本人的这篇 Stable Diffusion1.5网络结构-超详细原创-CSDN博客 1 Unet 1.1 详细整体结构 1.2 缩小版整体结构 以生成图像1024x1024为例,与SD1.5的3个CrossAttnDownBlock2D和CrossAttnUpBlock2D相比,SDXL只有2个,但SDXL的Cros…

如何做好性能压测?压测环境设计和搭建的7个步骤你知道吗?

简介:一般来说,保证执行性能压测的环境和生产环境高度一致是执行一次有效性能压测的首要原则。有时候,即便是压测环境和生产环境有很细微的差别,都有可能导致整个压测活动评测出来的结果不准确。 1. 性能环境要考虑的要素 1.1 系…

超级有效的12个远程团队管理技巧

​​​​​ 标题前言 随着远程办公的兴起,虚拟管理团队已成为新常态。尽管混合和远程工作正在成为新常态,但管理远程团队也面临着一系列挑战。本文我们将为您提供 12个技巧,帮助您成功管理远程团队并改善协作。此外,我们将讨论定…

Autocad2020切换经典界面

Autocad2020切换经典界面 1.更改1.1设置另存为 1.更改 1.1设置另存为

Android进阶知识:ANR的定位与解决

1、前言 ANR对于Android开发者来说一定不会陌生,从刚开始学习Android时的一不注意就ANR,到后来知道主线程不能进行耗时操作注意到这点后,程序出现ANR的情况就大大减少了,甚至于消失了。那么真的是只要在主线程做耗时操作就会产生…

10年开发工程师总结,8大主流程序员兼职平台,月入30k不是梦!

今年互联网行业陆续裁员减薪,许多人怨声载道的同时也开始另谋出路。而对于程序员更是应该提早做好准备,活跃在兼职接单的最前沿。 我们程序员是一门技术工种,与互联网其他行业相比薪水会相对高一点,不过钱也不是那么好赚的&#…