华为云用户手册

  • enable_global_plancache 参数说明:设置是否对PBE查询和存储过程中语句的执行计划进行缓存共享,开启该功能可以节省高并发下数据库节点的内存使用。 在打开enable_global_plancache的情况下,为保证GPC生效,默认local_syscache_threshold不小于16MB。即如当前local_syscache_threshold小于16MB,则设置为16MB,如大于16MB,则不改变。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型。 on表示对PBE查询和存储过程中语句的执行计划进行缓存共享。 off表示不共享。 默认值:off
  • cost_param 参数说明:该参数用于控制在特定的客户场景中,使用不同的估算方法使得估算值与真实值更接近。此参数可以同时控制多种方法,与某一方法对应的位做与操作,不为0表示该方法被选择。 当cost_param & 1 不为0,表示对于求不等值连接选择率时选择一种改良机制,此方法在自连接(两个相同的表之间连接)的估算中更加准确。目前,已弃用cost_param & 1 不为0时的路径,默认选择更优的估算公式; 当cost_param & 2 不为0,表示求多个过滤条件(Filter)的选择率时,选择最小的作为总的选择率,而非两者乘积,此方法在过滤条件的列之间关联性较强时估算更加准确; 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~INT_MAX 默认值:0
  • var_eq_const_selectivity 参数说明:整型const选择率是否使用新型选择率模型进行估算。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示使用新型选择率模型计算整型const的选择率: 若整型不落入MCV且不为NULL值,但落入直方图,则利用直方图左右边界情况进行估算;不落入直方图,则使用表的行数进行估算。 若整型为NULL值或者MCV值,使用原逻辑计算选择率。 off表示使用原有的选择率计算模型。 默认值:off
  • analysis_options 参数说明:通过开启对应选项中所对应的功能选项使用相应的定位功能,包括数据校验、性能统计等,参见取值范围中的选项说明。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 LLVM_COMPILE表示在explain performance显示界面中显示每个线程的codegen编译时间,当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。。 HASH_CONFLICT表示在数据库节点进程的pg_log目录中的log日志中显示hash表的统计信息,包括hash表大小、hash链长、hash冲突情况。 STREAM_DATA_CHECK表示对网络传输前后的数据进行CRC校验。 默认值:ALL,on(),off(LLVM_COMPILE,HASH_CONFLICT,STREAM_DATA_CHECK),不开启任何定位功能。
  • enable_opfusion 参数说明:控制是否对简单增删改查进行优化。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 简单查询限制如下: 只支持indexscan和indexonlyscan,且全部WHERE语句的过滤条件都在索引上。 只支持单表增删改查,不支持join、using。 只支持行存表,不支持分区表,表不支持有触发器。 不支持active sql、QPS等信息统计特性。 不支持正在扩容和缩容的表。 不支持查询或者修改系统列。 只支持简单SELECT语句,例如: SELECT c3 FROM t1 WHERE c1 = ? and c2 =10; 仅可以查询目标表的列,c1和c2列为索引列,后边可以是常量或者参数,可以使用 for update。 只支持简单INSERT语句,例如: INSERT INTO t1 VALUES (?,10,?); 仅支持一个VALUES,VALUES里面的类型可以是常量和参数,不支持returning。 只支持简单DELETE语句,例如: DELETE FROM t1 WHERE c1 = ? and c2 = 10; c1和c2列为索引列,后边可以是常量或者参数。 只支持简单UPDATE语句,例如: UPDATE t1 SET c3 = c3+? WHERE c1 = ? and c2 = 10; c3列修改的值可以是常量和参数,也可以是一个简单的表达式,c1和c2列为索引列,后边可以是常量或者参数。 取值范围:布尔型 on表示使用。 off表示不使用。 默认值:on
  • 设置回调 设置回调操作,当告警或者错误发生时,直接执行具体操作进行处理,设置回调命令如下: EXEC SQL WHENEVER condition action; condition取值范围: SQLERROR:当在SQL语句执行期间发生错误时,调用指定操作。 SQLWARNING:当在SQL语句执行期间发生告警时,调用指定操作。 NOT FOUND:当SQL语句检索或者影响零行,则调用指定操作。 action取值范围: CONTINUE:忽略回调错误条件,继续执行,通常可以用来停止break包含条件,为缺省值。 GOTO label/GO TO label:跳转到指定标签(使用C语言goto语句)。 SQLPRINT:输出消息到标准错误。 STOP:调用exit(1),终止程序。 DO BREAK:执行C语句break,只有在循环中或者switch语句中使用。 SQLCALL name (args) / DO name (args):调用具有指定参数的指定C语言函数(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)。 示例如下: /* 当出现一个告警时它打印一个消息,发生一个错误时中止程序。 */ EXEC SQL WHENEVER SQLWARNING SQLPRINT; EXEC SQL WHENEVER SQLERROR STOP; 语句EXEC SQL WHENEVER是SQL预处理器的一个指令,而非一个C语言语句。不管C语言程序的流程如何,该语句设置的错误或告警动作都适用于位于处理程序设置点之后的嵌入式SQL语句,除非第一个EXEC SQL WHENEVER语句和导致错误或告警情况发生的SQL语句之间为同一个情况设置了不同的动作。因此下面的两个C语言程序都不会得到预期的效果: /* * 错误 */ int main(int argc, char *argv[]) { ... if (verbose) { EXEC SQL WHENEVER SQLWARNING SQLPRINT; } ... EXEC SQL SELECT ...; ... } /* * 错误 */ int main(int argc, char *argv[]) { ... set_error_handler(); ... EXEC SQL SELECT ...; ... } static void set_error_handler(void) { EXEC SQL WHENEVER SQLERROR STOP; } 当使用DO BREAK时只能用于while/for/switch场景,且用完需要使用CONTINUE语句忽略。 父主题: 错误处理
  • GS_WLM_EC_OPERATOR_STATIS TICS GS_WLM_EC_OPERATOR_STATISTI CS 视图显示当前用户正在执行的EC(Extension Connector)作业的算子相关信息。查询该视图需要sysadmin权限。当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 当查询视图无数据显示时,请联系华为工程师提供技术支撑。 表1 表1 GS_WLM_EC_OPERATOR_STATISTICS的字段 名称 类型 描述 queryid bigint EC语句执行使用的内部query_id。 plan_node_id integer EC算子对应的执行计划的plan node id。 start_time timestamp with time zone EC算子处理第一条数据的开始时间。 ec_status text EC作业的执行状态。 EC_STATUS_INIT:初始化。 EC_STATUS_CONNECTED:已连接。 EC_STATUS_EXECUTED:已执行。 EC_STATUS_FETCHING:获取中。 EC_STATUS_END:已结束。 ec_execute_datanode text 执行EC作业的DN名称。 ec_dsn text EC作业所使用的DSN。 ec_username text EC作业访问远端数据库实例的USERNAME(远端数据库实例为SPARK类型时该值为空)。 ec_query text EC作业发送给远端数据库实例执行的语句。 ec_libodbc_type text EC作业使用的unixODBC驱动类型。 类型1:对应 libodbc.so.1。 类型2:对应 libodbc.so.2。 ec_fetch_count bigint EC作业当前处理的数据条数。 父主题: 系统视图
  • GS_WLM_REBUILD_USER_RESOURCE_POOL 该视图用于在当前连接节点上重建内存中用户的资源池信息,无输出。只是用于资源池信息缺失或者错乱时用作补救措施。查询该视图需要sysadmin权限。当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 表1 GS_WLM_REBUILD_USER_RESOURCE_POOL的字段 名称 类型 描述 gs_wlm_rebuild_user_resource_pool boolean 重建内存中用户资源池信息结果。t为成功,f为失败。 父主题: 系统视图
  • 参数说明 IF NOT EXISTS 如果系统已经存在一个同名的扩展,不会报错。这种情况下会给出一个提示。请注意该参数不保证系统存在的扩展和现在脚本创建的扩展相同。 extension_name 将被安装扩展的名字,数据库将使用文件SHAREDIR/extension/extension_name.control中的详细信息创建扩展。 schema_name 扩展的实例被安装在该模式下,扩展的内容可以被重新安装。指定的模式必须已经存在,如果没有指定,扩展的控制文件也不指定一个模式,这样将使用默认模式。 扩展不认为它在任何模式里面:扩展在一个数据库范围内的名字是不受限制的,但是一个扩展的实例是属于一个模式的。 version 安装扩展的版本,可以写为一个标识符或者字符串.默认的版本在扩展的控制文件中指定。 old_version 当你想升级安装"old style" 模块中没有的内容时,你必须指定FROM old_version。这个选项使CREATE EXTENSION 运行一个安装脚本将新的内容安装到扩展中,而不是创建一个新的实体。注意:SCHEMA指定了包括这些已存在实体的模式。
  • 注意事项 在使用CREATE EXTENSION载入扩展到数据库中之前,必须先安装好该扩展的支持文件。 CREATE EXTENSION命令安装一个新的扩展到一个数据库中,必须保证没有同名的扩展已经被安装。 安装一个扩展意味着执行一个扩展的脚本文件,这个脚本会创建一个新的SQL实体,例如函数、数据类型、操作符和索引支持的方法。 安装扩展需要有和创建他的组件对象相同的权限。对于大多数扩展这意味着需要超户或者数据库所有者的权限,对于后续的权限检查和该扩展脚本所创建的实体,运行CREATE EXTENSION命令的角色将变为扩展的所有者。 CREATE EXTENSION时如果数据库中存在与EXTENSION内同名的PACKAGE、同义词、操作符、目录、函数、存储过程、视图、表这些数据库对象,将会导致CREATE EXTENSION失败。 数据库禁止直接创建扩展,因为扩展可能会引起非预期的错误,且在升级后面临不兼容的问题。如果需要创建扩展,需要设置enable_extension为true才能够创建。 CREATE EXTENSION时,如果enable_object_special_character值为off,且扩展的脚本文件中使用"@extschema@",那么扩展的支持文件中schema参数的值不能包含["$'\]中任意特殊字符。
  • 示例 --创建一个角色,名为manager,密码为********。 gaussdb=# CREATE ROLE manager IDENTIFIED BY '********'; --创建一个角色,从2015年1月1日开始生效,到2026年1月1日失效。 gaussdb=# CREATE ROLE miriam WITH LOG IN PASSWORD '********' VALID BEGIN '2015-01-01' VALID UNTIL '2026-01-01'; --修改角色manager的密码为**********。 gaussdb=# ALTER ROLE manager IDENTIFIED BY '**********' REPLACE '********'; --修改角色manager为系统管理员。 gaussdb=# ALTER ROLE manager SYSADMIN; --删除角色manager。 gaussdb=# DROP ROLE manager; --删除角色miriam。 gaussdb=# DROP ROLE miriam;
  • 语法格式 CREATE ROLE role_name [ [ WITH ] option [ ... ] ] [ ENCRYPTED | UNENCRYPTED ] { PASSWORD | IDENTIFIED BY } { 'password' [EXPIRED] | DISABLE }; 其中角色信息设置子句option语法为: {SYSADMIN | NOSYSADMIN} | {MONADMIN | NOMONADMIN} | {OPRADMIN | NOOPRADMIN} | {POLADMIN | NOPOLADMIN} | {AUDITADMIN | NOAUDITADMIN} | {CREATEDB | NOCREATEDB} | {USEFT | NOUSEFT} | {CREATEROLE | NOCREATEROLE} | {INHERIT | NOINHERIT} | {LOGIN | NOLOGIN} | {REPLICATION | NOREPLICATION} | {INDEPENDENT | NOINDEPENDENT} | {VCADMIN | NOVCADMIN} | {PERSISTENCE | NOPERSISTENCE} | CONNECTION LIMIT connlimit | VALID BEGIN 'timestamp' | VALID UNTIL 'timestamp' | RESOURCE POOL 'respool' | USER GROUP 'groupuser' | PERM SPACE 'spacelimit' | TEMP SPACE 'tmpspacelimit' | SPILL SPACE 'spillspacelimit' | NODE GROUP logic_cluster_name | IN ROLE role_name [, ...] | IN GROUP role_name [, ...] | ROLE role_name [, ...] | ADMIN rol e_name [, ...] | USER role_name [, ...] | SYSID uid | DEFAULT TABLESPACE tablespace_name | PROFILE DEFAULT | PROFILE profile_name | PGUSER
  • 扩展语法 GaussDB 提供的扩展语法如下。 表1 扩展SQL语法 类别 语法关键字 描述 创建表CREATE TABLE INHERITS ( parent_table [, ... ] ) 目前保留继承表语法,但是不支持继承表。 column_constraint: REFEREN CES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ][ ON DELETE action ] [ ON UPDATE action ] 支持用REFERENCES reftable[ ( refcolumn ) ] [ MATCH FULL |MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] 为表创建外键约束。 加载模块 CREATE EXTENSION 把一个新的模块加载进当前数据库中。当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 DROP EXTENSION 删除已加载的模块。当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 聚集函数 CREATE AGGREGATE 定义一个新的聚集函数。 ALTER AGGREGATE 修改一个聚集函数的定义。 DROP AGGREGATE 删除一个现存的聚集函数。 父主题: 附录
  • PG_WLM_STATISTICS PG_WLM_STATISTICS视图显示作业结束后或已被处理异常后的负载管理(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)相关信息。查询该视图需要sysadmin权限。 表1 PG_WLM_STATISTICS字段 名称 类型 描述 statement text 执行了异常处理的语句。 block_time bigint 语句执行前的阻塞时间。 elapsed_time bigint 语句的实际执行时间。 total_cpu_time bigint 语句执行异常处理时数据库实例上CPU使用的总时间。 qualification_time bigint 语句检查倾斜率的时间周期。 cpu_skew_percent integer 语句在执行异常处理时数据库实例上CPU使用的倾斜率。 control_group text 语句执行异常处理时所使用的Cgroups。 status text 语句执行异常处理后的状态,包括: pending:执行前预备状态。 running:执行进行状态。 finished:执行正常结束。 abort:执行异常终止。 action text 语句执行的异常处理动作,包括: abort:执行终止操作。 adjust:执行Cgroups调整操作,目前只有降级操作。 finish:正常结束。 父主题: 系统视图
  • STATEMENT_IOSTAT_COMPLEX_RUNTIME STATEMENT_IOSTAT_COMPLEX_RUNTIME视图显示当前用户执行作业正在运行时的I/O负载管理(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)相关信息。以下涉及到iops,对于行存,均以万次/s为单位,对于列存,均以次/s为单位。 表1 STATEMENT_IOSTAT_COMPLEX_RUNTIME字段 名称 类型 描述 query_id bigint 作业id。 mincurriops integer 该作业当前I/O在各数据库节点中的最小值。 maxcurriops integer 该作业当前I/O在各数据库节点中的最大值。 minpeakiops integer 在作业运行时,作业I/O峰值中,各数据库节点的最小值。 maxpeakiops integer 在作业运行时,作业I/O峰值中,各数据库节点的最大值。 io_limits integer 该作业所设GUC参数io_limits。 io_priority text 该作业所设GUC参数io_priority。 query text 作业。 node_group text 作业所属用户对应的逻辑数据库。 curr_io_limits integer 使用io_priority管控I/O时的实时io_limits值。 父主题: Session/Thread
  • GLOBAL_STATEMENT_COMPLEX_HISTORY 显示各个节点执行作业结束后的负载管理(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)记录。 表1 GLOBAL_STATEMENT_COMPLEX_HISTORY的字段 名称 类型 描述 datid oid 连接后端的数据库OID。 dbname text 连接后端的数据库名称。 schemaname text 模式的名称。 nodename text 节点名称。 username text 连接到后端的用户名。 application_name text 连接到后端的应用名。 client_addr inet 连接到后端的客户端的IP地址。 如果此字段是null,它表明通过服务器机器上UNIX套接字连接客户端或者这是内部进程,如autovacuum。 client_hostname text 客户端的主机名,这个字段是通过client_addr的反向DNS查找得到。这个字段只有在启动log_hostname且使用IP连接时才非空。 client_port integer 客户端用于与后端通讯的TCP端口号,如果使用UNIX套接字,则为-1。 query_band text 用于标示作业类型,可通过GUC参数query_band进行设置,默认为空字符串。 block_time bigint 语句执行前的阻塞时间,包含语句解析和优化时间,单位ms。 start_time timestamp with time zone 语句执行的开始时间。 finish_time timestamp with time zone 语句执行的结束时间。 duration bigint 语句实际执行的时间,单位ms。 estimate_total_time bigint 语句预估执行时间,单位ms。 status text 语句执行结束状态:正常为finished,异常为aborted。 abort_info text 语句执行结束状态为aborted时显示异常信息。 resource_pool text 用户使用的资源池。 control_group text 语句所使用的Cgroup。 estimate_memory integer 语句预估使用内存。 min_peak_memory integer 语句在数据库节点上的最小内存峰值,单位MB。 max_peak_memory integer 语句在数据库节点上的最大内存峰值,单位MB。 average_peak_memory integer 语句执行过程中的内存使用平均值,单位MB。 memory_skew_percent integer 语句数据库节点间的内存使用倾斜率。 spill_info text 语句在数据库节点上的下盘信息: None:数据库节点均未下盘。 All:数据库节点均下盘。 [a:b]:数量为b个数据库节点中有a个数据库节点下盘。 min_spill_size integer 若发生下盘,数据库节点上下盘的最小数据量,单位MB,默认为0。 max_spill_size integer 若发生下盘,数据库节点上下盘的最大数据量,单位MB,默认为0。 average_spill_size integer 若发生下盘,数据库节点上下盘的平均数据量,单位MB,默认为0。 spill_skew_percent integer 若发生下盘,数据库节点间下盘倾斜率。 min_dn_time bigint 语句在数据库节点上的最小执行时间,单位ms。 max_dn_time bigint 语句在数据库节点上的最大执行时间,单位ms。 average_dn_time bigint 语句在数据库节点上的平均执行时间,单位ms。 dntime_skew_percent integer 语句在数据库节点的执行时间倾斜率。 min_cpu_time bigint 语句在数据库节点上的最小CPU时间,单位ms。 max_cpu_time bigint 语句在数据库节点上的最大CPU时间,单位ms。 total_cpu_time bigint 语句在数据库节点上的CPU总时间,单位ms。 cpu_skew_percent integer 语句在数据库节点间的CPU时间倾斜率。 min_peak_iops integer 语句在数据库节点上的每秒最小I/O峰值(列存单位是次/s,行存单位是万次/s)。 max_peak_iops integer 语句在数据库节点上的每秒最大I/O峰值(列存单位是次/s,行存单位是万次/s)。 average_peak_iops integer 语句在数据库节点上的每秒平均I/O峰值(列存单位是次/s,行存单位是万次/s)。 iops_skew_percent integer 语句在数据库节点间的I/O倾斜率。 warning text 主要显示如下几类告警信息: Spill file size large than 256MB Broadcast size large than 100MB Early spill Spill times is greater than 3 Spill on memory adaptive Hash table conflict queryid bigint 语句执行使用的内部query id。 query text 执行的语句。 query_plan text 语句的执行计划。 node_group text 语句所属用户对应的逻辑数据库。 cpu_top1_node_name text cpu使用率第1的节点名称。 cpu_top2_node_name text cpu使用率第2的节点名称。 cpu_top3_node_name text cpu使用率第3的节点名称。 cpu_top4_node_name text cpu使用率第4的节点名称。 cpu_top5_node_name text cpu使用率第5的节点名称。 mem_top1_node_name text 内存使用量第1的节点名称。 mem_top2_node_name text 内存使用量第2的节点名称。 mem_top3_node_name text 内存使用量第3的节点名称。 mem_top4_node_name text 内存使用量第4的节点名称。 mem_top5_node_name text 内存使用量第5的节点名称。 cpu_top1_value bigint cpu使用率。 cpu_top2_value bigint cpu使用率。 cpu_top3_value bigint cpu使用率。 cpu_top4_value bigint cpu使用率。 cpu_top5_value bigint cpu使用率。 mem_top1_value bigint 内存使用量。 mem_top2_value bigint 内存使用量。 mem_top3_value bigint 内存使用量。 mem_top4_value bigint 内存使用量。 mem_top5_value bigint 内存使用量。 top_mem_dn text 内存使用量topN信息。 top_cpu_dn text cpu使用量topN信息。 父主题: Query
  • GS_WLM_OPERATOR_STATISTICS GS_WLM_OPERATOR_STATISTICS视图显示当前用户正在执行的作业的算子相关信息。查询该视图需要sysadmin权限。 当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 当查询视图无数据显示时,请联系华为工程师提供技术支撑。 表1 GS_WLM_OPERATOR_STATISTICS的字段 名称 类型 描述 queryid bigint 语句执行使用的内部query_id。 pid bigint 后端线程id。 plan_node_id integer 查询对应的执行计划的plan node id。 plan_node_name text 对应于plan_node_id的算子的名称。 start_time timestamp with time zone 该算子处理第一条数据的开始时间。 duration bigint 该算子到结束时候总的执行时间(ms)。 status text 当前算子的执行状态,包括finished和running。 query_dop integer 当前算子执行时的并行度。 estimated_rows bigint 优化器估算的行数信息。 tuple_processed bigint 当前算子返回的元素个数。 min_peak_memory integer 当前算子在数据库实例上的最小内存峰值(MB)。 max_peak_memory integer 当前算子在数据库实例上的最大内存峰值(MB)。 average_peak_memory integer 当前算子在数据库实例上的平均内存峰值(MB)。 memory_skew_percent integer 当前算子在数据库实例间的内存使用倾斜率。 min_spill_size integer 若发生下盘,数据库实例上下盘的最小数据量(MB),默认为0。 max_spill_size integer 若发生下盘,数据库实例上下盘的最大数据量(MB),默认为0。 average_spill_size integer 若发生下盘,数据库实例上下盘的平均数据量(MB),默认为0。 spill_skew_percent integer 若发生下盘,数据库实例间下盘倾斜率。 min_cpu_time bigint 该算子在数据库实例上的最小执行时间(ms)。 max_cpu_time bigint 该算子在数据库实例上的最大执行时间(ms)。 total_cpu_time bigint 该算子在数据库实例上的总执行时间(ms)。 cpu_skew_percent integer 数据库实例间执行时间的倾斜率。 warning text 主要显示如下几类告警信息: Sort/SetOp/HashAgg/HashJoin spill Spill file size large than 256MB Broadcast size large than 100MB Early spill Spill times is greater than 3 Spill on memory adaptive Hash table conflict 父主题: 系统视图
  • 连接参数 表1 连接参数 参数 描述 host 要连接的主机名。如果主机名以斜杠开头,则它声明使用Unix域套接字通讯而不是TCP/IP通讯;该值就是套接字文件所存储的目录。如果没有声明host,那么默认是与位于/tmp目录(或者安装数据库的时候声明的套接字目录)里面的Unix-域套接字连接。在没有Unix域套接字的机器上,默认与localhost连接。 接受以‘,’分割的字符串来指定多个主机名,支持指定多个主机名。 hostaddr 与之连接的主机的IP地址,是标准的IPv4地址格式,比如,172.28.40.9。如果机器支持IPv6,那么也可以使用IPv6的地址。如果声明了一个非空的字符串,那么使用TCP/IP通讯机制。 接受以‘,’分割的字符串来指定多个IP地址,支持指定多个IP地址。 使用hostaddr取代host可以让应用避免一次主机名查找,这一点对于那些有时间约束的应用来说可能是非常重要的。不过,GSSAPI或SSPI认证方法要求主机名(host)。因此,应用下面的规则: 如果声明了不带hostaddr的host那么就强制进行主机名查找。 如果声明中没有host,hostaddr的值给出服务器网络地址;如果认证方法要求主机名,那么连接尝试将失败。 如果同时声明了host和hostaddr,那么hostaddr的值作为服务器网络地址。host的值将被忽略,除非认证方法需要它,在这种情况下它将被用作主机名。 须知: 要注意如果host不是网络地址hostaddr处的服务器名,那么认证很有可能失败。 如果主机名(host)和主机地址都没有,那么libpq将使用一个本地的Unix域套接字进行连接;或者是在没有Unix域套接字的机器上,它将尝试与localhost连接。 port 主机服务器的端口号,或者在Unix域套接字连接时的套接字扩展文件名。 接受以‘,’分割的字符串来指定多个端口号,支持指定多个端口号。 user 要连接的用户名,缺省是与运行该应用的用户操作系统名同名的用户。 dbname 数据库名,缺省和用户名相同。 password 如果服务器要求口令认证,所用的口令。 connect_timeout 连接的最大等待时间,以秒计(用十进制整数字符串书写),0或者不声明表示无穷。不建议把连接超时的值设置得小于2秒。 client_encoding 为这个连接设置client_encoding配置参数。除了对应的服务器选项接受的值,你可以使用auto从客户端中的当前环境中确定正确的编码(Unix系统上是LC_CTYPE环境变量)。 tty 忽略(以前,该参数指定了发送服务器调试输出的位置)。 options 添加命令行选项以在运行时发送到服务器。 application_name 为application_name配置参数指定一个值,表明当前用户身份。 fallback_application_name 为application_name配置参数指定一个后补值。如果通过一个连接参数或PGAPPNAME环境变量没有为application_name给定一个值,将使用这个值。在一般工具程序中,若设置一个默认名,但不希望这个默认名被用户覆盖,可以通过指定一个后补值来实现。 keepalives 控制客户端侧的TCP保持激活是否使用。缺省值是1,意思为打开,但是如果不想要保持激活,你可以更改为0,意思为关闭。通过Unix域套接字做的连接忽略这个参数。 keepalives_idle 在TCP应该发送一个保持激活的信息给服务器之后,控制不活动的秒数。0值表示使用系统缺省。通过Unix域套接字做的连接或者如果禁用了保持激活则忽略这个参数。 keepalives_interval 在TCP保持激活信息没有被应该传播的服务器承认之后,控制秒数。0值表示使用系统缺省。通过Unix域套接字做的连接或者如果禁用了保持激活则忽略这个参数。 keepalives_count 控制TCP发送保持激活信息的次数。0值表示使用系统缺省。通过Unix域套接字做的连接或者如果禁用了保持激活则忽略这个参数。 tcp_user_timeout 在支持TCP_USER_TIMEOUT套接字选项的操作系统上,指定传输的数据在TCP连接被强制关闭之前可以保持未确认状态的最大时长。0值表示使用系统缺省。通过Unix域套接字做的连接忽略这个参数。 rw_timeout 设置客户端连接读写超时时间。 sslmode 启用SSL加密的方式: disable:不使用SSL安全连接。 allow:如果数据库服务器要求使用,则可以使用SSL安全加密连接,但不验证数据库服务器的真实性。 prefer:如果数据库支持,那么首选使用SSL安全加密连接,但不验证数据库服务器的真实性。 require:必须使用SSL安全连接,但是只做了 数据加密 ,而并不验证数据库服务器的真实性。 verify-ca:必须使用SSL安全连接,当前windows ODBC不支持cert方式认证。 verify-full:必须使用SSL安全连接,当前windows ODBC不支持cert方式认证。 sslcompression 如果设置为1(默认),SSL连接之上传送的数据将被压缩(这要求OpenSSL版本为0.9.8或更高)。如果设置为0,压缩将被禁用(这要求OpenSSL版本为1.0.0或更高)。如果建立的是一个没有SSL的连接,这个参数会被忽略。如果使用的OpenSSL版本不支持该参数,它也会被忽略。压缩会占用CUP时间,但是当瓶颈为网络时可以提高吞吐量。如果CPU性能是限制因素,禁用压缩能够改进响应时间和吞吐量。 sslcert 这个参数指定客户端SSL证书的文件名。如果没有建立SSL连接,这个参数会被忽略。 sslkey 这个参数指定用于客户端证书的密钥位置。它能够指定一个从外部“引擎”(引擎是OpenSSL的可载入模块)得到的密钥。一个外部引擎说明应该由一个冒号分隔的引擎名称以及一个引擎相关的关键标识符组成。如果没有建立SSL连接,这个参数会被忽略。 sslrootcert 这个参数指定一个包含SSL证书机构(CA)证书的文件名称。如果该文件存在,服务器的证书将被验证是由这些机构之一签发。 sslcrl 这个参数指定SSL证书撤销列表(CRL)的文件名。列在这个文件中的证书如果存在,在尝试认证该服务器证书时会被拒绝。 requirepeer 这个参数指定服务器的操作系统用户,例如requirepeer=postgres。当建立一个Unix域套接字连接时,如果设置了这个参数,客户端在连接开始时检查服务器进程是否运行在指定的用户名之下。如果发现不是,该连接会被一个错误中断。这个参数能被用来提供与TCP/IP连接上SSL证书相似的服务器认证(注意,如果Unix域套接字在/tmp或另一个公共可写的位置,任何用户能启动一个在那里侦听的服务器。使用这个参数来保证你连接的是一个由可信用户运行的服务器)。这个选项只在实现了peer认证方法的平台上受支持。 krbsrvname 当用GSSAPI认证时,要使用的Kerberos服务名。为了让Kerberos认证成功,这必须匹配在服务器配置中指定的服务名。 gsslib 用于GSSAPI认证的GSS库。只用在Windows上。设置为gssapi可强制libpq用GSSAPI库来代替默认的SSPI进行认证。 service 用于附加参数的服务名。它指定保持附加连接参数的pg_service.conf中的一个服务名。这允许应用只指定一个服务名,这样连接参数能被集中维护。 authtype 不再使用“authtype”,因此将其标记为“不显示”。我们将其保留在数组中,以免拒绝旧应用程序中的conninfo字符串,这些应用程序可能仍在尝试设置它。 remote_nodename 指定连接本地节点的远端节点名称。 localhost 指定在一个连接通道中的本地地址。 localport 指定在一个连接通道中的本地端口。 fencedUdfRPCMode 控制fenced UDF RPC协议是使用unix域套接字或特殊套接字文件名。缺省值是0,意思为关闭,使用unix domain socket模式,文件类型为“.s.PGSQL.%d”,但是要使用fenced udf ,文件类型为.s.fencedMaster_unixdomain,可以更改为1,意思为开启。 replication 这个选项决定是否该连接应该使用复制协议而不是普通协议。这是PostgreSQL的复制连接以及pg_basebackup之类的工具在内部使用的协议,但也可以被第三方应用使用。支持下列值,大小写无关: true、on、yes、1:连接进入到物理复制模式。 database:连接进入到逻辑复制模式,连接到dbname参数中指定的数据库。 false、off、no、0:该连接是一个常规连接,这是默认行为。 在物理或者逻辑复制模式中,仅能使用简单查询协议。 backend_version 传递到远端的后端版本号。 prototype 设置当前协议级别,默认:PROTO_TCP。 enable_ce 控制是否允许客户端连接全密态数据库。默认0,如果需要开启密态等值查询基本能力,则修改为1,如果需要开启密态支持客户端排序,则修改为2。修改为3的时候,仅支持密态等值查询的基本能力。 说明: 无传输密钥安全通道的接口,不支持软硬融合全密态功能(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)。 connection_info Connection_info是一个包含driver_name、driver_version、driver_path和os_user的json字符串。 如果不为NULL,使用connection_info忽略connectionExtraInf 如果为NULL,生成与libpq相关的连接信息字符串,当connectionExtraInf为false时connection_info只有driver_name和driver_version。 connectionExtraInf 设置connection_info是否存在扩展信息,默认值为0,如果包含其他信息,则需要设置为1。 target_session_attrs 设定连接的主机的类型。主机的类型和设定的值一致时才能连接成功。指定多IP时才会校验此参数。target_session_attrs的设置规则如下: any:可以对所有类型的主机进行连接。 read-write:当连接的主机允许可读可写时,才进行连接。 read-only:仅对可读的主机进行连接。 primary(默认值):仅对主备系统中的主机能进行连接。 standby: 仅对主备系统中的备机进行连接。 prefer-standby:首先尝试找到一个备机进行连接。如果对hosts列表的所有机器都连接失败,那么尝试“any”模式进行连接。 父主题: 基于libpq开发
  • log_min_messages 参数说明:控制写到服务器日志文件中的消息级别。每个级别都包含排在它后面的所有级别中的信息。级别越低,服务器运行日志中记录的消息就越少。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 当client_min_messages和log_min_messages取相同值log时所代表的消息级别不同。部分日志信息的打印需要同时配置该参数与logging_module,即设置该参数打开后可能还需要设置logging_module打开对应模块的日志打印开关。 取值范围:枚举类型,有效值有debug、debug5、debug4、debug3、debug2、debug1、info、log、notice、warning、error、fatal、panic。参数的详细信息请参见表1。 默认值:warning
  • client_min_messages 参数说明:控制发送到客户端的消息级别。每个级别都包含排在它后面的所有级别中的信息。级别越低,发送给客户端的消息就越少。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 当client_min_messages和log_min_messages取相同值时,其值所代表的级别不同。 取值范围:枚举类型,有效值有debug、debug5、debug4、debug3、debug2、debug1、info、log、notice、warning、error、fatal、panic。参数的详细信息请参见表1。在实际设置过程中,如果设置的级别大于error,为fatal或panic,系统会默认将级别转为error。 默认值:notice
  • log_min_error_statement 参数说明:控制在服务器日志中记录错误的SQL语句。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型,有效值有debug、debug5、debug4、debug3、debug2、debug1、info、log、notice、warning、error、fatal、panic。参数的详细信息请参见表1。 设置为error,表示导致错误、日志消息、致命错误、panic的语句都将被记录。 设置为panic,表示关闭此特性。 默认值:error
  • backtrace_min_messages 参数说明:控制当产生该设置参数级别相等或更高级别的信息时,会打印函数的堆栈信息到服务器日志文件中。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 该参数作为客户现场问题定位手段使用,且由于频繁的打印函数栈会对系统的开销及稳定性有一定的影响,因此如果需要进行问题定位时,建议避免将backtrace_min_messages的值设置为fatal及panic以外的级别。 取值范围:枚举类型 有效值有debug、debug5、debug4、debug3、debug2、debug1、info、log、notice、warning、error、fatal、panic。参数的详细信息请参见表1。 默认值:panic
  • log_min_duration_statement 参数说明:当某条语句的持续时间大于或者等于特定的毫秒数时,log_min_duration_statement参数用于控制记录每条完成语句的持续时间。 设置log_min_duration_statement可以很方便地跟踪需要优化的查询语句。对于使用扩展查询协议的客户端,语法分析、绑定、执行每一步所花时间被独立记录。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 当此选项与log_statement同时使用时,已经被log_statement记录的语句文本不会被重复记录。在没有使用syslog情况下,推荐使用log_line_prefix记录PID或会话ID,方便将当前语句消息连接到最后的持续时间消息。 取值范围:整型,-1~ 2147483647,单位为毫秒。 设置为250,所有运行时间不短于250ms的SQL语句都会被记录。 设置为0,输出所有语句的持续时间。 设置为-1,关闭此功能。 默认值:3s(即3000ms)
  • GS_WLM_CGROUP_INFO GS_WLM_CGROUP_INFO视图显示当前执行作业的控制组的信息(当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。)。 当查询视图无数据显示时,请联系华为工程师提供技术支撑。 表1 GS_WLM_CGROUP_INFO字段 名称 类型 描述 cgroup_name text 控制组的名称。 priority integer 作业的优先级。 usage_percent integer 控制组占用的百分比。 shares bigint 控制组分配的CPU资源配额。 cpuacct bigint CPU配额分配。 cpuset text CPU限额分配。 relpath text 控制组的相对路径。 valid text 该控制组是否有效。 node_group text 逻辑数据库实例名称。 父主题: 系统视图
  • data_sync_retry 参数说明:控制当fsync到磁盘失败后是否继续运行数据库。由于在某些操作系统的场景下,fsync失败后重试阶段即使再次fsync失败也不会报错,从而导致数据丢失。 该参数属于POSTMASTER类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示当fsync同步到磁盘失败后采取重试机制,数据库继续运行。 off表示当fsync同步到磁盘失败后直接报panic,停止数据库。 默认值:off
  • retry_ecode_list 当前特性是实验室特性,使用时请联系华为技术工程师提供技术支持。 参数说明:指定SQL语句出错自动重试功能支持的错误类型列表。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:字符串。 默认值:YY001 YY002 YY003 YY004 YY005 YY006 YY007 YY008 YY009 YY010 YY011 YY012 YY013 YY014 YY015 53200 08006 08000 57P01 XX003 XX009 YY016
  • omit_encoding_error 参数说明:设置为on,数据库的客户端字符集编码为UTF-8时,出现的字符编码转换错误将打印在日志中,有转换错误的被转换字符会被忽略,以"?"代替。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示有转换错误的字符将被忽略,以"?"代替,打印错误信息到日志中。 off表示有转换错误的字符不能被转换,打印错误信息到终端。 默认值:off
  • restart_after_crash 参数说明:设置为on,后端进程崩溃时,GaussDB将自动重新初始化此后端进程。 该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示能够最大限度地提高数据库的可用性。 在某些情况(比如当采用管理工具(例如xCAT)管理GaussDB时),能够最大限度地提高数据库的可用性。 off表示能够使得管理工具在后端进程崩溃时获取控制权并采取适当的措施进行处理。 默认值:on
  • remote_read_mode 参数说明:远程读功能开关。读取主机上的页面失败时可以从备机上读取对应的页面。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型 off表示关闭远程读功能。 non_authentication表示开启远程读功能,但不进行证书认证。 authentication表示开启远程读功能,但要进行证书认证。 默认值:authentication
  • 操作步骤 参考如何登录AstroCanvas中操作,登录AstroCanvas界面。 在项目列表页面中,单击“导入项目包”。 图1 导入项目包 选择本地已创建好的项目包,单击“打开”。 当所选项目与目标空间存在资产冲突时,系统将弹出如图2提示。 图2 资产冲突 在系统资产冲突提示界面单击“查看详情”,查看资产冲突详情。 图3 查看资产冲突详情 查看资产冲突详情后根据自身需要选择处理逻辑,单击“确认”。 转换器冲突时选择“覆盖目标资产”时系统将弹出如图4提示,根据需要选择即可。 图4 转换器冲突 数据源和数据集这两种资产出现名称冲突但资源类型不同的情况时,处理逻辑系统默认选择生成副本,鼠标悬浮时展示冲突数据集或者数据源的名称。 图5 数据源和数据集冲突 导入成功后,在项目列表中,可查看到已导入的项目,并根据自身业务需求,进行二次开发。
共100000条