云服务器内容精选

  • 不同日志级别类型 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用户界面 表1 用户界面简介 界面名称 描述 主菜单 提供使用Data Studio的基本操作。 工具栏 提供常用操作入口。 “SQL终端”页签 用于执行SQL语句和函数/过程。 “PL/SQL Viewer”页签 显示函数/过程信息。 “调用堆栈”窗格 显示执行栈。 “断点”窗格 显示所有设置过的断点。 “变量”窗格 显示变量及其变量值。 “SQL Assistant”页签 显示“SQL终端”和“PL/SQL Viewer”页签中输入信息的建议或参考。 “结果”页签 显示所执行的函数/过程或SQL语句的结果。 “消息”页签 显示进程输出。显示标准输入、标准输出和标准错误。 “对象浏览器”窗格 显示数据库连接的层级树形结构和用户有权访问的相关数据库对象。除公共模式外,所有默认创建的模式均分组在“系统模式”下,用户模式分组在相应数据库的“用户模式”下。 说明: “对象浏览器”仅显示满足当前用户权限要求的对象。 “最小化窗口”窗格 用于打开“调用堆栈”、“断点”和“变量”窗格。该窗格仅在“调用堆栈”、“断点”、“变量”窗格中的一个或多个窗格最小化时显示。 搜索工具栏 用于在“对象浏览器”窗格中搜索对象。
  • 场景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
  • 示例 --创建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