华为云用户手册

  • 更多操作 应用创建完成后,您可以在应用树中执行表2中的操作。 表2 相关操作 操作 说明 添加节点 将光标移至待操作的应用名称后,单击,根据需要添加节点,具体操作请参见添加节点。 编辑应用 将光标移至待操作的应用名称后,单击,选择“编辑”。 删除应用 将光标移至待操作的应用名称后,单击,选择“删除”。 搜索应用信息 在“应用管理”页面的左侧区域,可以按企业项目、应用、区域、标签、关键字等搜索并展示需要的应用。 查看应用信息 选中一个应用,在右侧区域单击“应用信息”页签。
  • 云审计服务支持的AOM操作列表 AOM为运维人员提供一站式立体运维平台,实时监控应用、资源运行状态,通过数十种指标、告警与日志关联分析,快速锁定问题根源,保障业务顺畅运行。 AOM作为应用运维环境的多层次一站式运维监控平台,可以实现对云主机、 存储、网络、WEB容器、docker、kubernetes等应用运行环境的深入监控并进行集中统一的可视化管理,能够有效预防问题的产生及快速帮助应用运维人员定位故障,降低运维成本。同时,AOM开放统一API,支撑对接自研监控系统或者报表系统。AOM并非传统监控,它通过应用的角度看业务,满足企业对业务的高效和快速迭代的需求,可帮助企业实现 IT 对业务的有效支撑,保护、优化IT资产投资,使企业更好的达到其战略目标并实现IT资产价值的最大化。通过云审计服务,您可以记录与AOM服务相关的操作事件,便于日后的查询、审计和回溯。 资源类型为pe的事件,其实际执行服务为AOM,但操作入口位于云容器引擎(CCE)或应用管理与运维平台(ServiceStage)。 表1 云审计服务支持的AOM操作列表 功能类别 操作名称 资源类型 事件名称 全局配置 添加AccessCode icmgr icmgrAddAccessCode 删除AccessCode icmgr icmgrDelAccessCode 应用资源管理 创建应用 application createApp 更新应用 application updateApp 删除应用 application deleteApp 创建应用(供其他服务调用) application createAomApp 修改应用的EPSID(供EPS服务调用) application updateAppEpsId 新增子应用 sub_application createSubApp 删除子应用 sub_application deleteSubApp 更新子应用 sub_application updateSubApp 创建子应用(供其他服务调用) sub_application createAomSubApp 转移子应用 sub_application transferSubApp 新增组件 component createComponent 转移组件 component transferComponent 更新组件 component updateComponent 删除组件 component deleteComponent 创建组件(供其他服务调用) component createAomComponent 创建环境 environment createEnvironment 修改环境 environment updateEnvironment 删除环境 environment deleteEnvironment 创建环境(供其他服务调用) environment createAomEnv 创建环境标签 tag createTag 更新标签 tag updateTag 删除环境标签 tag deleteTag 更新环境标签 tag updateEnvTag 新增多云账户 cloud_account addCloudAccount 修改多云账户 cloud_account updateCloudAccount 删除多云账户 cloud_account deleteCloudAccount 创建工作负载 workload createWorkload 删除工作负载 workload deleteWorkload 更新工作负载 workload updateWorkload 上报ECS主机信息 ecs aomImportECS 资源监控 创建仪表盘 dashboard updateDashboard 删除仪表盘 dashboard deleteDashboard 更新仪表盘 dashboard updateDashboard 创建仪表盘分组 dashboard_folder addDashboardFolder 更新仪表盘分组 dashboard_folder updateDashboardFolder 删除仪表盘分组 dashboard_folder deleteDashboardFolder 创建/更新告警规则 audit_v4_alarm_rule addOrUpdateAlarm 删除告警规则 audit_v4_alarm_rule delAlarmRule 创建进程发现规则 appDiscoveryRule addAppDiscoveryRule 更新进程发现规则 appDiscoveryRule updateAppDiscoveryRule 删除进程发现规则 appDiscoveryRule delAppDiscoveryRule 创建数据订阅规则 apminventory createSubscribeRule 验证dms连通性 apminventory verifyConnect 删除数据订阅规则 apminventory deleteSubscribeRule 新增告警模板 audit_v4_alarm_rule addAlarmRuleTemplate 修改告警模板 audit_v4_alarm_rule modAlarmRuleTemplate 删除告警模板 audit_v4_alarm_rule delAlarmRuleTemplate 新增分组规则 groupRule addGroupRule 修改分组规则 groupRule updateGroupRule 删除分组规则 groupRule delGroupRule 新增抑制规则 inhibitRule addInhibitRule 修改抑制规则 inhibitRule updateInhibitRule 删除抑制规则 inhibitRule delInhibitRule 新增静默规则 muteRule addMuteRule 修改静默规则 muteRule updateMuteRule 删除静默规则 muteRule delMuteRule 新增告警行动规则 actionRule addActionRule 修改告警行动规则 actionRule updateActionRule 删除告警行动规则 actionRule delActionRule 新增消息模板 notificationTemplate addNotificationTemplate 修改消息模板 notificationTemplate updateTemplate 删除消息模板 notificationTemplate delTemplate 自动化运维 开通自动化运维服务 function functionRegister 更新用户信息 function functionRegister 更新任务定时触发器 workflow operateCronTriggerFlow 创建任务 workflow createWorkflow 更新任务 workflow updateWorkflow 执行任务 execution execute 终止任务 execution terminateWorkflow 删除任务 workflow deleteWorkflow 创建作业执行方案 template createTemplate 发布作业执行方案 template publishTemplate 删除作业执行方案 template deleteTemplate 创建账号 account createAccount 更新账号 account updateAccount 删除账号 account deleteAccount 创建全局参数 param createParams 删除全局参数 param deleteParams 创建文件 package createPack 更新文件 package updateBasicPack 删除文件 package deletePack 创建作业 job createJob 更新作业 job updateJob 删除作业 job deleteJobByJobId 创建审批 approve createApprove 保存审批 approve saveApprove 创建脚本版本 script createScriptAndVersion 更新脚本版本 script updateVersionByVersionId 删除脚本版本 script deleteVersionByVersionId 上线服务场景 serviceScenario onboardToolMarketTenantInfo 收藏服务场景 serviceScenario serviceScenarioFavorites 更新脚本 script updateScript 执行脚本 ecs runScript 父主题: 云审计服务支持的关键操作
  • 更多操作 节点创建完成后,您可以在应用树中执行表2中的操作。 表2 相关操作 操作 说明 添加子节点 将光标移至待操作的节点名称后,单击,添加子节点,具体操作请参见添加节点。 编辑节点 将光标移至待操作的节点名称后,单击,选择“编辑”。 删除节点 将光标移至待操作的节点名称后,单击,选择“删除”。 转移 将光标移至待操作的节点名称后,单击,选择“转移”,在弹出的页面中,选择目标节点,可转移节点。 添加环境 将光标移至待操作的子节点名称后,单击,添加环境,具体操作请参见添加环境。 查看节点信息 选中一个子应用或组件,在右侧区域单击“子应用信息”或“组件信息”页签。
  • SSL证书管理服务中,单域名、多域名、泛域名的区别是什么? SSL证书管理服务支持的“域名类型”有“单域名”、“多域名”和“泛域名”3种类型。 表1 域名类型 参数名称 参数说明 单域名 仅支持绑定1个普通域名。 如果您仅有一个域名,则选择单域名类型。 多域名 可以绑定多个不同的域名,域名可包含多个单域名。如购买多域名类型证书,域名数量为3的场景,可同时支持example.com、example.cn、test.com3个域名。 当“证书类型”为OV、OV Pro时,域名可包含多个单域名和多个带通配符的(*)域名。如购买多域名类型证书,域名数量为3的场景,可同时支持*.example.com、example.cn、test.com3个域名。 有几个域名需要绑定在同一个SSL证书里,则需要选择对应的域名数量。 由于各个证书品牌针对www型域名有不同的惠赠活动,具体的详见如何选择证书品牌,导致多域名证书在绑定www型域名时,有如下限制(以下以域名www.a.com和根域名a.com为例进行说明)。 DigiCert和GeoTrust品牌,为www.a.com或者a.com购买的证书,该证书同时支持防护另一个域名,即如果您购买的是这两个品牌的多域名证书,且同时需要防护www.a.com和a.com,只需要且只能绑定其中一个域名即可。 GlobalSign品牌,为www.a.com购买的证书,该证书同时支持防护a.com这个域名,但是为a.com购买的证书,不支持防护www.a.com域名。即如果您购买的是这个品牌的多域名证书,且同时需要防护www.a.com和a.com,只需要绑定www.a.com域名即可。 域名数量范围为“2~250”,支持最多绑定250个域名。 域名数量须满足以下条件: 主域名数量固定为1个 附加单域名数量≥1个(当证书类型为OV、OV Pro时,附加单域名数量+附加泛域名数量≥1) 须知: GeoTrust品牌的域名数量范围为“5~250”,其中,单域名数量需≥5个。 如果您有多个域名,则选择多域名类型。需要根据域名个数,在购买页面购买对应的域名数量。 泛域名 仅支持绑定1个泛域名。 泛域名一般格式带1个通配符“*”且以“*.”开头,例如, *.huaweicloud.com、 *.example.huaweicloud.com等。 仅支持同级匹配,例如:绑定*.huaweicloud.com通配符域名的数字证书,支持p1.huaweicloud.com,但不支持p2.p1.huaweicloud.com。如果你需要支持p2.p1.huaweicloud.com的通配符域名数字证书,则还需要购买一张*.p1.huaweicloud.com的通配符域名证书。更多级别匹配规则请参见表2。 如果您的域名在同一个级别,且未跨级别,均在一个级别,则选择泛域名类型。 购买泛域名证书,需要注意泛域名证书匹配域名的规则。只能匹配同级别的子域名,不能跨级匹配,具体示例如表2。 表2 泛域名匹配规则示例 域名 匹配的域名 不匹配的域名 *.huaweicloud.com test.huaweicloud.com、yun.huaweicloud.com、example.huaweicloud.com等域名 abc.test.huaweicloud.com、yun.test.huaweicloud.com、example.test.huaweicloud.com等域名 *.test.huaweicloud.com abc.test.huaweicloud.com、yun.test.huaweicloud.com、example.test.huaweicloud.com等域名 abc.huaweicloud.com、yun.huaweicloud.com、example.huaweicloud.com等域名 泛域名的数字证书中,仅根域名包含域名主体本身。泛域名证书只能匹配同级别的子域名,不能跨级匹配。匹配规则具体如下: 如果泛域名证书的主域名为一级域名,云证书管理服务默认赠送主域名。例如:您购买的泛域名证书为*.huaweicloud.com其包含了huaweicloud.com,为您默认赠送huaweicloud.com域名,无需再购买证书绑定huaweicloud.com。 如果泛域名证书的主域名不是一级域名,例如:您购买的泛域名证书为*.p1.huaweicloud.com其不包含p1.huaweicloud.com,则不会赠送p1.huaweicloud.com或huaweicloud.com,只能匹配同级别的域名。如果需要绑定p1.huaweicloud.com或huaweicloud.com,则需要购买证书来进行绑定。 具体的域名中如果填写的是www的三级域名,则包含了主域名本身。例如: www.huaweicloud.com域名绑定的数字证书包含了huaweicloud.com,无需再购买证书绑定huaweicloud.com。 您的数字证书一旦颁发后,将无法修改域名信息等。 具体选择示例如表3所示: 表3 选择域名类型示例 场景示例 域名情况示例 选择域名类型 选择域名数量 您仅有一个域名 示例1:huaweicloud.com 单域名 单域名类型,“域名数量”固定为“1” 示例2:test.huaweicloud.com 单域名 示例3:p1.test.huaweicloud.com 单域名 您有多个域名 示例1:2个域名 huaweicloud.com、p1.huawei.com 多域名 2 示例2:3个域名 huaweicloud.com、p1.huawei.com和p1.test.huaweicloud.cn 多域名 3 示例3:4个域名 huaweicloud.com、test.huaweicloud.cn、p1.test.huaweicloud.cn和p1.test.yun.huaweicloud.com 多域名 4 您有多个域名,且在同一个级别 test.huaweicloud.com、yun.huaweicloud.com、example.huaweicloud.com等,均在一个级别,在*.huaweicloud.com的包含范围内 泛域名 泛域名类型,“域名数量”固定为“1” 父主题: 域名填写类
  • 泛域名证书支持哪些域名? 华为云SSL证书管理服务支持申请泛域名类型的证书,用户可以通过泛域名证书保护服务器的单个域名和该域名下同级别的所有子域名。OV企业型、OV Pro企业型专业版和DV域名型、DV基础版(GeoTrust入门级SSL证书)类型证书支持泛域名。 如果您拥有多个同级别子域名服务器,使用泛域名证书即可,无需为每个子域名单独购买和安装证书。 泛域名的数字证书中,仅根域名包含域名主体本身。泛域名证书只能匹配同级别的子域名,不能跨级匹配。匹配规则具体如下: 如果泛域名证书的主域名为一级域名,云证书管理服务默认赠送主域名。例如:您购买的泛域名证书为*.huaweicloud.com其包含了huaweicloud.com,为您默认赠送huaweicloud.com域名,无需再购买证书绑定huaweicloud.com。 如果泛域名证书的主域名不是一级域名,例如:您购买的泛域名证书为*.p1.huaweicloud.com其不包含p1.huaweicloud.com,则不会赠送p1.huaweicloud.com或huaweicloud.com,只能匹配同级别的域名。如果需要绑定p1.huaweicloud.com或huaweicloud.com,则需要购买证书来进行绑定。 您的数字证书一旦颁发后,将无法修改域名信息等。 购买泛域名证书,需要注意泛域名证书匹配域名的规则。只能匹配同级别的子域名,不能跨级匹配,域名级别说明请参见域名的相关概念。 匹配示例如表1所示。 表1 泛域名匹配规则示例 域名 匹配的域名 不匹配的域名 *.example.com abc.example.com、sport.example.com、good.example.com等域名 mycard.good.example.com、mycalc.good.example.com等域名 *.good.example.com mycard.good.example.com、mycalc.good.example.com等域名 abc.example.com、sport.example.com、good.example.com等域名 父主题: 域名填写类
  • 步骤四:签发证书 DNS验证通过之后,CA机构将还需要一段时间进行处理,请您耐心等待。CA机构审核通过后,将会签发证书。 证书签发后便立即生效,即可部署证书到华为云其他云产品或下载证书并部署到服务器上进行使用。 CA机构针对已提交申请的证书的审核检测频率为: 提交申请后0-1h:15分钟轮询一次,如果配置没有问题,一般情况,10-20分钟签发证书。 提交申请后1-4h:30分钟轮询一次。 提交申请后4h-24h:1小时轮询一次。 提交申请后1-7天:4小时轮询一次。 提交申请后7天以上认定为订单超时,自动取消。此时,请参照为什么“证书状态”长时间停留在审核中?排查并解决问题。
  • 约束条件 测试证书一个帐号最多可以申请20张。同时,为了减少证书资源的浪费,SCM只支持单次申请一张测试证书。 20张的测试证书额度包括:已删除或已吊销证书,即测试证书申请后进行吊销或删除的操作其额度不会恢复。。 同一个帐号不区分主帐号和子帐号。例如,主帐号已使用了20张的额度,则主帐号和子帐号均无测试证书额度。 如果您华为云帐号下的20张测试SSL证书额度已用完,还需继续使用测试证书,可以购买Digicert DV(basic) 单域名扩容包,对测试证书额度进行扩容。详细操作请参见测试证书额度已用完,该如何处理? 一张测试证书仅支持绑定一个单域名。 测试证书不支持保护IP和泛域名(通配符域名)。 测试证书的域名验证默认使用DNS验证。 测试证书的信任等级和安全性都较低,所以建议只用于测试。 由于DigiCert品牌的DV(Basic)免费证书是无偿提供给个人用户用于测试或个人业务,因此不支持任何免费的人工技术支持或安装指导。如果您需要专业的工程师为您提供SSL证书支撑服务,您可以进入云市场购买HTTPS服务配置全站加密SSL优化检测服务。 测试证书签发后,不支持续费和续期,到期之后,将无法继续使用。如需继续使用SSL证书,请在控制台重新创建。
  • 步骤三:DNS验证 DNS验证,是指在域名管理平台通过解析指定的DNS记录,验证域名所有权,即您需要到该域名的管理平台为该域名添加一条DNS记录。例如:如果您购买的是A公司的域名,您需要到A公司的域名管理平台添加DNS记录文件。有关DNS验证方式详细操作请参见域名DNS解析。 如果您是在华为云上申请的域名,且域名已使用华为云云解析服务,则无需进行任何操作,系统将自动添加DNS记录验证。 如果您是在其他域名管理平台(如万网、新网、DNSPod等)管理您的域名,则需要前往域名的DNS解析服务商进行操作。 详细操作请参见DNS验证。 在您提交证书申请后,需要按照证书列表页面的提示完成DNS验证,否则证书将一直处于“待完成域名验证”状态,且您的证书将无法通过审核。 DNS验证通过后,您需要耐心等待CA机构审核。
  • 注意事项 用户监控可以同时监控快慢车道(快车道管控简单作业,慢车道管控复杂作业)所有作业的CPU、IO和内存使用情况,不再受限于仅监控慢车道作业。 当前快车道作业内存和CPU不受控,在快车道运行作业占用资源较多情况下,可能出现已用资源大于资源限制的情况。 DN监控视图中,IO、内存和CPU显示的是本DN上资源池资源使用和资源限制信息。 CN监控视图中,IO、内存和CPU显示的是集群内所有DN资源池资源使用和资源限制的累积和。 DN每隔5s更新一次监控信息,CN每隔5s从DN收集一次用户监控信息,因为各实例单独更新/收集用户监控信息,因此各实例监控信息更新时间可能不一致。 辅助线程中每隔30s自动调用持久化函数,持久化用户监控数据,正常情况下不需要用户单独调用持久化函数持久化用户监控数据。 当用户数量较多,集群规模较大时,查询此类实时视图,因CN/DN间实时通信开销,会有一定的网络延时。 初始管理用户不进行资源监控。
  • 操作步骤 查询所有用户的资源限额和资源实时使用情况。 1 SELECT * FROM PG_TOTAL_USER_RESOURCE_INFO; 得到的结果视图如下: 1 2 3 4 5 6 7 username | used_memory | total_memory | used_cpu | total_cpu | used_space | total_space | used_temp_space | total_temp_space | used_spill_space | total_spill_space | read_kbytes | write_kbytes | read_counts | write_counts | read_speed | write_speed -----------------------+-------------+--------------+----------+-----------+------------+-------------+-----------------+------------------+------------------+-------------------+-------------+--------------+-------------+--------------+------------+------------- perfadm | 0 | 0 | 0 | 0 | 0 | -1 | 0 | -1 | 0 | -1 | 0 | 0 | 0 | 0 | 0 | 0 usern | 0 | 17250 | 0 | 48 | 0 | -1 | 0 | -1 | 0 | -1 | 0 | 0 | 0 | 0 | 0 | 0 userg | 34 | 15525 | 23.53 | 48 | 0 | -1 | 0 | -1 | 814955731 | -1 | 6111952 | 1145864 | 763994 | 143233 | 42678 | 8001 userg1 | 34 | 13972 | 23.53 | 48 | 0 | -1 | 0 | -1 | 814972419 | -1 | 6111952 | 1145864 | 763994 | 143233 | 42710 | 8007 (4 rows) 其中,IO资源监控字段(read_kbytes、write_kbytes、read_counts、write_counts、read_speed和write_speed)需要在GUC参数enable_user_metric_persistent开启时才有监控数据。 所查各字段说明详见PG_TOTAL_USER_RESOURCE_INFO 。 查询具体某个用户的资源限额和资源实时使用情况。 1 SELECT * FROM GS_WLM_USER_RESOURCE_INFO('username'); 查询结果如下: 1 2 3 4 userid | used_memory | total_memory | used_cpu | total_cpu | used_space | total_space | used_temp_space | total_temp_space | used_spill_space | total_spill_space | read_kbytes | write_kbytes | read_counts | write_counts | read_speed | write_speed --------+-------------+--------------+----------+-----------+------------+-------------+-----------------+------------------+------------------+-------------------+-------------+--------------+-------------+--------------+------------+------------- 16407 | 18 | 1655 | 6 | 19 | 13787176 | -1 | 0 | -1 | 0 | -1 | 0 | 0 | 0 | 0 | 0 | 0 (1 row) 查询所有用户的资源限额和资源历史使用情况。 1 SELECT * FROM GS_WLM_USER_RESOURCE_HISTORY; 查询结果如下: 1 2 3 4 5 username | timestamp | used_memory | total_memory | used_cpu | total_cpu | used_space | total_space | used_temp_space | total_temp_space | used_spill_space | total_spill_space | read_kbytes | write_kbytes | read_counts | write_counts | read_speed | write_speed -----------------------+-------------------------------+-------------+--------------+----------+-----------+------------+-------------+-----------------+------------------+------------------+-------------------+-------------+--------------+-------------+--------------+-------------+------------- usern | 2020-01-08 22:56:06.456855+08 | 0 | 17250 | 0 | 48 | 0 | -1 | 0 | -1 | 88349078 | -1 | 45680 | 34 | 5710 | 8 | 320 | 0 userg | 2020-01-08 22:56:06.458659+08 | 0 | 15525 | 33.48 | 48 | 0 | -1 | 0 | -1 | 110169581 | -1 | 17648 | 23 | 2206 | 5 | 123 | 0 userg1 | 2020-01-08 22:56:06.460252+08 | 0 | 13972 | 33.48 | 48 | 0 | -1 | 0 | -1 | 136106277 | -1 | 17648 | 23 | 2206 | 5 | 123 | 0 对于系统表GS_WLM_USER_RESOURCE_HISTORY,仅当GUC参数enable_user_metric_persistent开启时,才会定期将视图PG_TOTAL_USER_RESOURCE_INFO中的数据保存到历史表中。 所查各字段说明详见GS_WLM_USER_RESOURCE_HISTORY。
  • REDACTION_POLICIES REDACTION_POLICIES视图展示当前数据库内所有脱敏对象信息。 表1 REDACTION_POLICIES字段 名称 类型 描述 object_owner name 脱敏对象owner。 object_name name 脱敏对象名称。 policy_name name 脱敏策略名称。 expression text 策略生效表达式(针对用户)。 enable boolean 策略状态(开启、关闭)。 policy_description text 策略描述信息。 inherited bool 说明脱敏策略是否“继承”自其他脱敏策略。 父主题: 系统视图
  • 使用Schema 在特定Schema下创建对象或者访问特定Schema下的对象,需要使用有Schema修饰的对象名。名称包含Schema名以及对象名,之间用“.”号分开。 在myschema下创建mytable表。以schema_name.table_name格式创建表。 1 CREATE TABLE myschema.mytable(id int, name varchar(20)); 查询myschema下mytable表的所有数据。 1 2 3 4 SELECT * FROM myschema.mytable; id | name ----+------ (0 rows)
  • 查看Schema 使用current_schema()函数查看当前Schema: 1 2 3 4 5 SELECT current_schema(); current_schema ---------------- myschema (1 row) 要查看Schema所有者,请对系统表PG_NAMESPACE和PG_USER执行如下关联查询。语句中的schema_name请替换为实际要查找的Schema名称。 1 SELECT s.nspname,u.usename AS nspowner FROM PG_NAMESPACE s, PG_USER u WHERE nspname='schema_name' AND s.nspowner = u.usesysid; 要查看所有Schema的列表,请查询PG_NAMESPACE系统表。 1 SELECT * FROM PG_NAMESPACE; 要查看属于某Schema下表的列表,请查询系统视图PG_TABLES。例如,以下查询会返回Schema PG_CATALOG中的表列表。 1 SELECT distinct(tablename),schemaname FROM PG_TABLES where schemaname = 'pg_catalog';
  • Schema的权限控制 默认情况下,用户只能访问属于自己的Schema中的数据库对象。如需要访问其他Schema的对象,则需赋予对应Schema的usage权限。 通过将模式的CREATE权限授予某用户,被授权用户就可以在此模式中创建对象。 将myschema的usage权限赋给用户jack。 1 GRANT USAGE ON schema myschema TO jack; 将用户jack对于myschema的usage权限收回。 1 REVOKE USAGE ON schema myschema FROM jack;
  • 设置Schema搜索路径 GUC参数search_path设置Schema的搜索顺序,参数取值形式为采用逗号分隔的Schema名称列表。如果创建对象时未指定目标Schema,则该对象会被添加到搜索路径中列出的第一个Schema中。当不同Schema中存在同名的对象时,查询对象未指定Schema的情况下,将从搜索路径中包含该对象的第一个Schema中返回对象。 使用SHOW命令查看当前搜索路径。 1 2 3 4 5 SHOW SEARCH_PATH; search_path ---------------- "$user",public (1 row) search_path参数的默认值为:"$user",public。$user表示与当前会话用户名同名的Schema名,如果这样的模式不存在,$user将被忽略。所以默认情况下,用户连接数据库后,如果数据库下存在同名Schema,则对象会添加到同名Schema下,否则对象被添加到Public Schema下。 使用SET命令修改当前会话的默认Schema。例如,将搜索路径设置为myschema、public,首先搜索myschema。 1 SET SEARCH_PATH TO myschema, public; 也可以使用ALTER ROLE命令为特定的角色(用户)设置search_path。例如: 1 ALTER ROLE jack SET search_path TO myschema, public;
  • 系统Schema 每个数据库都包含一个pg_catalog schema,它包含系统表和所有内置数据类型、函数、操作符。pg_catalog是搜索路径中的一部分,始终在临时表所属的模式后面,并在search_path中所有模式的前面,即具有第二搜索优先级。这样确保可以搜索到数据库内置对象。如果用户需要使用和系统内置对象重名的自定义对象时,可以在操作自定义对象时带上自己的模式。 information_schema由一个包含数据库中对象信息的视图集合组成。 这些视图以一种标准化的方式从系统目录表中得到系统信息。
  • 创建Schema 使用CREATE SCHEMA命令来创建一个新的Schema。 1 CREATE SCHEMA myschema; 如果需要在模式中创建或者访问对象,其完整的对象名称由模式名称和具体的对象名称组成。中间由符号“.”隔开。例如:myschema.table。 用户可以创建一个由他人拥有的schema。例如,创建名为myschema的Schema,并指定Schema的所有者为用户jack。 1 CREATE SCHEMA myschema AUTHORIZATION jack; 若不指定authorization username,则其所有者为执行该命令的用户。
  • 应用示例 查询分区表web_returns_p2的分区信息。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 CREATE TABLE web_returns_p2 ( wr_returned_date_sk integer, wr_returned_time_sk integer, wr_item_sk integer NOT NULL, wr_refunded_customer_sk integer ) WITH (orientation = column) DISTRIBUTE BY HASH (wr_item_sk) PARTITION BY RANGE(wr_returned_date_sk) ( PARTITION p2016 START(20161231) END(20191231) EVERY(10000), PARTITION p0 END(maxvalue) ); SELECT oid FROM pg_class WHERE relname ='web_returns_p2'; oid ------- 97628 SELECT relname,parttype,parentid,boundaries FROM pg_partition WHERE parentid = '97628'; relname | parttype | parentid | boundaries ----------------+----------+----------+------------ web_returns_p2 | r | 97628 | p2016_0 | p | 97628 | {20161231} p2016_1 | p | 97628 | {20171231} p2016_2 | p | 97628 | {20181231} p2016_3 | p | 97628 | {20191231} p0 | p | 97628 | {NULL} (6 rows)
  • PG_REDACTION_POLICY PG_REDACTION_POLICY系统表提供了脱敏对象的信息。 表1 PG_REDACTION_POLICY字段 名称 类型 描述 object_oid oid 脱敏对象OID。 policy_name name 脱敏策略名称。 enable boolean 策略状态(开启、关闭)。 说明: enable的取值: true表示开启。 false表示关闭。 expression pg_node_tree 策略生效表达式(针对用户)。 policy_description text 策略描述信息。 inherited bool 说明脱敏策略是否“继承”自其他脱敏策略。 父主题: 系统表
  • retry_ecode_list 参数说明:指定SQL语句出错自动重试功能支持的错误类型列表。 参数类型:USERSET 取值范围:字符串 默认值:YY001 YY002 YY003 YY004 YY005 YY006 YY007 YY008 YY009 YY010 YY011 YY012 YY013 YY014 YY015 53200 08006 08000 57P01 XX003 XX009 YY016 CG003 CG004 F0011 45003
  • 定时任务管理 创建测试表: 1 CREATE TABLE test(id int, time date); 当结果显示为如下信息,则表示创建成功。 1 CREATE TABLE 创建自定义存储过程: 1 2 3 4 5 6 7 8 9 CREATE OR REPLACE PROCEDURE PRC_JOB_1() AS N_NUM integer :=1; BEGIN FOR I IN 1..1000 LOOP INSERT INTO test VALUES(I,SYSDATE); END LOOP; END; / 当结果显示为如下信息,则表示创建成功。 1 CREATE PROCEDURE 创建任务: 新创建的任务(未指定job_id)表示每隔1分钟执行一次存储过程PRC_JOB_1。 1 2 3 4 5 call dbms_job.submit('call public.prc_job_1(); ', sysdate, 'interval ''1 minute''', :a); job ----- 1 (1 row) 指定job_id创建任务。 1 2 3 4 5 call dbms_job.isubmit(2,'call public.prc_job_1(); ', sysdate, 'interval ''1 minute'''); isubmit --------- (1 row) 通过USER_JOBS视图查看当前用户已创建的任务信息。 需要有系统管理员权限才可以访问此系统视图,字段说明详见表1。 1 2 3 4 5 6 7 8 9 10 select job,dbname,start_date,last_date,this_date,next_date,broken,status,interval,failures,what from user_jobs; job | dbname | start_date | last_date | this_date | next_date | broken | status | interval | failures | what -----+----------+----------------------------+----------------------------+----------------------------+---------------------+--------+--------+---------------------+----------+---------------- ----------- 1 | db_demo | 2022-03-25 07:58:01.829436 | 2022-03-25 07:58:03.174817 | 2022-03-25 07:58:01.829436 | 2022-03-25 07:59:01 | n | s | interval '1 minute' | 0 | call public.prc _job_1(); 2 | db_demo | 2022-03-25 07:58:15.893383 | 2022-03-25 07:58:16.608959 | 2022-03-25 07:58:15.893383 | 2022-03-25 07:59:15 | n | s | interval '1 minute' | 0 | call public.prc _job_1(); (2 rows) 停止任务。 1 2 3 4 5 call dbms_job.broken(1,true); broken -------- (1 row) 启动任务。 1 2 3 4 5 call dbms_job.broken(1,false); broken -------- (1 row) 修改任务属性。 修改JOB的Next_date参数信息。例如,修改Job1的Next_date为1小时以后开始执行。 1 2 3 4 5 call dbms_job.next_date(1, sysdate+1.0/24); next_date ----------- (1 row) 修改JOB的Interval参数信息。例如,修改Job1的Interval为每隔1小时执行一次。 1 2 3 4 5 call dbms_job.interval(1,'sysdate + 1.0/24'); interval ---------- (1 row) 修改JOB的What参数信息。例如,修改Job1的What为执行SQL语句“insert into public.test values(333, sysdate+5);”。 1 2 3 4 5 call dbms_job.what(1,'insert into public.test values(333, sysdate+5);'); what ------ (1 row) 同时修改JOB的Next_date、Interval、What等多个参数信息。 1 2 3 4 5 call dbms_job.change(1, 'call public.prc_job_1();', sysdate, 'interval ''1 minute'''); change -------- (1 row) 删除JOB。 1 2 3 4 5 call dbms_job.remove(1); remove -------- (1 row) JOB的权限控制。 当创建一个JOB时,该JOB会和创建该JOB的数据库和用户绑定(即:pg_job系统视图新增的JOB记录中的dbname和log_user)。 如果当前用户是DBA用户、系统管理员、该JOB的创建用户(即:pg_job中的log_user),那么该用户有权限通过高级包接口remove、change、next_data、what、interval删除或修改JOB的参数信息。否则,会提示当前用户没有权限操作该JOB。 如果当前数据库是该JOB创建所属的数据库(即:为pg_job系统视图中的dbname),那么连接到当前数据库上可以通过高级包接口remove、change、next_data、what、interval删除或修改JOB的参数信息。 当删除JOB所属的数据库(即:为pg_job系统视图中的dbname)时,系统会关联删除该数据库从属的JOB记录。 当删除JOB所属的用户(即:为pg_job系统视图中的log_user)时,系统会关联删除该用户从属的JOB记录。
  • audit_system_object 参数说明:该参数决定是否对GaussDB(DWS)数据库对象的CREATE、DROP、ALTER操作进行审计。GaussDB(DWS)数据库对象包括DATABASE、USER、schema、TABLE等。通过修改该配置参数的值,可以只审计需要的数据库对象的操作。 参数类型:SIGHUP 取值范围:整型,0~4194303 0代表关闭GaussDB(DWS)数据库对象的CREATE、DROP、ALTER操作审计功能。 非0代表只审计GaussDB(DWS)的某类或者某些数据库对象的CREATE、DROP、ALTER操作。 取值说明: 该参数的值由22个二进制位的组合求出,这22个二进制位分别代表GaussDB(DWS)的22类数据库对象。如果对应的二进制位取值为0,表示不审计对应的数据库对象的CREATE、DROP、ALTER操作;取值为1,表示审计对应的数据库对象的CREATE、DROP、ALTER操作。这22个二进制位代表的具体审计内容请参见表1。 默认值:12303 表1 audit_system_object取值含义说明 二进制位 含义 取值说明 第0位 是否审计DATABASE对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作; 1表示审计该对象的CREATE、DROP、ALTER操作。 第1位 是否审计SCHEMA对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作; 1表示审计该对象的CREATE、DROP、ALTER操作。 第2位 是否审计USER对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作; 1表示审计该对象的CREATE、DROP、ALTER操作。 第3位 是否审计TABLE对象的CREATE、DROP、ALTER、TRUNCATE操作。 0表示不审计该对象的CREATE、DROP、ALTER、TRUNCATE操作; 1表示审计该对象的CREATE、DROP、ALTER、TRUNCATE操作。 第4位 是否审计INDEX对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作; 1表示审计该对象的CREATE、DROP、ALTER操作。 第5位 是否审计VIEW对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作; 1表示审计该对象的CREATE、DROP、ALTER操作。 第6位 是否审计TRIGGER对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作; 1表示审计该对象的CREATE、DROP、ALTER操作。 第7位 是否审计PROCEDURE/FUNCTION对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作; 1表示审计该对象的CREATE、DROP、ALTER操作。 第8位 是否审计TABLESPACE对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作; 1表示审计该对象的CREATE、DROP、ALTER操作。 第9位 是否审计RESOURCE POOL对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作; 1表示审计该对象的CREATE、DROP、ALTER操作 第10位 是否审计WORKLOAD对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作; 1表示审计该对象的CREATE、DROP、ALTER操作 第11位 是否审计SERVER FOR HADOOP对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作; 1表示审计该对象的CREATE、DROP、ALTER操作 第12位 是否审计DATA SOURCE对象的CRAETE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作; 1表示审计该对象的CREATE、DROP、ALTER操作。 第13位 是否审计NODE GROUP对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作; 1表示审计该对象的CREATE、DROP、ALTER操作。 第14位 是否审计ROW LEVEL SECURITY对象的CREATE、DROP、ALTER操作。 0表示不审计该对象的CREATE、DROP、ALTER操作; 1表示审计该对象的CREATE、DROP、ALTER操作。 第15位 是否审计TYPE对象的CREATE、DROP、ALTER操作。 0表示不审计TYPE对象的CREATE、DROP、ALTER操作; 1表示审计TYPE对象的CREATE、DROP、ALTER操作。 第16位 是否审计TEXT SEARCH对象(CONFIGURATION和DICTIONARY)的CREATE、DROP、ALTER操作。 0表示不审计TEXT SEARCH对象的CREATE、DROP、ALTER操作; 1表示审计TEXT SEARCH对象的CREATE、DROP、ALTER操作。 第17位 是否审计DIRECTORY对象的CREATE、DROP、ALTER操作。 0表示不审计DIRECTORY对象的CREATE、DROP、ALTER操作; 1表示审计DIRECTORY对象的CREATE、DROP、ALTER操作。 第18位 是否审计SYNONYM对象的CREATE、DROP、ALTER操作。 0表示不审计SYNONYM对象的CREATE、DROP、ALTER操作; 1表示审计SYNONYM对象的CREATE、DROP、ALTER操作。 第19位 是否审计REDACTION POLICY对象的CREATE、DROP、ALTER操作。 0表示不审计REDACTION POLICY对象的CREATE、DROP、ALTER操作; 1表示审计REDACTION POLICY对象的CREATE、DROP、ALTER操作。 第20位 是否审计SEQUENCE对象的CREATE、DROP、ALTER操作。 0表示不审计SEQUENCE对象的CREATE、DROP、ALTER操作; 1表示审计SEQUENCE对象的CREATE、DROP、ALTER操作。 第21位 是否审计NODE对象的CREATE、DROP、ALTER操作。 0表示不审计NODE对象的CREATE、DROP、ALTER操作; 1表示审计NODE对象的CREATE、DROP、ALTER操作。
  • 应用示例 查看pooler连接池信息: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 select database,user_name,node_name,in_use,count(*) from pg_pooler_status group by 1, 2, 3 ,4 order by 5 desc limit 50; database | user_name | node_name | in_use | count ----------+-----------+--------------+--------+------- mydbdemo | user3 | cn_5001 | f | 2 mydbdemo | user3 | dn_6005_6006 | t | 2 mydbdemo | user3 | dn_6001_6002 | t | 2 mydbdemo | user3 | dn_6003_6004 | f | 2 mydbdemo | user3 | dn_6003_6004 | t | 2 mydbdemo | user3 | dn_6005_6006 | f | 2 mydbdemo | user3 | dn_6001_6002 | f | 2 mydbdemo | user3 | cn_5002 | f | 2 gaussdb | user3 | dn_6003_6004 | f | 1 mydbdemo | user3 | cn_5001 | t | 1 music | user2 | dn_6003_6004 | f | 1 music | user2 | dn_6005_6006 | f | 1 gaussdb | user1 | dn_6005_6006 | f | 1 (13 rows)
  • max_prepared_transactions 参数说明:设置可以同时处于“预备”状态的事务的最大数目。增加此参数的值会使GaussDB(DWS)比系统默认设置需要更多的System V共享内存。 当GaussDB(DWS)部署为主备双机时,在备机上此参数的设置必须要高于或等于主机上的,否则无法在备机上进行查询操作。 参数类型:POSTMASTER 取值范围:整型,0~536870911,其中CN取值为0表示关闭预备事务的特性。 默认值:CN节点为800, DN节点为800 为避免在准备步骤失败,此参数的值不能小于max_connections。
  • work_mem 参数说明:设置内部排序操作和Hash表在开始写入临时磁盘文件之前使用的内存大小。ORDER BY,DISTINCT和merge joins都要用到排序操作。Hash表在散列连接、散列为基础的聚集、散列为基础的IN子查询处理中都要用到。 对于复杂的查询,可能会同时并发运行好几个排序或者散列操作,每个都可以使用此参数所声明的内存量,不足时会使用临时文件。同样,好几个正在运行的会话可能会同时进行排序操作。因此使用的总内存可能是work_mem的好几倍。 参数类型:USERSET 取值范围:整型,64~INT_MAX,单位为KB。 默认值:小规格内存为512MB, 大规格内存为2GB(max_process_memory大于等于30GB为大规格内存,否则为小规格内存)。 设置建议: 依据查询特点和并发来确定,一旦work_mem限定的物理内存不够,算子运算数据将写入临时表空间,带来5-10倍的性能下降,查询响应时间从秒级下降到分钟级。 对于串行无并发的复杂查询场景,平均每个查询有5-10关联操作,建议work_mem=50%内存/10。 对于串行无并发的简单查询场景,平均每个查询有2-5个关联操作,建议work_mem=50%内存/5。 对于并发场景,建议work_mem=串行下的work_mem/物理并发数。
  • query_max_mem 参数说明:设置执行作业所能够使用的最大内存。如果设置的query_max_mem值大于0,在生成执行计划时,优化器会根据该值来设置算子的可用内存。当作业执行时实际所使用内存超过该值时,将报错退出。 参数类型:USERSET 取值范围:整型,0,或大于32MB的整型,单位为KB。如果设置值小于32MB,系统会自动将该参数设置为默认值0,此时优化器不会根据该值限制作业的内存使用。 默认值:0
  • max_stack_depth 参数说明:设置GaussDB(DWS)执行堆栈的最大安全深度。需要这个安全界限是因为在服务器里,并非所有程序都检查了堆栈深度,只是在可能递规的过程,比如表达式计算这样的过程里面才进行检查。 参数类型:SUSET 设置原则: 此参数的最佳设置是等于操作系统内核允许的最大值(就是ulimit -s的设置)。 如果设置此参数的值大于实际的内核限制,则一个正在运行的递归函数可能会导致一个独立的服务器进程崩溃。在GaussDB(DWS)能够检测内核限制的操作系统上(SLES上),将自动限制设置为一个不安全的值。 因为并非所有的操作都能够检测,所以建议用户在此设置一个明确的值。 取值范围:整型,100~INT_MAX,单位为KB。 默认值:2MB 默认值2MB,这个值相对比较小,不容易导致系统崩溃。但是可能会因为该值较小,导致无法执行复杂的函数。
  • agg_max_mem 参数说明:设置执行作业中的Agg算子的聚集列超过5列时,该Agg算子所能够使用的最大内存。当agg_max_mem值大于0时生效。(该参数仅8.1.3.200及以上集群版本支持) 参数类型:USERSET 取值范围:整型,0,或大于32MB的整型,单位为KB。如果设置值小于32MB,系统会自动将该参数设置为默认值0,此时不会根据该值限制Agg算子的内存使用。 默认值: 若当前集群为低版本升级到8.1.3版本,继承升级前参数,默认值为INT_MAX。 若当前集群为新装的8.1.3版本,默认值为2GB。
  • psort_work_mem 参数说明:设置列存表在进行局部排序中在开始写入临时磁盘文件之前使用的内存大小。带partial cluster key的表、带索引的表插入,创建表索引,删除表和更新表都会用到。 参数类型:USERSET 多个正在运行的会话可能会同时进行表的局部排序操作,因此使用的总内存可能是psort_work_mem的好几倍。 取值范围:整型,64~INT_MAX,单位为KB。 默认值:512MB
  • shared_buffers 参数说明:设置GaussDB(DWS)使用的共享内存大小。增加此参数的值会使GaussDB(DWS)比系统默认设置需要更多的System V共享内存。 参数类型:POSTMASTER 取值范围:整型,128~INT_MAX,单位为8KB。 改变BLCKSZ的值会改变最小值。 默认值:CN节点为DN节点值的1/2,DN节点取公式计算:POWER(2,ROUND(LOG(max_process_memory*1024/18,2),0))。如果操作系统支持的共享内存小于32MB,则在初始化数据存储区时会自动调整为操作系统支持的最大值。 设置建议: 由于GaussDB(DWS)大部分查询下推,建议DN中此参数设置比CN大。 建议设置shared_buffers值为内存的40%以内。行存列存分开对待。行存设大,列存设小。列存:(单服务器内存/单服务器DN个数)*0.4*0.25。 如果设置较大的shared_buffers需要同时增加checkpoint_segments的值,因为写入大量新增、修改数据需要消耗更多的时间周期。
共100000条