【openGauss数据库配置运行参数】--略有小成

news2024/11/23 2:54:54

【openGauss数据库配置运行参数】--略有小成

    • 🔻 一、查看参数值
      • 🔰 1.1 使用SHOW命令查看
      • 🔰 1.2 使用pg_settings视图查看
    • 🔻 二、openGauss的六类GUC参数
    • 🔻 三、重设运行参数
      • 🔰 1.3 重设参数的几种方式
      • 🔰 1.4 修改最大连接数量
      • 🔰 1.5设置数据库主节点的客户端认证最长时间
    • 🔻 四、总结—温故知新

在这里插入图片描述


👈【上一篇】
💖The Begin💖 点点关注,收藏不迷路💖
【下一篇】👉

🔻 一、查看参数值

openGauss安装后,有一套默认的运行参数,为了使openGauss与业务的配合度更高,可根据业务场景和数据量的大小进行GUC参数调整

🔰 1.1 使用SHOW命令查看

###🍀1、以用户omm登录数据库节点🍀###
[root@klgdj ~]# su - omm

###🍀连接数据库,15400为数据库端口号🍀###
[omm@klgdj ~]$ gsql -d postgres -p 15400
###🍀2、查看数据库运行参数当前取值🍀###
###🍀查看单个参数
openGauss=# SHOW server_version;
 server_version 
----------------
 9.2.4
(1 row)

openGauss=# 
----server_version显示数据库版本信息的参数

###🍀查看所有参数
openGauss=# SHOW ALL;

🔰 1.2 使用pg_settings视图查看

###🍀查看单个参数
openGauss=# SELECT * FROM pg_settings WHERE NAME='server_version';

###🍀查看所有参数
openGauss=# SELECT * FROM pg_settings;

🔻 二、openGauss的六类GUC参数

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

🔻 三、重设运行参数

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

🌳1、参数名称不区分大小写。

🌳2、参数取值有整型、浮点型、字符串、布尔型和枚举型五类。

🌳3、布尔值可以是(on,off)、(true,false)、(yes,no)或者(1,0),且不区分大小写。

🌳4、枚举类型的取值是在系统表pg_settings的enumvals字段取值定义的。

🌳5、对于有单位的参数,在设置时请指定单位,否则将使用默认的单位。

🌳6、参数的默认单位在系统表pg_settings的unit字段定义的。

🌳7、内存单位有:KB(千字节)、MB(兆字节)和GB(吉字节)。

🌳8、时间单位:ms(毫秒)、s(秒)、min(分钟)、h(小时)和d(天)。

🔰 1.3 重设参数的几种方式

参数文件地址:/opt/software/install/data/dn/postgresql.conf,你的openGauss安装路径下。

  • 方式一、gs_guc set

🌳1、使用如下命令修改参数。
gs_guc set -D datadir -c “paraname=value”
说明:
如果参数是一个字符串变量,则使用-c parameter="‘value’"或者使用-c “parameter = ‘value’”。

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

gs_guc set -N all -I all -c “paraname=value”
🌳3、使用以下命令在数据库节点上设置cm_agent某个参数。

gs_guc set -Z cmagent -c “paraname=value”
gs_guc set -Z cmagent -N all -I all -c “paraname=value”
🌳4、使用以下命令在数据库节点上设置cm_server某个参数。

gs_guc set -Z cmserver -c “paraname=value”
gs_guc set -Z cmserver -N all -I all -c “paraname=value”
🌳5、重启数据库使参数生效。
说明:
重启openGauss操作会导致用户执行操作中断,请在操作之前规划好合适的执行窗口。

gs_om -t stop && gs_om -t start

###💯例:修改archive_mode参数
###🍀omm 用户登录,查看archive_mode参数

[omm@klgdj ~]$ cat /opt/software/install/data/dn/postgresql.conf | grep archive_mode
#archive_mode = off		# allows archiving to be done
[omm@klgdj ~]$ 

---archive_mode参数为off,关闭日志的归档操作
###🍀开启归档模式
[omm@klgdj ~]gs_guc set -D /opt/software/install/data/dn -c "archive_mode=on"

###🍀重启数据库使参数生效。再次查看参数值
[omm@klgdj ~]$ gs_om -t stop && gs_om -t start
openGauss=# SHOW archive_mode;
 archive_mode 
--------------
 on
(1 row)

openGauss=# 
  • 方式二、gs_guc reload

gs_guc reload -D datadir -c “paraname=value”
说明:
🌳1、使用以下命令在数据库节点上同时设置某个参数。

gs_guc reload -N all -I all -c “paraname=value”

###💯例:修改authentication_timeout参数
###🍀omm 用户登录,查看authentication_timeout参数

[omm@klgdj ~]$ cat /opt/software/install/data/dn/postgresql.conf | grep authentication_timeout
#authentication_timeout = 1min		# 1s-600s
[omm@klgdj ~]$ 

###🍀设置authentication_timeout参数为120s
[omm@klgdj ~]gs_guc reload -N all -I all -c "authentication_timeout = 120s"

###🍀修改后立即生效。再次查看参数值
openGauss=# SHOW authentication_timeout;
 authentication_timeout 
------------------------
 2min
(1 row)

openGauss=# 
  • 方式三、ALTER DATABASE | USER SET

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

🌳1、设置数据库级别的参数
openGauss=# ALTER DATABASE dbname SET paraname TO value;
在下次会话中生效。

🌳2、设置用户级别的参数
openGauss=# ALTER USER username SET paraname TO value;
在下次会话中生效。

🌳3、设置会话级别的参数
openGauss=# SET paraname TO value;
修改本次会话中的取值。退出会话后,设置将失效。

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

###💯例:修改explain_perf_mode参数
###🍀omm 用户登录,查看explain_perf_mode参数

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

openGauss=#

###🍀设置explain_perf_mode参数为normal
###🍀数据库级别的参数
openGauss=# ALTER DATABASE postgres SET explain_perf_mode TO normal;
ALTER DATABASE
openGauss=# 

###🍀设置用户级别的参数
openGauss=# ALTER USER omm SET explain_perf_mode TO normal;
ALTER DATABASE
openGauss=# 

###🍀设置会话级别的参数
openGauss=# SET explain_perf_mode TO normal;
SET
openGauss=# 

###🍀修改后下次会话中生效。再次查看参数值
openGauss=# SHOW explain_perf_mode;
 explain_perf_mode 
-------------------
 normal
(1 row)

openGauss=#
  • 方式四、ALTER SYSTEM SET

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

🌳2、设置POSTMASERT级别的参数
openGauss=# ALTER SYSTEM SET paraname TO value;
重启后生效。

🌳3、设置SIGHUP级别的参数
openGauss=# ALTER SYSTEM SET paraname TO value;
立刻生效(实际等待线程重新加载参数略有延迟)。

🌳4、设置BACKEND级别的参数
openGauss=# ALTER SYSTEM SET paraname TO value;
在下次会话中生效。

###🍀设置SIGHUP级别参数audit_enabled。
openGauss=#  alter system set audit_enabled to off;
ALTER SYSTEM SET
openGauss=#  show audit_enabled;
 audit_enabled
---------------
 off
(1 row)

###🍀设置POSTMASTER级别参数 enable_thread_pool,将在重启之后生效。
openGauss=# alter system set enable_thread_pool to on;
NOTICE:  please restart the database for the POSTMASTER level parameter to take effect.
ALTER SYSTEM SET

🔰 1.4 修改最大连接数量

###🍀修改openGauss数据库主节点的最大连接数
gs_guc set -N all -I all -c "max_connections = 800"

###🍀重启openGauss生效
gs_om -t stop && gs_om -t start

###🍀查看最大连接数
openGauss=# SHOW max_connections;
 max_connections 
-----------------
 800
(1 row)

🔰 1.5设置数据库主节点的客户端认证最长时间

###🍀查看客户端认证的最长时间
openGauss=#  SHOW authentication_timeout;
 authentication_timeout 
------------------------
 2min
(1 row)

openGauss=# 

###🍀修改数据库主节点的客户端认证最长时间600s,authentication_timeout 取值1-600S
gs_guc reload -N all -I all -c "authentication_timeout = 600s"

###🍀查看客户端认证的最长时间
openGauss=# SHOW authentication_timeout;
 authentication_timeout 
------------------------
 10min
(1 row)

openGauss=# 

🔻 四、总结—温故知新

❓ openGauss数据库---运行参数配置

👈【上一篇】
💖The End💖 点点关注,收藏不迷路💖
【下一篇】👉

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

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

相关文章

5.0、Java_IO流 - IO流类的基本体系结构

5.0、Java_IO流 - IO流类的基本体系结构 Java 为我们提供了多种多样的 IO 流,我们可以根据不同的功能以及性能要求挑选合适的 IO 流; 下图为 Java 中 IO 流类的基本体系结构(这里只列举出一些常用的类,详情可以参考 JDK API 文档&…

闭门造轮(LVGL_1)

参考的课程: 全志韦东山的课程:https://www.100ask.net/p/t_pc/course_pc_detail/column/p_61c5a317e4b0cca4a4e8b6f1?product_idp_61c5a317e4b0cca4a4e8b6f1 例程1_// 基础对象(lv_obj),"Hello, LVGL!" void lvgl_demo(void) …

用平衡因子实现-AVL树

目录 AVL树的概念AVL树节点的定义AVL树的插入AVL树的旋转左单旋(parent->_bf 2 && cur->_bf 1)a,b,c当高度为0a,b,c当高度为1a,b,c当高度为2a,b,c当高度为...... 右单旋(parent->_bf -2 && cur->_bf -1)a,b,c当高度为0a,b,c当高度为1a,b,c当高…

UE5《Electric Dreams》项目PCG技术解析 之 基于关卡PCGSettings的工作流

程序化内容生成框架(Procedural Content Generation Framework,下文简称PCG)可谓是UE5.2版本中最令人瞩目的新技术之一,老王也是在第一时间就关注了这个技术,以前尝试过用Houdini来实现UE5中的程序化内容生成,感觉还是很蹩脚的,毕…

无线发射功率

无线电发射功率 无线电发射机输出的射频信号,通过馈线(电缆)输送到天线,由天线以电磁波形式辐射出去。电磁波到达接收地点后,由天线接收下来(仅仅接收很小很小一部分功率),并通过馈…

Linux系统编程(再论execve)

文章目录 前言一、execve的第三个参数二、进程空间三、命令行参数规范四、optstring规则的扩展定义总结 前言 本篇文章我们继续来研究一下execve这个系统调用,上篇文章已经讲解了前两个参数的意义了,那么这篇文章就来讲解一下第三个参数的具体含义。 一…

三分钟学习一个python小知识4-----------我的对python中numpy的理解, 我列举了关于numpy常用的10个例子来深入理解numpy

这里写目录标题 1、NumPy是什么2、NumPy的常见应用---必须掌握2.1.创建一个数组2.2.数组的属性2.3.取数组中的元素2.4.数组的运算2.5.数组的转置2.6. 数组的索引和切片2.7. 数组的重塑2.8. 数组的广播2.9. 数组的聚合操作2.10. 数组的排序 总结 1、NumPy是什么 NumPy是专门用于…

vue+elementui实现app布局小米商城,样式美观大方,功能完整

目录 一、项目效果在线预览 二、效果图 1.首页效果图 2.分类,动态分类商品数据根据所属分类动态切换 3.购物车,动态添加购物车(增、删、改、查) 4.我的 5.登录注册 6.商品详情 7.搜索(动态模糊搜索、搜索历史…

12---整数转罗马数字

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例…

文件上传漏洞-用骗子的角度分析

(一)文件上传漏洞 文件上传漏洞,发送在用户上传文件功能中,很多网址都对上传的文件格式进行限制,但是被攻击机者找到漏洞,把木马、病毒进行上传,然后控制服务器。对上传的文件格式不是不限制&a…

MySQL实战解析底层---为什么这些SQL语句逻辑相同,性能却差异巨大

目录 前言 案例一:条件字段函数操作 案例二:隐式类型转换 案例三:隐式字符编码转换 前言 在MySQL中,有很多看上去逻辑相同,但性能却差异巨大的SQL语句对这些语句使用不当的话,就会不经意间导致整个数据…

动态规划V (85、91、97)-最近都开始摆烂

CP85 最大矩形 题目描述: 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 学习记录: 对每一个地方都去统计最大举行的话,会有很多多余的计算,题…

windows操作系统线程结构体

上一篇我们介绍了进程结构体,这节我们介绍下线程结构体:ETHREAD。还是去windbg里面去看一下这个结构体的长相: 依旧是一大堆成员,我们只关注一些比较重要的结构体成员。在进程结构体中的第一个成员是一个子结构体Pcb,在线程结构体中&#xff…

【Simulink】基于FCS-MPC的带阻感负载的三相逆变器控制(Matlab Function)

之前写过三相并网逆变器FCS-MPC的博客 👉【Simulink】基于FCS-MPC的三相并网逆变器控制(Matlab Function) 应用的对象是并网的,用一个电压源(Three-Phase Programmable Voltage Source)模拟交流电网。 本篇…

6.S081——设备中断与驱动部分(串口驱动与Console)——xv6源码完全解析系列(7)

0.briefly speaking 之前我们研究过Xv6中的陷阱机制,并搞懂了系统调用的全部流程,接下来我们以UART和console为研究对象,深入研读一下Xv6内核中有关设备中断驱动的代码,并对UART、shell、console、键盘、显示器等设备的协同运作过…

【算法总结】——排列型回溯

文章目录 排列型回溯例题1——46. 全排列例题2——N皇后 分析回溯时间复杂度的另一种技巧 排列型回溯 相比于组合,排列型回溯对于元素的顺序是有要求的。 为了告诉回溯下面还可以选择哪些数字,可以: 记录已经被选择的数字用一个集合存储还…

【Linux】16. 动静态库

1. 库概念的引出 但是如果只是单纯的将多个.o文件提供给使用者,那么如果.o文件过多链接就会变得非常复杂,于是我们考虑将所有的.o文件打包给使用者提供一个库文件即可。 库的本质就是.o文件的集合 2. 动静态库概念 在之前的学习过程中我们认识到动静态…

免费:5000个高清视频素材 (个人免费版权,含9个利基)

免费:5000个高清视频素材 (个人免费版权,含9个利基) 嘿!你喜欢制作视频吗?总是在寻找一些酷炫的素材,但又担心会侵犯版权吗?别担心,我有一个超级好消息要告诉你!现在,我…

代码随想录算法训练营第39天 | 62.不同路径 + 63.不同路径 II

今日任务 目录 62.不同路径 - Medium 63.不同路径 II - Medium 62.不同路径 - Medium 题目链接:力扣-62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器…

【数据结构】排序

插入排序 把当前遍历到的元素前的元素序列是排好序的,把当前元素放到前边的序列中进行排序。 直接插入排序 不带哨兵 void InsertSort(int A[],int n) { int i,j,temp; for(i1;i<n;i) if(A[i]<A[i-1]) { tempA[i]; for(ji-1;j>0 && A[j]>temp;--j) A[j…