华为云用户手册

  • 参数说明 src, src1, src2表示predpush下推candidates一侧表集合。 dest表示predpush下推所指定的dest表也就是目标表。 predpush如果没有逗号表示所有表都是candidates表, 如果有逗号就说明同时指定了candidates表和dest表。 使用predpush hint将过滤表达式尽可能移至靠近数据源的位置以达到查询优化的目的。 使用predpush hint需要确保rewrite_rule GUC参数包含PREDPUSH|REDPUSHFORCE|PREDPUSHNORMAL选项。 subquery_block也可以是视图/物化视图。
  • archive_timeout 参数说明:表示归档周期。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 超过该参数设定的时间时强制切换WAL段。 由于强制切换而提早关闭的归档文件仍然与完整的归档文件长度相同。因此,将archive_timeout设为很小的值将导致占用巨大的归档存储空间,建议将archive_timeout设置为60秒。 取值范围:整型,0 ~ 1073741823‬,单位为秒,其中0表示禁用该功能。 默认值:0
  • time_to_target_rpo 参数说明:双集群异地灾备模式下,设置主集群发生异常发生时到已归档到OBS的恢复点所允许的time_to_target_rpo秒。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~3600(秒) 双集群异地灾备模式下,主集群日志将被归档到OBS。0是指不开启日志流控,1~3600是指设置主集群发生异常发生时到已归档到OBS的恢复点所允许的time_to_target_rpo秒,保证主集群因灾难崩溃时,最多可能丢失的数据的时长在允许范围内。time_to_target_rpo设置时间过小会影响主机的性能,设置过大会失去流控效果。 默认值:10
  • PV_SESSION_MEMORY PV_SESSION_MEMORY视图显示Session级别的内存使用情况,包含执行作业在数据节点上gaussdb线程和Stream线程分配的所有内存。 表1 PV_SESSION_MEMORY字段 名称 类型 描述 sessid text 线程启动时间+线程标识。 init_mem integer 当前正在执行作业进入执行器前已分配的内存,单位MB。 used_mem integer 当前正在执行作业已分配的内存,单位MB。 peak_mem integer 当前正在执行作业已分配的内存峰值,单位MB。 父主题: 系统视图
  • 参数说明 SESSION 声明的参数只对当前会话起作用。如果SESSION和LOCAL都没出现,则SESSION为缺省值。 如果在事务中执行了此命令,命令的产生影响将在事务回滚之后消失。如果该事务已提交,影响将持续到会话的结束,除非被另外一个SET命令重置参数。 LOCAL 声明的参数只在当前事务中有效。在COMMIT或ROLLBACK之后,会话级别的设置将再次生效。 不论事务是否提交,此命令的影响只持续到当前事务结束。一个特例是:在一个事务里面,既有SET命令,又有SET LOCAL命令,且SET LOCAL在SET后面,则在事务结束之前,SET LOCAL命令会起作用,但事务提交之后,则是SET命令会生效。 TIME ZONE timezone 用于指定当前会话的本地时区。 取值范围:有效的本地时区。该选项对应的运行时参数名称为TimeZone,DEFAULT缺省值为PRC。 CURRENT_SCHEMA schema CURRENT_SCHEMA用于指定当前的模式。 取值范围:已存在模式名称。 SCHEMA schema 同CURRENT_SCHEMA。此处的schema是个字符串。 例如:set schema 'public'; NAMES encoding_name 用于设置客户端的字符编码。等价于set client_encoding to encoding_name。 取值范围:有效的字符编码。该选项对应的运行时参数名称为client_encoding,默认编码为UTF8。 XML OPTION option 用于设置XML的解析方式。 取值范围:CONTENT(缺省)、DOCUMENT config_parameter 可设置的运行时参数的名称。可用的运行时参数可以使用SHOW ALL命令查看。 部分通过SHOW ALL查看的参数不能通过SET设置。如max_datanodes。 value config_parameter的新值。可以声明为字符串常量、标识符、数字,或者逗号分隔的列表。DEFAULT用于把这些参数设置为它们的缺省值。
  • 语法格式 设置所处的时区。 1 SET [ SESSION | LOCAL ] TIME ZONE { timezone | LOCAL | DEFAULT }; 设置所属的模式。 1 2 3 SET [ SESSION | LOCAL ] {CURRENT_SCHEMA { TO | = } { schema | DEFAULT } | SCHEMA 'schema'}; 设置客户端编码集。 1 SET [ SESSION | LOCAL ] NAMES encoding_name; 设置XML的解析方式。 1 SET [ SESSION | LOCAL ] XML OPTION { DOCUMENT | CONTENT }; 设置其他运行时参数。 1 2 3 SET [ LOCAL | SESSION ] {config_parameter { { TO | = } { value | DEFAULT } | FROM CURRENT }};
  • cm_krb_server_keyfile 参数说明:kerberos服务端key文件所在位置,需要配置为绝对路径。该文件通常为${GAUSSHOME}/kerberos路径下,以keytab格式结尾,文件名与集群运行所在用户名相同。与上述cm_auth_method参数是配对的,当cm_auth_method参数修改为gss时,该参数也必须配置为正确路径,否则将影响集群状态 取值范围:字符串类型,参数修改请参考表1进行设置。 默认值:${GAUSSHOME}/kerberos/{UserName}.keytab,默认值无法生效,仅作为提示
  • ddb_log_level 参数说明:设置ddb日志级别。 关闭日志:“NONE”,NONE表示关闭日志打印,不能与以下日志级别混合使用。 开启日志:“RUN_ERR|RUN_WAR|RUN_INF|DEBUG_ERR|DEBUG_WAR|DEBUG_INF|TRACE|PROFILE|OPER”日志级别可以从上述字符串中选取字符串并使用竖线组合使用,不能配置空串。 取值范围:字符串,RUN_ERR|RUN_WAR|RUN_INF|DEBUG_ERR|DEBUG_WAR|DEBUG_INF|TRACE|PROFILE|OPER。参数修改请参考表2进行设置。 默认值:RUN_ERR|RUN_WAR|DEBUG_ERR|OPER|RUN_INF|PROFILE
  • alarm_component 参数说明:设置用于处理告警内容的告警组件的位置。 取值范围:字符串。参数修改请参考表2进行设置。 若前置脚本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
  • 关闭数据库连接 在使用数据库连接完成相应的数据操作后,需要关闭数据库连接。 关闭数据库连接可以直接调用其close方法即可。 // 认证用的用户名和密码直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中存放(密码应密文存放,使用时解密),确保安全; // 本示例以用户名和密码保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量(环境变量名称请根据自身情况进行设置)EXAMPLE_USERNAME_ENV和EXAMPLE_PASSWORD_ENV。 String userName = System.getenv("EXAMPLE_USERNAME_ENV"); String password = System.getenv("EXAMPLE_PASSWORD_ENV"); Connection conn = DriverManager.getConnection(sourceURL, userName, password); conn.close(); 父主题: 基于JDBC开发
  • 参数说明 role_name 现有角色名。 取值范围:已存在的角色名,如果角色名中包含大写字母则需要使用双引号括起来。 IN DATABASE database_name 表示修改角色在指定数据库上的参数。 SET configuration_parameter {{ TO | = } { value | DEFAULT } | FROM CURRENT} 设置角色的参数。ALTER ROLE中修改的会话参数只针对指定的角色,且在下一次该角色启动的会话中有效。 当前版本不支持设置用户级别参数。 取值范围: configuration_parameter和value的取值请参见SET。 DEFAULT:表示清除configuration_parameter参数的值,configuration_parameter参数的值将继承本角色新产生的SESSION的默认值。 FROM CURRENT:取当前会话中的值设置为configuration_parameter参数的值。 RESET {configuration_parameter|ALL} 清除configuration_parameter参数的值。与SET configuration_parameter TO DEFAULT的效果相同。 当前版本不支持重置用户级别参数。 取值范围:ALL表示清除所有参数的值。 ACCOUNT LOCK | ACCOUNT UNLOCK ACCOUNT LOCK:锁定账户,禁止登录数据库。 ACCOUNT UNLOCK:解锁账户,允许登录数据库。 PGUSER 当前版本不允许修改角色的PGUSER属性。 PASSWORD/IDENTIFIED BY 'password' 重置或修改用户密码。除了初始用户外其他管理员或普通用户修改自己的密码需要输入正确的旧密码。只有初始用户、系统管理员(sysadmin)或拥有创建用户(CREATEROLE)权限的用户才可以重置普通用户密码,无需输入旧密码。初始用户可以重置系统管理员的密码,系统管理员不允许重置其他系统管理员的密码。 EXPIRED 设置密码失效。只有初始用户、系统管理员(sysadmin)或拥有创建用户(CREATEROLE)权限的用户才可以设置用户密码失效,其中系统管理员也可以设置自己或其他系统管理员密码失效。不允许设置初始用户密码失效。 密码失效的用户可以登录数据库但不能执行查询操作,只有修改密码或由管理员重置密码后才可以恢复正常查询操作。 其他参数请参见CREATE ROLE的参数说明。
  • 语法格式 修改角色的权限。 1 ALTER ROLE role_name [ [ WITH ] option [ ... ] ]; 其中权限项子句option为: 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 {CREATEDB | NOCREATEDB} | {CREATEROLE | NOCREATEROLE} | {INHERIT | NOINHERIT} | {AUDITADMIN | NOAUDITADMIN} | {SYSADMIN | NOSYSADMIN} | {MONADMIN | NOMONADMIN} | {OPRADMIN | NOOPRADMIN} | {POLADMIN | NOPOLADMIN} | {USEFT | NOUSEFT} | { LOG IN | NOLOGIN} | {REPLICATION | NOREPLICATION} | {VCADMIN | NOVCADMIN} | {PERSISTENCE | NOPERSISTENCE} | CONNECTION LIMIT connlimit | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'[EXPIRED] | [ ENCRYPTED | UNENCRYPTED ] IDENTIFIED BY 'password' [ REPLACE 'old_password' | EXPIRED ] | [ ENCRYPTED | UNENCRYPTED ] PASSWORD { 'password' | DISABLE | EXPIRED } | [ ENCRYPTED | UNENCRYPTED ] IDENTIFIED BY { 'password' [ REPLACE 'old_password' ] | DISABLE } | VALID BEGIN 'timestamp' | VALID UNTIL 'timestamp' | USER GROUP 'groupuser' | PERM SPACE 'spacelimit' | TEMP SPACE 'tmpspacelimit' | SPILL SPACE 'spillspacelimit' | NODE GROUP logic_cluster_name | PGUSER 修改角色的名称。 1 2 ALTER ROLE role_name RENAME TO new_name;
  • SUMMARY_STAT_USER_TABLES 集群内所有命名空间中用户自定义普通表的状态信息。 表1 SUMMARY_STAT_USER_TABLES 名称 类型 描述 schemaname name 该表的模式名。 relname name 表名。 seq_scan numeric 该表发起的顺序扫描数。 seq_tup_read numeric 顺序扫描抓取的活跃行数。 idx_scan numeric 该表发起的索引扫描数。 idx_tup_fetch numeric 索引扫描抓取的活跃行数。 n_tup_ins numeric 插入行数。 n_tup_upd numeric 更新行数。 n_tup_del numeric 删除行数。 n_tup_hot_upd numeric HOT更新行数(即没有更新所需的单独索引)。 n_live_tup numeric 估计活跃行数。 n_dead_tup numeric 估计死行数。 last_vacuum timestamp with time zone 最后一次该表是手动清理的(不计算VACUUM FULL)时间。 last_autovacuum timestamp with time zone 上次被autovacuum守护进程清理的时间。 last_analyze timestamp with time zone 上次手动分析该表的时间。 last_autoanalyze timestamp with time zone 上次被autovacuum守护进程分析的时间。 vacuum_count numeric 该表被手动清理的次数(不计算VACUUM FULL)。 autovacuum_count numeric 该表被autovacuum清理的次数。 analyze_count numeric 该表被手动分析的次数。 autoanalyze_count numeric 该表被autovacuum守护进程分析的次数。 父主题: Object
  • PG_RANGE PG_RANGE系统表存储关于范围类型的信息,除了PG_TYPE里类型的记录。 表1 PG_RANGE字段 名称 类型 引用 描述 rngtypid oid PG_TYPE.oid 范围类型的OID。 rngsubtype oid PG_TYPE.oid 这个范围类型的元素类型(子类型)的OID。 rngcollation oid PG_COLLATION.oid 用于范围比较的排序规则的OID,如果没有则为零。 rngsubopc oid PG_OPCLASS.oid 用于范围比较的子类型的操作符类的OID。 rngcanonical regproc PG_PROC.proname 转换范围类型为规范格式的函数名,如果没有则为0。 rngsubdiff regproc PG_PROC.proname 表示用于计算范围两元素差值的函数的名字,该函数的返回值为双精度类型,如果不存在该函数则rngsubdiff字段值为0。 若元素类型是离散的,则rngcanonical决定用于范围类型的排序顺序;若元素类型是不可排序的,则rngsubopc决定用于范围类型的排序顺序;若元素类型是可排序的,则rngsubopc和rngcollation决定用于范围类型的排序顺序。 父主题: 系统表
  • 参数说明 mv_name 要创建的物化视图的名称(可以被模式限定)。 取值范围:字符串,要符合标识符命名规范。 column_name 新物化视图中的一个列名。物化视图支持指定列,指定列需要和后面的查询语句结果的列数量保持一致;如果没有提供列名,会从查询的输出列名中获取列名。 取值范围:字符串,要符合标识符命名规范。 TABLESPACE tablespace_name 指定新建物化视图所属表空间。如果没有声明,将使用默认表空间。 AS query 一个SELECT或者TABLE 命令。这个查询将在一个安全受限的操作中运行。
  • 功能描述 CREATE INCREMENTAL MATERIALIZED VIEW会创建一个增量物化视图,后续可以使用REFRESH MATERIALIZED VIEW(全量刷新)和REFRESH INCREMENTAL MATERIALIZED VIEW(增量刷新)刷新物化视图的数据。 CREATE INCREMENTAL MATERIALIZED VIEW类似于CREATE TABLE AS,不过它会记住被用来初始化该视图的查询, 因此它可以在后续中进行数据刷新。一个物化视图有很多和表相同的属性,但是不支持临时物化视图。
  • 示例 --创建一个普通表。 openGauss=# CREATE TABLE my_table (c1 int, c2 int); --创建增量物化视图。 openGauss=# CREATE INCREMENTAL MATERIALIZED VIEW my_imv AS SELECT * FROM my_table; --基表写入数据。 openGauss=# INSERT INTO my_table VALUES(1,1),(2,2); --对增量物化视图my_imv进行增量刷新。 openGauss=# REFRESH INCREMENTAL MATERIALIZED VIEW my_imv; --删除增量物化视图。 openGauss=# DROP MATERIALIZED VIEW my_imv; --删除普通表my_table。 openGauss=# DROP TABLE my_table;
  • Global SysCache特性函数 gs_gsc_table_detail(database_id default NULL, rel_id default NULL) 描述:查看数据库里全局系统缓存的表元数据。调用该函数的用户需要具有SYSADMIN权限。 参数:指定需要查看全局系统缓存的数据库和表,database_id默认值NULL或者-1表示所有的数据库,0表示共享表,其他数字表示指定数据库及共享表,rel_id表示指定表的oid,默认值NULL或者-1表示所有的表,其他值表示指定的表,database_id不存在会报错,rel_id 不存在查询结果为空。 返回值类型:Tuple select * from gs_gsc_table_detail(-1) limit 1; database_oid | database_name | reloid | relname | relnamespace | reltype | reloftype | relowner | relam | relfilenode | reltablespace | relhasindex | relisshared | relkind | relnatts | relhasoids | relhaspkey | parttype | tdhasuids | attnames | extinfo --------------+---------------+--------+-------------------------+--------------+---------+-----------+----------+-------+-------------+---------------+-------------+-------------+---------+----------+------------+------------+----------+-----------+-----------+--------- 0 | | 2676 | pg_authid_rolname_index | 11 | 0 | 0 | 10 | 403 | 0 | 1664 | f | t | i | 1 | f | f | n | f | 'rolname' | (1 row) gs_gsc_catalog_detail(database_id default NULL, rel_id default NULL) 描述:查看数据库里全局系统缓存的系统表行信息。调用该函数的用户需要具有SYSADMIN权限。 参数:指定需要查看全局系统缓存的数据库和表,database_id 默认值NULL或者-1表示所有的数据库,0表示共享表,其他数字表示指定数据库及共享表,rel_id表示指定表的id,仅包含所有有系统缓存的系统表,默认值NULL或者-1表示所有的表,其他值表示指定的表,database_id不存在会报错,rel_id不存在结果为空。 返回值类型:Tuple 示例: openGauss=# select * from gs_gsc_catalog_detail(16574, 1260); database_id | database_name | rel_id | rel_name | cache_id | self | ctid | infomask | infomask2 | hash_value | refcount -------------+---------------+--------+-----------+----------+--------+--------+----------+-----------+------------+---------- 0 | | 1260 | pg_authid | 10 | (0, 9) | (0, 9) | 10507 | 26 | 531311568 | 10 0 | | 1260 | pg_authid | 11 | (0, 4) | (0, 4) | 2313 | 26 | 365368336 | 1 0 | | 1260 | pg_authid | 11 | (0, 9) | (0, 9) | 10507 | 26 | 3911517328 | 10 0 | | 1260 | pg_authid | 11 | (0, 7) | (0, 7) | 2313 | 26 | 1317799983 | 1 0 | | 1260 | pg_authid | 11 | (0, 5) | (0, 5) | 2313 | 26 | 3664347448 | 1 0 | | 1260 | pg_authid | 11 | (0, 1) | (0, 1) | 2313 | 26 | 276477273 | 1 0 | | 1260 | pg_authid | 11 | (0, 3) | (0, 3) | 2313 | 26 | 2465837659 | 1 0 | | 1260 | pg_authid | 11 | (0, 8) | (0, 8) | 2313 | 26 | 3205288035 | 1 0 | | 1260 | pg_authid | 11 | (0, 6) | (0, 6) | 2313 | 26 | 131811687 | 1 0 | | 1260 | pg_authid | 11 | (0, 2) | (0, 2) | 2313 | 26 | 1226484587 | 1 (10 rows) gs_gsc_clean(database_id default NULL) 描述:清理global syscache的缓存,需要注意,正在使用中的数据不会被清理。调用该函数的用户需要具有SYSADMIN权限。 参数:指定需要清理全局系统缓存的数据库,默认值NULL或者-1表示强制清理所有的数据库全局系统缓存,0表示只淘汰共享表的全局系统缓存,其他数字表示淘汰指定数据库以及共享表的全局系统缓存,database_id不存在会报错。 返回值类型:bool 示例: openGauss=# select * from gs_gsc_clean(); gs_gsc_clean -------------- t (1 row) gs_gsc_dbstat_info(database_id default NULL) 描述:获取本地节点的GSC的内存统计信息,包括tuple、relation、partition的缓存查询,命中,加载、失效、占用空间信息,DB级别的淘汰信息,线程引用信息,内存占用信息。可以用于定位性能问题,例如当发现hits/searches数组远小于1时,可能是global_syscache_threshold设置太小,导致查询命中率下降。调用该函数的用户需要具有SYSADMIN权限。 参数:指定需要查看的数据库全局系统缓存统计信息,NULL或者-1表示查看所有的数据库,0表示只查看共享表信息,其他数字表示查看指定的数据库和共享表的信息。不合法的输入值,database_id不存在会报错。 返回值类型:Tuple 示例: openGauss=# select * from gs_gsc_dbstat_info(); database_id | database_name | tup_searches | tup_hits | tup_miss | tup_count | tup_dead | tup_memory | rel_searches | rel_hits | rel_mis s | rel_count | rel_dead | rel_memory | part_searches | part_hits | part_miss | part_count | part_dead | part_memory | total_memory | swa pout_count | refcount -------------+---------------+--------------+----------+----------+-----------+----------+------------+--------------+----------+-------- --+-----------+----------+------------+---------------+-----------+-----------+------------+-----------+-------------+--------------+---- -----------+---------- 0 | | 300 | 235 | 31 | 22 | 2 | 9752 | 598 | 108 | 1 8 | 18 | 0 | 77720 | 0 | 0 | 0 | 0 | 0 | 0 | 752912 | 0 | 0 16574 | testdb | 3368 | 2289 | 329 | 273 | 0 | 92593 | 1113 | 524 | 4 8 | 48 | 0 | 340456 | 0 | 0 | 0 | 0 | 0 | 0 | 4124792 | 0 | 10 (2 rows) 父主题: 函数和操作符
  • GS_GET_CONTROL_GROUP_INFO GS_GET_CONTROL_GROUP_INFO视图显示所有控制组的信息。查询该视图需要sysadmin权限。 表1 GS_GET_CONTROL_GROUP_INFO字段 名称 类型 描述 group_name text 控制组的名称。 group_type text 控制组的类型。 GROUP_NONE,无分组。 GROUP_TOP,顶级分组。 GROUP_CLASS,该资源的类分组,不控制任何线程。 GROUP_BAKWD,后端线程控制组。 GROUP_DEFWD,默认控制组,仅控制该级别的查询线程。 GROUP_TSWD每个用户的分时控制组,控制最底层的查询线程。 gid bigint 控制组ID。 classgid bigint Workload所属Class的控制组ID。 class text Class控制组。 group_workload text Workload控制组。 shares bigint 控制组分配的CPU资源配额。 limits bigint 控制组分配的CPU资源限额。 wdlevel bigint Workload控制组层级。 cpucores text 控制组使用的CPU核的信息。 nodegroup text node group名称。 group_kind text node group类型,取值包括i,n,v,e。 i:表示installation node group。 n:表示普通集群node group。 e:表示弹性集群。 父主题: 系统视图
  • random_page_cost 参数说明:设置优化器计算一次非顺序抓取磁盘页面的开销。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 虽然服务器允许将random_page_cost设置的比seq_page_cost小,但是物理上实际不受影响。如果所有数据库都位于随机访问内存中时,两者设置为相等很合理。因为在此种情况下,非顺序抓取页并没有副作用。同样,在缓冲率很高的数据库上,应该相对于CPU参数同时降低这两个值,因为获取内存中的页要比通常情况下开销小很多。 取值范围:浮点型,0~DBL_MAX。 默认值:4 对于特别表空间中的表和索引,可以通过设置同名的表空间的参数来覆盖这个值。 相对于seq_page_cost,减少这个值将导致系统更倾向于使用索引扫描,而增加这个值使得索引扫描开销比较高。可以通过同时增加或减少这两个值来调整磁盘I/O相对于CPU的开销。
  • effective_cache_size 参数说明:设置优化器在一次单一的查询中可用的磁盘缓冲区的有效大小。 设置这个参数,要考虑 GaussDB 的共享缓冲区以及内核的磁盘缓冲区,还要考虑预计的在不同表之间的并发查询数目,因为它们将共享可用的空间。 这个参数对GaussDB实际运行时分配的共享内存大小没有影响,它只用于计划生成阶段的估算。该数值是用磁盘页来计算的,通常每个页面是8192字节。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1~2147483647‬,单位为8KB。 默认值: 独立部署: CN:2GB(60核CPU/480G内存);1GB(32核CPU/256G内存,16核CPU/128G内存);512MB(8核CPU/64G内存);256MB(4核CPU/32G内存);128MB(4核CPU/16G内存) DN:70GB(60核CPU/480G内存);38GB(32核CPU/256G内存);20GB(16核CPU/128G内存);8GB(8核CPU/64G内存);4GB(4核CPU/32G内存);2GB(4核CPU/16G内存) 金融版(标准型): CN:1GB(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存);512MB(32核CPU/256G内存,16核CPU/128G内存);256MB(8核CPU/64G内存) DN:70GB(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存);50GB(96核CPU/768G内存);40GB(80核CPU/640G内存,72核CPU/576G内存);35GB(64核CPU/512G内存);30GB(60核CPU/480G内存);15GB(32核CPU/256G内存),8GB(16核CPU/128G内存);4GB(8核CPU/64G内存) 企业版: CN:1GB(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,80核CPU/512G内存,72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存);512MB(32核CPU/256G内存,16核CPU/128G内存);256MB(8核CPU/64G内存) DN:50GB(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存);38GB(96核CPU/768G内存);32GB(80核CPU/640G内存);28GB(72核CPU/576G内存);25GB(80核CPU/512G内存,64核CPU/512G内存);24GB(60核CPU/480G内存);12GB(32核CPU/256G内存),5GB(16核CPU/128G内存);3GB(8核CPU/64G内存) 金融版(数据计算型): CN:1GB(96核CPU/768G内存);512MB(72核CPU/576G内存,64核CPU/512G内存);256MB(32核CPU/256G内存) DN:25GB(96核CPU/768G内存);20GB(72核CPU/576G内存);15GB(64核CPU/512G内存);5GB(32核CPU/256G内存) 设置建议: 较大的数值使优化器倾向于选择索引扫描,较小的数值使优化器倾向于选择全表扫描。一般情况下,可以设为shared_buffers大小的1/2,较为激进地,可以设为shared_buffers大小的3/4。
  • SUMMARY_STAT_BAD_BLOCK 获得集群内汇聚的表、索引等文件的读取失败信息。 表1 SUMMARY_STAT_BAD_BLOCK字段 名称 类型 描述 databaseid integer database的oid。 tablespaceid integer tablespace的oid。 relfilenode integer relation的file node。 forknum bigint fork编号。 error_count bigint error的数量。 first_time timestamp with time zone 页面损坏第一次出现的时间。 last_time timestamp with time zone 页面损坏最后出现的时间。 父主题: Object
  • max_io_capacity 参数说明:设置后端写进程批量刷页每秒的I/O上限,需要根据具体业务场景和机器磁盘I/O能力进行设置,要求RTO很短时间或者数据量比共享内存大多倍的情况,业务访问数据量又是随机访问时,该值不宜过小。设置较小的max_io_capacity会减小后端写进程刷页个数,如果业务触发页面淘汰多时,该值设置小会影响业务。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,30720~10485760,单位是KB。 默认值:500MB/s
  • bgwriter_lru_multiplier 参数说明:通过与已使用缓存区数目的乘积评估下次服务器需要的缓存区数目。 写“脏”缓存区到磁盘的数目取决于服务器最近几次使用的缓存区数目。最近的buffers数目的平均值乘以bgwriter_lru_multiplier是为了评估下次服务器进程需要的buffers数目。在有足够多的干净的、可用的缓存区之前,后端写进程会一直写“脏”缓存区的(每次写的缓存区数目不会超过bgwriter_lru_maxpages的值)。 设置bgwriter_lru_multiplier的值为1.0表示一种“实时”策略,其作用是精准预测下次写“脏”缓冲区的数目。设置为较大的值可以应对突然的需求高峰,而较小的值则可以让服务器进程执行更多的写操作。 设置较小的bgwriter_lru_maxpages和bgwriter_lru_multiplier会减小后端写进程导致的额外I/O开销,但是服务器进程必须自己发出写操作,增加了对查询的响应时间。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:浮点型,0~10。 默认值:2
  • pagewriter_sleep 参数说明:设置用于增量检查点打开后,pagewriter线程每隔pagewriter_sleep的时间刷一批脏页下盘。当脏页占据shared_buffers的比例达到dirty_page_percent_max时,每批页面数量以设定的max_io_capacity计算出的值刷页,其余情况每批页面数量按比例相对减少。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~3600000,单位为毫秒。 默认值:2000ms(2s)
  • bgwriter_delay 参数说明:设置后端写进程写"脏"共享缓冲区之间的时间间隔。每一次,后端写进程都会为一些脏的缓冲区发出写操作,全量checkpoint模式用bgwriter_lru_maxpages参数控制每次写的量,然后休眠bgwriter_delay毫秒后才再次启动;增量checkpoint模式下,根据设定candidate_buf_percent_target计算目标空闲缓冲页面个数,不足时每隔bgwriter_delay毫秒刷一批页面下盘,刷页个数根据目标差距百分比计算,会根据max_io_capacity限制最大数量。 在许多系统上,休眠延时的有效分辨率是10毫秒。因此,设置一个不是10的倍数的数值与把它设置为下一个10的倍数是一样的效果。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,10~10000,单位为毫秒。 默认值:2s 设置建议:在数据写压力比较大的场景中可以尝试减小该值以降低checkpoint的压力。
  • 示例 1 2 3 4 5 6 BEGIN select DBE_SESSION.set_context('test', 'gaussdb', 'one'); --设置名为test的context下属性为gaussdb的值为one select DBE_SESSION.search_context('test', 'gaussdb'); select DBE_SESSION.clear_context('test', 'test','gaussdb'); END; /
  • GS_SQL_PATCH GS_SQL_PATCH系统表存储所有SQL_PATCH的状态信息,当前分布式下暂不支持该功能。 表1 GS_SQL_PATCH字段 名称 类型 描述 patch_name name PATCH名称。 unique_sql_id bigint 查询全局唯一ID。 owner oid PATCH的创建用户ID。 enable boolean PATCH是否生效。 status "char" PATCH的状态(预留字段)。 abort boolean 是否是AbortHint。 hint_string text Hint文本。 hint_node pg_node_tree Hint解析&序列化的结果。 original_query text 原始语句(预留字段)。 patched_query text PATCH之后的语句(预留字段)。 original_query_tree pg_node_tree 原始语句的解析结果(预留字段)。 patched_query_tree pg_node_tree PATCH之后语句的解析结果(预留字段)。 description text PATCH的备注。 父主题: 系统表
  • 示例 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 --创建SCHEMA。 openGauss=# CREATE SCHEMA tpcds; --创建表tpcds.reason。 openGauss=# CREATE TABLE tpcds.reason ( r_reason_sk INTEGER NOT NULL, r_reason_id CHAR(16) NOT NULL, r_reason_desc VARCHAR(40) ); --向表中插入多条记录。 openGauss=# INSERT INTO tpcds.reason VALUES (1, 'AAAAAAAABAAAAAAA', 'Xxxxxxxxx'),(2, 'AAAAAAAACAAAAAAA', ' Xxxxxxxxx'),(3, 'AAAAAAAADAAAAAAA', ' Xxxxxxxxx'),(4, 'AAAAAAAAEAAAAAAA', 'Not the product that was ordered'),(5, 'AAAAAAAAFAAAAAAA', 'Parts missing'),(6, 'AAAAAAAAGAAAAAAA', 'Does not work with a product that I have'),(7, 'AAAAAAAAHAAAAAAA', 'Gift exchange'); --开始一个事务。 openGauss=# START TRANSACTION; --定义一个名为cursor1的游标。 openGauss=# CURSOR cursor1 FOR SELECT * FROM tpcds.reason; --忽略游标cursor1的前3行。 openGauss=# MOVE FORWARD 3 FROM cursor1; --抓取游标cursor1的前4行。 openGauss=# FETCH 4 FROM cursor1; r_reason_sk | r_reason_id | r_reason_desc -------------+------------------+------------------------------------------------------------------------------------------------------ 4 | AAAAAAAAEAAAAAAA | Not the product that was ordered 5 | AAAAAAAAFAAAAAAA | Parts missing 6 | AAAAAAAAGAAAAAAA | Does not work with a product that I have 7 | AAAAAAAAHAAAAAAA | Gift exchange (4 rows) --关闭游标。 openGauss=# CLOSE cursor1; --结束一个事务。 openGauss=# END; --删除表。 openGauss=# DROP TABLE tpcds.reason; --删除SCHEMA。 openGauss=# DROP SCHEMA tpcds CASCADE;
  • 语法格式 1 MOVE [ direction [ FROM | IN ] ] cursor_name; 其中direction子句为可选参数。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 NEXT | PRIOR | FIRST | LAST | ABSOLUTE count | RELATIVE count | count | ALL | FORWARD | FORWARD count | FORWARD ALL | BACKWARD | BACKWARD count | BACKWARD ALL
共100000条