华为云用户手册

  • 示例 --开始。 gaussdb=# BEGIN; BEGIN --准备标识符为的trans_test的事务。 gaussdb=# PREPARE TRANSACTION 'trans_test'; PREPARE TRANSACTION --取消标识符为的trans_test的事务。 gaussdb=# ROLLBACK PREPARED 'trans_test'; ROLLBACK PREPARED
  • 事务管理 在ecpg缺省模式下,语句只有在EXEC SQL COMMIT发出的时候才被提交,嵌入的SQL接口也支持事务的自动提交(通过EXEC SQL SET AUTOCOMMIT TO ON语句设置自动提交)。在自动提交模式下,每条命令都是自动提交的,除非它们包围在一个明确的事务块里。自动提交模式可以用EXEC SQL SET AUTOCOMMIT TO OFF语句关闭。 常见事务管理命令如下: EXEC SQL COMMIT:提交正在进行的事务。 EXEC SQL ROLLBACK:回滚正在进行的事务。 EXEC SQL SET AUTOCOMMIT TO ON:启动自动提交模式。 EXEC SQL SET AUTOCOMMIT TO OFF:关闭自动提交模式,缺省模式。 父主题: 执行SQL命令
  • 日期/时间类型哪些带时区,哪些不带时区? 答:date、time、timestamp、smalldatetime等类型不带时区,timetz、timestamptz等类型带时区。 示例如下: --timestamp类型不带时区。 gaussdb=# SELECT '2019-01-01'::timestamp; timestamp --------------------- 2019-01-01 00:00:00 (1 row) --timestamptz类型带时区。 gaussdb=# SELECT '2019-01-01'::timestamptz; timestamptz ------------------------ 2019-01-01 00:00:00+08 (1 row) 父主题: FAQ
  • enable_enhance_toast_table 参数说明:是否使用Enhanced Toast线外存储表。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启。 off:表示关闭。 默认值:on 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:该参数取值默认为on,需要关闭Enhanced Toast线外存储功能时设置为off。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • force_promote 参数说明:备机强切功能开关。 备机强切在数据库实例故障状态下,以丢失部分数据为代价换取数据库实例尽可能快地恢复服务;是数据库实例状态为不可用时的一个逃生方法,不建议频繁触发。如果操作者不清楚备机强切后丢失数据对业务的影响,请勿使用本功能。 参数类型:整型 参数单位:无 取值范围: 0:表示关闭。 1:表示开启。 默认值:0 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。使用备机强切功能时,DN和cmserver都需要将此参数设置为开启,重启数据库后生效。 设置建议:不推荐开启此参数。 设置不当的风险与影响:开启后,触发强切会导致丢失部分数据。
  • wal_debug 参数说明:允许输出wal相关的调试信息。仅在编译时开启WAL_DEBUG编译宏时可用。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许输出wal相关的调试信息。 off:表示不允许输出wal相关的调试信息。 默认值:off 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:调试时使用的参数,不建议生产环境开启。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • wal_flush_timeout 参数说明:遍历walInsertStatusTable的超时时间。xlog刷盘自适应控制的刷盘I/O遍历walInsertStatusTable等待的最大时间。 参数类型:整型 参数单位:us(微秒) 取值范围:0 ~ 90000000 默认值: 2(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存,4核CPU/32G内存);800(4核CPU/16G内存) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。取值不能带单位。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置值过大可能造成xlog刷盘频率降低,降低xlog处理性能。
  • wal_rec_writer_bind_cpu 参数说明:WAL receiver writer 线程绑定CPU的核号。多个线程允许绑定一个核,但是会导致性能下降,因此不建议。 参数类型:整型 参数单位:无 取值范围:-1 ~ 2147483647。CPU核从0号开始排序。 -1:表示不进行绑核操作。 N:表示把WAL receiver writer 线程绑定到第N号CPU核上。 默认值:-1 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。虽然最大值为INT_MAX,但是实际和所用设备核数相关,设置的最大值不能超过(核数-1)。 设置不当的风险与影响:设置值超过(核数-1),会导致数据库无法启动。
  • wal_receiver_bind_cpu 参数说明:WAL receiver 线程绑定CPU的核号。多个线程允许绑定一个核,但是会导致性能下降,因此不建议。 参数类型:整型 参数单位:无 取值范围:-1 ~ 2147483647。CPU核从0号开始排序。 -1:表示不进行绑核操作。 N:表示把WAL receiver 线程绑定到第N号CPU核上。 默认值:-1 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。虽然最大值为INT_MAX,但是实际和所用设备核数相关,设置的最大值不能超过(核数-1)。 设置不当的风险与影响:设置值超过(核数-1),会导致数据库无法启动。
  • shared_storage_write_mode 参数说明:用于控制共享存储下,主集群的最大Xlog可写入位置。 参数类型:枚举类型 参数单位:无 取值范围: none:无限制。 standby:集群内已连接备机的本地最大Xlog LSN + xlog_file_size(双数据库实例共享存储场景下,xlog日志共享盘的大小)。 disaster_standby:灾备集群已连接备机的本地最大LSN + xlog_file_size。 disaster_standby_strict:灾备集群备机的本地最大LSN + xlog_file_size。(和disaster_standby的区别在于,即使主备集群之间数据面网络隔离,也不会覆盖写入) standby_and_disaster_standby:集群内已连接备机的本地最大LSN和灾备集群已连接备机的本地最大LSN中的较小值+xlog_file_size。 默认值:disaster_standby 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:不建议用户修改此配置。 设置不当的风险与影响:修改该参数可能会导致备集群触发重建(build),不建议手动修改。
  • wal_file_init_num 参数说明:WAL writer辅助线程启动时在主机上一次创建xlog段文件的数量。 参数类型:整型 参数单位:无 取值范围:1 ~ 1000000 默认值:10(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,64核CPU/512G内存,60核CPU/480G内存);0(32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存,4核CPU/32G内存,4核CPU/16G内存) 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置过大,会占用过多的磁盘空间,占用量为 wal_file_init_num * wal_segment_size。
  • wal_file_preinit_bounds 参数说明:业务运行时,WAL writer辅助线程每秒可预生成空的WAL日志段文件的数量限制(WAL日志段文件的大小为16MB)。当该参数值为0时,表示不进行限制。 参数类型:整型 参数单位:无 取值范围:0 ~ 1024 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐设置为默认值,不做调整。当把该参数设置为有效值时,需基于磁盘I/O能力进行设置,可参考参数max_io_capacity的数值进行设置。 若max_io_capacity为500MB,可设置为25; 若max_io_capacity为1GB,可设置为50。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • max_size_for_shared_storage_xlog_write 参数说明:控制共享盘单次写入的最大数据量。 参数类型:整型 参数单位:kB 取值范围:8 ~ 131072 默认值:1024 设置方式:该参数属于POSTMASTER类型参数,请参考表表1中对应设置方法进行设置。 设置建议:安装时会进行设定,不建议用户修改此配置。 设置不当的风险与影响:修改该参数取值可能导致数据库出现意料之外的结果,请保持默认值。
  • walwriteraux_bind_cpu 参数说明:绑定到辅助写日志线程的CPU核。 参数类型:整型 参数单位:无 取值范围:-1 ~ 2147483647。CPU核从0号开始排序。 -1:表示不进行绑核操作。 N:表示把辅助写日志线程绑定到第N号CPU核上。 默认值:-1 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。虽然最大值为INT_MAX,但是实际和所用设备核数相关,设置的最大值不能超过(核数-1)。 设置不当的风险与影响:设置值超过(核数-1),会导致数据库无法启动。
  • wal_sender_bind_cpu_attr 参数说明:用于控制日志发送的绑核操作,仅sysadmin用户可以访问。 参数类型:字符串 参数单位:无 取值范围:长度大于0,该参数不区分大小写。 'nobind':线程不做绑核。 'cpuorderbind: 8-12': 从8号核开始一个线程绑定一个CPU,区间内核不足就不参与绑定。建议区间大小设置为大于等于参数max_wal_senders。 默认值:'nobind' 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • xlog_file_path 参数说明:双数据库实例共享存储场景下,xlog日志共享盘的路径。本参数在数据库系统初始化时由OM进行配置,不建议用户自行修改。 参数类型:字符串 参数单位:无 取值范围:字符串 默认值:NULL 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:安装时会进行设定,不建议用户修改此配置。 设置不当的风险与影响:设置不当会使数据库无法启动。
  • xlog_file_size 参数说明:双数据库实例共享存储场景下,xlog日志共享盘的大小。本参数在数据库系统初始化时由OM进行配置,不建议用户自行修改。 参数类型:整型 参数单位:Byte 取值范围:134217728 ~ 576460752303423487 默认值:549755813888 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。取值不能带单位。 设置建议:安装时会进行设定,不建议用户修改此配置。 设置不当的风险与影响:修改该参数取值可能导致数据库出现意料之外的结果,请保持默认值。
  • xlog_lock_file_path 参数说明:双数据库实例共享存储场景下,xlog日志共享盘抢占的锁文件的路径。本参数在数据库系统初始化时由OM进行配置,不建议用户自行修改。 参数类型:字符串 参数单位:无 取值范围:字符串 默认值:NULL 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:安装时会进行设定,不建议用户修改此配置。 设置不当的风险与影响:设置不当会使数据库无法启动。
  • full_page_writes 参数说明:设置 GaussDB 服务器在检查点之后对页面的第一次修改时,是否将每个磁盘页面的全部内容写到WAL日志中。当enable_incremental_checkpoint和enable_double_write同时打开时,则不开启full_page_writes。 参数类型:布尔型 参数单位:无 取值范围: on:表示启用此特性。 off:表示关闭此特性。 默认值:on 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。启用此特性后,完整的页面写到磁盘,会在崩溃重启过程中,保证页面被正确还原进而确保数据完整,代价是增加了写入WAL日志的数据量。 设置不当的风险与影响:关闭此特性后,由于操作系统崩溃过程中可能出现磁盘页面只写入了一部分内容的现象,从而导致无法恢复原来的数据。如果服务器硬件的特质(比如电池供电的磁盘控制器)可以减小部分页面的写入风险,或者文件系统特性支持(比如ReiserFS 4),并且用户清楚知道写入风险在可接受的范畴,才可以关闭这个参数。
  • wal_log_hints 参数说明:在检查点之后,如果对页面的第一次修改是对页面上元组hint bits的修改时,是否将整个页面的全部内容写到WAL日志中。 参数类型:布尔型 参数单位:无 取值范围: on:表示整个页面全部内容写到WAL日志中。 off:表示整个页面内容不会写到WAL日志中。 默认值:on 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:不推荐用户修改此设置。 设置不当的风险与影响:修改该参数取值可能导致数据库出现意料之外的结果,请保持默认值。
  • commit_siblings 参数说明:当一个事务发出提交请求时,如果数据库中正在执行的事务数量大于此参数的值,则该事务将等待一段时间(commit_delay的值),否则该事务则直接写入WAL。该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值范围:0 ~ 1000 默认值:5。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • wal_segment_size 参数说明:表示WAL日志段文件的大小。可以X LOG _BLCKSZ数量表示,同时也可以实际的大小表示。XLOG_BLCKSZ是XLOG块的大小,一般默认为8kB。 参数类型:整型 参数单位:8kB 取值范围:2048(即16MB) 默认值:16MB(2048 * 8kB) 设置方式:该参数属于INTERNAL类型参数,为固定参数,用户无法修改此参数,只能查看。 设置建议:该参数不允许用户进行设置,只能查看。 设置不当的风险与影响:无
  • walwriter_cpu_bind 参数说明:把walwriter线程绑定到指定CPU核上运行。 参数类型:整型 参数单位:无 取值范围:-1 ~ 核数减1。CPU核从0号开始排序。 -1:表示不进行绑核操作。 N:表示把walwriter线程绑定到第N号CPU核上。 默认值:-1 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • commit_delay 参数说明:表示一个已经提交的数据在WAL缓冲区中存放的时间。该参数可在PDB级别设置。 设置为非 0 值时事务执行commit后不会立即写入WAL中,而仍存放在WAL缓冲区中,等待WalWriter线程周期性写入磁盘。 如果系统负载很高,在延迟时间内,其他事务可能已经准备好提交。但如果没有事务准备提交,这个延迟可能会造成不必要的等待。 参数类型:整型 参数单位:us(微秒) 取值范围:0 ~ 100000,其中0表示无延迟。 默认值:0。在PDB场景内,若未设置该参数,则继承来自全局的设置。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。取值不能带单位。 设置建议:参考须知。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • fsync 参数说明:设置GaussDB服务器是否使用fsync()系统函数确保数据的更新及时写入物理磁盘中(fsync()系统函数实现的种类,请参见参数wal_sync_method)。 使用fsync()系统函数可以保证在操作系统或者硬件崩溃的情况下将数据恢复到一个已知的状态。 如果将此参数关闭,可能会在系统崩溃时无法恢复原来的数据,导致数据库不可用。 参数类型:布尔型 参数单位:无 取值范围: on:表示使用fsync()系统函数。 off:表示不使用fsync()系统函数。 默认值:on 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • wal_sync_method 参数说明:参数fsync开启的前提情况下,设置向磁盘强制更新WAL数据的方法。 如果参数fsync关闭,这个参数的设置就没有意义,因为所有数据更新都不会强制写入磁盘。 参数类型:枚举类型 参数单位:无 取值范围: open_datasync:表示用带O_DSYNC选项的open()打开“WAL”文件。 fdatasync:表示每次提交的时候都调用fdatasync()(支持suse10和suse11)。 fsync_writethrough:表示每次提交的时候调用fsync()强制把缓冲区任何数据写入磁盘。 fsync:表示每次提交的时候调用fsync()(支持suse10和suse11)。 open_sync:表示用带O_SYNC选项的open()写“WAL”文件(支持suse10和suse11)。 不是所有的平台都支持以上参数。 由于历史原因,Windows平台支持将wal_sync_method设置为fsync_writethrough。在windows平台上fsync_writethrough和fsync等效。 在集中式环境,如果配置了enable_standby_walsync_optimization参数,打开WAL日志同步性能优化,在备机上WAL日志采用ADIO方式写盘,写盘固定为PG_O_DIRECT | OPEN_DATASYNC_FLAG方式,不受wal_sync_method参数影响。enable_standby_walsync_optimization参数只影响集中式的备机写盘方式,不影响主机。分布式不支持enable_standby_walsync_optimization参数。 默认值:fdatasync 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
  • 接口介绍 根据输入的参数,评估指定数据对象的采样压缩率或者获取指定行数据的压缩类型。 表1 DBE_COMPRESSION 接口名称 描述 GET_COMPRESSION_RATIO 根据输入参数评估指定数据对象的采样压缩率。 GET_COMPRESSION_TYPE 根据输入参数获取指定行数据的压缩类型。 GET_COMPRESSION_TYPE接口只支持 分布式数据库 中数据节点(DN),其他节点暂不支持。 DBE_COMPRESSION.GET_COMPRESSION_RATIO 根据输入参数评估指定数据对象的采样压缩率,原型为: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 DBE_COMPRESSION.GET_COMPRESSION_RATIO( SCRATCHTBSNAME IN VARCHAR2, OWNNAME IN VARCHAR2, OBJNAME IN VARCHAR2, SUBOBJNAME IN VARCHAR2, COMPTYPE IN NUMBER, BLKCNT_CMP OUT INTEGER, BLKCNT_UNCMP OUT INTEGER, ROW_CMP OUT INTEGER, ROW_UNCMP OUT INTEGER, CMP_RATIO OUT NUMBER, COMPTYPE_STR OUT VARCHAR2, SAMPLE_RATIO IN NUMBER DEFAULT 20, OBJTYPE IN INTEGER DEFAULT 1); 表2 DBE_COMPRESSION.GET_COMPRESSION_RATIO接口参数说明 参数 描述 SCRATCHTBSNAME 数据对象所属表空间。 OWNNAME 数据对象所有者(所属模式)。 OBJNAME 数据对象名称。 SUBOBJNAME 数据子对象名称。 COMPTYPE 压缩类型,支持: 1:未压缩 2:高级压缩。 BLKCNT_CMP 样本被压缩后占用的块数。 BLKCNT_UNCMP 样本未压缩占用的块数。 ROW_CMP 样本被压缩后单个块内可容纳的行数。 ROW_UNCMP 样本未被压缩时单个数据块可容纳的行数。 CMP_RATIO 压缩比,blkcnt_uncmp除以blkcnt_cmp。 COMPTYPE_STR 描述压缩类型的字符串。 SAMPLE_RATIO 采样比例,输入为0-100的整数或浮点数,对应为百分之N的采样比例。默认为20,即对20%的行数进行采样。 OBJTYPE 对象类型,支持: 1:表对象。 DBE_COMPRESSION.GET_COMPRESSION_TYPE 根据输入参数获取指定行数据的压缩类型,该接口属于运维类接口,不做可见性判断,即传入的ctid为已删除的行时,该接口依然会返回当前行在页面上最新的状态,原型为: 1 2 3 4 5 6 DBE_COMPRESSION.GET_COMPRESSION_TYPE( OWNNAME IN VARCHAR2, TABNAME IN VARCHAR2, CTID IN TEXT, SUBOBJNAME IN VARCHAR2 DEFAULT NULL, BUCKETID IN pg_catalog.int2 DEFAULT NULL) 表3 DBE_COMPRESSION.GET_COMPRESSION_TYPE接口参数说明 参数 描述 OWNNAME 数据对象所有者(所属模式)。 TABNAME 数据对象名称。 CTID 目标行ctid。 SUBOBJNAME 数据子对象名称。 BUCKETID 目标行的tablebucketid,仅用于bucket表,默认为NULL。
  • GLOBAL_RECORD_RESET_TIME GLOBAL_RECORD_RESET_TIME用于获取集群中各节点的“重置(重启,主备倒换,数据库删除)时间”的统计信息,如表1所示。 表1 GLOBAL_RECORD_RESET_TIME字段 名称 类型 描述 node_name text 节点名称。 reset_time timestamp with time zone 重置时间点。 父主题: Utility
  • 注意事项 不允许对一个已关闭的游标再做任何操作。 一个不再使用的游标应该尽早关闭。 当创建游标的事务用COMMIT或ROLLBACK终止之后,每个不可保持的已打开游标都隐含关闭。 当创建游标的事务通过ROLLBACK退出之后,每个可以保持的游标都将隐含关闭。 当创建游标的事务成功提交,可保持的游标将保持打开,直到执行一个明确的CLOSE或者客户端断开。 GaussDB没有明确打开游标的OPEN语句,因为一个游标在使用CURSOR命令定义的时候就打开了。可以通过查询系统视图pg_cursors看到所有可用的游标。
  • GLOBAL_WLM_RESPOOL_CONCURRENCY_INFO 该视图用于查看分布式下所有节点实时的资源池并发数使用情况。查询该视图需要sysadmin权限或者monadmin权限。 该视图只能查询主DN节点上的数据,备节点需要登录到备节点上后使用系统函数gs_wlm_respool_concurrency_info()查询并发数使用情况。 表1 GLOBAL_WLM_RESPOOL_CONCURRENCY_INFO字段 名称 类型 描述 node_name name 节点名称。 respool_name name 资源池名称。 max_concurrency integer 资源池支持的最大并发数。 running_conurrency integer 当前资源池正在执行的并发数。 waiting_concurrency integer 当前资源池正在等待的并发数。 示例: 1 2 3 4 5 6 7 8 gaussdb=# SELECT * FROM GLOBAL_WLM_RESPOOL_CONCURRENCY_INFO; node_name | respool_name | max_concurrency | running_concurrency | waiting_concurrency --------------+--------------+-----------------+---------------------+--------------------- coordinator1 | default_pool | -1 | 1 | 0 datanode3 | default_pool | -1 | 1 | 0 datanode1 | default_pool | -1 | 1 | 0 datanode2 | default_pool | -1 | 1 | 0 (4 rows) 父主题: 负载管理
共100000条
提示

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