首页 > 数据库 >【磐维数据库】业务无法连接-连接数限制

【磐维数据库】业务无法连接-连接数限制

时间:2024-10-23 18:31:19浏览次数:6  
标签:限制 磐维 数据库 用户 连接数 CONNECTION LIMIT

连接数介绍

江西移动现场应用侧在使用磐维数据库,做应用兼容改造时,发现程序连接报错,借此介绍下磐维数据库在连接限制上的主要手段。

方法分三层:实例级别、数据库级别和用户级别。

max_connections(全局连接数限制)

参数说明: 允许和数据库连接的最大并发连接数。此参数会影响Vastbase的并发能力。

该参数属于POSTMASTER类型参数,请参考重设参数中对应设置方法进行设置。

取值范围: 整型。

最小值为10(要大于max_wal_senders),理论最大值为262143,实际最大值为动态值,计算公式为262143 - job_queue_processes - autovacuum_max_workers - AUXILIARY_BACKENDS - AV_LAUNCHER_PROCS - max_inner_tool_connections。

默认值:200:编译安装数据库或极简安装数据库的情况下。5000:使用om安装数据库的情况下。

如果该默认值超过内核支持的最大值(在执行vb_initdb的时候判断),系统会提示错误。

设置建议:数据库主节点中此参数建议保持默认值。数据库节点中此参数建议设置为数据库主节点的个数乘以数据库主节点中此参数的值。 增大这个参数可能导致Vastbase要求更多的SystemV共享内存或者信号量,可能超过操作系统缺省配置的最大值。这种情况下,请酌情对数值加以调整。

用户限制

查看指定用户的会话连接数上限。

执行如下命令查看连接到指定用户omm的会话连接数上限。其中-1表示没有对用户omm设置连接数的限制。

openGauss=# SELECT ROLNAME,ROLCONNLIMIT FROM PG_ROLES WHERE ROLNAME='omm';
    rolname  | rolconnlimit
----------+--------------
    omm |           -1
(1 row)

修改数据库的最大连接数

ALTER DATABASE database_name 
    [ [ WITH ] CONNECTION LIMIT connlimit ];
alter database database_name CONNECTION LIMIT xx;

数据库连接数限制

查看指定数据库的会话连接数上限。

执行如下命令查看连接到指定数据库postgres的会话连接数上限。其中-1表示没有对数据库postgres设置连接数的限制。

openGauss=# SELECT DATNAME,DATCONNLIMIT FROM PG_DATABASE WHERE DATNAME='postgres'; 
datname  | datconnlimit
----------+--------------
    postgres |           -1

修改用户连接数限制:
某用户的连接数:在创建用户时由CREATE ROLE命令的CONNECTION LIMIT connlimit子句直接设定,也可以在设定以后用ALTER ROLE的CONNECTION LIMIT connlimit子句修改。

ALTER ROLE rolename CONNECTION LIMIT xx;
或者
ALTER User username CONNECTION LIMIT xx

sysadmin_reserved_connections

系统保留链接

案例分享

客户报错,连接到100之后就有问题,报错连接不上数据库。

分析思路有两个:

思路一:连接池最大连接数配置

思路二:数据库连接数限制

最后定位问题原因

3.0.0-3.0.1版本磐维存在默认用户连接数限制100的设定。
2073e9d091b3ad6b7c5c898e6ffd290.png

经过充分了解,在PanWeiDB V2.0-S3.0.0 B01与 PanWeiDB V2.0-S3.0.1 B01 中,新创建的用户的 ROLCONNLIMIT 默认为 100,可能会影响使用。

因此,需要数据库管理员或安全管理员在创建用户后,调整新建用户的 ROLCONNLIMIT 属性,方 法如下:

UPDATE PG_AUTHID SET ROLCONNLIMIT = -1 WHERE ROLNAME='XXX';

不仅是安装,升级后也需要,就是说只要是这俩版本,创建新用户之后就需要手动改一下。另外 PG_AUTHID 需要在升级模式改。

另外一种更安全的方式,不需要开启升级模式,但还是要在所有新创建的用户那里去修改。

ALTER USER username CONNECTION LIMIT -1;

 

标签:限制,磐维,数据库,用户,连接数,CONNECTION,LIMIT
From: https://www.cnblogs.com/yuweijade/p/18498042

相关文章

  • 【PowerShell】如何通过PowerShell自动化数据库维护任务?
    通过PowerShell自动化数据库维护任务是一个非常实用的技能,可以极大地提高工作效率。这里我们将介绍如何使用PowerShell与SQLServer进行交互来执行常见的数据库维护操作,比如备份数据库、检查数据库完整性以及清理过期数据等。1.安装SQLServerPowerShell模块在开始之前,......
  • 【磐维数据库】instr函数在磐维数据库使用报错处理过程
    背景江西移动现场,应用侧在磐维数据库使用instr函数时报错,报错如下:ERROR:functioninstr(text,unknown,integer,bigint)doesnotexist环境描述出问题的环境信息OS版本:BCLinuxforEuler21.10(LTS-SP2)DB版本:panweidb3.0.0问题描述程序代码显示functioninstr不存......
  • 【磐维数据库】3.0运行"show events;"命令,引发集群主节点CoreDump
    一、环境介绍数据库PanWeiDBV2.0-S3.0.0_B01架构Intel+x86_64操作系统BCLinux-for-Euler-21.10内核4.19.90-2107.6.0.0192.8.oe1.bclinux.x86_64二、故障场景1、客户环境可以稳定复现gsql-rshowevents;\cbomcdb;--------业务库名称sh......
  • 【故障公告】数据库服务器 CPU 100% 造成全站故障
    非常抱歉,今天下午16:03~16:33期间,我们使用的阿里云RDS实例(SQLServer2016标准版,16核32G)出现CPU100%问题,造成全站无法正常访问,由此给您带来很大的麻烦,请您谅解。发现故障后,我们通过阿里云RDS控制台进行了主备切换,由于CPU被占太满,主备切换失败,然后尝试重启实例,重启后......
  • 网站数据库密码怎么修改?
    1.登录数据库管理工具使用当前的数据库管理员账号和密码登录到数据库管理工具,如MySQL的phpMyAdmin、SQLServerManagementStudio(SSMS)或PostgreSQL的pgAdmin。2.选择目标数据库在数据库管理工具中,选择需要修改密码的数据库。3.执行SQL语句根据不同的数......
  • Springboot车辆充电桩管理系统的设计与实现mv56d(程序+源码+数据库+调试部署+开发环境)
    系统程序文件列表项目功能:用户,员工,电桩类别,充电桩,报修信息,报修处理开题报告内容Springboot车辆充电桩管理系统的设计与实现开题报告一、研究背景与意义随着电动汽车的快速发展和普及,充电桩作为电动汽车的重要配套设施,其数量和管理效率直接影响到电动汽车的推广和使......
  • Springboot车辆充电桩3l3fa(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
    系统程序文件列表项目功能:用户,电桩类别,充电桩,充电桩报修,维修员,维修回复开题报告内容Springboot车辆充电桩管理系统开题报告一、研究背景随着电动汽车的普及和推广,充电桩作为电动汽车的主要充电设备,在城市中得到了广泛的应用。然而,目前存在着充电桩数量不足、充电速......
  • 【磐维数据库】Oracle(透明网关)访问磐维数据库(PanWeiDB)
    磐维数据库(PanWeiDB)是由中国移动基于中国本土开源数据库openGauss打造的自研数据库产品,主要面向ICT基础设施。它具有高性能、高可靠性、高安全性和高兼容性的特点,能够支持集中式、分布式、云原生、一体机等多种应用场景。目前,磐维数据库已在中国移动的多个省(区、市)公司及专业公司......
  • 空间数据库基础理论 GIS空间数据处理分析涉及的基本概念
    空间数据库基础理论GIS空间数据处理分析涉及的基本概念周陆军​腾讯科技(深圳)有限公司前端开发​关注他 63人赞同了该文章《空间数据库》课程整理汇总,106篇课程,内容太长,学习中,把一些关键点,汇总记下笔记地理空间GIS中的地理空间(Geo-spatial)是指......
  • 使用 postgres 创建用户 创建数据库
    创建用户打开终端。以postgres用户身份登录到PostgreSQL命令行:shsudo-upostgrespsql在PostgreSQL命令行中,创建一个新用户。例如,创建一个名为newuser的用户,并设置密码:sqlCREATEUSERnewuserWITHPASSWORD'password';你还可以为用户分配额外的属性,例......