华为云用户手册

  • 方案概述 通过API调用启动迁移任务/迁移任务组后,由于网络波动或其他原因导致迁移任务失败,需要重新启动迁移任务/迁移任务组,可以通过以下方式重新启动: 手动调用API重新启动迁移任务/迁移任务组。 在业务代码中自动检测并调用API重新启动迁移任务/迁移任务组。 使用 函数工作流 自动检查并重启失败的迁移任务。 本方案指导用户使用函数工作流检查指定任务id的迁移任务,若该任务迁移失败则自动重启。 该方案只提供参考,需要根据实际情况做出调整,函数工作流的使用方式请参见函数工作流 FunctionGraph。 图1 逻辑架构图 启动 OMS 迁移任务之后,触发函数工作流循环检查该迁移任务的执行状态,当迁移任务状态为失败时: 如果该迁移任务为单个迁移任务,函数工作流调用OMS的API重启该迁移任务。 如果该迁移任务为迁移任务组中的任务,函数工作流调用OMS的API检查迁移任务组的状态,直至迁移任务组的状态为失败,重新启动迁移任务。 当迁移成功或重试次数超过指定次数,则停止检查。
  • 步骤四:配置事件源 函数创建完成后,为函数添加事件源,可以通过添加定时触发器定时检查指定任务的迁移状态并重启。 进入check_retry_task函数详情页,在设置页签,选择“触发器”。 单击“创建触发器”,弹出“创建触发器”界面。 设置以下信息: 触发器类型:选择“定时触发器 (TIMER)”。 定时器名称:您自定义的定时器名称,例如:Timer。 触发规则:固定频率和Cron表达式。 固定频率:固定时间间隔触发函数,该类型下支持配置单位为分、时、天,每种类型仅支持整数配置,其中分钟支持范围(0,60],小时支持范围(0,24],天支持范围(0,30]。 Cron表达式:设置更为复杂的函数执行计划,例如:周一到周五上午08:30:00执行函数等,具体请参见函数定时触发器Cron表达式规则。 是否开启:可选择是否开启定时触发器。 附加信息:如果用户配置了触发事件,会将该事件填写到TIMER事件源的“user_event”字段,详情请参见支持的事件源。 配置完成后,单击“确定”,完成触发器创建。
  • 参数说明 Jedis连接就是连接池中JedisPool管理的资源,JedisPool保证资源在一个可控范围内,并且保障线程安全。使用合理的GenericObjectPoolConfig配置能够提升Redis的服务性能,降低资源开销。下将对一些重要参数进行说明,并提供设置建议。 表1 Jedis常用参数配置说明 Jedis参数 参数说明 默认值 建议值 maxTotal 当前资源池可并发的最大连接数,单位:个。 Redis连接数要根据具体的业务量进行设置,连接数太大浪费资源,过小无法获取连接,影响业务。 8 客户端节点数*maxTotal不能超过Redis的最大连接数。 假设一个连接的QPS大约是1s/1ms = 1000,而业务期望的单个Redis的QPS是50000,那么理论上需要的资源池大小(即MaxTotal)是50000 / 1000 = 50。 maxIdle 资源池中最大的空闲连接数,单位:个。 达到后资源池会开始回收空闲连接,直到空闲连接数达到minIdle个数。主要避免空连接占用,资源浪费。 8 maxIdle实际上才是业务需要的最大连接数,maxTotal 是为了给出余量,所以maxIdle不要设置得过小,否则会有new Jedis(新连接)开销。 minIdle 资源池中保持最小的空闲可用连接数,单位:个 这部分连接数不会被回收,可防止流量增量时,连接创建不及时。 0 10~20 maxWaitMillis 资源池连接用尽后,调用者的最大等待时间,单位:毫秒。 -1 建议设置一个合理的超时时间,避免出现当连接池用尽后,应用阻塞不响应的情况。 testWhileIdle 是否在空闲资源监测时通过PING命令监测连接有效性,无效连接将被销毁。 false true testOnBorrow 每次向资源池获取连接时是否做连接有效性检测(发送PING请求),无效连接会被释放。 false 建议使用默认值。设为true相当于在每个命令执行完前先发一个PING命令,对高并发请求应用的性能有影响。对于业务可用性要求比较高的场景,可以设为true,可以保证连接有效的。 testOnReturn 每次向连接池归还连接时是否做连接有效性检测(发送PING请求),无效连接会被释放。 false 建议使用默认值。设为true相当于在每个命令执行完后再发一个PING命令,对高并发请求应用的性能有影响。 timeout Jedis的socket timeout值,单位:毫秒。 2000 200~1000
  • 名词解释 基本概念、云服务简介、专有名词解释 弹性云服务器 E CS :是一种可随时自助获取、可弹性伸缩的云服务器,可帮助您打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率。 弹性公网IP EIP:提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。可以与弹性云服务器、裸金属服务器、虚拟VIP、弹性负载均衡、NAT网关等资源灵活地绑定及解绑。 虚拟私有云 VPC:是用户在云上申请的隔离的、私密的虚拟网络环境。用户可以自由配置VPC内的IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性IP搭建业务系统。
    AI
  • 语音文本校对标注(可选) 在GPT-SoVITS WebUI页面,输入ASR工具处理好的list文件的路径(注意不是文件夹路径,需要带上文件名),勾选“Open labelling WebUI”,待页面出现“proofreading tool webui is opened”,打开新的窗口输入http://EIP:9871。 图18 开启Gradio WebUI 在新打开的页面,对照语音和文本。根据需要,调整文本,例如标点符号和停顿位置一致和错别字。修改完成后单击“Submit Text”提交修改。 图19 文本校对
    AI
  • 训练集格式化(必选) 在GPT-SoVITS WebUI页面,单击“1-GPT-SOVITS- TTS ”,对模型进行训练。 图20 GPT-SOVITS-TTS界面 输入模型名字(model name)、list文件所在路径(Text labelling file)以及切割后的音频文件所在目录(Audio dataset folder)。 图21 模型参数填写 向下滚动页面,单击一键三连“Start one-click formatting”,开始对模型进行初步训练。 图22 一键三连 训练完成后,页面显示如下。 图23 一键三连完成
    AI
  • 推理(必选) 在“1-GPT-SOVITS-TTS”页面,单击“1C-inference”,准备开始推理。 图29 推理 单击“refreshing model paths”,刷新模型路径,即可选择上面训练好的模型。 图30 刷新模型路径 选择任一模型,勾选“Open TTS inference WEBUI”,待页面出现“TTS inference process is opened”则开启成功。 图31 开启TTS推理页面WebUI 打开新的窗口输入http://EIP:9872,其中IP为服务器公网IP,进入TTS推理页面WebUI。 图32 推理页面 上传一段3-10秒长的同一目人物参考音频文件。建议是数据集中的音频,推荐5秒时长,填写参考音频的文本。输入需要转语音的文本,单击“Start inference”开始进行 语音合成 。 图33 语音合成参数配置 语音生成完成后,如下所示。 图34 文本生成语音
    AI
  • 微调训练(必选) 在“1-GPT-SOVITS-TTS”页面,单击“1B-Fine-tuned training”,对模型进行微调。 图24 微调训练 保持默认参数,单击“Start SoVITS training”,进行SoVITS模型训练(如果有报错,减小Batch size per GPU数值)。 图25 SoVITS模型训练 SoVITS模型训练完成后,页面显示如下。 图26 SoVITS模型训练完成 向下滚动页面,保持默认参数,单击“Start GPT training”,进行GPT模型训练(如果有报错,减小Batch size per GPU数值)。 图27 GPT模型训练 GPT模型训练完成后,页面显示如下。 图28 GPT模型训练完成
    AI
  • 语音切分(必选) 上传纯人声音频文件到服务器,在GPT-SoVITS WebUI页面,输入纯人声音频文件或处理后的纯人声音频文件所在目录,单击“Start audio slicer”,进行音频切割。 图12 语音切割 页面出现“切割结束”,即代表语音文件切割完成。默认文件路径/home/project/GPT-SoVITS/output/slicer_opt/。 图13 语音切割完成 登录服务器,查看切分后的音频文件。 图14 语音片段文件
    AI
  • 中文批量离线ASR工具(必选) 以中文音频为例,在GPT-SoVITS WebUI页面,输入切割好的音频文件所在目录,单击“Start bach ASR”,进行 语音转文字 。 图15 中文音频ASR处理 页面出现“ASR任务完成,查看终端进行下一步”,即代表语音转文字文本文件生成成功。默认文件路径/home/project/GPT-SoVITS/output/asr_opt。 图16 ASR处理完成 登录服务器,查看文本文件.list,给文件重新修改一个名字(支持字母、数字、下划线),并保存。 图17 list文件
    AI
  • 安全组规则修改(可选) 安全组实际是网络流量访问策略,包括网络流量入方向规则和出方向规则,通过这些规则为安全组内具有相同保护需求并且相互信任的云服务器、云容器、云数据库等实例提供安全保护。 如果您的实例关联的安全组策略无法满足使用需求,比如需要添加、修改、删除某个TCP端口,请参考以下内容进行修改。 添加安全组规则:根据业务使用需求需要开放某个TCP端口,请参考添加安全组规则添加入方向规则,打开指定的TCP端口。 修改安全组规则:安全组规则设置不当会造成严重的安全隐患。您可以参考修改安全组规则,来修改安全组中不合理的规则,保证云服务器等实例的网络安全。 删除安全组规则:当安全组规则入方向、出方向源地址/目的地址有变化时,或者不需要开放某个端口时,您可以参考删除安全组规则进行安全组规则删除。
    AI
  • 快速部署 本章节主要帮助用户快速部署该解决方案。 表1 参数填写说明 参数名称 类型 是否必填 参数解释 默认值 vpc_name String 必填 虚拟私有云名称,该模板使用新建VPC,不允许重名。取值范围:1-64个字符,支持中文、英文字母、数字、_(下划线)、-(中划线)、.(点)。 GPT-SoVITS-demo security_group_name String 必填 安全组名称,该模板新建安全组,安全组规则请参考安全组规则修改(可选)进行修改。取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点)。 GPT-SoVITS-demo eip_bandwidth_size Number 必填 弹性公网IP EIP带宽大小,该模板计费方式为按流量计费。取值范围:1-300Mbit/s。 300 ecs_name String 必填 弹性云服务器 ECS名称,不支持重名。取值范围:1-64个字符,支持中文、英文字母、数字、_(下划线)、-(中划线)、.(点)。 GPT-SoVITS-demo ecs_flavor String 必填 弹性云服务器规格,需选取GPU加速型,请参考弹性云服务器规格清单。(使用前请到华为云服务器控制台查询,需选择Ubuntu 18.04 server 64bit with Tesla Driver 460.73.01 and CUDA 11.2镜像支持的规格,不然会导致方案创建失败。) p2v.2xlarge.8(8vCPUs|64GiB|T4-16GiB) ecs_password String 必填 弹性云服务器初始化密码。取值范围:长度为8-26个字符,密码至少包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{()}]:,./?~#*)中的三种,管理员账户默认root。 空 charging_mode String 必填 计费模式,默认自动扣费。可选值为:postPaid(按需计费)、prePaid(包年包月)。 postPaid charging_unit String 必填 订购周期类型。仅当charging_mode为prePaid(包年/包月)生效,此时该参数为必填参数。可选值为:month(月),year(年)。 month charging_period Number 必填 订购周期,仅当charging_mode为prePaid(包年/包月)生效,此时该参数为必填参数。当charging_unit=month(周期类型为月)时,取值范围:1-9;当charging_unit=year(周期类型为年)时,取值范围:1-3。 1 登录华为云解决方案实践,选择“基于GPT-SoVITS快速实现语音克隆”并单击,跳转至该解决方案一键部署界面。 图1 解决方案实施库 单击“一键部署”,跳转至该解决方案创建资源栈部署界面。 图2 创建资源栈 单击“下一步”,参考表1完成自定义参数填写。 图3 参数配置 (可选)在资源设置界面中,“权限委托”下拉框中选择“rf_admin_trust”委托,单击“下一步”。 图4 资源栈设置 在配置确认界面中,单击“创建执行计划”。 图5 创建执行计划 在弹出的创建执行计划框中,自定义填写执行计划名称,单击“确定”。 图6 创建执行计划 单击“部署”,弹出执行计划提示信息,单击“执行”确认执行。 图7 执行计划确认 图8 确认执行 等待解决方案自动部署。部署成功后,单击“事件”,回显结果如下: 图9 资源创建成功 在“输出”中查看WebUI访问说明。堆栈部署成功后,GPT-SoVITS环境搭建脚本开始执行,耐心等待20分钟左右(受网络波动影响)。 图10 输出 父主题: 实施步骤
    AI
  • 创建rf_admin_trust委托(可选) 进入华为云官网,打开控制台管理界面,鼠标移动至个人账号处,打开“ 统一身份认证 ”菜单。 图1 控制台管理界面 图2 统一身份认证菜单 进入“委托”菜单,搜索“rf_admin_trust”委托。 图3 委托列表 如果委托存在,则不用执行接下来的创建委托的步骤 如果委托不存在时执行接下来的步骤创建委托 单击步骤2界面中的“创建委托”按钮,在委托名称中输入“rf_admin_trust”,委托类型选择“云服务”,选择“ RFS ”,单击“下一步”。 图4 创建委托 在搜索框中输入“Tenant Administrator”权限,并勾选搜索结果。 图5 选择策略 选择“所有资源”,并单击下一步完成配置。 图6 设置授权范围 “委托”列表中出现“rf_admin_trust”委托则创建成功。 图7 委托列表
  • 资源和成本规划 该解决方案主要部署如下资源,不同产品的花费仅供参考,具体请参考华为云官网价格,实际以收费账单为准: 表1 资源和成本规划(按需计费) 华为云服务 配置示例 每月预估花费 弹性 云服务器ECS 按需计费:16.49元/小时 区域:华北-北京四 计费模式:按需计费 规格: GPU加速型 P2v | 8核 | 64GB | 加速卡:1 * NVIDIA V100-SMX2 / 1 * 16G 镜像:Ubuntu 18.04 server 64bit with Tesla Driver 460.73.01 and CUDA 11.2 系统盘:高IO | 100GB 购买量:1 11,872.08 元 弹性公网IP EIP 按需计费:0.80元/GB 区域:华北-北京四 计费模式:按需计费 线路:动态BGP 公网带宽:按流量计费 购买数量:1 0.80 元/GB 合计 - 11,872.08 元 + 流量费用 表2 资源和成本规划(包年包月) 华为云服务 配置示例 每月预估花费 弹性云服务器ECS 区域:华北-北京四 计费模式:包月 规格: GPU加速型 P2v | 8核 | 64GB | 加速卡:1 * NVIDIA V100-SMX2 / 1 * 16G 镜像:Ubuntu 18.04 server 64bit with Tesla Driver 460.73.01 and CUDA 11.2 系统盘:高IO | 100GB 购买量:1 7,924.80元 弹性公网IP EIP 按需计费:0.80元/GB 区域:华北-北京四 计费模式:按需计费 线路:动态BGP 公网带宽:按流量计费 购买数量:1 0.80 元/GB 合计 - 7924.80 元 + 流量费用
    AI
  • 修订记录 版本日期 变更说明 2024-03-25 第十九次正式发布。 新增手机内重启章节。 2023-10-27 第十八次正式发布。 新增切换云手机服务器章节。 2023-08-17 第十七次正式发布。 下线 VNC方式(控制台)章节。 下线 VNC方式(客户端)章节。 2023-07-31 第十六次正式发布。 新增后台进程管理、纹理压缩开关章节。 更新购买云手机实例章节中参数实例规格的样例。 2023-07-11 第十五次正式发布。 新增更换弹性公网IP章节。 2023-07-03 第十四次正式发布。 购买云手机实例,网络配置下线系统定义网络配置说明。 购买云手机实例,自定义网络配置新增ipv6选项的指导。 ADB方式(内网)新增ipv4/ipv6双栈的描述。 ADB方式(公网)新增ipv4/ipv6双栈的描述。 2023-06-30 第十三次正式发布。 新增权限配置示例章节。 2023-05-05 第十二次正式发布。 新增支持的事件监控章节。 更新支持的监控指标章节。 2021-09-30 第十一次正式发布。 新增虚拟设备仿真和云手机音视频。 2021-05-11 第十次正式发布。 新增自定义网络配置。 2021-02-25 第九次正式发布。 新增使用AOSP功能。 2021-02-10 第八次正式发布。 购买云手机实例,网络配置新增自定义网络配置说明。 2020-09-30 第七次正式发布。 新增审计章节。 购买云手机服务器,网络配置界面优化,刷新截图。 2020-08-10 第六次正式发布。 购买云手机服务器,高级配置中增加自定义网络功能。 ADB方式(内网),修改创建VPC对等连接的方法。 新增路由配置、监控章节。 2020-06-22 第五次正式发布。 新增更新云手机实例属性章节。 2020-04-30 第四次正式发布。 新增如下章节: 查看云手机实例详情 关闭云手机实例 修改云手机实例名称 重启服务器 退订服务器 续费服务器 2020-03-30 第三次正式发布。 新增一键式ADB连接(推荐)章节。 2020-02-18 第二次正式发布。 全文优化,包括大纲调整、操作步骤优化、补充场景性说明等。 2019-01-31 第一次正式发布。
  • 云手机视频 视频初始化 初始化视频服务,设置视频初始化参数,包括视频格式、编码模式、分辨率、码率等。 启动视频服务 启动视频服务,获取视频数据。 停止视频服务 停止视频服务,停止视频数据的获取。 销毁视频服务 销毁视频服务。 获取视频服务状态 获取视频服务状态,包括初始化、运行中、停止、无效等。 获取当前视频参数 获取视频服务当前参数配置,包括帧率、码率、码控模式、分辨率等。 动态设置视频参数 动态设置视频服务参数配置,包括帧率、码率、分辨率等。
  • 堡垒机 后台对接LTS处理步骤 登录堡垒机后台,执行ICAgent安装命令。 使用如下命令,修改数据库表参数。命令执行完后需要重新输入数据库账户名及密码。 mysql -h127.0.0.1 -uyunanbao -P31036 -p -D yunxiazi3.0 -e "update tb_system_property set property_value = 1 where property_id = 280;" mysql -h127.0.0.1 -uyunanbao -P31036 -p -D yunxiazi3.0 -e "update tb_system_property set property_value = 1 where property_id = 279;" mysql -h127.0.0.1 -uyunanbao -P31036 -p -D yunxiazi3.0 -e "select * from tb_system_property where property_name like '%lts%';" 完成步骤2的配置之后,执行如下命令重启tomcat服务: systemctl restart tomcat 堡垒机后台对接LTS后,在堡垒机web界面不能单击编辑LTS配置,否则该配置将会禁用,需要重新执行步骤1和步骤3重新启用LTS配置。
  • 使用方法 建议使用手机内重启功能时进行流控。并发重启大量手机可能会导致宿主机负载突然飙升,可能会对其他正常运行的手机产生影响。 通过命令行重启 adb shell reboot 约束:只有uid为0,1000或2000的进程有权限执行reboot命令。 系统APP通过PowerManager接口重启 PowerManager powerManager = getSystemService(PowerManager.class); powerManager.reboot("your reason for reboot"); 约束:只有uid为0,1000的进程有权限调用PowerManager接口。 通过注入长按关机键重启 adb shell input keyevent --longpress KEYCODE_POWER 注入长按关机键后,屏幕会弹出重新启动选项,用户单击按钮后手机重启。 例:不同AOSP版本,按钮UI可能不同,请按实际参考。 图1 重新启动 约束:只有uid为0,1000或2000的进程有权限注入长按关机按键。
  • 操作步骤 在AppStage首页右上区域单击“运营中心”快捷入口,进入运营中心工作台。 在左侧导航栏选择“指标模板库”。 从指标模板库查找所需指标模板,单击选中的模板,当前支持的指标模板如表1所示。 如果指标模板库中未找到所需模板,用户可在“指标管理”界面创建符合业务需要的指标。 表1 指标模板 指标模板名称 描述 注册用户数计算模板(注册用户总数/新增用户数) 用于计算网站或应用的注册用户数量,包括总数和新增用户数。 独立访客数(UV)计算模板(总数/日活) 用于计算网站或应用的独立访客数量,包括总数和日活。日活指当天访问网站或应用的独立访客数量。 新增访客数计算模板(日新增/周新增/月新增) 用于计算网站或应用的新增访客数量,可按日、周、月进行统计。新增访客指首次访问网站或应用的用户。 页面浏览量(PV)计算模板(总数/各页面浏览量) 用于计算网站或应用的页面浏览量,包括总数和各页面的浏览量。 用户停留时长计算模板(应用内人均停留时长/页面人均停留时长/重点页面人均停留时长) 用于计算用户在网站或应用上的停留时长,包括应用内人均停留时长、页面人均停留时长和重点页面人均停留时长。 留存率计算模板(留存率/曝光事件转化率) 用于计算用户在网站或应用上的留存率和曝光事件转化率。留存率指用户在一定时间内仍然使用网站或应用的比例,曝光事件转化率指用户在接触网站或应用后转化为注册或付费用户的比例。 在“模板详情”界面,查看指标模板信息,单击“应用”。 在“应用模板”界面,填写基础配置信息,如表2所示。 表2 基础配置 参数 说明 模板指标 预定义的指标。 数据源 数据源在“数据源”界面配置,单击“选择数据源”关联数据源。 请校验数据字段中的映射关系,如果不匹配可能会导致后续的模板应用出现异常或错误。 单击“确定”,完成指标模板应用配置。
  • 问题描述 启动 SMS -Agent时,出现如下提示: Linux系统,提示“SMS.0502: Source server registration failed. Cause: Current quota is not enough, please use MgC.” Windows py2系统,提示“SMS.0502: Source server registration failed. Cause: Current quota is not enough, please use MgC.” Windows py3系统,提示“注册源端失败,错误原因:Current quota is not enough, please use MgC.”
  • 背景信息 在SQL语言中,每个数据都与一个决定其行为和用法的数据类型相关。 GaussDB (DWS)提供一个可扩展的数据类型系统,该系统比其它SQL实现更具通用性和灵活性。因而,GaussDB(DWS)中大多数类型转换是由通用规则来管理的,这种做法允许使用混合类型的表达式。 GaussDB(DWS)扫描/分析器只将词法元素分解成五个基本种类:整数、浮点数、字符串、标识符和关键字。大多数非数字类型首先表现为字符串。SQL语言的定义允许将常量字符串声明为具体的类型。例,下面查询: 1 2 3 4 5 SELECT text 'Origin' AS "label", point '(0,0)' AS "value"; label | value --------+------- Origin | (0,0) (1 row) 示例中有两个文本常量,类型分别为text和point。如果没有为字符串文本声明类型,则该文本首先被定义成一个unknown类型。 在GaussDB(DWS)分析器里,有四种基本的SQL结构需要独立的类型转换规则: 函数调用 多数SQL类型系统是建筑在一套丰富的函数上的。函数调用可以有一个或多个参数。因为SQL允许函数重载,所以不能通过函数名直接找到要调用的函数,分析器必须根据函数提供的参数类型选择正确的函数。 操作符 SQL允许在表达式上使用前缀或后缀(单目)操作符,也允许表达式内部使用双目操作符(两个参数)。像函数一样,操作符也可以被重载,因此操作符的选择也和函数一样取决于参数类型。 值存储 INSERT和UPDATE语句将表达式结果存入表中。语句中的表达式类型必须和目标字段的类型一致或者可以转换为一致。 UNION,CASE和相关构造 因为联合SELECT语句中的所有查询结果必须在一列里显示出来,所以每个SELECT子句中的元素类型必须相互匹配并转换成一个统一类型。类似地,一个CASE构造的结果表达式必须转换成统一的类型,这样整个case表达式会有一个统一的输出类型。同样的要求也存在于ARRAY构造以及GREATEST和LEAST函数中。 系统表PG_CAST存储了有关数据类型之间的转换关系以及如何执行这些转换的信息。 语义分析阶段会决定表达式的返回值类型并选择适当的转换行为。数据类型的基本类型分类,包括:boolean,numeric,string,bitstring,datetime,timespan,geometric和network。每种类型都有一种或多种首选类型用于解决类型选择的问题。根据首选类型和可用的隐含转换,就可能保证有歧义的表达式(那些有多个候选解析方案的)得到有效的方式解决。 所有类型转换规则需遵循以下基本原则: 隐含转换不能有奇怪的或不可预见的输出。 如果一个查询不需要隐含的类型转换,分析器和执行器不应该进行更多的额外操作。即任何一个类型匹配、格式清晰的查询不应该在分析器里耗费更多的时间,也不应该向查询中引入任何不必要的隐含类型转换调用。 如果一个查询在调用某个函数时需要进行隐式转换,当用户定义了一个有正确参数的函数后,解释器应该选择使用新函数。
  • TD兼容模式下,空串转换为数值类型的处理 TD数据库不同于Oracle,Oracle将空串当做NULL进行处理,TD在将空串转换为数值类型的时候,默认将空串转换为0进行处理,因此查询空串会查询到数值为0的数据。同样地,在TD兼容模式下,字符串转换数值的过程中,也会将空串默认转换为相应数值类型的0值进行处理。除此之外,' - '、' + '、' '这些字符串也都会在TD兼容模式下默认转换为0进行处理,但是小数点字符串' . '会报错。例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CREATE TABLE t1(no int,col varchar); INSERT INTO t1 values(1,''); INSERT INTO t1 values(2,null); SELECT * FROM t1 WHERE col is null; no | col ----+----- 2 | (1 row) SELECT * FROM t1 WHERE col=''; no | col ----+----- 1 | (1 row) MySQL兼容模式下对空串转换为数值类型的处理和TD兼容模式相同。
  • 语法格式 1 2 ALTER RESOURCE POOL pool_name WITH ({MEM_PERCENT=pct | CONTROL_GROUP="group_name" | ACTIVE_STATEMENTS=stmt | MAX_DOP = dop | MEMORY_LIMIT='memory_size' | io_limits=io_limits | io_priority='priority' | nodegroup='nodegroup_name' | except_rule='except_rule' }[, ... ]);
  • 参数说明 pool_name 资源池名称。 资源池名称为已创建的资源池。 取值范围:字符串,要符合标识符的命名规范。 group_name 控制组名称。 设置控制组名称时,语法可以使用双引号,也可以使用单引号。 group_name对大小写敏感。 不指定group_name时,默认指定的字符串为 "Medium",代表指定DefaultClass控制组的 "Medium" Timeshare控制组。 若数据库用户指定Timeshare控制组代表的字符串,即"Rush"、"High"、"Medium"或"Low"其中一种,如control_group的字符串为"High";代表资源池指定到DefaultClass控制组下的"High" Timeshare控制组。 取值范围:已创建的控制组。 stmt 资源池语句执行的最大并发数量。 取值范围:数值型,-1~INT_MAX。 dop 保留字段。 取值范围:数值型,1~INT_MAX。 memory_size 资源池最大使用内存。 取值范围:字符串,内容范围1KB~2047GB。 mem_percent 资源池可用内存占全部内存或者组用户内存使用的比例。 普通用户的mem_percent范围为0-100的整数,默认值为0。 io_limits 该参数8.1.2版本中已废弃,为兼容历史版本保留该参数。 io_priority 该参数8.1.2版本中已废弃,为兼容历史版本保留该参数。 except_rule 异常规则集。
  • 参数说明 SESSION 声明的参数只对当前会话起作用。如果SESSION和LOCAL都没出现,则SESSION为缺省值。 如果在事务中执行了此命令,命令的产生影响将在事务回滚之后消失。如果该事务已提交,影响将持续到会话的结束,除非被另外一个SET命令重置参数。 config_parameter 可设置的运行时参数的名称。可用的运行时参数可以使用SHOW ALL命令查看。 部分通过SHOW ALL查看的参数不能通过SET设置。如max_datanodes。 value config_parameter的新值。可以声明为字符串常量、标识符、数字,或者逗号分隔的列表。DEFAULT用于把这些参数设置为它们的缺省值。 TIME ZONE timezone 用于指定当前会话的本地时区。 取值范围:有效的本地时区。该选项对应的运行时参数名称为TimeZone,DEFAULT缺省值为PRC。 CURRENT_SCHEMA CURRENT_SCHEMA用于指定当前的模式。 取值范围:已存在模式名称。 SCHEMA schema 同CURRENT_SCHEMA。此处的schema是个字符串。 例如:set schema 'public'; NAMES encoding_name 用于设置客户端的字符编码。等价于set client_encoding to encoding_name。 取值范围:有效的字符编码。该选项对应的运行时参数名称为client_encoding,默认编码为UTF8。 XML OPTION option 用于设置XML的解析方式。 取值范围:CONTENT(缺省)、DOCUMENT
  • 示例 创建模式ds: 1 CREATE SCHEMA ds; 设置模式搜索路径: 1 SET SEARCH_PATH TO ds, public; 设置日期时间风格为传统的POSTGRES风格(日在月前): 1 SET DATESTYLE TO postgres, dmy; 设置当前会话的字符编码为UTF8: 1 ALTER SESSION SET NAMES 'UTF8'; 设置时区为加州伯克利: 1 SET TIME ZONE 'PST8PDT'; 设置时区为意大利: 1 SET TIME ZONE 'Europe/Rome'; 设置当前模式: 1 ALTER SESSION SET CURRENT_SCHEMA TO tpcds; 设置XML OPTION为DOCUMENT: 1 ALTER SESSION SET XML OPTION DOCUMENT; 创建角色joe,并设置会话的角色为joe: 1 2 CREATE ROLE joe WITH PASSWORD '{password}'; ALTER SESSION SET SESSION AUTHORIZATION joe PASSWORD '{password}'; 切换到默认用户: 1 ALTER SESSION SET SESSION AUTHORIZATION default;
  • 语法格式 设置会话的事务参数。 1 2 ALTER SESSION SET [ SESSION CHARACTERIS TICS AS ] TRANSACTION { ISOLATION LEVEL { READ COMMITTED | READ UNCOMMITTED } | { READ ONLY | READ WRITE } } [, ...] ; 设置会话的其他运行时参数。 1 2 3 4 5 6 7 8 9 10 ALTER SESSION SET {{config_parameter { { TO | = } { value | DEFAULT } | FROM CURRENT }} | CURRENT_SCHEMA [ TO | = ] { schema | DEFAULT } | TIME ZONE time_zone | SCHEMA schema | NAMES encoding_name | ROLE role_name PASSWORD 'password' | SESSION AUTHORIZATION { role_name PASSWORD 'password' | DEFAULT } | XML OPTION { DOCUMENT | CONTENT } } ;
  • pgxc_get_residualfiles() 描述:pg_get_residualfiles()的CN统一查询函数。该函数为集群级函数,与当前所在的数据库无关,在CN实例上运行。 参数类型:无 返回值类型:record 函数返回字段如下: 表2 pgxc_get_residualfiles()返回字段 名称 类型 描述 nodename text 节点名称。 isverified bool 是否已经验证。 isdeleted bool 是否已经被删除。 dbname text 所属数据库名称。 residualfile text 数据文件路径。 filepath text 残留文件记录路径。 notes text 注释。 示例: 1 2 3 4 5 6 7 8 SELECT * FROM pgxc_get_residualfiles(); nodename | isverified | isdeleted | dbname | residualfile | filepath | notes --------------+------------+-----------+----------+-------------------+---------------------------+------- cn_5001 | f | f | postgres | base/15092/32803 | pgrf_20200910170129360401 | dn_6001_6002 | f | f | db2 | base/49155/114691 | pgrf_20200908160211441546 | dn_6001_6002 | f | f | db2 | base/49155/114694 | pgrf_20200908160211441546 | dn_6001_6002 | f | f | db2 | base/49155/114696 | pgrf_20200908160211441546 | (4 rows)
  • pg_get_residualfiles() 描述:用于获取当前节点的所有残留文件记录。该函数为实例级函数,与当前所在的数据库无关,可以在任意实例上运行。 参数类型:无 返回值类型:record 函数返回字段如下: 表1 pg_get_residualfiles()返回字段 名称 类型 描述 isverified bool 是否已经验证。 isdeleted bool 是否已经被删除。 dbname text 所属数据库名称。 residualfile text 数据文件路径。 filepath text 残留文件记录路径。 notes text 注释。 示例: 1 2 3 4 5 6 7 SELECT * FROM pg_get_residualfiles(); isverified | isdeleted | dbname | residualfile | filepath | notes ------------+-----------+--------+-------------------+---------------------------+------- f | f | db2 | base/49155/114691 | pgrf_20200908160211441546 | f | f | db2 | base/49155/114694 | pgrf_20200908160211441546 | f | f | db2 | base/49155/114696 | pgrf_20200908160211441546 | (3 rows)
  • 参数说明 name 待修改的发布的名称。 取值范围:字符串,符合标识符命名规范。 table_name 现有表的名称。 取值范围:字符串,符合标识符命名规范。 schema_name 现有模式的名称。 取值范围:字符串,要符合标识符的命名规范。 SET ( publication_parameter [= value] [, ... ] ) 该子句修改最初由CREATE PUBLICATION设置的发布参数。详细的参数说明请参考CREATE PUBLICATION的参数说明。 new_owner 发布新所有者的用户名称。 new_name 发布的新名称。
共100000条