云服务器内容精选

  • 注意事项 如果游标定义了NO SCROLL,则不允许使用例如FETCH BACKWARD之类的反向抓取。 NEXT、PRIOR、FIRST、LAST、ABSOLUTE和RELATIVE形式在恰当地移动游标之后抓取一条记录。如果后面没有数据行,就返回一个空的结果,此时游标就会停在查询结果的最后一行之后(向后查询时)或者第一行之前(向前查询时)。 FORWARD和BACKWARD形式在向前或者向后移动的过程中抓取指定的行数,然后把游标定位在最后返回的行上;如果count大于可用的行数,则会把游标定位在所有行之后(向后查询时)或者之前(向前查询时)。 RELATIVE 0、FORWARD 0和BACKWARD 0都要求在不移动游标的前提下抓取当前行,也就是重新抓取最近刚抓取过的行。除非游标定位在第一行之前或者最后一行之后,否则这个动作都应该成功。而当游标定位在第一行之前或者最后一行之后,不返回任何行。
  • 语法格式 FETCH [ direction { FROM | IN } ] cursor_name; 其中direction子句为可选参数。 NEXT | PRIOR | FIRST | LAST | ABSOLUTE count | RELATIVE count | count | ALL | FORWARD | FORWARD count | FORWARD ALL | BACKWARD | BACKWARD count | BACKWARD ALL
  • 参数说明 direction 定义抓取数据的方向。 取值范围: NEXT(缺省值) 从当前关联位置开始,抓取下一行。 PRIOR 从当前关联位置开始,抓取上一行。 FIRST 抓取查询的第一行(和ABSOLUTE 1相同)。 LAST 抓取查询的最后一行(和ABSOLUTE -1相同)。 ABSOLUTE count 抓取查询中第count行。 ABSOLUTE抓取不会比用相对位移移动到需要的数据行更快,因为下层的实现必须遍历所有中间的行。 count取值范围:有符号的整数 count为正数,就从查询结果的第一行开始,抓取第count行。 count为负数,就从查询结果末尾抓取第abs(count)行。 count为0时,定位在第一行之前。 RELATIVE count 从当前关联位置开始,抓取随后或前面的第count行。 取值范围:有符号的整数 count为正数就抓取当前关联位置之后的第count行。 count为负数就抓取当前关联位置之前的第abs(count)行。 如果当前行没有数据的话,RELATIVE 0返回空。 count 抓取随后的count行(和FORWARD count一样)。 ALL 从当前关联位置开始,抓取所有剩余的行(和FORWARD ALL一样)。 FORWARD 抓取下一行(和NEXT一样)。 FORWARD count 从当前关联位置开始,抓取随后或前面的count行。 FORWARD ALL 从当前关联位置开始,抓取所有剩余行。 BACKWARD 从当前关联位置开始,抓取前面一行(和PRIOR一样) 。 BACKWARD count 从当前关联位置开始,抓取前面的count行(向后扫描)。 取值范围:有符号的整数 count为正数就抓取当前关联位置之前的count行。 count为负数就抓取当前关联位置之后的abs(count)行。 如果有数据的话,BACKWARD 0重新抓取当前行。 BACKWARD ALL 从当前关联位置开始,抓取所有前面的行(向后扫描) 。 { FROM | IN } cursor_name 使用关键字FROM或IN指定游标名称。 取值范围:已创建的游标的名称。
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 --创建表test,并向表中插入20条数据。 gaussdb=# CREATE TABLE test(c1 int, c2 int); gaussdb=# INSERT INTO test VALUES (generate_series(1,20),generate_series(1,20)); --开始一个事务,建立一个名为cursor1的游标。 gaussdb=# START TRANSACTION; gaussdb=# CURSOR cursor1 FOR SELECT * FROM test ORDER BY 1; --指定游标从关联位置开始检索3行数据。 gaussdb=# FETCH FORWARD 3 FROM cursor1; c1 | c2 ----+---- 1 | 1 2 | 2 3 | 3 (3 rows) --关闭游标并提交事务。 gaussdb=# CLOSE cursor1; gaussdb=# END; --删除表。 gaussdb=# DROP TABLE test;
  • 功能描述 FETCH通过已创建的游标来检索数据。 每个游标都有一个供FETCH使用的关联位置。游标的关联位置可以在查询结果的第一行之前,或者在结果中的任意行,或者在结果的最后一行之后: 游标刚创建完之后,关联位置在第一行之前。 在抓取了一些移动行之后,关联位置在检索到的最后一行上。 如果FETCH抓取完了所有可用行,它就停在最后一行后面,或者在反向抓取的情况下是停在第一行前面。 FETCH ALL或FETCH BACKWARD ALL总是把游标的关联位置放在最后一行或者在第一行前面。
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 --创建表test,并向表中插入20条数据。 gaussdb=# CREATE TABLE test(c1 int, c2 int); gaussdb=# INSERT INTO test VALUES (generate_series(1,20),generate_series(1,20)); --开始一个事务,建立一个名为cursor1的游标。 gaussdb=# START TRANSACTION; gaussdb=# CURSOR cursor1 FOR SELECT * FROM test ORDER BY 1; --指定游标从关联位置开始检索3行数据。 gaussdb=# FETCH FORWARD 3 FROM cursor1; c1 | c2 ----+---- 1 | 1 2 | 2 3 | 3 (3 rows) --关闭游标并提交事务。 gaussdb=# CLOSE cursor1; gaussdb=# END; --删除表。 gaussdb=# DROP TABLE test;
  • 参数说明 direction 定义抓取数据的方向。 取值范围: NEXT(缺省值) 从当前关联位置开始,抓取下一行。 PRIOR 从当前关联位置开始,抓取上一行。 FIRST 抓取查询的第一行(和ABSOLUTE 1相同)。 LAST 抓取查询的最后一行(和ABSOLUTE -1相同)。 ABSOLUTE count 抓取查询中第count行。 ABSOLUTE抓取不会比用相对位移移动到需要的数据行更快,因为下层的实现必须遍历所有中间的行。 count取值范围:有符号的整数 count为正数,就从查询结果的第一行开始,抓取第count行。当count小于当前游标位置时,涉及到rewind操作,暂不支持。 count为负数或0,涉及到反向扫描操作,暂不支持。 RELATIVE count 从当前关联位置开始,抓取随后或前面的第count行。 取值范围:有符号的整数 count为正数就抓取当前关联位置之后的第count行。 count为负数或0,涉及到反向扫描操作,暂不支持。 如果当前行没有数据的话,RELATIVE 0返回空。 count 抓取随后的count行(和FORWARD count一样)。 ALL 从当前关联位置开始,抓取所有剩余的行(和FORWARD ALL一样)。 FORWARD 抓取下一行(和NEXT一样)。 FORWARD count 与RELATIVE count的效果相同,从当前关联位置开始,抓取随后或前面的第count行。 FORWARD ALL 从当前关联位置开始,抓取所有剩余行。 BACKWARD 从当前关联位置开始,抓取前面一行(和PRIOR一样) 。 BACKWARD count 从当前关联位置开始,抓取前面的count行(向后扫描)。 取值范围:有符号的整数 count为正数就抓取当前关联位置之前的第count行。 count为负数就抓取当前关联位置之后的第abs(count)行。 如果有数据的话,BACKWARD 0重新抓取当前行。 BACKWARD ALL 从当前关联位置开始,抓取所有前面的行(向后扫描) 。 { FROM | IN } cursor_name 使用关键字FROM或IN指定游标名称。 取值范围:已创建的游标的名称。
  • 注意事项 如果游标定义了NO SCROLL,则不允许使用例如FETCH BACKWARD之类的反向抓取。 NEXT、PRIOR、FIRST、LAST和ABSOLUTE和RELATIVE形式在恰当地移动游标之后抓取一条记录。如果后面没有数据行,就返回一个空的结果,此时游标就会停在查询结果的最后一行之后(向后查询时)或者第一行之前(向前查询时)。 FORWARD和BACKWARD形式在向前或者向后移动的过程中抓取指定的行数,然后把游标定位在最后返回的行上;如果count大于可用的行数,则会把游标定位在所有行之后(向后查询时)或者之前(向前查询时)。 RELATIVE 0、FORWARD 0和BACKWARD 0都要求在不移动游标的前提下抓取当前行,也就是重新抓取最近刚抓取过的行。除非游标定位在第一行之前或者最后一行之后,否则这个动作都应该成功。而当游标定位在第一行之前或者最后一行之后,不返回任何行。 当FETCH的游标上涉及非系统表时,不支持BACKWARD、PRIOR、FIRST等涉及反向获取操作。
  • 功能描述 FETCH通过已创建的游标来检索数据。 每个游标都有一个供FETCH使用的关联位置。游标的关联位置可以在查询结果的第一行之前,或者在结果中的任意行,或者在结果的最后一行之后: 游标刚创建完之后,关联位置在第一行之前。 在抓取了一些移动行之后,关联位置在检索到的最后一行上。 如果FETCH抓取完了所有可用行,它就停在最后一行后面,或者在反向抓取的情况下是停在第一行前面。 FETCH ALL或FETCH BACKWARD ALL总是把游标的关联位置放在最后一行或者在第一行前面。
  • 语法格式 FETCH [ direction { FROM | IN } ] cursor_name; 其中direction子句为可选参数。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 NEXT | PRIOR | FIRST | LAST | ABSOLUTE count | RELATIVE count | count | ALL | FORWARD | FORWARD count | FORWARD ALL | BACKWARD | BACKWARD count | BACKWARD ALL
  • 如何生成jwt-token? xDM-F在JSON Web Token(JWT)这种结构化令牌的基础上实现了一套基于用户体系对用户的API进行授权访问的机制,满足用户个性化安全设置的需求。xDM-F支持的jwt-token的加密算法为RSA非对称加密算法,密钥的加密位数推荐为3072。 您可以通过如下方式生成用于jwt-token生成与验证的私钥与公钥。其中,私钥用于授权服务签发JWT,公钥配置到JWT插件中用于API网关对请求验签。 在本地通用服务器中,执行如下命令,生成对应私钥与公钥。 # 生成一个3072位的RSA密钥对 openssl genpkey -algorithm RSA -out private.key -pkeyopt rsa_keygen_bits:3072 openssl rsa -pubout -in private.key -out public.key # 查看私钥 cat private.key # 查看公钥 cat public.key
  • 什么时候需要更换License文件? 当您存在如下变更场景时,需要更换License文件: 用户数变更 例如,您已购买500个用户的SDK服务,在使用过程中发现500个用户已无法满足您的业务诉求,重新购买1000个用户的SDK服务用以扩充用户数量。 更换绑定的应用 例如,您之前配置了A应用的信息,因业务调整,A应用不再使用,现在希望配置成其他应用。 机器部署范围变更 例如,您之前配置了4台部署机器,因业务调整,新增2台部署机器。 授权时长变更 例如,您申请的License文件将于2024年09月30日到期,您希望将此License文件延期至2026年09月30日。
  • 如何在本地通用服务器中部署流程运行服务依赖的Node.js环境? 通过流程引擎的流程编排服务生成的流程元模板需要通过Node.js编译后,才能在流程运行服务中启动。如果您的本地通用服务器未部署Node.js,可以参考如下操作进行部署。 准备事项 操作系统:Linux 系统,本文以CentOS 7.6 64位操作系统为例。 Node.js:流程运行服务的运行环境,推荐安装Node.js 16.15.0或Node.js 16.20.2版本。 Python:Node.js的依赖环境,推荐安装Python 2.6或Python 2.7版本,不建议安装Python 3.0及以上版本。 操作步骤 登录Linux弹性云服务器。 执行如下命令,查看当前E CS 是否已经安装Python 2.6或2.7版本。 不建议安装Python 3.0及以上版本。 python --version 如果未安装,则依次执行如下命令,安装Python。 wget http://www.python.org/ftp/python/2.6/Python-2.6.tgz 本步骤以下载Python 2.6安装包为例,您可以前往Node.js 官网获取更多安装信息。 tar -xzf Python-2.6.tgz cd Python-2.6 ./configure --prefix=/usr/local make && make install ln -sf /usr/local/bin/python2.6 /usr/bin/python2.6 如果已安装,则执行3。 执行如下命令,下载Node.js Linux 64位二进制安装包。 wget https://nodejs.org/dist/v16.20.2/node-v16.20.2-linux-x64.tar.xz 本步骤以下载Node.js 64位二进制安装包为例,请对应您实际云服务器的规格,前往Node.js 官网获取更多安装信息。 执行如下命令,解压安装包。 tar -xf node-v16.20.2-linux-x64.tar.xz 依次执行如下命令,创建软链接。 ln -sf /usr/local/node/node-v16.15.0-linux-x64/bin/npm /usr/local/bin/ ln -sf /usr/local/node/node-v16.15.0-linux-x64/bin/node /usr/local/bin/ 成功创建软链接后,即可在弹性云服务器任意目录下使用node及npm命令。 执行如下命令,查看Node.js及npm版本信息。 node -v npm -v 显示Node.js的版本信息,即表示部署成功。
  • 下单后如何获取License文件,需要提供哪些信息? 当您购买的“通用服务器(SDK)”基础版数据建模引擎订单付款成功后,需要通过提交工单的方式申请License文件。在此之前,您需要提前准备如下相关信息: SDK所属应用的应用ID(License文件不支持跨应用使用)。 已支付订单中购买的用户数量。 已支付订单中订阅的时长。 SDK部署机器的信息,至多支持配置8台机器。 如果部署机器是Windows系统,提供机器MAC地址。 如果部署机器是Linux系统,提供机器的UUID。
  • 推荐业务流程二 图2 xDM-F数据同步推荐业务流程二 授权应用责任人为企业级管理员。 在全局用户授权页面,使用企业级管理员将应用责任人授权为企业级管理员。 创建xDM-F数据同步任务。 在xDM-F同步任务页面,为将要同步的应用创建xDM-F同步任务。 在iDME控制台完成相关操作。 在iDME控制台,已完成应用的功能设计和开发,并打开数字主线引擎与对应基础版数据建模引擎间的数据连接通道开关,完成了应用部署。应用部署时会自动将xDM-F模型同步至LinkX-F。 发布LinkX-F数据模型。 在数据模型管理中,将基于xDM-F模型生成的LinkX-F模型进行发布后会自动生成xDM-F映射和图数据库映射,即可实现增量实例数据实时同步。具体操作可参考发布数据实体和发布关系实体。 创建实例调度任务。 在实例调度任务页面,可通过创建实例调度任务,实现xDM-F模型全量或指定时间范围内的实例数据定时同步。