华为云用户手册

  • PG_COMM_SEND_STREAM PG_COMM_SEND_STREAM视图展示单个DN上所有的通信库发送流状态。 表1 PG_COMM_SEND_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编号。 send_bytes bigint 通信流发送的数据总量,单位Byte。 time bigint 通信流当前生命周期使用时长,单位ms。 speed bigint 通信流的平均发送速率,单位Byte/s。 quota bigint 通信流当前的通信配额值,单位Byte。 wait_quota bigint 通信流等待quota值产生的额外时间开销,单位ms。 父主题: 系统视图
  • PG_COMM_CLIENT_INFO PG_COMM_CLIENT_INFO视图存储单个节点客户端连接信息(DN上查询该视图显示CN连接DN的信息)。 表1 PG_COMM_CLIENT_INFO字段 名称 类型 描述 node_name text 当前节点的名称。 app text 客户端应用名。 tid bigint 当前线程的线程号。 lwtid integer 当前线程的轻量级线程号。 query_id bigint 查询ID,对应debug_query_id。 socket integer 如果是物理连接,显示socket。 remote_ip text 对端节点IP。 remote_port text 对端节点port。 logic_id integer 如果是逻辑连接,显示sid,显示-1时表示当前连接是物理连接。 父主题: 系统视图
  • PG_PREPARED_STATEMENTS PG_PREPARED_STATEMENTS视图显示当前会话所有可用的预备语句。 表1 PG_PREPARED_STATEMENTS字段 名称 类型 描述 name text 预备语句的标识符。 statement text 创建该预备语句的查询字符串。对于从SQL创建的预备语句而言是客户端提交的PREPARE语句;对于通过前/后端协议创建的预备语句而言是预备语句自身的文本。 prepare_time timestamp with time zone 创建该预备语句的时间戳。 parameter_types regtype[] 该预备语句期望的参数类型,以regtype类型的数组格式出现。与该数组元素相对应的OID可以通过把regtype转换为oid值得到。 from_sql boolean 如果该预备语句是通过PREPARE语句创建的则为true。 如果是通过前/后端协议创建的则为false。 父主题: 系统视图
  • GS_WAIT_EVENTS GS_WAIT_EVENTS视图显示当前节点上各类等待状态和事件的统计信息。 仅在GUC参数enable_track_wait_event为on的情况下,视图中各统计字段的数值才会被累加。若在运行过程中将enable_track_wait_event设置为off,则不再累加统计数值,但已有数值不受影响。enable_track_wait_event为off,查询该视图返回0行。 表1 GS_WAIT_EVENTS字段 名称 类型 描述 nodename name 节点名称。 type text 事件的类型,包括STATUS,LOCK_EVENT,LWLOCK_EVENT和IO_EVENT四种类型。 event text 事件名称,可参考PG_THREAD_WAIT_STATUS视图。 wait bigint 事件发生次数。该字段及以下字段均为进程运行中的累计值。 failed_wait bigint 等待失败次数。当前版本中只有LOCK和LWLOCK等锁超时或失败才会使用该字段。 total_wait_time bigint 该事件总持续时间。 avg_wait_time bigint 该事件平均持续时间。 max_wait_time bigint 该事件最大等待时间。 min_wait_time bigint 该事件最小等待时间。 当前版本中,对于type='LOCK_EVENT','LWLOCK_EVENT'和'IO_EVENT'的事件,GS_WAIT_EVENTS视图显示范围与PG_THREAD_WAIT_STATUS视图对应事件相同。 对于type='STATUS'的事件GS_WAIT_EVENTS包含的等待状态列如下,其详细含义参见PG_THREAD_WAIT_STATUS视图。 acquire lwlock acquire lock wait io wait pooler get conn wait pooler abort conn wait pooler clean conn wait transaction sync wait wal sync wait data sync wait producer ready create index analyze vacuum vacuum full gtm connect gtm begin trans gtm commit trans gtm rollback trans gtm create sequence gtm alter sequence gtm get sequence val gtm set sequence val gtm drop sequence gtm rename sequence 父主题: 系统视图
  • GLOBAL_STAT_DATABASE GLOBAL_STAT_DATABASE视图显示集群中所有节点上数据库的状态和统计信息之和。 CN上查询GLOBAL_STAT_DATABASE视图,返回的结果除stats_reset字段(当前CN上的状态重置时间)之外,其余字段表示在集群内相关节点上的数值之和。需注意,因GLOBAL_STAT_DATABASE视图中各字段的逻辑含义不同,求和的范围也有所不同。 在DN上查询视图GLOBAL_STAT_DATABASE,所得结果与表1相同。 表1 GLOBAL_STAT_DATABASE字段 名称 类型 描述 求和范围 datid oid 数据库OID。 - datname name 数据库名。 - numbackends integer 当前节点上连接到该数据库的后端数。 这是该视图中唯一一个反映目前状态值的列;所有列均返回自上次重置以来的累积值。 CN xact_commit bigint 当前节点上该数据库中已经提交的事务数。 CN xact_rollback bigint 当前节点上该数据库中已经回滚的事务数。 CN blks_read bigint 当前节点上该数据库中读取的磁盘块的数量。 DN blks_hit bigint 当前节点上高速缓存中发现的磁盘块的个数,即缓存中命中的块数(只包括GaussDB(DWS)缓冲区高速缓存,不包括文件系统的缓存)。 DN tup_returned bigint 当前节点上该数据库查询返回的行数。 DN tup_fetched bigint 当前节点上该数据库查询抓取的行数。 DN tup_inserted bigint 当前节点上该数据库插入的行数。 DN tup_updated bigint 当前节点上该数据库更新的行数。 DN tup_deleted bigint 当前节点上该数据库删除的行数。 DN conflicts bigint 当前节点上由于数据库恢复冲突取消的查询数量(只在备用服务器上发生)。请参见PG_STAT_DATABASE_CONFLICTS获取更多信息。 CN和DN temp_files bigint 当前节点上该数据库创建的临时文件个数。计算所有临时文件,不论为什么创建临时文件(比如排序或者哈希),而且不考虑log_temp_files设置。 DN temp_bytes bigint 当前节点上该数据库写入临时文件的大小。计算所有临时文件,不论为什么创建临时文件,而且不考虑log_temp_files设置。 DN deadlocks bigint 当前节点上该数据库中发生的死锁数量。 CN和DN blk_read_time double precision 当前节点上该数据库后端读取数据文件块花费的时间,以毫秒计算。 DN blk_write_time double precision 当前节点上该数据库后端写入数据文件块花费的时间,以毫秒计算。 DN stats_reset timestamp with time zone 当前节点上该数据库统计重置的时间。 - 父主题: 系统视图
  • PG_TRIGGER PG_TRIGGER系统表存储触发器信息。 名称 类型 描述 tgrelid oid 触发器所在表的OID。 tgname name 触发器名。 tgfoid oid 触发器OID。 tgtype smallint 触发器类型。 tgenabled "char" O表示触发器在“origin”和“local”模式下触发。 D表示触发器被禁用。 R表示触发器在“replica”模式下触发。 A表示触发器始终触发。 tgisinternal boolean 内部触发器标识,如果为true表示内部触发器。 tgconstrrelid oid 完整性约束引用的表。 tgconstrindid oid 完整性约束的索引。 tgconstraint oid 约束触发器在pg_constraint中的OID。 tgdeferrable boolean 约束触发器是为DEFERRABLE类型。 tginitdeferred boolean 约束触发器是否为INITIALLY DEFERRED类型。 tgnargs smallint 触发器函数入参个数。 tgattr int2vector 当触发器指定列时的列号,未指定则为空数组。 tgargs bytea 传递给触发器的参数。 tgqual pg_node_tree 表示触发器的WHEN条件,如果没有则为null。 父主题: 系统表
  • PG_SYNONYM PG_SYNONYM系统表存储同义词对象名与其他数据库对象名间的映射信息。 表1 PG_SYNONYM字段 名称 类型 描述 synname name 同义词名称。 synnamespace oid 该同义词所在的命名空间的OID。 synowner oid 同义词的所有者,通常是其创建者OID。 synobjschema name 关联对象指定的模式名。 synobjname name 关联对象名。 父主题: 系统表
  • 操作步骤 假设远端集群的待同步表名称是tbl_remote,用于数据同步的用户是user_remote,该用户须对表tbl_remote有访问权限;假设本地集群的待同步表名称是tbl_local。 创建server。 CREATE SERVER server_remote FOREIGN DATA WRAPPER GC_FDW OPTIONS( address '192.168.178.207:8000', dbname 'db_remote', username 'user_remote', password 'xxxxxxxx', syncsrv 'gsfs://192.168.178.129:5000|gsfs://192.168.178.129:5000'); server_remote为server名称,供互联互通外表使用。 address为远端集群CN的IP地址和端口,仅允许填写一个地址。 dbname为远端集群的数据库名。 username为连接远端集群使用的用户名,注意该用户不能为系统管理员。 password为连接远端集群使用的用户名的密码。 syncsrv为GDS Server的IP地址和端口,如果有多个地址使用|分割,与GDS外表的location类似。 GaussDB(DWS)会对syncsrv所设置的GDS地址进行网络连接测试: 只能判断本地执行集群与GDS的网络情况,无法判断远端集群与GDS的网络情况,需要注意报错提示。 在移除不可用GDS后,从中选择不会导致业务hang的、数目适当的GDS进行数据同步。 创建互联互通外表。 CREATE FOREIGN TABLE ft_tbl( col_1 type_name, col_2 type_name, …) SERVER server_remote OPTIONS ( schema_name 'schema_remote', table_name 'tbl_remote', encoding 'utf8'); schema_name为远端集群表所属schema,如果该option缺省,则schema_name预设为该外表所在的schema。 table_name为远端集群表名,如果该option缺省,则table_name预设为该外表的表名。 encoding为远端集群的编码,如果该option缺省,则编码使用本地集群数据库的默认编码。 选项schema_name、table_name大小写敏感,必须与远端schema、table的名字大小写保持一致。 互联互通外表的列不允许带任何约束。 互联互通外表的列名、列类型必须与远端集群的表tbl_remote的列名和列类型完全一致。 SERVER须设置为步骤1中新建的server,必须包含syncsrv属性。 使用互联互通外表进行数据同步。 本地集群是目标集群时,发起数据同步业务: 全列全量数据同步: 1 INSERT INTO tbl_local SELECT * FROM ft_tbl; 全列过滤条件数据同步: 1 INSERT INTO tbl_local SELECT * FROM ft_tbl WHERE col_2 = XX; 部分列全量数据同步: 1 INSERT INTO tbl_local (col_1) SELECT col_1 FROM ft_tbl; 部分列过滤条件数据同步: 1 INSERT INTO tbl_local (col_1) SELECT col_1 FROM ft_tbl WHERE col_2 = XX; 本地集群是源集群时,发起数据同步业务: 单表数据同步: 1 INSERT INTO ft_tbl SELECT * FROM tbl_local; join结果集数据同步: 1 INSERT INTO ft_tbl SELECT * FROM tbl_local1 join tbl_local2 ON XXX; 如遇到报错连接失败,请检查server的信息确认两个集群是否已经相互连通。 如遇到报错GDS连接失败,请检查syncsrv指定的GDS Server是否都已经启动,且与两个集群所有节点可以网络连通。 如遇到报错表不存在,请检查外表的option信息是否正确。 如遇到报错列不存在,请检查外表的列名是否与源表一致。 如遇到报错列重复定义,请检查是否相应列名超长,若超长建议使用AS别名精简。 如遇到报错无法解析列类型,请检查语句中是否有列上表达式。 如遇到报错列信息不匹配,请检查外表的列信息是否与远端集群对应表的列信息是否一致。 如遇到报错语法不支持,请检查是否使用了Join、distinct、排序等复杂用法。 如遇到乱码,请检查两端数据库的实际编码是否一致。 当本地集群是源集群时,存在极小的概率出现数据成功同步到远端集群,但是本地集群返回执行失败的情况,针对这种情况建议校验同步数据记录数。 当本地集群是源集群时,通过事务块、子事务等控制的数据同步,需要总事务提交后才能查询到数据同步结果。 删除互联互通外表。 DROP FOREIGN TABLE ft_tbl;
  • 使用场景 将数据从一个集群同步到另外一个集群,支持全量数据同步、过滤条件数据同步。 目前互联互通仅支持以下使用方式,除以下语句外,其他类型的语法均不支持。 INSERT INTO 内表 SELECT ... FROM 互联互通外表1 [WHERE]; INSERT INTO 互联互通表 SELECT * FROM 内表1 [JOIN 内表2 | WHERE]; SELECT ... FROM 互联互通表;
  • 使用前准备 配置两个集群互连。 规划部署GDS服务器,确保所有的GDS服务器可以和上面配置的两个集群所有节点网络连通,即GDS服务器的安全组入方向要放通对应的GDS端口(例如5000)和DWS端口(默认8000)。部署GDS请参考安装配置和启动GDS。 启动GDS时,可指定任意目录作为数据中转的目录,例如/opt,启动命令示例如下: /opt/gds/bin/gds -d /opt -p 192.168.0.2:5000 -H 192.168.0.1/24 -l /opt/gds/bin/gds_log.txt -D -t 2
  • 注意事项 创建的互联互通外表与其对应的远端表的列名和类型名要完全一致,且远端表的类型为行存表或列存表。 执行同步语句时,要确保本地集群、远端集群的待同步表已存在。 使用期间,两个集群的状态应为Normal。 两个集群都需要具备基于GDS的跨集群互联互通功能。 建议两端集群的数据库编码保持一致,否则可能出现报错或者收到的数据为乱码。 两端集群所指定的数据库兼容类型要保持一致,否则可能报错或乱码。 确保执行数据同步的相关用户对待同步表有相应的访问权限。 互联互通外表只能用于跨集群数据同步场景,其他场景可能出错或无效。 互联互通外表不支持复杂的列上表达式,不支持复杂语法,包括join、排序、游标、with、集合等。 不下推的SQL语句无法使用本特性进行数据同步,否则会报错。 不支持EXPLAIN计划、逻辑集群。 当本地集群同步数据到远端集群时,只支持内表查询。 Foreign Server的syncsrv选项指定的GDS不支持SSL模式。 数据同步结束时只校验数据行数,不校验数据内容。 业务最大并发数不能大于GDS启动参数-t的一半,同时也不能大于max_active_statements,否则可能会导致业务超时失败。
  • show_acce_estimate_detail 参数说明:在GaussDB(DWS)集群使用加速集群场景下(即acceleration_with_compute_pool设置为on),控制explain命令是否显示用于评估执行计划下推到加速集群的评估信息。评估信息一般用于运维人员在维护工作中使用,因此该参数默认关闭,此外为了避免这些信息干扰正常的explain信息显示,只有在explain命令的verbose选项打开的情况下才显示评估信息。 参数类型:USERSET 取值范围:布尔型 on表示可以在explain命令的输出中显示评估信息。 off表示不在explain命令的输出中显示评估信息。 默认值:off
  • 操作步骤 创建server。 CREATE SERVER server_remote FOREIGN DATA WRAPPER GC_FDW OPTIONS (address '10.180.157.231:8000,10.180.157.130:8000' , dbname 'gaussdb', username 'xyz', password 'xxxxxx'); server_remote为server名字,供外表使用。 address为远端集群CN的地址和端口号,如配置LVS,推荐只填写一个LVS地址,如未配置,推荐使用多个CN作为server的地址。 dbname为远端集群的数据库名。 username为连接远端集群使用的用户名,注意该用户不能为系统管理员。 password为连接远端集群使用的用户名的密码。 创建外表。 CREATE FOREIGN TABLE region( R_REGIONKEY INT4, R_NAME TEXT, R_COMMENT TEXT)SERVER server_remoteOPTIONS( schema_name 'test', table_name 'region', encoding 'gbk'); 外表的列不允许带任何约束。 外表的列名和列的类型要与远端集群对应的表的列名和列的类型完全一致。 schema_name为远端集群对应的表所在的schema,如果该option省略,则schema_name预设该外表所在的schema。 table_name为远端集群对应的表所在的表名,如果该option省略,则table_name预设该外表的表名。 encoding为远端集群的编码,如果该option省略,则编码使用远端集群数据库的默认编码。 查看建立的外表。 \d+ region Foreign table "public.region" Column | Type | Modifiers | FDW Options | Storage | Stats target | Description-------------+---------+-----------+-------------+----------+--------------+------------- r_regionkey | integer | | | plain | | r_name | text | | | extended | | r_comment | text | | | extended | |Server: server_remoteFDW Options: (schema_name 'test', table_name 'region', encoding 'gbk')FDW permition: read onlyHas OIDs: noDistribute By: ROUND ROBINLocation Nodes: ALL DATANODES 查看建立的server。 \des+ server_remote List of foreign servers Name | Owner | Foreign-data wrapper | Access privileges | Type | Version | FDW Options | Description---------------+---------+----------------------+-------------------+------+---------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------- server_remote | dbadmin | gc_fdw | | | | (address '10.180.157.231:8000,10.180.157.130:8000', dbname 'gaussdb', username 'xyz', password 'xxxxxx') |(1 row) 使用外表进行导入数据或者关联查询。 导入数据。 CREATE TABLE local_region( R_REGIONKEY INT4, R_NAME TEXT, R_COMMENT TEXT);INSERT INTO local_region SELECT * FROM region; 如遇到报错连接失败,请检查server的信息确认两个集群是否已经相互连通。 如遇到报错表不存在,请检查外表的option信息是否正确。 如遇到报错列信息不匹配,请检查外表的列信息是否与远端集群对应表的列信息是否一致。 如遇到报错版本不一致,请升级低版本的集群在继续使用。 如遇到乱码,请检查数据源的实际编码方式,并重新创建外表指定正确的编码。 关联查询。 SELECT * FROM region, local_region WHERE local_region.R_NAME = region.R_NAME; 外表可以当做一个本地表来使用,执行复杂的作业。 如果远端集群已经有统计信息,请对该外表执行analyze以获得更优的执行计划。 如果本地集群的DN数量比远端集群的DN数量少,本地集群需要使用SMP来获得更佳的性能。 删除外表。 DROP FOREIGN TABLE region;
  • 注意事项 两个集群必须在同一个Region、一个AZ内且VPC网络互通。 创建的外表与其对应的远端表的列名和类型名要完全一致,且远端表的类型为行存表、列存表、哈希表或者复制表。 如果关联的表在另外一个集群是复制表或者存在数据倾斜,性能可能会很差。 使用期间,两个集群的状态应为“Normal”。 使用期间,禁止对远端集群的源数据表做ddl修改和增、删、改操作,否则可能导致查询结果不一致。 两个集群都需要具备基于Foreign Table的SQL on other GaussDB数据处理功能。 建议配置LVS,如未配置,推荐使用多个CN作为server的地址,禁止将多个集群的CN地址写在一起。 请尽可能保证两端数据库的编码相同,否则可能出现报错或者收到的数据为乱码。 如果远端表已经做过统计信息收集,可以对外表执行analyze以获得更优的执行计划。 仅支持8.0.0及以上版本。
  • 使用DRS将数据导入GaussDB(DWS) 使用数据复制服务(Data Replication Service,简称DRS),可以将其他数据源的数据导入到GaussDB(DWS)集群的数据库中。当前支持导入的数据源主要包括以下: MySQL DDM PostgreSQL(公测) Oracle(公测) GaussDB分布式版(公测) 请参见DRS实时同步章节。 其中PostgreSQL、Oracle、GaussDB分布式版的数据源属于公测阶段,请移步到DRS管理控制台,通过新建工单方式申请公测。 父主题: 整库迁移
  • log_min_messages 参数说明:控制写到服务器日志文件中的消息级别。每个级别都包含排在它后面的所有级别中的信息。级别越低,服务器运行日志中记录的消息就越少。 当client_min_messages和log_min_messages取值相同时,其值所代表的级别不同。 参数类型:SUSET 取值范围:枚举类型,有效值有debug、debug5、debug4、debug3、debug2、debug1、info、log、notice、warning、error、fatal、panic。参数的详细信息请参见表1。 默认值:warning
  • transform_null_equals 参数说明:控制表达式expr = NULL(或NULL = expr)当做expr IS NULL处理。如果expr得出NULL值则返回真,否则返回假。 正确的SQL标准兼容的expr = NULL总是返回NULL(未知)。 MS Access里的过滤表单生成的查询使用expr = NULL来测试空值。打开这个选项,可以使用该接口来访问数据库。 参数类型:USERSET 取值范围:布尔型 on表示控制表达式expr = NULL(或NULL = expr)当做expr IS NULL处理。 off表示不控制,即expr = NULL总是返回NULL(未知)。 默认值:off 新用户经常在涉及NULL的表达式上语义混淆,故默认值设为off。
  • td_compatible_truncation 参数说明:控制是否开启与Teradata数据库相应兼容的特征。该参数在用户连接上与TD兼容的数据库时,可以将参数设置成为on(即超长字符串自动截断功能启用),该功能启用后,在后续的insert语句中,对目标表中char和varchar类型的列插入超长字符串时,会按照目标表中相应列定义的最大长度对超长字符串进行自动截断。保证数据都能插入目标表中,而不是报错。 超长字符串自动截断功能不适用于insert语句包含外表的场景。 如果向字符集为字节类型编码(SQL_ASCII,LATIN1等)的数据库中插入多字节字符数据(如汉字等),且字符数据跨越截断位置,这种情况下,按照字节长度自动截断,自动截断后会在尾部产生非预期结果。如果用户有对于截断结果正确性的要求,建议用户采用UTF8等能够按照字符截断的输入字符集作为数据库的编码集。 参数类型:USERSET 取值范围:布尔型 on表示启动超长字符串自动截断功能。 off表示停止超长字符串自动截断功能。 默认值:off
  • effective_cache_size 参数说明:设置优化器在一次单一的查询中可用的磁盘缓冲区的有效大小。 设置这个参数,还要考虑GaussDB(DWS)的共享缓冲区以及内核的磁盘缓冲区。另外,还要考虑预计的在不同表之间的并发查询数目,因为它们将共享可用的空间。 这个参数对GaussDB(DWS)分配的共享内存大小没有影响,它也不会使用内核磁盘缓冲,它只用于估算。数值是用磁盘页来计算的,通常每个页面是8192字节。 参数类型:USERSET 取值范围:整型,1~INT_MAX,单位为8KB。 比默认值高的数值可能会导致使用索引扫描,更低的数值可能会导致选择顺序扫描。 默认值:128MB
  • random_page_cost 参数说明:设置优化器计算一次非顺序抓取磁盘页面的开销。 参数类型:USERSET 取值范围:浮点型,0~DBL_MAX。 默认值:4 虽然服务器允许将random_page_cost设置的比seq_page_cost小,但是物理上实际不受影响。如果所有数据库都位于随机访问内存中时,两者设置为相等很合理。因为在此种情况下,非顺序抓取页并没有副作用。同样,在缓冲率很高的数据库上,应该相对于CPU参数同时降低这两个值,因为获取内存中的页要比通常情况下开销小很多。 对于特别表空间中的表和索引,可以通过设置同名的表空间的参数来覆盖这个值。 相对于seq_page_cost,减少这个值将导致系统更倾向于使用索引扫描,而增加这个值使得索引扫描开销比较高。可以通过同时增加或减少这两个值来调整磁盘I/O相对于CPU的开销。
  • enable_incremental_catchup 参数说明:控制主备之间数据追赶(catchup)的方式。 参数类型:SIGHUP 取值范围:布尔类型 on表示备机catchup时用增量catchup方式,即从从备本地数据文件扫描获得主备差异数据文件列表,进行主备之间的catchup。 off表示备机catchup时用全量catchup方式,即从主机本地所有数据文件扫描获得主备差异数据文件列表,进行主备之间的catchup。 默认值:on
  • max_build_io_limit 参数说明:用于限制主机在提供备机重建(build)会话时,一秒时间内所允许磁盘读取的数据流量。 参数类型:SIGHUP 取值范围:整型,0~1048576,单位为KB。 默认值:0,表示主机对备机build无IO流控限制。 设置建议:可参考磁盘带宽和作业模型。无限制时或无作业干扰时,全量build在性能良好的磁盘(如SSD盘)下占磁盘带宽比例较小,磁盘IO未达到瓶颈,对业务性能影响较小,不需要设置阈值限制。在普通10000RPM转速的SAS盘下,如果build过程中,发现业务性能明显下降,可对该参数进行设置,当前推荐设置为20MB。 此设置将直接对build的进行速度和完成时间产生影响,不建议设置过低(10MB以下不建议)。在业务低峰时,建议及时取消限制,恢复build的正常速度。 该参数可在业务高峰期或主机磁盘IO压力较大场景时,通过限制备机build的流速阈值以减少对主机业务的影响。待业务高峰期过后,可取消限制或重新设置流速阈值。 具体业务场景以及磁盘性能状况,建议选择合适的阈值。
  • wal_keep_segments 参数说明:Xlog日志文件段数量。设置“pg_xlog”目录下保留事务日志文件的最小数目,备机通过获取主机的日志进行流复制。 参数类型:SIGHUP 取值范围:整型,2 ~ INT_MAX 默认值:128 设置建议: 当服务器开启日志归档或者从检查点恢复时,保留的日志文件数量可能大于wal_keep_segments设定的值。 如果此参数设置过小,则在备机请求事务日志时,此事务日志可能已经被产生的新事务日志覆盖,导致请求失败,主备关系断开。 当双机为异步传输时,以COPY方式连续导入4G以上数据需要增大wal_keep_segments配置。以T6000单板为例,如果导入数据量为50G,建议调整参数为1000。您可以在导入完成并且日志同步正常后,动态恢复此参数设置。
  • checkpoint_segments 参数说明:设置checkpoint_timeout周期内所保留的最少WAL日志段文件数量。每个日志文件大小为16MB。 参数类型:SIGHUP 取值范围:整型,最小值1 默认值:64 提升此参数可加快大数据的导入速度,但需要结合checkpoint_timeout、shared_buffers这两个参数统一考虑。这个参数同时影响WAL日志段文件复用数量,通常情况下pg_xlog文件夹下最大的复用文件个数为2倍的checkpoint_segments个,复用的文件被改名为后续即将使用的WAL日志段文件,不会被真正删除。
  • wal_level 参数说明:设置写入WAL信息量的级别。 参数类型:POSTMASTER 取值范围:枚举类型 minimal 优点:一些重要操作(包括创建表、创建索引、簇操作和表的复制)都能安全的跳过,这样就可以使操作变得更快。 缺点:WAL仅提供从数据库服务器崩溃或者紧急关闭状态恢复时所需要的基本信息,无法用WAL归档日志恢复数据。 archive 这个参数增加了WAL归档需要的日志信息,从而可以支持数据库的归档恢复。 hot_standby 这个参数进一步增加了在备机上运行的SQL查询的信息,这个参数只能在数据库服务重新启动后生效。 为了在备机上开启只读查询,wal_level必须在主机上设置成hot_standby ,并且备机必须打开hot_standby参数。hot_standby和archive级别之间的性能只有微小的差异,如果它们的设置对产品的性能影响有明显差异,欢迎反馈。 默认值:hot_standby 如果需要启用WAL日志归档和主备机的数据流复制,必须将此参数设置为archive或者hot_standby。 如果此参数设置为archive,hot_standby必须设置为off,否则将导致数据库无法启动。
  • commit_delay 参数说明:表示一个已经提交的数据在WAL缓冲区中存放的时间。 参数类型:USERSET 取值范围:整型, 0~100000(微秒),其中0表示无延迟。 默认值:0 设置为非 0 值时事务执行commit后不会立即写入WAL中,而仍存放在WAL缓冲区中,等待WalWriter进程周期性写入磁盘。 如果系统负载很高,在延迟时间内,其他事务可能已经准备好提交。但如果没有事务准备提交,这个延迟就是在浪费时间。
  • wal_buffers 参数说明:设置用于存放WAL数据的共享内存空间的XLOG_BLCKSZ数,XLOG_BLCKSZ的大小默认为8KB。 参数类型:POSTMASTER 取值范围:-1~218,单位为8KB。 如果设置为-1,表示wal_buffers的大小随着参数shared_buffers自动调整,为shared_buffers的1/32,最小值为8个XLOG_BLCKSZ,最大值为2048个XLOG_BLCKSZ。 如果设置为其他值,当小于8时,会被默认设置为8;当大于2048的时,会被强制设置为2048。 默认值:256MB 设置建议:每次事务提交时,WAL缓冲区的内容都写入到磁盘中,因此设置为很大的值不会带来明显的性能提升。如果将它设置成几百兆,就可以在有很多即时事务提交的服务器上提高写入磁盘的性能。根据经验来说,默认值可以满足大多数的情况。
  • wal_compression 参数说明:控制是否对FPI页面进行压缩。 参数类型:USERSET 取值范围:布尔型 on表示开启FPI压缩。 off表示关闭FPI压缩。 默认值:on 当前压缩算法为zlib,暂不支持设置为其他压缩算法。 对于通过从低版本升级成为当前版本的集群,此参数默认关闭(off)。如果用户需要,可以通过gs_guc命令打开FPI压缩功能。 当前版本若为全新安装版本,此参数默认打开(on)。 从低版本升级上来的集群,如果手动开启了此参数,不允许再进行集群回滚操作。
  • raise_errors_if_no_files 参数说明:导入时是否区分“导入文件记录数为空”和“导入文件不存在”。raise_errors_if_no_files=TRUE,则“导入文件不存在”的时候,GaussDB(DWS)将抛出“文件不存在的”错误。 参数类型:SUSET 取值范围:布尔型 on表示导入时区分“导入文件记录数为空”和“导入文件不存在”。 off表示导入时不区分“导入文件记录数为空”和“导入文件不存在”。 默认值:off
  • gds_debug_mod 参数说明:为了增强对Gauss Data Service (以下简称GDS)相关问题的分析定位能力,可以通过此参数选择是否开启GDS的debug功能。参数开启后,将在集群节点对应的日志中输出GDS每次收发的包裹类型、命令交互的对端以及其他交互相关的细节信息,方便记录Gaussdb端状态机的状态跳转,以及目前所处的状态信息。此参数打开会输出额外日志,增加日志IO开销,进而影响性能和日志的信息有效性,因此请仅在定位GDS问题时开启。 参数类型:USERSET 取值范围:布尔型 on表示开启GDS debug功能。 off表示不开启GDS debug功能。 默认值:off
共100000条