华为云用户手册

  • DB_PART_COL_STATIS TICS DB_PART_COL_STATISTI CS 视图显示当前用户可访问的表分区的列统计信息和直方图信息。所有用户都可以访问该视图。该视图同时存在于PG_CATA LOG 和SYS Schema下。 表1 DB_PART_COL_STATISTICS字段 名称 类型 描述 owner character varying(128) 分区表的所有者。 table_name character varying(128) 表名。 partition_name character varying(128) 表分区名称。 column_name character varying(4000) 列名。 num_distinct numeric 暂不支持,值为NULL。 low_value raw 暂不支持,值为NULL。 high_value raw 暂不支持,值为NULL。 density numeric 暂不支持,值为NULL。 num_nulls numeric 暂不支持,值为NULL。 num_buckets numeric 暂不支持,值为NULL。 sample_size numeric 暂不支持,值为NULL。 last_analyzed timestamp(0) without time zone 暂不支持,值为NULL。 global_stats character varying(3) 暂不支持,值为NULL。 user_stats character varying(3) 暂不支持,值为NULL。 notes character varying(63) 暂不支持,值为NULL。 avg_col_len numeric 暂不支持,值为NULL。 histogram character varying(15) 暂不支持,值为NULL。 schema character varying(64) 列所属的名称空间的名称。 父主题: 分区表
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 --显示timezone参数值。 gaussdb=# SHOW timezone; TimeZone ---------- PRC (1 row) --显示当前模式。 gaussdb=# SHOW CURRENT_SCHEMA; current_schema ---------------- "$user",public (1 row) --显示事务的隔离级别。 gaussdb=# SHOW TRANSACTION ISOLATION LEVEL; transaction_isolation ----------------------- read committed (1 row) --显示当前会话的用户标识符。 gaussdb=# SHOW SESSION AUTHORIZATION; session_authorization ----------------------- omm1 (1 row) --显示所有参数。 gaussdb=# SHOW ALL; --显示参数名中包含”var”的所有参数。 gaussdb=# SHOW VARIABLES LIKE var;
  • 参数说明 configuration_parameter 运行时参数的名称。 取值范围:可以使用SHOW ALL命令查看运行时参数。 部分通过SHOW ALL查看的参数不能通过SET设置,如max_datanodes。 CURRENT_SCHEMA 当前模式。 TIME ZONE 时区。 TRANSACTION ISOLATION LEVEL 事务的隔离级别。 SESSION AUTHORIZATION 当前会话的用户标识符。 ALL 所有运行时参数。
  • 选择数据类型 高效数据类型,主要包括以下三方面: 使用执行效率更高的数据类型 通常情况下,整型数据运算(包括“=”、“>”、“<”、“≧”、“≦”、“≠”等常规的比较运算,以及GROUP BY)的效率比字符串和浮点数的效率高。 使用短字段的数据类型 长度较短的数据类型不仅可以减小数据文件的大小,提升I/O性能,同时也可以减小相关计算时的内存消耗,提升计算性能。比如,对于整型数据,如果可以使用smallint,那么尽量避免使用用int,如果可以使用int,那么尽量避免使用bigint。 使用一致的数据类型 表关联列尽量使用相同的数据类型。如果表关联列数据类型不同,数据库必须动态地转化为相同的数据类型进行比较,这种转换会带来一定的性能开销。 父主题: 审视和修改表定义
  • GS_ADM_ILMPA RAM ETERS GS_ADM_ILMPARAMETERS视图描述ILM调度与执行的相关环境参数,该参数可通过DBE_ILM_ADMIN.CUSTOMIZE_ILM接口进行修改。默认只有系统管理员权限才可以访问此系统视图。 表1 GS_ADM_ILMPARAMETERS字段 名称 类型 描述 name character varying(128) ADO相关的环境参数,通过DBE_ILM_ADMIN.CUSTOMIZE_ILM接口进行修改。 value numeric 参数取值。 父主题: OLTP表压缩
  • GS_MASKING_POLICY GS_MASKING_POLICY系统表记录动态数据脱敏策略的主体信息,每条记录对应一个脱敏策略。需要有系统管理员或安全策略管理员权限才可以访问此系统表。 表1 GS_MASKING_POLICY表字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 polname name 策略名称,唯一不可重复。 polcomments name 策略描述字段,记录策略相关的描述信息,通过COMMENTS关键字体现。 modifydate timestamp without time zone 策略创建或修改的最新时间戳。 polenabled boolean 策略启动开关。 t(true):表示策略启动。 f(false):表示策略没有启动。 父主题: 动态脱敏
  • alarm_component 参数说明:在告警上报时,会进行告警抑制,即同一个实例的同一个告警项在alarm_report_interval(默认值为10s)内不做重复上报。在这种情况下设置用于处理告警内容的告警组件的位置,仅sysadmin用户可以访问。 参数类型:字符串 参数单位:无 取值范围:合法文件名称。 若前置脚本gs_preinstall中的--alarm-type参数设置为5时,表示未对接第三方组件,告警写入system_alarm日志,此时GUC参数alarm_component的取值为:/opt/huawei/snas/bin/snas_cm_cmd。 若前置脚本gs_preinstall中的--alarm-type参数设置为1时,表示对接第三方组件,此时GUC参数alarm_component的值为第三方组件的可执行程序的绝对路径。 默认值:"/opt/huawei/snas/bin/snas_cm_cmd" 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • table_skewness_warning_threshold 参数说明:设置用于表倾斜告警的阈值。该参数可在PDB级别设置。 参数类型:浮点型 参数单位:无 取值范围:0 ~ 1 默认值:1。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,并根据业务场景对表倾斜的敏感度适时调整。 设置不当的风险与影响:设置较小时,可能对表倾斜更敏感,无显著风险。
  • enable_alarm 参数说明:设置是否打开告警上报线程,上报数据库中可能的故障场景。 参数类型:布尔型 参数单位:无 取值范围: on:表示打开告警上报线程。 off:表示关闭告警上报线程。 默认值:on 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭该参数会导致用户无法感知数据库中的某些故障场景。 该参数生效范围仅为DN节点。
  • table_skewness_warning_rows 参数说明:设置用于表倾斜告警的行数。该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值范围:0 ~ 2147483647 默认值:100000。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,并根据业务场景对表倾斜的敏感度适时调整。 设置不当的风险与影响:设置较小时,可能对表倾斜更敏感,无显著风险。
  • connection_alarm_rate 参数说明:设置允许和数据库连接的最大并发连接数的比率限制。数据库连接的最大并发连接数为max_connections* connection_alarm_rate。当并发连接数超过max_connections* connection_alarm_rate时,后台会打印连接信息的日志connection_log,日志中可以查看pg_stat_activity视图和线程池视图LOCAL_THREADPOOL_STATUS(查看pg_stat_activity视图需要开启追踪功能,查看线程池视图LOCAL_THREADPOOL_STATUS需要开启线程池功能)。 参数类型:浮点型 参数单位:无 取值范围:0 ~ 1 默认值:0.9 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • alarm_report_interval 参数说明:指定告警上报的时间间隔。 参数类型:整型 参数单位:s(秒) 取值范围:0 ~ 2147483647 默认值:10 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。设置时取值不能带单位。 设置建议:推荐使用默认值。 设置不当的风险与影响: 该值设置过大时,若指定告警上报时间间隔内检测出多次相同告警,会丢失关键告警。 该值设置过小时,若指定告警上报时间间隔内持续检测出同一告警,告警会频繁上报。
  • PG_AMOP PG_AMOP系统表存储有关和访问方法操作符族关联的信息。如果一个操作符是一个操作符族中的成员,则在这个表中会占据一行。一个族成员是一个search操作符或一个ordering操作符。一个操作符可以在多个族中出现,但是不能在一个族中的多个搜索位置或多个排序位置中出现。 表1 PG_AMOP字段 名称 类型 引用 描述 oid oid - 行标识符(隐含属性,必须明确选择)。 amopfamily oid PG_OPFAMILY.oid 这个项的操作符族。 amoplefttype oid PG_TYPE.oid 操作符的左输入类型。可能取值及其描述见于7.3 数据类型。 amoprighttype oid PG_TYPE.oid 操作符的右输入类型。可能取值及其描述见于7.3 数据类型。 amopstrategy smallint - 操作符策略数。 amoppurpose "char" - 操作符目的。 s:表示搜索。 o:表示排序。 amopopr oid PG_OPERATOR.oid 该操作符的OID。 amopmethod oid PG_AM.oid 索引访问方式操作符族。 amopsortfamily oid PG_OPFAMILY.oid 如果是一个排序操作符,则为这个项排序所依据的btree操作符族;如果是一个搜索操作符,则为0。 search操作符表明这个操作符族的一个索引可以被搜索,找到所有满足WHERE indexed_column operator constant的行。显然,这样的操作符必须返回布尔值,并且它的左输入类型必须匹配索引的字段数据类型。 ordering操作符表明这个操作符族的一个索引可以被扫描,返回以ORDER BY indexed_column operator constant顺序表示的行。这样的操作符可以返回任意可排序的数据类型,它的左输入类型也必须匹配索引的字段数据类型。 ORDER BY的确切的语义是由amopsortfamily字段指定的,该字段必须为操作符的返回类型引用一个btree操作符族。 父主题: 其他系统表
  • ADM_SCHEDULER_RUNNING_JOBS ADM_SCHEDULER_RUNNING_JOBS视图显示数据库中所有正在执行的DBE_SCHEDULER定时任务的信息。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_SCHEDULER_RUNNING_JOBS字段 名称 类型 描述 owner character varying(128) 定时任务所有者。 job_name character varying(128) 定时任务名。 job_subname character varying(128) 暂不支持,值为NULL。 job_style character varying(17) 定时任务行为模式,创建时指定,仅支持指定为“REGULAR”,不指定时为NULL。 detached character varying(5) 暂不支持,值为NULL。 session_id numeric 执行该定时任务的会话ID。 slave_process_id numeric 暂不支持,值为NULL。 slave_os_process_id character varying(12) 执行该任务的进程号。 running_instance numeric 暂不支持,值为NULL。 resource_consumer_group character varying(32) 暂不支持,值为NULL。 elapsed_time interval day to second(2) 定时任务本次已执行的时长。 cpu_used interval day to second(2) 暂不支持,值为NULL。 destination_owner character varying(261) 暂不支持,值为NULL。 destination character varying(261) 定时任务目标名称。 credential_owner character varying(128) 暂不支持,值为NULL。 credential_name character varying(128) 定时任务证书名称。 log_id numeric 暂不支持,值为NULL。 父主题: 其他系统视图
  • DBE_PLDEVELOPER.gs_errors 用于记录PL/SQL对象(存储过程、函数、包、包体)编译过程中遇到的报错信息,如表1所示。 打开plsql_show_all_error参数后,如果编译过程中存在报错,则会跳过报错继续编译并把报错信息记录在gs_errors中,如果关闭plsql_show_all_error参数,且behavior_compat_options参数不为skip_insert_gs_source,则会直接将报错信息插入此表中。 该表的owner是创建的用户,修改存储过程或者package的owner不会修改该表信息。 创建包头时的开头(as/is之前)和结尾(end之后),如果出现错误,不会记录在gs_errors表格里面,会直接在客户端返回错误的行号和该行具体内容,返回的行号不一定准确。个别is本身和end本身错误场景也不会记录在gs_errors表格里面。 创建包体时的开头(as/is之前)和结尾(end之后),如果出现错误,不会记录在gs_errors表格里面,会直接在客户端返回错误的行号和该行具体内容,返回的行号不一定准确。个别is本身和end本身错误场景也不会记录在gs_errors表格里面。 创建包体时,函数或者存储过程的结尾(end之后),如果出现错误,不会记录在gs_errors表格里面,会直接在客户端返回错误的行号和该行具体内容,行号不一定准确。 创建包体时,函数或者存储过程的开头(as/is 以及 as/is之前),如果出现错误,报错行数不准确。 创建包头时,变量声明少分号,会记录在gs_errors表格里面,记录的报错行号不准确。开启参数不会记录。 包体内存储过程或函数内部,自治事务标识符PRAGMA AUTONOMOUS_TRANSACTION声明错误时,不能确保是否能记录在gs_errors表里。 客户端直接报错,但是gs_errors表格未记录的情况,如果客户端报错行号不对,本需求不纠正已报错的行号。 对于类似if ....then、for....loop、when .... then语句中间的错误或EXCEPTION本身错误,报错行号在本行,而不是下一个分号所在行。 包内存储过程或函数内部begin本身错误的场景,报错行数不准。 gs_errors权限与pg_catalog下的系统表保持一致(系统管理员与普通用户不允许drop、alter、delete、update、insert,允许select),利用allow_system_table_mods这个guc控制前向兼容(允许drop、alter、delete、update、insert以及select),此guc参数默认为off,修改此guc参数生效需要重启数据库。 表1 DBE_PLDEVELOPER.gs_errors字段 名称 类型 描述 id oid 对象id。 owner bigint 对象创建用户id。 nspid oid 对象的模式id。 name name 对象名。 type text 对象类型(procedure/function/package/package body)。 line integer 行号。 src text 报错信息。 父主题: DBE_PLDEVELOPER
  • PG_COMM_RECV_STREAM PG_COMM_RECV_STREAM视图展示单个DN上所有的通信库接收流状态。 表1 PG_COMM_RECV_STREAM字段 名称 类型 描述 node_name text 节点名称。 local_tid bigint 使用此通信流的线程ID。 remote_name text 连接对端节点名称。 remote_tid bigint 连接对端线程ID。 idx integer 通信对端DN在本DN内的标识编号。 sid integer 通信流在物理连接中的标识编号。 tcp_sock integer 通信流所使用的tcp通信socket。 state text 通信流当前的状态。 UNKNOWN:表示当前逻辑连接状态未知。 READY:表示逻辑连接已就绪。 RUN:表示逻辑连接发送报文正常。 HOLD:表示逻辑连接发送报文等待中。 CLOSED:表示关闭逻辑连接。 TO_CLOSED:表示将会关闭逻辑连接。 query_id bigint 通信流对应的debug_query_id编号。 pn_id integer 通信流所执行查询的plan_node_id编号。 send_smp integer 通信流所执行查询send端的smpid编号。 recv_smp integer 通信流所执行查询recv端的smpid编号。 recv_bytes bigint 通信流接收的数据总量,单位Byte。 time bigint 通信流当前生命周期使用时长,单位ms。 speed bigint 通信流的平均接收速率,单位Byte/s。 quota bigint 通信流当前的通信配额值,单位Byte。 buff_usize bigint 通信流当前缓存的数据大小,单位Byte。 父主题: 通信
  • GLOBAL_DOUBLE_WRITE_STATUS GLOBAL_DOUBLE_WRITE_STATUS视图显示数据库所有实例的双写文件的情况,如表1所示。多租场景下,non-PDB访问该视图时返回全部信息,PDB访问该视图时返回空列表。 表1 GLOBAL_DOUBLE_WRITE_STATUS字段 名称 类型 描述 node_name text 实例名称。 curr_dwn bigint 当前双写文件的序列号。 curr_start_page bigint 当前双写文件恢复起始页面。 file_trunc_num bigint 当前双写文件复用的次数。 file_reset_num bigint 当前双写文件写满后发生重置的次数。 total_writes bigint 当前双写文件总的I/O次数。 low_threshold_writes bigint 低效率写双写文件的I/O次数。 high_threshold_writes bigint 高效率写双写文件的I/O次数。 total_pages bigint 当前刷页到双写文件区的总的页面个数。 low_threshold_pages bigint 低效率刷页的页面个数。 high_threshold_pages bigint 高效率刷页的页面个数。 file_id bigint 当前双写文件的id号。 父主题: Utility
  • 示例 --创建server。 gaussdb=# CREATE SERVER my_server FOREIGN DATA WRAPPER log_fdw; --创建外表。 gaussdb=# CREATE FOREIGN TABLE foreign_tbl (col1 text) SERVER my_server OPTIONS (logtype 'gs_log'); --修改外表属性。 gaussdb=# ALTER FOREIGN TABLE foreign_tbl OPTIONS (ADD latest_files '2'); gaussdb=# ALTER FOREIGN TABLE foreign_tbl OPTIONS ( SET latest_files '5'); gaussdb=# ALTER FOREIGN TABLE foreign_tbl OPTIONS ( DROP latest_files); --删除外表。 gaussdb=# DROP FOREIGN TABLE foreign_tbl; --删除server。 gaussdb=# DROP SERVER my_server;
  • 配置设置函数 配置设置函数可以用于查询以及修改运行时配置参数的函数。 current_setting(setting_name) 描述:当前的设置值。 返回值类型:text 备注:current_setting用于以查询形式获取setting_name的当前值。和SQL语句SHOW是等效的。比如: 1 2 3 4 5 6 gaussdb=# SELECT current_setting('datestyle'); current_setting ----------------- ISO, MDY (1 row) set_working_grand_version_num_manually(tmp_version) 描述:通过切换授权版本号来更新和升级数据库的新特性。 返回值类型:void shell_in(type) 描述: 为shell类型输入路由(那些尚未填充的类型)。 返回值类型:void shell_out(type) 描述:为shell 类型输出路由(那些尚未填充的类型)。 返回值类型:void set_config(setting_name, new_value, is_local) 描述:设置参数并返回新值。 返回值类型:text 备注:set_config将参数setting_name设置为new_value。如果is_local为true,则new_value将只应用于当前事务。如果希望new_value应用于当前会话,可以使用false,和SQL语句SET是等效的。例如: 1 2 3 4 5 6 gaussdb=# SELECT set_config('log_statement_stats', 'off', false); set_config ------------ off (1 row) 父主题: 系统管理函数
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 gaussdb=# DROP TABLE t1; gaussdb=# CREATE TABLE t1(a int); gaussdb=# INSERT INTO t1 VALUES(1),(10); --RETURN NEXT gaussdb=# CREATE OR REPLACE FUNCTION fun_for_return_next() RETURNS SETOF t1 AS $$ DECLARE r t1%ROWTYPE; BEGIN FOR r IN select * from t1 LOOP RETURN NEXT r; END LOOP; RETURN; END; $$ LANGUAGE plpgsql; gaussdb=# call fun_for_return_next(); a --- 1 10 (2 rows) -- RETURN QUERY gaussdb=# CREATE OR REPLACE FUNCTION fun_for_return_query() RETURNS SETOF t1 AS $$ DECLARE r t1%ROWTYPE; BEGIN RETURN QUERY select * from t1; END; $$ language plpgsql; gaussdb=# call fun_for_return_query(); a --- 1 10 (2 rows)
  • 语法 创建函数时需要指定返回值SETOF datatype。 return_next_clause::= return_query_clause::= 对以上语法的解释如下: 当需要函数返回一个集合时,使用RETURN NEXT或者RETURN QUERY向结果集追加结果,然后继续执行函数的下一条语句。随着后续的RETURN NEXT或RETURN QUERY命令的执行,结果集中会有多个结果。函数执行完成后会一起返回所有结果。 RETURN NEXT可用于标量和复合数据类型。 RETURN QUERY有一种变体RETURN QUERY EXECUTE,后面还可以增加动态查询,通过USING向查询插入参数。
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 BEGIN DBE_OUTPUT.SET_BUFFER_SIZE(50); DBE_OUTPUT.PRINT('hello, '); DBE_OUTPUT.PRINT_LINE('database!');--输出hello, database! END; / -- 预期结果为: hello, database! ANONYMOUS BLOCK EXECUTE -- 测试disable禁用put、put_line、new_line、get_line、get_lines调用,测试put_line不输出 BEGIN dbe_output.disable(); dbe_output.put_line('1'); END; / -- 预期结果为: ANONYMOUS BLOCK EXECUTE -- 测试enable启用put、put_line、new_line、get_line、get_lines调用,测试put_line输出1 BEGIN dbe_output.enable(); dbe_output.put_line('1'); END; / -- 预期结果为: 1 ANONYMOUS BLOCK EXECUTE -- 测试put,输入字符串a放入到缓冲区,末尾不加换行符,a不输出 BEGIN dbe_output.enable(); dbe_output.put('a'); END; / -- 预期结果为: ANONYMOUS BLOCK EXECUTE -- 测试new_line,添加换行,输出a BEGIN dbe_output.enable(); dbe_output.put('a'); dbe_output.new_line; END; / -- 预期结果为: a ANONYMOUS BLOCK EXECUTE -- 测试get_line获取缓冲区数据保存到变量,使用put_line输出 DECLARE line VARCHAR(32672); status INTEGER := 0; BEGIN dbe_output.put_line('hello'); dbe_output.get_line(line, status); dbe_output.put_line('-----------'); dbe_output.put_line(line); dbe_output.put_line(status); END; / -- 预期结果为: ----------- hello 0 ANONYMOUS BLOCK EXECUTE -- 测试get_lines获取缓冲区多行内容,使用put_line输出 DECLARE lines varchar[]; linenum integer; BEGIN dbe_output.put_line('line 1'); dbe_output.put_line('line 2'); dbe_output.put_line('line 3'); linenum := 100; dbe_output.get_lines(lines, linenum); dbe_output.put_line('num: ' || linenum); FOR i IN 1 .. linenum LOOP dbe_output.put_line(lines[i]); END LOOP; END; / -- 预期结果为: num: 3 line 1 line 2 line 3 ANONYMOUS BLOCK EXECUTE 当服务端的字符编码类型server_encoding不为UTF-8时,如果数据中存在字符编码属于合法的UTF-8编码,DBE_OUTPUT.PUTLINE函数和DBE_OUTPUT.PUT函数在处理该字符编码时会将其按照UTF8编码逻辑进行处理,将其先转换成server_encoding的编码格式后再进行后续操作,这样可能会导致函数返回值不符合预期或发生报错;当开启GUC参数enable_convert_illegal_char后,DBE_OUTPUT.PUTLINE函数和DBE_OUTPUT.PUT函数在处理此类编码的表现与参数关闭时保持一致,特殊字符不会以占位符形式输出。因此,不建议用户对含有特殊字符的数据使用DBE_OUTPUT.PUTLINE函数和DBE_OUTPUT.PUT函数。
  • 接口介绍 高级功能包DBE_OUTPUT支持的所有接口请参见表 DBE_OUTPUT。 表1 DBE_OUTPUT 接口名称 描述 DBE_OUTPUT.PRINT_LINE 输出指定的文本,并添加换行符。 DBE_OUTPUT.PRINT 输出指定的文本,不添加换行符。 DBE_OUTPUT.SET_BUFFER_SIZE 设置输出缓冲区的大小,如果不指定则缓冲区最大能容纳20000字节,如果指定小于等于2000字节,则缓冲区允许容纳2000字节。 DBE_OUTPUT.DISABLE 禁用PUT、PUT_LINE、NEW_LINE、GET_LINE和GET_LINES调用,并清空输出缓冲区。 DBE_OUTPUT.ENABLE 开启缓冲区,允许对PUT、PUT_LINE、NEW_LINE、GET_LINE和GET_LINES的调用,设置缓冲区大小。 DBE_OUTPUT.GET_LINE 从缓冲区中以换行符作为分界获取一行数据,获取的数据将不会输出到客户端。 DBE_OUTPUT.GET_LINES 以VARCHAR数组的形式获取缓冲区的指定行数的字符串,被取出的内容将会在缓冲区中清除,不会输出到客户端。 DBE_OUTPUT.NEW_LINE 放置一行在缓冲区末尾,放置行尾标记,空出新的一行。 DBE_OUTPUT.PUT 将输入字符串放入到缓冲区,末尾不加换行符,在匿名块执行结束时会将以换行符结尾的行输出显示。 DBE_OUTPUT.PUT_LINE 将输入字符串放入到缓冲区,并末尾添加换行符,在匿名块执行结束时会将以换行符结尾的行输出显示。 DBE_OUTPUT.PRINT_LINE 存储过程PRINT_LINE输出指定的文本,并添加换行符。DBE_OUTPUT.PRINT_LINE函数原型为: 1 2 DBE_OUTPUT.PRINT_LINE ( format IN VARCHAR2); 表2 DBE_OUTPUT.PRINT_LINE接口参数说明 参数 描述 format 输出的文本。 DBE_OUTPUT.PRINT 存储过程PRINT输出指定的文本,不添加换行符。DBE_OUTPUT.PRINT函数原型为: 1 2 DBE_OUTPUT.PRINT ( format IN VARCHAR2); 表3 DBE_OUTPUT.PRINT接口参数说明 参数 描述 format 输出的文本。 DBE_OUTPUT.SET_BUFFER_SIZE 存储过程SET_BUFFER_SIZE设置输出缓冲区的大小,如果不指定的话缓冲区最大只能容纳20000字节。DBE_OUTPUT.SET_BUFFER_SIZE函数原型为: 1 2 DBE_OUTPUT.SET_BUFFER_SIZE ( size IN INTEGER default 20000); 表4 DBE_OUTPUT.SET_BUFFER_SIZE接口参数说明 参数 描述 size 设置输出缓冲区的大小。
  • 参数说明 table_name 要插入数据的目标表名。 取值范围:已存在的表名。 col_name 目标表中的字段名。 字段名可以由子字段名或者数组下标修饰。 没有在字段列表中出现的每个字段,将由系统默认值,或者声明时的默认值填充,若都没有则用NULL填充。例如,向一个复合类型中的某些字段插入数据,那么其他字段将是NULL。 目标字段(col_name)可以按顺序排列。如果没有列出任何字段,则默认全部字段,且顺序为表声明时的顺序。 如果VALUE子句和QUERY中只提供了N个字段,则目标字段为前N个字段。 VALUE子句和QUERY提供的值在表中从左到右关联到对应列。 取值范围:已存在的字段名。 PARTITION ( partition_name [, ... ] ) 指定分区插入操作。其中partition_name为分区名。 如果VALUE子句的值和指定分区不一致,结果会提示异常。 value 待插入的值,value格式为: { expression | DEFAULT } expression表示赋予对应列一个有效表达式或值 向表中字段插入单引号 " ' "时需要使用单引号自身进行转义。 如果插入行的表达式不是正确的数据类型,系统试图进行类型转换,若转换不成功,则插入数据失败,系统返回错误信息。 DEFAULT表示对应字段名的缺省值。如果没有缺省值,则为NULL。 query 一个查询语句(SELECT语句),将查询结果作为插入的数据。
  • 语法格式 值替换插入。 REPLACE [ INTO ] table_name [ PARTITION ( partition_name [, ... ] ) ] [ ( col_name [, ... ] ) ] { VALUES | VALUE } ( value [, ... ] ) [, ... ]; --其中value格式为: { expression | DEFAULT } 查询替换插入。 REPLACE [ INTO ] table_name [ PARTITION ( partition_name [, ... ] ) ] [ ( col_name [, ... ]) ] query; 设置指定字段值。 REPLACE [ INTO ] table_name [ PARTITION ( partition_name [, ... ] ) ] SET col_name = value [, ... ]; --其中value格式为: { expression | DEFAULT }
  • 示例 --创建一个新表test。 gaussdb=# CREATE TABLE test(f1 int primary key, f2 int, f3 int); --插入3条数据。 gaussdb=# INSERT INTO test VALUES(1, 1, 1), (2, 2, 2), (3, 3, 3); INSERT 0 3 --值替换插入数据。 gaussdb=# REPLACE INTO test VALUES(1, 11, 11); REPLACE 0 2 --查询值替换插入的结果。 gaussdb=# SELECT * FROM test WHERE f1 = 1; f1 | f2 | f3 ----+----+---- 1 | 11 | 11 (1 row) --查询替换插入数据。 gaussdb=# REPLACE INTO test SELECT 2, 22, 22; REPLACE 0 2 --查询查询替换插入的结果。 gaussdb=# SELECT * FROM test WHERE f1 = 2; f1 | f2 | f3 ----+----+---- 2 | 22 | 22 (1 row) --设置指定字段替换插入数据。 gaussdb=# REPLACE INTO test SET f1 = f1 + 3, f2 = f1 * 10 + 3, f3 = f2; REPLACE 0 2 --查询设置指定字段替换插入数据的结果。 gaussdb=# SELECT * FROM test WHERE f1 = 3; f1 | f2 | f3 ----+----+---- 3 | 33 | 33 (1 row) --删除表格test。 gaussdb=# DROP TABLE test;
  • STREAMING_CONT_QUERY STREAMING_CONT_QUERY系统表存储所有CONTVIEW对象的元数据信息。 表1 STREAMING_CONT_QUERY字段 名称 类型 描述 id integer CONTVIEW对象唯一的标识符,不可重复。 type "char" 标识CONTVIEW的类型。 'r':表示该CONTVIEW是基于行存存储模型。 relid oid CONTVIEW对象的标识。 defrelid oid CONTVIEW对应的持续计算规则VIEW的标识。 active boolean 标识CONTVIEW是否处于持续计算状态。 t(true):表示是。 f(false):表示不是。 streamrelid oid CONTVIEW对应的STREAM的标识。 matrelid oid CONTVIEW对应物化表的标识。 lookupidxid oid CONTVIEW对应GROUP LOOK UP INDEX的标识,此字段内部使用,仅行存具有。 step_factor smallint 标识CONTVIEW的步进模式。主要取值为0(无重叠窗口)和1(滑动窗口,步长为1)。 ttl integer CONTVIEW设置的ttl_interval参数值。 ttl_attno smallint CONTVIEW设置的TTL功能对应时间列的字段编号。 dictrelid oid CONTVIEW对应字典表的标识。 grpnum smallint CONTVIEW持续计算规则中维度列的个数,此字段内部使用。 grpidx int2vector CONTVIEW持续计算规则中维度列在TARGET LIST的索引,此字段内部使用。 父主题: 其他系统表
  • cache_connection 参数说明:是否回收连接池的连接。 参数类型:布尔型 参数单位:无 取值范围: on:表示回收连接池的连接。 off:表示不回收连接池的连接。 默认值:on 设置方式:该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:关闭该参数后,会话执行语句结束后会直接清理掉持有的连接,导致业务频繁建立连接,对性能有一定损耗。 集中式中该参数不生效。
  • SESSION_STAT 当前节点以会话线程或AutoVacuum线程为单位,统计会话状态信息,如表1所示。 表1 SESSION_STAT字段 名称 类型 描述 sessid text 线程启动时间+线程标识。 statid integer 统计编号。 statname text 统计会话名称。 statunit text 统计会话单位。 value bigint 统计会话值。 父主题: Session/Thread
  • 注意事项 触发器所在表的所有者或者被授予了ALTER ANY TRIGGER权限的用户可以执行ALTER TRIGGER操作,系统管理员默认拥有此权限。 若要修改触发器owner,当前用户必须是该触发器的所有者或者系统管理员,且当前用户必须是新owner所属角色的直接或者间接成员。新owner必须有触发器所在模式上的CREATE权限。三权分立开关关闭时,系统管理员默认拥有该权限。当三权分立开关打开时,系统管理员默认没有该权限。 只有初始化用户才能修改触发器的owner为初始化用户。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全