云服务器内容精选

  • 场景2:触发器源桶和函数执行输出目标桶是不同桶的无限循环 案例1:使用Data+内置函数触发“无限循环” 用户创建一条Data+工作流workflowA,在工作流中使用了内置的“媒资转码”函数,且配置“媒资转码”函数的转码输出桶为target-bucket。用户创建一条Data+工作流workflowB,在工作流中使用了内置的“媒资转码”函数,且配置“媒资转码”函数的转码输出桶为source-bucket-beta。然后,在source-bucket-beta桶上配置触发器triggerA关联工作流workflowA,在target-bucket桶上配置触发器triggerB关联工作流workflowB。如果,triggerA触发workflowA生成的对象匹配上了triggerB的条件(比如:两个触发器的前缀和后缀不配置),最终,转码的输出会再次触发Data+工作流,从而导致用户工作流workflowA和workflowB不停的执行,出现“无限循环”。 图5 Data+工作流配置workflowA 图6 Data+工作流配置workflowB 图7 Data+工作流触发器triggerA配置 图8 Data+工作流触发器triggerB配置
  • 场景1:触发器源桶和函数执行输出目标桶是同一个桶的无限循环 案例1:使用Data+内置函数触发“无限循环” 用户创建一条Data+工作流workflowA,在工作流中使用了内置的“媒资转码”函数,且配置“媒资转码”函数的转码输出桶为target-bucket。然后,在target-bucket桶上配置触发器关联工作流workflowA。如果自定义函数输出的对象前缀或后缀匹配触发器triggerA的前后缀条件(比如:前缀和后缀不配置,或者对象满足触发器条件),则转码的输出会再次触发Data+工作流,从而导致用户工作流不停的执行,出现“无限循环”。 图1 Data+工作流配置workflowA 图2 Data+工作流触发器triggerA配置 案例2:自定义函数触发“无限循环” 用户创建一条Data+工作流workflowA,在工作流种使用了自定义函数,且自定义函数会向桶target-bucket输出对象。然后,在target-bucket桶上配置触发触发器triggerA关联工作流workflowA。如果自定义函数输出的对象前缀或后缀匹配触发器triggerA的前后缀条件(比如:前缀和后缀不配置,或者对象满足触发器条件),则自定义函数的输出会再次触发Data+工作流,从而导致用户工作流不停的执行,出现“无限循环”。 图3 Data+工作流配置workflowA 图4 Data+触发器配置triggerA
  • SSL证书和客户端配置 用户需要配置客户端配置。 GaussDB (DWS) 提供SSL证书下载。 登录GaussDB(DWS) 管理控制台,在左侧导航栏中,进入“连接客户端”页面。在“下载驱动程序”区域,单击“下载SSL证书”进行下载。 将下载的压缩包“dws_ssl_cert.zip”解压,得到证书文件。然后在Data Studio客户端单击“SSL”页签,设置如下参数: 表1 配置SSL参数 字段名称 说明 客户端SSL证书 选择SSL证书解压目录下的“sslcert\client.crt”文件。 客户端SSL密钥 客户端SSL密钥只支持PK8格式,请选择SSL证书解压目录下的“sslcert\client.key.pk8”文件。 根证书 当“SSL模式”设为“verify-ca”或“verify-full”时,必须设置根证书,请选择SSL证书解压目录下的“sslcert\cacert.pem”文件。 SSL密码 客户端pk8格式SSL密钥密码。 SSL模式 GaussDB(DWS) 支持的SSL模式有: require:所使用的SSL factory无需验证,不会验证证书有效性。 verify-ca:会使用相应的SSL factory检查CA是否正确。 verify-full:会使用相应的SSL factory检查CA和数据库是否正确。 GaussDB(DWS) 不支持“verify-full”模式。 选择“客户端SSL证书”和“客户端SSL密钥”,可使用安全连接从Data Studio中导出DDL和数据。 如果为“客户端SSL证书”和“客户端SSL密钥”选择了无效的文件,将导致导出失败。有关详情,请参见故障处理。 如果取消选中“启用SSL”复选框并继续操作,则会弹出“连接安全告警”对话框。要设置是否显示该安全告警,请参见表1。 “继续”:单击“继续”,继续使用不安全的连接。 “取消”:单击“取消”并启用SSL。 “不再显示”:如果勾选该字段,当前登录的Data Studio实例在后续连接时,不再显示“连接安全告警”对话框。 Data Studio首次访问gs-dump特性时,会弹框要求输入客户端密钥。 图1 配置SSL参数
  • 安全 Data Studio在首次连接时验证SSL连接参数。在后续连接中,Data Studio不再验证SSL连接参数。如果勾选了“启用SSL”,打开新连接时,该连接会使用同样的SSL连接参数。 Data Studio连接时如果未勾选“启用SSL”默认是未加密的。 SSL连接中,如果安全文件被损坏,Data Studio将无法继续进行任何数据库操作。如果要修复该问题,请删除对应配置文件所在文件夹下的安全文件夹,然后重启Data Studio。
  • SQL终端 打开一个包含大量SQL语句的SQL文件,可能会出现“内存不足”错误。请参见故障处理。 对于“SQL终端”页签中被注释掉的文本,Data Studio不禁用自动建议和超链接功能。 如果模式名或表名中有空格或点(.),则不支持超链接。 如果对象名称中包含半角单引号(')或双引号("),则不支持自动建议功能。 Data Studio仅支持对简单的SELECT语句进行基本的格式化,对于复杂查询可能无法达到预期效果。
  • 通用 在编辑区域一次最多可打开100个页签。页签的显示取决于主机的可用资源。 数据库对象名最多可包含64个字符(仅限文本格式),数据库对象包括数据库、模式、函数、存储过程、表、序列、约束条件、索引和视图。但在Data Studio的表达式和说明中使用的字符数没有限制。 在Data Studio已登录的实例上最多可打开300个结果页签。 如果“对象浏览器”和“搜索对象”窗口中加载了大对象,则“对象浏览器”中对象展开的速度可能会变慢,同时Data Studio也可能会无法响应。 对于包含数据的单元格,如果数据超出了可显示区域,调整单元格宽度可能导致Data Studio无法响应。 表的单元格最多可显示1000个字符,超出部分显示为“...”。 如果用户从表或“结果”页签的单元格复制数据到任意编辑器(如SQL终端/PLSQL源编辑器、记事本或任意外部编辑器应用),将会粘贴全部数据。 如果用户从表或“结果”页签的单元格复制数据到一个可编辑的单元格(本单元格或其他单元格),该单元格仅显示1000个字符,并将超出部分显示为“...”。 导出表或“结果”页签数据时,导出的文件将包含全部数据。
  • 不同日志级别类型 Data Studio.log文件中所显示的不同类型的日志级别如下: TRACE:相比DEBUG级别,TRACE级别提供更为详细的信息。 DEBUG:DEBUG级别指粒状信息事件,对调试应用程序最为有用。 INFO:INFO级别指着重显示应用进程的消息。 WARN:WARN级别指潜在的有害情况。 ERROR:ERROR级别指错误事件。 FATAL:FATAL级别指事件造成应用终止。 ALL:ALL级别指启用所有日志级别。 OFF:OFF级别指禁用所有日志级别和ALL级别相反。 如果用户输入无效的日志级别值,日志级别会设置为WARN。 如果用户未指定日志级别,日志级别会设置为WARN。
  • 日志消息描述 日志消息描述如下图所示: Data Studio.log文件大小达到最大值10000 KB时,系统会自动创建一个文件并另存为Data Studio.log.1。Data Studio.log中的日志将存储在Data Studio.log.1文件中。当Data Studio.log文件再次达到最大值,系统继续自动创建一个文件并另存为Data Studio.log.2。最新日志持续写入Data Studio.log文件。以此类推,此过程将一直持续,直到Data Studio.log.5文件达到最大值,该循环重新开始。Data Studio将删除最早的日志文件,即Data Studio.log.1。例如,Data Studio.log.5重命名为Data Studio.log.4,Data Studio.log.4重命名为Data Studio.log.3,以此类推。 如需启用服务器日志文件的性能日志记录功能,需启用配置参数log_min_messages,且设置为data/postgresql.conf配置文件中的debug1,即log_min_messages = debug1。
  • 下载并安装Data Studio客户端 GaussDB(DWS) 提供了基于Windows平台的Data Studio图形界面客户端,该工具依赖JDK,请先在客户端主机上安装JDK。 仅支持Java 1.8版本的JDK。 在Windows操作系统中,您可以访问JDK官网网站,下载符合操作系统版本的JDK,并根据指导进行安装。 登录GaussDB(DWS)管理控制台。在左侧导航栏中,单击“连接客户端”,进入“下载客户端和驱动”页面。 在“下载客户端和驱动”页面,下载“Data Studio图形界面客户端”。 请根据操作系统类型,选择“Windows x86”或“Windows x64”,再单击“下载”,可以下载与现有集群版本匹配的Data Studio工具。 单击“历史版本”可根据集群版本下载相应版本的Data Studio工具,建议按集群版本下载配套的工具。 图1 下载客户端 如果同时拥有不同版本的集群,选择与集群版本相对应的gsql版本客户端。在“集群管理”页面的集群列表中,单击指定集群的名称,再选择“集群详情”页签,可查看集群版本。 解压下载的客户端软件包(32位或64位)到需要安装的路径。 打开安装目录,双击Data Studio.exe,启动Data Studio客户端。 图2 启动客户端 表1 Data Studio安装包结构 文件夹/文件 说明 configuration 包含应用启动信息和所需Eclipse插件路径信息。 db_assistant 包含“SQL助手”功能相关的文件。 docs 包含《Data Studio用户手册.pdf》,本手册详细介绍了如何使用Data Studio工具。 包含在Data Studio中使用的开源软件的版权声明、许可证和书面邀约。 features 包含Eclipse(如富客户端协议GUI)和Data Studio特性。 p2 p2包含的文件用于提供和管理基于Eclipse和Equinox的应用。 plugins 包含必须的Eclipse和Data Studio插件。 tools 包含Data Studio的依赖工具。 UserData/ Autosave Logs/ Preferences/ Profile/ History/ Security/ 包含每个使用Data Studio的OS用户各自的文件夹。 Autosave:包含自动保存的查询和函数/过程信息。 Logs:包含Data Studio.log文件,该文件保存Data Studio所有操作的日志信息。 Preferences:包含Preferences.prefs文件,内容为自定义的首选项。 Profile:包含connection.properties文件、SQL执行历史、Profiles.txt文件,用于管理Data Studio中的连接信息。 Security:包含Data Studio安全管理所需文件。 说明: User Data文件夹在首个用户用Data Studio打开实例后创建。 日志文件夹、语言、内存设置、日志级别对所有用户生效。 Data Studio启动后,会创建日志文件夹、Data Studio.log文件、Preferences文件夹、Preferences.prefs文件、Profile文件夹、connection.properties文件、Profiles.txt文件和security文件夹。 如果Data Studio.ini文件中指定了日志文件夹路径,日志会在指定路径创建。 如果您因安全密钥被损坏,无法登录Data Studio,请按如下步骤生成新的安全密钥: 从Data Studio文件夹下的UserData文件夹中删除security文件夹。 重启Data Studio。 artifacts.xml 包含产品编译版本信息。 changelog.txt 包含当前版本的详细变更信息。 Data Studio.exe/DataStudio.sh 支持连接服务器并执行各种操作,如管理数据库对象、编辑或执行PL/SQL程序。 Data Studio.ini 包含Data Studio工具运行时的配置信息。 readme.txt 包含当前版本的功能和修复的问题。 若您的电脑阻止应用运行,可对Data Studio.exe文件属性勾选解除锁定即可启动。 安装完成后双击安装目录/tools的中StartDataStudio.bat文件检查操作系统、 Java和Data Studio的版本。 批量文件检查版本兼容性并打开Data Studio,或根据安装的操作系统、Java和Data Studio版本,显示相应的信息。 如果安装的Java版本低于1.8,可能会弹出错误消息。 批量文件检查如下场景,用于确认Data Studio的操作系统和Java版本: DS安装(32/64位) 操作系统(位) Java(位) 结果 32 32 32 打开Data Studio 32 64 32 打开Data Studio 32 64 64 弹出错误消息 64 32 32 弹出错误消息 64 64 32 弹出错误消息 64 64 64 打开Data Studio 父主题: Data Studio
  • 示例 --创建server。 gaussdb=# CREATE SERVER file_server FOREIGN DATA WRAPPER file_fdw; CREATE SERVER --创建外表。 gaussdb=# CREATE FOREIGN TABLE file_ft(id int, name text) SERVER file_server OPTIONS(filename '/tmp/1.csv', format 'csv', delimiter ','); CREATE FOREIGN TABLE --删除外表。 gaussdb=# DROP FOREIGN TABLE file_ft; DROP FOREIGN TABLE --删除server。 gaussdb=# DROP SERVER file_server; DROP SERVER
  • 使用file_fdw 创建服务器对象:CREATE SERVER。 创建用户映射:CREATE USER MAPPING。 创建外表:CREATE FOREIGN TABLE。 外表的表结构需要与指定的文件的数据保持一致。 对外表做查询操作,写操作不被允许。 删除外表:DROP FOREIGN TABLE。 删除用户映射:DROP USER MAPPING。 删除服务器对象:DROP SERVER。
  • 使用file_fdw 创建服务器对象:CREATE SERVER。 创建用户映射:CREATE USER MAPPING。 创建外表:CREATE FOREIGN TABLE。 外表的表结构需要与指定的文件的数据保持一致。 对外表做查询操作,写操作不被允许。 删除外表:DROP FOREIGN TABLE。 删除用户映射:DROP USER MAPPING。 删除服务器对象:DROP SERVER。
  • 示例 --创建server。 gaussdb=# CREATE SERVER file_server FOREIGN DATA WRAPPER file_fdw; CREATE SERVER --创建外表。 gaussdb=# CREATE FOREIGN TABLE file_ft(id int, name text) SERVER file_server OPTIONS(filename '/tmp/1.csv', format 'csv', delimiter ','); CREATE FOREIGN TABLE --删除外表。 gaussdb=# DROP FOREIGN TABLE file_ft; DROP FOREIGN TABLE --删除server。 gaussdb=# DROP SERVER file_server; DROP SERVER
  • 示例 --创建server。 gaussdb=# CREATE SERVER file_server FOREIGN DATA WRAPPER file_fdw; CREATE SERVER --创建外表。 gaussdb=# CREATE FOREIGN TABLE file_ft(id int, name text) SERVER file_server OPTIONS(filename '/tmp/1.csv', format 'csv', delimiter ','); CREATE FOREIGN TABLE --删除外表。 gaussdb=# DROP FOREIGN TABLE file_ft; DROP FOREIGN TABLE --删除server。 gaussdb=# DROP SERVER file_server; DROP SERVER
  • 响应示例 HTTP/1.1 201 Created Server: OBS Date: Thu, 27 Aug 2020 12:38:10 GMT Content-Length: 100 X-Request-ID: 000001742FE8FB3CCA20173B00807C43 { "graph_name": "test-graph", "graph_urn": "urn:obs:cn-north-5:3f1e6caf808246c68457e660e4bfeb2f:graph:test-graph", "created_at": "2020-04-23T12:32:11.131Z" }