SQL拦截 如果您需要对敏感SQL进行拦截,避免因高风险操作导致数据库故障,建议您开启SQL拦截功能并添加相关拦截SQL语句。本文介绍关系数据库PostgreSQL版的SQL拦截功能。 注意 仅 前提条件 实例内核版本需要为以下版本或者更新的版本:12.20P3,13.16P3,14.13P3,15.8P4。 实例状态为运行中。 说明 目前一个拦截规则只能作用于指定用户和指定数据库,例如:用户A在数据库C中添加了拦截规则:SELECT id,name FROM sqlrule,若用户B在数据库C进行相同的sql查询,拦截规则不生效;同理,用户A在数据库C1进行相同的sql查询,拦截规则也不生效。用户A在数据库C中进行相同的查询拦截规则会生效。 拦截规则会对查询条件进行参数化,例如:SELECT id,name FROM sqlrule WHERE name 'rule'会被参数化成SELECT id,name FROM sqlrule WHERE name $1,因此,无论查询条件的传值是什么,只要是执行类似这个规则的sql都会被拦截。 拦截统计会一直保留,不会随着拦截规则删除而被删除。 操作步骤 创建拦截规则 登录天翼云官网。 点击控制中心,进入控制中心后,选择目标资源池。 在产品列表页面中找到【数据库】→【关系数据库PostgreSQL版】,点击进入控制台。 在左侧菜单中点击【PostgreSQL】→【实例管理】,点击进入产品实例管理页。 在【实例管理】的实例列表中选择目标实例,点击指定的实例,进入单个实例管理详情页。 在左边的tab页点击【SQL拦截】,进入【SQL拦截】页面。 点击【拦截规则】tab页,然后点击【创建拦截规则】按钮。 在弹出的窗口中,选择“用户”和“需要拦截的sql“,点击【analyze】,对sql进行分析,最后点击确定,拦截规则创建完成。