SQL防火墙系统函数
gs_create_sql_limit(limit_name, limit_type, work_node, max_concurrency, start_time, end_time, limit_opt, databases, users)
描述:新增SQL防火墙规则。
返回值类型:int8
表 1 gs_create_sql_limit参数说明
参数类型 | 参数名 | 类型 | 描述 |
---|
输入参数 | limit_name | name | 规则名称 |
输入参数 | limit_type | text | 规则类型。支持sqlid、select、update、insert、delete。 |
输入参数 | work_node | int1 | 规则生效节点。0表示生效主/备节点;1表示生效主节点;2表示生效备节点。其他值表示生效备节点。 |
输入参数 | max_concurrency | int8 | 规则最大并发数。-1表示规则不启用;>=0表示限制并发数。 |
输入参数 | start_time | timestampTz | 规则生效起始时间。NULL表示不限制。 |
输入参数 | end_time | timestampTz | 规则生效结束时间。NULL表示不限制。 |
输入参数 | limit_opt | text[] | 规则详细信息。sqlid类型,填写'{722996022}',表示限制unique_sql_id为722996022的SQL语句。select、update、insert、delete类型,填写'{select,from,t1}',表示限制执行的SQL语句为select * from t1。 |
输入参数 | databases | name[] | 规则生效数据库列表。可以为NULL,表示所有数据库生效。 |
输入参数 | users | name[] | 规则生效用户列表。可以为NULL,表示所有用户生效。系统用户不受规则限制。 |
gs_update_sql_limit(limit_id, limit_name, work_node, max_concurrency, start_time, end_time, limit_opt, databases, users)
描述:更新SQL防火墙规则。
返回值类型:boolean
表 2 gs_update_sql_limit参数说明
参数类型 | 参数名 | 类型 | 描述 |
---|
输入参数 | limit_id | int8 | 规则id。通过gs_sql_limit系统表查询或者gs_select_sql_limit()函数获取。 |
输入参数 | limit_name | name | 规则名称。 |
输入参数 | work_node | int1 | 规则生效节点。0表示生效主/备节点;1表示生效主节点;2表示生效备节点。其他值表示生效备节点。 |
输入参数 | max_concurrency | int8 | 规则最大并发数。-1表示规则不启用;>=0表示限制并发数。 |
输入参数 | start_time | timestampTz | 规则生效起始时间。NULL表示不限制。 |
输入参数 | end_time | timestampTz | 规则生效结束时间。NULL表示不限制。 |
输入参数 | limit_opt | text[] | 规则详细信息。sqlid类型,填写'{722996022}',表示限制unique_sql_id为722996022的SQL语句。select、update、insert、delete类型,填写'{select,from,t1}',表示限制执行的SQL语句为select * from t1。 |
输入参数 | databases | name[] | 规则生效数据库列表。可以为NULL,表示所有数据库生效。 |
输入参数 | users | name[] | 规则生效用户列表。可以为NULL,表示所有用户生效。系统用户不受规则限制。 |
gs_select_sql_limit(limit_id)
描述:查询指定limit_id的规则。
返回值类型:boolean
表 3 gs_select_sql_limit参数说明
参数类型 | 参数名 | 类型 | 描述 |
---|
输入参数 | limit_id | int8 | 规则id。 |
输出参数 | limit_id | int8 | 规则id。 |
输出参数 | is_valid | boolean | 规则是否生效。 |
输出参数 | work_node | int1 | 规则生效节点。 |
输出参数 | max_concurrency | int8 | 规则最大并发数。 |
输出参数 | hit_count | int8 | 规则被命中的次数。 |
输出参数 | reject_count | int8 | 拦截SQL的次数。 |
gs_select_sql_limit()
描述:查询所有的规则。
返回值类型:boolean
表 4 gs_select_sql_limit参数说明
参数类型 | 参数名 | 类型 | 描述 |
---|
输出参数 | limit_id | int8 | 规则id。 |
输出参数 | is_valid | boolean | 规则是否生效。 |
输出参数 | work_node | int1 | 规则生效节点。 |
输出参数 | max_concurrency | int8 | 规则最大并发数。 |
输出参数 | hit_count | int8 | 规则被命中的次数。 |
输出参数 | reject_count | int8 | 拦截SQL的次数。 |
gs_delete_sql_limit(limit_id)
描述:删除指定id的规则。
返回值类型:boolean
表 5 gs_delete_sql_limit参数说明
参数类型 | 参数名 | 类型 | 描述 |
---|
输入参数 | limit_id | int8 | 规则id。 |
openGauss 2025-06-23 22:42:40