返回首页

gbase数据、南大通用产品文档:GBase8cresilience_memory_reject_percent

更新日期:2024年09月11日

参数说明:用于控制内存过载逃生的动态内存占用百分比。该参数仅在GUC 参数
use_workload_manager 和enable_memory_limit 打开时生效。
该参数属于SIGHUP 类型参数,
请参考表15-1 中对应设置方法进行设置。
取值范围:字符串,长度大于0
该参数分为recover_memory_percent,、overload_memory_percent 2 部分,这2 个部分的
具体含义如下:
recover_memory_percent:内存从过载状态恢复正常状态的动态内存使用占最大动态内
存的百分比,
当动态内存使用小于最大动态内存乘以该值对应的百分比后,
停止过载逃生并
放开新连接接入,取值为0~100,设置为多少表示百分之多少。
overload_memory_percent:内存过载时动态内存使用占最大动态内存的百分比,当动态
内存使用大于最大动态内存乘以该值对应的百分比后,
表示当前内存已经过载,
触发过载逃
生kill 会话并禁止新连接接入,取值为0~100,设置为多少表示百分之多少。
默认值:'0,0',表示关闭内存过载逃生功能。
示例:
resilience_memory_reject_percent = '70,90'
表示内存使用超过最大内存上限的90%后禁止新连接接入并kill 堆积的会话,kill 会话
过程中内存恢复到最大内存的70%以下时停止kill 会话并允许新连接接入。
须知:

最大动态内存和已使用的动态内存可以通过gs_total_memory_detail 视图查询获得,
最大动态内存:
max_dynamic_memory,
已使用的动态内存:
dynamic_used_memory。

该参数如果设置的百分比过小,
则会频繁触发内存过载逃生流程,
会使正在执行的
会话被强制退出,新连接短时间接入失败,需要根据实际内存使用情况慎重设置。

下列语句修改数据:

DELETE

INSERT

MERGE

UPDATE
当与更高级的 SELECT 语句相比时,虽然这些 SQL 语句相对简单,但由于它们更改数据
库的内容,因此请小心使用它们。
如果在查询期间系统硬件或软件出现故障,请考虑会发生什么。即使对应用程序的影响是
严重的,也不会破坏数据库自身。然而,如果正在进行修改时系统发生故障,则数据库的
状态就不确定了。显然,处于不确定状态的数据库具有深远的影响。在数据库中删除、插
入或更新行之前,请询问自己下列问题:

用户对数据库及其表的访问是否安全。即,是否将有限的数据库和表级别权限授予
特定用户?

修改了的数据是否保持数据库现有的完整性?

系统的状况是否使其对可能导致系统或硬件故障的外部事件具有相对较强的免疫
力?
如果对这些问题不能都回答
“是”

也不用担心。
对所有这些问题的解决方案都内建在 GBase
8s 数据库服务器内。
在对修改数据的语句进行描述之后,
这部分讨论这些解决方案。
GBase
8s 数据库设计和实现指南 更详细地讨论这些主题。

当 CREATE TRIGGER 语句将指定表上的任何查询定义为其触发事件(
SELECT ON table

SELECT ON column-list ON table
)时,生成的触发对象是指定表的 Select 触发器。同一触发器还可以被包含将此表作为其
基本表的触发列的视图上的查询激活。
但是,
SELECT 语句不能是视图上 INSTEAD OF 触
发器的触发事件。
如果 CREATE TRIGGER 语句在嵌入 Select 触发事件的定义中也包含列列表,并且指定
表上后续查询的投影列表不包含任何指定的列,
那么该查询不能是此 Select 触发器的触发
事件。
警告:
Select 触发器不建议用于审计。不要出于执行应用程序指定审计的目的而在表或其列的子
集上尝试创建 Select 触发器。一般情况下,通过创建 Select 触发器来跟踪表上的 Select
动作的数量,以在每次用户查询某个表时将审计记录插入到审计表中是不可能的。
例如,
假设您在表 AuditedTable 上定义了 Select 触发器,
且对 AuditedTable 持有 Select 特
权的用户发出了以下查询:
SELECT a.* FROM (SELECT * FROM AuditedTable) AS a;
数据库服务器不发出错误,
但是 AuditedTable 上的 SELECT 触发器不会被此查询激活。

含集合运算符(例如 UNION 或 INTERSECT)的查询,或者其它 Select 触发器不支持的
语法,将会被基于 Select 触发器的审计记录策略无视。

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 339 -

因为执行 Select 触发器的大量的限制(部分在本章中列出),生成的 Select 触发操作通
常仅对应于试图枚举的任何逻辑 Select 事件的子集(它可能为空)。