华为云用户手册

  • 产品功能 在使用工业软件SaaS服务中心前,建议您先了解工业软件SaaS服务中心的基本概念,以便更好地理解工业软件SaaS服务中心提供的各项功能。 面向企业管理员,工业软件SaaS服务中心企业管理业务面提供的功能如表1所示。 表1 企业管理业务面 功能名称 功能描述 发布区域 首页 展示License分配情况、协同空间使用量、已购买服务、组织信息、审批事项等,支持快速访问常用入口和工业软件云专区。 华北-北京四 组织成员管理 对组织的部门和成员进行管理,支持添加部门、创建/邀请成员等。 华北-北京四 权限与审批 对企业用户提交的加入组织申请和应用使用申请进行审批。 华北-北京四 应用管理 管理企业已购买的PC端应用和WEB应用。 PC端应用:支持成员授权、自动授权、撤销授权,以及查看订单授权详情、授权操作日志和License激活日志等。 WEB应用:支持跳转WEB应用的管理平台。 华北-北京四 协同数据管理 展示组织内部成员在协同平台的空间使用量情况。 华北-北京四 审计日志 记录组织内部成员增、删、改,以及上传/下载的操作日志。 华北-北京四 面向企业用户,工业软件SaaS服务中心协同平台和ISCDesk客户端提供的功能如表2和表3所示。 表2 协同平台 功能名称 功能描述 发布区域 团队协同空间 空间管理:支持空间的创建、编辑、退出、解散,以及默认空间设置、拥有者变更等。 成员管理:对空间成员及空间角色进行管理。 文件夹管理:支持在空间里创建文件夹,对文件夹进行编辑、重命名和删除操作。 文件管理:支持上传文件到空间,对文件进行检入/检出、下载、修订、变更生命周期状态、重命名、删除操作。 文件版本管理:查看和下载不同版本的文件,编辑文件版本描述等。 查看操作日志:查看空间成员对文件的操作记录,例如:创建文件、检入文件、检出文件等。 华北-北京四 回收站 清理回收站的垃圾文件,释放空间容量。 华北-北京四 表3 ISCDesk客户端 功能名称 功能描述 发布区域 登录页 在试用专区进行工具软件的试用,支持下载、打开、卸载、申请使用等。 在工业软件云专区查看和购买更多的工具软件及工业软件云服务。 华北-北京四 首页 展示当前用户已授权应用、企业已购应用、本地已安装应用、最近访问应用和推荐应用。 客户端应用可一键下载安装、打开、升级和卸载。未授权应用支持申请授权,查看授权详情;已授权应用支持打开应用后快速激活。 WEB应用可创建Windows桌面快捷图标,一键唤起ISCDesk并打开应用。 提供协同空间快捷入口,支持打开协同空间。 支持查看空间动态和 消息通知 。 华北-北京四 设置中心 下载安装设置:包括应用下载、安装和安装包清理方式设置,以及安装包完整性校验方式查看。 其他设置:文件保存到/另存到/打开云端的快捷键设置。 华北-北京四 父主题: 工业软件SaaS服务中心简介
  • 首页介绍 图1 ISCDesk首页 ISCDesk客户端首页包含以下内容: 已授权应用 展示企业管理员给当前用户授权的应用集合,支持一键安装、打开、升级和卸载功能。首次打开客户端应用时,需要确认是否在当前设备激活License,License激活成功后才可以使用该应用。 企业已购应用 展示企业已购买的全部应用集合,支持一键安装、打开、升级和卸载功能。如果用户没有应用的使用权限,可以向管理员申请授权。如果企业已退订应用,将会导致该应用不可用。 本地已安装应用 展示本机已安装的客户端应用集合,包括试用中的应用,支持打开、升级和卸载功能。 快捷入口 提供协同空间快捷入口。协同空间具体操作请参见团队协同空间。 最近访问 展示用户最近通过ISCDesk打开过的应用,最多展示2个。单击某个应用卡片,可以直接打开应用;如果当前本地未安装该应用,单击应用卡片,可以直接下载安装。 空间动态 展示当前用户所归属的工作空间的动态,包括空间管理员或拥有者添加/移除当前用户,修改当前用户空间角色,更新工作空间等动态,以及空间成员新增/更新/检入/检出/撤销检出/修订/删除工作内容,更新生命周期状态等动态。 单击空间成员变更工作内容的动态(除删除动态),可以跳转到协同空间查看对应的工作内容。 超级管理员可以查看企业组织下所有工作空间的动态。 消息通知 展示当前用户的应用授权申请通过或驳回的消息。 推荐应用 提供板级EDA工具链云服务、结构设计工具链云服务和工业仿真云服务等云服务的快速入口。单击“工业软件云专区”,打开云商店工业软件云专区,查看更多工具软件或云服务。 父主题: ISCDesk客户端
  • 更多操作 部门添加成功后,您还可以执行以下操作。 表1 部门管理 操作 操作步骤 编辑部门 选择待修改的部门,单击“操作”列的“编辑部门”。 修改部门信息,单击“更新”。 说明: 组织创建成功后,会默认生成一个一级部门,该一级部门不支持编辑。 添加子部门 单击待添加子部门的部门所在行“操作”列的“添加子部门”。 输入部门名称、设置部门CODE(可选),单击“确认”。 删除部门 单击待删除部门所在行“操作”列的“删除”。 单击“确认”。 说明: 删除部门前,需先删除该部门下所有子部门。 删除部门后,数据无法恢复,请谨慎操作。
  • 操作步骤 下载ISCDesk客户端。 用户被管理员添加/邀请进入组织后,会收到短信消息提醒,通过短信内容可以获取ISCDesk的下载链接。 用户也可以通过工业软件SaaS服务中心官网下载ISCDesk。 以管理员身份安装、运行ISCDesk客户端。 在ISCDesk登录页,输入账号名和密码,单击“登录”,即可进入ISCDesk首页。 图1 ISCDesk登录页 在ISCDesk登录页,输入非管理员账号名和密码,勾选“记住账号和密码”后登录,系统会保存本次登录的账号名和密码,用于下次登录使用;勾选“自动登录”后登录,下次打开ISCDesk时,系统将默认使用上次登录的账号名和密码自动登录ISCDesk。 最多可以保存3个最近使用的账号密码,超出后最久没有被使用的账号将会被覆盖。 登录页往下滑动,可以在“试用专区”免费试用和申请使用工具软件,还可以查看更多的工具软件及云服务的详情。 在ISCDesk客户端使用过程中,如果ISCDesk版本有更新,界面会弹出升级提醒。此时单击“立即更新”,可将ISCDesk升级到最新版本。 单击ISCDesk客户端右上角的,最小化到托盘。
  • 更多操作 在“订单授权详情”页,您还可以进行以下操作。 表1 更多操作说明 操作 说明 成员授权 单击订单“操作”列的“成员授权”,为成员分配该订单的License,操作步骤同成员授权。 复制授权信息 续期订单生成后,系统会根据上期订单初始化License成员信息。您也可以手动复制,将上期订单人员授权信息复制到续期订单。 单击续期订单前面的,展开查看续期订单授权详情。 单击成员列表右上方的“复制”。 查看过期订单 单击“订单授权详情”页面右上方的“历史订单”,可查看历史订单的License总额/已分配/未分配,以及已激活/未激活数量。
  • 操作步骤 登录工业软件SaaS服务中心企业管理业务面。 (可选)选择一个组织,进入企业管理业务面。 单击页面右上角的,打开“消息中心”,默认进入“审批”页签。 单击“前往审批”,可以跳转到“应用申请”页面,处理待审批的任务。 处理待审批任务的具体操作请参见应用申请。 图1 消息中心-审批 切换至“通知”页签,可以查看到“xxx已离开组织,系统已自动回收未激活License数量N”的消息通知。单击“未读”可以将该通知消息标记为已读,已读消息置灰展示。 单击“一键已读”,可以将所有审批消息和通知消息标记为已读,已读消息置灰展示。
  • 场景五:构建VPC间的边界防火墙 图5 构建VPC间的边界防火墙 表5 场景五说明 客户场景 企业客户的业务A部署在VPC1内,业务B部署在VPC2内,出于安全考虑,业务A和业务B互访的流量需要经过防火墙过滤清洗。 客户痛点 希望快速搭建满足安全要求的云上组网。 企业路由器价值 客户在组网中部署 云防火墙 ,通过将VPC和云防火墙关联至企业路由器中不同的路由表,控制VPC1和VPC2互访流量经过防火墙。 最佳实践 通过企业路由器和云防火墙构建组网
  • 场景四:跨区域、跨云高可靠骨干网络 图4 跨区域、跨云高可靠骨干网络 图4中友商云对应的ER、CC、DC、VPC名称仅为示意,实际云服务名称请以友商为准。 表4 场景四说明 客户场景 为了提升业务容灾能力,企业客户业务同时部署在多个公有云上。并且为了业务就近接入,每一个公有云上又横跨多个区域。客户没有自建骨干网,使用公有云的骨干网实现多云多区域网络互通。 比如公司A,其业务涉及多个地区,因此部署在华为云,以及友商云的多个区域内。不同公有云之间通过DC专线链路(不同运营商)互通,同一个公有云不同区域之间通过公有云提供的骨干网(云连接CC的中心网络)互通。 客户痛点 多云多区域的VPC实现互通,需要配置管理大量路由条目,维护成本高。 专线链路和云连接链路无法联动做负载分担或者主备。 企业路由器价值 在客户的跨云组网中,不同公有云通过专线链路连通,同一个公有云内通过云连接中心网络连通不同区域。 企业路由器可以在接入的所有网络实例之间转发流量,精简网络拓扑。同时支持路由学习,网络变化时可以自动收敛,降低维护管理难度。 企业路由器可以实现专线和云连接之间的链路联动,用作负载分担或者主备。VPC在不同云之间转发流量,业务优先走运营商专线链路,专线链路故障后,能够动态切换到备份的云连接链路和其他专线链路。 假如华为云-区域C和友商云-区域C之间的专线链路通信故障,则流量可以先由华为云-区域C经过云连接链路转发至华为云-区域B,再经过专线链路转发至友商云-区域B,最后经过云连接链路抵达友商云-区域C,保障了业务的连续性。 最佳实践 通过企业路由器和云连接中心网络实现跨区域VPC互通 通过企业路由器和云专线实现线下IDC和云上VPC互通
  • 场景三:专线+VPN双链路主备 图3 专线+VPN双链路主备 表3 场景三说明 客户场景 企业客户的业务同时部署在公有云和线下IDC中,云上业务访问IDC使用单专线不满足可靠性要求。 客户痛点 为了控制成本,客户无法采用双专线方案。 企业路由器价值 此处部署了一条专线链路和一条VPN链路,通过企业路由器构建专线+VPN主备双链路的混合云组网,当专线链路故障时,可自动切换到VPN链路,降低网络中断对业务造成的影响。 最佳实践 通过企业路由器构建DC/VPN双链路主备混合云组网
  • 场景一:多个VPC灵活互通和隔离,共享专线 图1 多个VPC灵活互通和隔离,共享专线 表1 场景一说明 客户场景 企业客户业务上云,多个业务网络之间需要互相访问或者隔离,并且业务网络需要和线下IDC互通。比如X企业的业务部署在公有云内,业务A、业务B、业务C相互独立,因此三个业务所在的VPC网络隔离。同时,业务A、业务B、业务C均需要访问VPC4内的公共业务以及线下IDC。 客户痛点 VPC之间的网络互通和隔离,通过VPC对等连接来实现。点对点的连接导致网络拓扑复杂,路由配置繁多,管理难度大。 公共服务VPC和每个业务VPC互通,需要配置大量的对等连接和路由,对服务规格要求高。VPC对等连接的规格不适用大规模组网,具体如下: 一个租户在一个区域最多可以配置50个对等连接数量。 VPC的一个路由表最多支持200条路由。 VPC访问线下IDC,通过云专线DC,需要为每个VPC都需要配置专线,成本高。 企业路由器价值 通过将VPC关联至企业路由器中不同的路由表,灵活实现VPC之间的互通和隔离,网络拓扑简洁,配置简单易管理。 企业路由器可以在所有VPC之间路由流量,无需配置大量对等连接,同时企业路由器支持大规格路由条目,适合企业复杂组网场景,具体如下: 每个企业路由器的路由表最大支持2000条路由。 多个VPC可以共享专线访问线下IDC,免去多条专线配置,降低成本。 最佳实践 通过企业路由器实现同区域VPC隔离
  • 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兼容模式相同。
  • 背景信息 在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。每种类型都有一种或多种首选类型用于解决类型选择的问题。根据首选类型和可用的隐含转换,就可能保证有歧义的表达式(那些有多个候选解析方案的)得到有效的方式解决。 所有类型转换规则需遵循以下基本原则: 隐含转换不能有奇怪的或不可预见的输出。 如果一个查询不需要隐含的类型转换,分析器和执行器不应该进行更多的额外操作。即任何一个类型匹配、格式清晰的查询不应该在分析器里耗费更多的时间,也不应该向查询中引入任何不必要的隐含类型转换调用。 如果一个查询在调用某个函数时需要进行隐式转换,当用户定义了一个有正确参数的函数后,解释器应该选择使用新函数。
  • 语法格式 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 异常规则集。
  • 示例 创建模式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;
  • 参数说明 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
  • 语法格式 设置会话的事务参数。 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 发布的新名称。
  • 示例 向发布中添加表。 ALTER PUBLICATION mypublication ADD TABLE mydata2; 从发布中删除模式。 ALTER PUBLICATION mypublication DROP ALL TABLES IN SCHEMA myschema1; 重新设置发布的发布对象。 ALTER PUBLICATION mypublication SET TABLE mydata2, ALL TABLES IN SCHEMA myschema2; 修改发布的所有者。 ALTER PUBLICATION mypublication OWNER TO user1; 修改发布名称。 ALTER PUBLICATION mypublication RENAME TO mypublication1;
  • 语法格式 向发布中添加一个或多个发布对象。 1 ALTER PUBLICATION name ADD publication_object [, ...] 从发布中删除一个或多个发布对象。 1 ALTER PUBLICATION name DROP publication_object [, ...] 用指定的发布对象替换当前发布对象。 1 ALTER PUBLICATION name SET publication_object [, ...] 设置发布的参数,未提及的参数保留其之前的值。 1 ALTER PUBLICATION name SET ( publication_parameter [= value] [, ... ] ) 更改发布的所有者。 1 ALTER PUBLICATION name OWNER TO new_owner 重命名发布。 1 ALTER PUBLICATION name RENAME TO new_name 其中发布对象publication_object为: TABLE table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ... ]
  • 使用步骤 调用pgxc_get_residualfiles()函数,获取存在残留文件的数据库名称。 分别进入确认有残留文件的数据库,调用pgxc_verify_residualfiles()函数,对当前数据库中记录的残留文件进行验证。 调用pgxc_rm_residualfiles()函数,删除所有已经验证过的残留文件。 pgxc类残留文件管理函数只对CN和当前主DN进行操作,不会验证和清理备DN上的残留文件。所以主DN完成清理后,应在备DN上及时执行残留文件清理操作或对备机进行build,防止主备切换后由于增量build导致备机残留文件被重新复制回主DN,导致未成功清理的假象。
  • 使用示例 以当前两个用户自建的数据库db1、db2为例: 在CN上获取集群的所有残留文件记录: 1 db1=# SELECT * FROM pgxc_get_residualfiles() order by 4, 6; -- order by不是必须的 当前集群中: dn_6001_6002 节点(当前的主节点实例)的db1和db2数据库中都存在残留文件记录。 残留文件在residualfile 列展示。 filepath列为记录残留文件的记录文件,保存在实例数据目录下pg_residualfiles目录中。 调用pgxc_verify_residualfiles() 函数对db1库进行验证: 1 db1=# SELECT * FROM pgxc_verify_residualfiles(); 因为verify类函数都是database级别,所以当前在db1库中调用verify函数时,只对属于db1的残留文件进行验证。 可以再次调用get函数查看是否验证完成: 1 db1=# SELECT * FROM pgxc_get_residualfiles() order by 4, 6; 如上图所示,已确认db1数据库中的残留文件都已经验证,db2数据库中的残留文件都未进行验证。 调用 pgxc_rm_residualfiles()函数删除残留文件。 1 db1=# SELECT * FROM pgxc_rm_residualfiles(); 再次调用pgxc_get_residualfiles()函数检查删除后的结果。 结果显示db1数据库中的残留文件已经被删除(isdeleted标记为t),db2中的残留文件都未被删除。 同时可以看到查询出9条结果,与之前查询出的结果想比,缺少一条以9438结尾的残留文件记录文件。这是因为以9438结尾的残留文件记录文件中只有一条残留文件记录,这条记录在步骤3中被删除,当记录文件中的所有残留文件都被删除后,记录文件本身也会被删除,并备份到pg_residualfiles/backup目录中: 如果需要删除db2数据库中的文件,需要在db2中调用verify函数后再调用rm函数。 进入db2数据库,并调用验证函数: 此时可以查询验证的结果: 调用删除函数: 再查询删除的结果: 此时因为 8342 结尾的记录文件中残留文件已经全部删除,所以整个记录文件也被删除并备份到backup目录下,所以查询到0条记录。
  • 背景 目前在互联网、教育、游戏等行业都有实时精准营销的需求。通过系统生成用户画像,在营销时通过条件组合筛选用户,快速提取目标群体。例如: 在电商行业中,商家在进行营销活动前,需要根据活动的目的,圈选一批满足特定特征的目标用户群体进行广告推送。 在教育行业中,需要根据学生不同的特征,推送有针对性的练习题目,帮助学生查漏补缺。 在搜索、视频、门户网站中,根据用户关注的热点,推送不同的内容。 这些业务场景都有一些共同的特点: 数据量庞大,运算量极大。 用户规模庞大,标签多,字段多,占用存储空间也多。 圈选的特征条件多样化,很难找到固定索引,如果每个字段一个索引,存储空间又会暴增。 性能要求高,因为实时营销要求秒级响应。 数据更新时效要求高,用户画像几乎要求实时更新。 针对上述业务场景特点,GaussDB(DWS)的roaringbitmap可以高效生成、压缩、解析位图数据,支持最常见的位图聚合操作(与、或、非、异或),满足用户在亿级以上、千万级标签的大数据量下实时精准营销、快速圈选用户的需求。
  • 处理查询 GaussDB(DWS)提供了函数和操作符用来操作tsquery类型的查询。 tsquery && tsquery 返回两个给定查询tsquery的与结果。 tsquery || tsquery 返回两个给定查询tsquery的或结果。 !! tsquery 返回给定查询tsquery的非结果。 numnode(query tsquery) returns integer 返回tsquery中的节点数目(词素加操作符),这个函数在检查查询是否有效(返回值大于0),或者只包含停用词(返回值等于0)时,是有用的。例如: 1 2 3 4 5 6 7 8 9 10 11 SELECT numnode(plainto_tsquery('the any')); NOTICE: text-search query contains only stop words or doesn't contain lexemes, ignored CONTEXT: referenced column: numnode numnode --------- 0 SELECT numnode('foo & bar'::tsquery); numnode --------- 3 querytree(query tsquery) returns text 返回可用于索引搜索的tsquery部分,该函数对于检测非索引查询是有用的(例如只包含停用词或否定项)。例如: 1 2 3 4 5 SELECT querytree(to_tsquery('!defined')); querytree ----------- T (1 row) 父主题: 附加功能
  • pg_query_audit() 描述:查看当前CN节点审计日志。 返回值类型:record 函数返回字段如下: 表1 pg_query_audit()函数返回字段 名称 类型 描述 begintime timestamp with time zone 操作的执行开始时间。 endtime timestamp with time zone 操作的执行结束时间。 operation_type text 操作类型,具体类型见表2。 audit_type text 审计类型,具体类型见表3。 result text 操作结果。 username text 执行操作的用户名。 database text 数据库名称。 client_conninfo text 客户端连接信息,即gsql,jdbc或odbc。 object_name text 操作对象名称。 command_text text 操作的执行命令。 detail_info text 执行操作详细信息。 transaction_xid text 事务ID。 query_id text 查询ID。 node_name text 节点名称。 session_id text 会话ID。 local_port text 本地端口。 remote_port text 远端端口。 表2 operation_type操作类型项 操作类型 描述 audit_switch 表示对用户打开和关闭审计日志操作场景进行审计。 login_logout 表示对用户登录和登出操作场景进行审计。 system 表示对系统的启停、实例切换操作场景进行审计。 sql_parse 表示对SQL语句解析场景进行审计。 user_lock 表示对用户锁定和解锁操作的场景进行审计。 grant_revoke 表示对用户权限授予和回收操作场景进行审计。 violation 表示对用户访问存在越权的场景进行审计。 ddl 表示对DDL操作场景进行审计,因为DDL操作会根据操作对象进行更细粒度控制,仍然沿用审计开关audit_system_object,即由audit_system_object控制对哪些对象的DDL操作进行审计(此处不配置ddl,只要配置了audit_system_object,审计也会生效)。 dml 表示对DML操作场景进行审计。 select 表示对SELECT操作场景进行审计。 internal_event 表示对内部事件操作场景进行审计。 user_func 表示对用户自定义函数、存储过程、匿名块操作场景进行审计。 special_func 表示对特殊函数调用操作场景进行审计,特殊函数包括:pg_terminate_backend和pg_cancel_backend。 copy 表示对COPY操作场景进行审计。 set 表示对SET操作场景进行审计。 transaction 表示对事务操作场景进行审计。 vacuum 表示对VACUUM操作场景进行审计。 analyze 表示对ANALYZE操作场景进行审计。 cursor 表示对游标操作的场景进行审计。 anonymous_block 表示对匿名块操作场景进行审计。 explain 表示对EXPLAIN操作场景进行审计。 show 表示对SHOW操作场景进行审计。 lock_table 表示对锁表操作场景进行审计。 comment 表示对COMMENT操作场景进行审计。 preparestmt 表示对PREPARE、EXECUTE、DEALLOCATE操作场景进行审计。 cluster 表示对CLUSTER操作场景进行审计。 constraints 表示对CONSTRAINTS操作场景进行审计。 checkpoint 表示对CHECKPOINT操作场景进行审计。 barrier 表示对BARRIER操作场景进行审计。 cleanconn 表示对CLEAN CONNECTION操作场景进行审计。 seclabel 表示对安全标签操作进行审计。 notify 表示对通知操作进行审计。 load 表示对加载操作进行审计。 discard 表示对清理当前会话所有的全局临时表信息场景进行审计。 表3 audit_type审计类型项 审计类型 描述 audit_open/audit_close 表示审计类型为打开和关闭审计日志操作。 user_login/user_logout 表示审计类型为用户登录/退出成功的操作和用户。 system_start/system_stop/system_recover/system_switch 表示审计类型为系统的启停、实例切换操作。 sql_wait/sql_parse 表示审计类型为SQL语句解析。 lock_user/unlock_user 表示审计类型为用户锁定和解锁成功的操作。 grant_role/revoke__role 表示审计类型为用户权限授予和回收的操作。 user_violation 表示审计类型为用户访问存在越权的操作。 ddl_数据库对象 表示审计类型为DDL操作,因为DDL操作由会根据操作对象进行更细粒度控制,仍然沿用审计开关audit_system_object,即由audit_system_object控制对哪些对象的DDL操作进行审计(此处不配置ddl,只要配置了audit_system_object,审计也会生效)。 例如:ddl_sequence表示审计类型为序列相关操作。 dml_action_insert/dml_action_delete/dml_action_update/dml_action_merge/dml_action_select 表示审计类型为INSERT、DELETE、UPDATE、MERGE等DML操作。 internal_event 表示审计类型为内部事件。 user_func 表示审计类型为用户自定义函数、存储过程、匿名块操作。 special_func 表示审计类型为特殊函数调用操作,特殊函数包括:pg_terminate_backend和pg_cancel_backend。 copy_to/copy_from 表示审计类型为COPY相关操作。 set_parameter 表示审计类型为SET操作。 trans_begin/trans_commit/trans_prepare/trans_rollback_to/trans_release/trans_savepoint/trans_commit_prepare/trans_rollback_prepare/trans_rollback 表示审计类型为事务相关操作。 vacuum/vacuum_full/vacuum_merge 表示审计类型为VACUUM相关操作。 analyze/analyze_verify 表示审计类型为ANALYZE相关操作。 cursor_declare/cursor_move/cursor_fetch/cursor_close 表示审计类型为游标相关操作。 codeblock_execute 表示审计类型为匿名块。 explain 表示审计类型为EXPLAIN操作。 show 表示审计类型为SHOW操作。 lock_table 表示审计类型为锁表操作。 comment 表示审计类型为COMMENT操作。 prepare/execute/deallocate 表示审计类型为PREPARE、EXECUTE或DEALLOCATE操作。 cluster 表示审计类型为CLUSTER操作。 constraints 表示审计类型为CONSTRAINTS操作。 checkpoint 表示审计类型为CHECKPOINT操作。 barrier 表示审计类型为BARRIER操作。 cleanconn 表示审计类型为CLEAN CONNECTION操作。 seclabel 表示审计类型为安全标签操作。 notify 表示审计类型为通知操作。 load 表示审计类型为加载操作。 discard 表示审计类型为DISCARD操作。
  • login_audit_messages(flag boolean) 描述:查看登录用户的登录信息。 返回值类型:元组 示例: 查看上一次登录认证通过的日期、时间和IP等信息: 1 2 3 4 5 SELECT * FROM login_audit_messages(true); username | database | logintime | type | result | client_conninfo | session_id ------------+----------+------------------------+---------------+--------+--------------------+----------------------------------------- dbadmin | gaussdb | 2017-06-02 15:28:34+08 | login_success | ok | gsql@[local] | 1663745305.140192538154752.coordinator1 (1 row) 查看上一次登录认证失败的日期、时间和IP等信息: 1 2 3 4 SELECT * FROM login_audit_messages(false) ORDER BY logintime desc limit 1; username | database | logintime | type | result | client_conninfo | session_id ------------+----------+------------------------+--------------+--------+-------------------------+------------ (0 rows) 查看自从最后一次认证通过以来失败的尝试次数、日期和时间: 1 2 3 4 SELECT * FROM login_audit_messages(false); username | database | logintime | type | result | client_conninfo | session_id ------------+----------+------------------------+--------------+--------+-------------------------+------------ (0 rows)
  • login_audit_messages_pid(flag boolean) 描述:查看登录用户的登录信息。与login_audit_messages的区别在于结果基于当前backendid向前查找。所以不会因为同一用户的后续登录,而影响本次登录的查询结果。也就是查询不到该用户后续登录的信息。 返回值类型:元组 示例: 查看上一次登录认证通过的日期、时间和IP等信息: 1 2 3 4 5 SELECT * FROM login_audit_messages_pid(true); username | database | logintime | type | result | client_conninfo | backendid | session_id ------------+----------+------------------------+---------------+--------+--------------------+----------------------------------------- dbadmin | postgres | 2017-06-02 15:28:34+08 | login_success | ok | gsql@[local] | 140311900702464 | 1663745305.140192538154752.coordinator1 (1 row) 查看上一次登录认证失败的日期、时间和IP等信息: 1 2 3 4 SELECT * FROM login_audit_messages_pid(false) ORDER BY logintime desc limit 1; username | database | logintime | type | result | client_conninfo | backendid | session_id ------------+----------+------------------------+--------------+--------+-------------------------+------------ (0 rows) 查看自从最后一次认证通过以来失败的尝试次数、日期和时间: 1 2 3 4 SELECT * FROM login_audit_messages_pid(false); username | database | logintime | type | result | client_conninfo | backendid | session_id ------------+----------+------------------------+--------------+--------+-------------------------+------------ (0 rows)
  • gs_password_expiration() 描述:显示当前账户距离密码过期的时间。密码过期后用户无法登录数据库。与创建用户的DDL语句PASSWORD EXPIRATION period相关,函数返回值大于等于-1,如果创建用户时未指定PASSWORD EXPIRATION period,该函数的缺省值为-1,表示没有过期限制。 返回值类型:interval 示例: 1 2 3 4 5 SELECT gs_password_expiration(); gs_password_expiration ------------------------- 29 days 23:59:49.731482 (1 row)
共100000条