华为云用户手册
-
transaction_deferrable 参数说明:指定是否允许一个只读串行事务延迟执行,使其不会执行失败。该参数设置为on时,当一个只读事务发现读取的元组正在被其他事务修改,则延迟该只读事务直到其他事务修改完成。该参数为预留参数,该版本不生效。与该参数类似的有default_transaction_deferrable,用于指定一个事务是否允许延迟。 参数类型:布尔型 参数单位:无 取值范围: on:表示允许执行。 off:表示不允许执行。 默认值:off 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
-
gtm_port1 参数说明:备GTM进程的侦听端口。仅sysadmin用户可见。 该参数由安装时的配置文件指定,请勿轻易修改,否则修改后会影响数据库正常通信。 参数类型:整型 参数单位:无 取值范围:1 ~ 65535 默认值:如有备1,安装指定。否则为6665。 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:不建议进行修改。 设置不当的风险与影响:修改端口号会影响数据库正常通信。
-
gtm_rw_timeout 参数说明:控制GTM反馈超时时间,如果GTM的反馈时间超过此参数设置的值,也就是等待时间超过了此参数值,则超时返回。 参数类型:整型 参数单位:s(秒) 取值范围:1 ~ 2147483647 默认值:60(1min) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
-
xc_maintenance_mode 参数说明:设置系统进入维护模式。 参数类型:布尔型 参数单位:无 取值范围: on:表示进入维护模式。 off:表示不进入维护模式。 谨慎打开这个功能,避免引起集群数据不一致。 默认值:off 设置方式:该参数属于SUSET类型参数,仅支持表2中的方式三进行设置。 设置建议:该参数一般供维护人员排查问题使用,不建议用户开启。 设置不当的风险与影响:修改该参数取值可能导致集群出现意料之外的结果,请保持默认值。
-
enable_show_any_tuples 参数说明:该参数只有在只读事务中可用,用于分析。当这个参数被置为on时,表中元组的所有版本都会可见。 参数类型:布尔型 参数单位:无 取值范围: on:表示表中元组的所有版本都会可见。 off:表示表中元组的所有版本都不可见。 默认值:off 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。 在toast场景下,如果reindex前后均有DML操作(主要是insert+update或insert+delete),在reindex操作后,开启只读事务并打开该GUC参数,release版本下单独查询toast表或toast索引表历史数据正常,但是通过主表查询toast列历史数据会报错“missing chunk number xxx”。
-
基本语句 在编写PL/SQL过程中,会定义一些变量,给变量赋值,调用其他存储过程等。介绍PL/SQL中的基本语句,包括定义变量、赋值语句、调用语句以及返回语句。 尽量不要在存储过程中调用包含密码的SQL语句,因为存储在数据库中的存储过程文本可能被其他有权限的用户看到,从而导致密码信息泄漏。如果存储过程中包含其他敏感信息,也需要配置存储过程的访问权限,以保证敏感信息不会泄漏。 定义变量 赋值语句 调用语句 父主题: 存储过程
-
GS_CLIENT_GLOBAL_KEYS GS_CLIENT_GLOBAL_KEYS系统表记录密态等值特性中客户端加密主密钥相关信息,每条记录对应一个客户端加密主密钥。 表1 GS_CLIENT_GLOBAL_KEYS字段 名称 类型 描述 oid oid 行标识符(隐含字段)。 global_key_name name 客户端加密主密钥(cmk)名称。 key_namespace oid 包含此客户端加密主密钥(cmk)的命名空间OID。 key_owner oid 客户端加密主密钥(cmk)的所有者。 key_acl aclitem[] 创建该密钥时所拥有的访问权限。 create_date timestamp without time zone 创建密钥的时间。 父主题: 密态等值查询
-
内置函数 HLL(HyperLogLog)有一系列内置函数用于内部对数据进行处理,一般情况下用户不需要熟知这些函数的使用,具体如表1所示。 表1 内置函数 函数名称 功能描述 hll_in 以string格式接收hll数据。 hll_out 以string格式发送hll数据。 hll_recv 以bytea格式接收hll数据。 hll_send 以bytea格式发送hll数据。 hll_trans_in 以string格式接收hll_trans_type数据。 hll_trans_out 以string格式发送hll_trans_type数据。 hll_trans_recv 以bytea形式接收hll_trans_type数据。 hll_trans_send 以bytea形式发送hll_trans_type数据。 hll_typmod_in 接收typmod类型数据。 hll_typmod_out 发送typmod类型数据。 hll_hashval_in 接收hll_hashval类型数据。 hll_hashval_out 发送hll_hashval类型数据。 hll_add_trans0 类似于hll_add所提供的功能,初始化时无指定入参,通常在聚合运算的第一阶段DN上使用。 hll_add_trans1 类似于hll_add所提供的功能,初始化时指定一个入参,通常在聚合运算的第一阶段DN上使用。 hll_add_trans2 类似于hll_add所提供的功能,初始化时指定两个入参,通常在聚合运算的第一阶段DN上使用。 hll_add_trans3 类似于hll_add所提供的功能,初始化时指定三个入参,通常在聚合运算的第一阶段DN上使用。 hll_add_trans4 类似于hll_add所提供的功能,初始化时指定四个入参,通常在聚合运算的第一阶段DN上使用。 hll_union_trans 类似hll_union所提供的功能,在聚合运算的第一阶段DN上使用。 hll_union_collect 类似于hll_union所提供的功能,在聚合运算第二阶段DN上使用,汇总各个DN上的结果。 hll_pack 在聚合运算第三阶段DN上使用,把自定义hll_trans_type类型最后转换成hll类型。 hll 用于hll类型转换成hll类型,根据输入参数会设定指定参数。 hll_hashval 用于bigint类型转换成hll_hashval类型。 hll_hashval_int4 用于int4类型转换成hll_hashval类型。
-
废弃函数 由于版本升级,HLL(HyperLogLog)有一些旧的函数废弃,用户可以用类似的函数进行替代。 hll_schema_version(hll) 描述:查看当前hll中的schema version。旧版本schema version是常值1,用来进行hll字段的头部校验,重构后的hll在头部增加字段“HLL”进行校验,schema version不再使用。 hll_regwidth(hll) 描述:查看hll数据结构中桶的位数大小。旧版本桶的位数regwidth取值1~5,会存在较大的误差,也限制了基数估计上限。 重构后regwidth为固定值6,不再使用regwidth变量。 hll_expthresh(hll) 描述:得到当前hll中expthresh大小。采用hll_log2explicit(hll)替代类似功能。 hll_sparseon(hll) 描述:是否启用Sparse模式。采用hll_log2sparse(hll)替代类似功能,0表示关闭Sparse模式。
-
聚合函数 hll_add_agg(hll_hashval) 描述:把哈希后的数据按照分组放到hll中。 返回值类型:hll 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 --准备数据 gaussdb=# CREATE TABLE t_id(id int); gaussdb=# INSERT INTO t_id VALUES(generate_series(1,500)); gaussdb=# CREATE TABLE t_data(a int, c text); gaussdb=# INSERT INTO t_data SELECT mod(id,2), id FROM t_id; --创建表并指定列为hll gaussdb=# CREATE TABLE t_a_c_hll(a int, c hll); --根据a列group by对数据分组,把各组数据加到hll中 gaussdb=# INSERT INTO t_a_c_hll SELECT a, hll_add_agg(hll_hash_text(c)) FROM t_data GROUP BY a; --得到每组数据中hll的Distinct值 gaussdb=# SELECT a, #c AS cardinality FROM t_a_c_hll ORDER BY a; a | cardinality ---+------------------ 0 | 247.862354346299 1 | 250.908710610377 (2 rows) hll_add_agg(hll_hashval, int32 log2m) 描述:把哈希后的数据按照分组放到hll中, 并指定参数log2m,取值范围是10到16。若输入-1或者NULL,则采用内置默认值。 返回值类型:hll 示例: 1 2 3 4 5 gaussdb=# SELECT hll_cardinality(hll_add_agg(hll_hash_text(c), 12)) FROM t_data; hll_cardinality ------------------ 497.965240179228 (1 row) hll_add_agg(hll_hashval, int32 log2m, int32 log2explicit) 描述:把哈希后的数据按照分组放到hll中,依次指定参数log2m、log2explicit。 log2explicit取值范围是0到12,0表示直接跳过Explicit模式。该参数可以用来设置Explicit模式的阈值大小,在数据段长度达到2log2explicit后切换为Sparse模式或者Full模式。若输入-1或者NULL,则log2explicit采用内置默认值。 返回值类型:hll 示例: 1 2 3 4 5 gaussdb=# SELECT hll_cardinality(hll_add_agg(hll_hash_text(c), NULL, 1)) FROM t_data; hll_cardinality ------------------ 498.496062953313 (1 row) hll_add_agg(hll_hashval, int32 log2m, int32 log2explicit, int64 log2sparse) 描述:把哈希后的数据按照分组放到hll中, 依次指定参数log2m、log2explicit、log2sparse。log2sparse取值范围是0到14,0表示直接跳过Sparse模式。该参数可以用来设置Sparse模式的阈值大小,在数据段长度达到2log2sparse后切换为Full模式。若输入-1或者NULL,则log2sparse采用内置默认值。 返回值类型:hll 示例: 1 2 3 4 5 gaussdb=# SELECT hll_cardinality(hll_add_agg(hll_hash_text(c), NULL, 6, 10)) FROM t_data; hll_cardinality ------------------ 498.496062953313 (1 row) hll_add_agg(hll_hashval, int32 log2m, int32 log2explicit, int64 log2sparse, int32 duplicatecheck) 描述:把哈希后的数据按照分组放到hll中, 依次指定参数log2m、log2explicit、log2sparse、duplicatecheck,duplicatecheck取值范围是0或者1,表示是否开启该模式,默认情况下该模式会关闭。若输入-1或者NULL,则duplicatecheck采用内置默认值。 返回值类型:hll 示例: 1 2 3 4 5 gaussdb=# SELECT hll_cardinality(hll_add_agg(hll_hash_text(c), NULL, 6, 10, -1)) FROM t_data; hll_cardinality ------------------ 498.496062953313 (1 row) hll_union_agg(hll) 描述:将多个hll类型数据union成一个hll。 返回值类型:hll 示例: 1 2 3 4 5 6 7 8 9 10 11 --将各组中的hll数据union成一个hll,并计算distinct值。 gaussdb=# SELECT #hll_union_agg(c) AS cardinality FROM t_a_c_hll; cardinality ------------------ 498.496062953313 (1 row) --删除表 gaussdb=# DROP TABLE t_id; gaussdb=# DROP TABLE t_data; gaussdb=# DROP TABLE t_a_c_hll; 注意:当两个或者多个hll数据结构做union的时候,必须要保证其中每一个hll里面的精度参数一样,否则将不可以进行union。同样的约束也适用于函数hll_union(hll,hll)。
-
功能函数 hll_empty() 描述:创建一个空的hll。 返回值类型:hll 示例: 1 2 3 4 5 gaussdb=# SELECT hll_empty(); hll_empty ------------------------------------------------------------ \x484c4c00000000002b05000000000000000000000000000000000000 (1 row) hll_empty(int32 log2m) 描述:创建空的hll并指定参数log2m,取值范围是10到16。若输入-1,则采用内置默认值。 返回值类型:hll 示例: 1 2 3 4 5 6 7 8 9 10 11 gaussdb=# SELECT hll_empty(10); hll_empty ------------------------------------------------------------ \x484c4c00000000002b04000000000000000000000000000000000000 (1 row) gaussdb=# SELECT hll_empty(-1); hll_empty ------------------------------------------------------------ \x484c4c00000000002b05000000000000000000000000000000000000 (1 row) hll_empty(int32 log2m, int32 log2explicit) 描述:创建空的hll并依次指定参数log2m、log2explicit。log2explicit取值范围是0到12,0表示直接跳过Explicit模式。该参数可以用来设置Explicit模式的阈值大小,在数据段长度达到2log2explicit后切换为Sparse模式或者Full模式。若输入-1,则log2explicit采用内置默认值。 返回值类型: hll 示例: 1 2 3 4 5 6 7 8 9 10 11 gaussdb=# SELECT hll_empty(10, 4); hll_empty ------------------------------------------------------------ \x484c4c00000000001304000000000000000000000000000000000000 (1 row) gaussdb=# SELECT hll_empty(10, -1); hll_empty ------------------------------------------------------------ \x484c4c00000000002b04000000000000000000000000000000000000 (1 row) hll_empty(int32 log2m, int32 log2explicit, int64 log2sparse) 描述:创建空的hll并依次指定参数log2m、log2explicit、log2sparse。log2sparse取值范围是0到14,0表示直接跳过Sparse模式。该参数可以用来设置Sparse模式的阈值大小,在数据段长度达到2log2sparse后切换为Full模式。若输入-1,则log2sparse采用内置默认值。 返回值类型:hll 示例: 1 2 3 4 5 6 7 8 9 10 11 gaussdb=# SELECT hll_empty(10, 4, 8); hll_empty ------------------------------------------------------------ \x484c4c00000000001204000000000000000000000000000000000000 (1 row) gaussdb=# SELECT hll_empty(10, 4, -1); hll_empty ------------------------------------------------------------ \x484c4c00000000001304000000000000000000000000000000000000 (1 row) hll_empty(int32 log2m, int32 log2explicit, int64 log2sparse, int32 duplicatecheck) 描述:创建空的hll并依次指定参数log2m、log2explicit、log2sparse、duplicatecheck。duplicatecheck取0或者1,表示是否开启该模式,默认情况下该模式会关闭。若输入-1,则duplicatecheck采用内置默认值。 返回值类型:hll 示例: 1 2 3 4 5 6 7 8 9 10 11 gaussdb=# SELECT hll_empty(10, 4, 8, 0); hll_empty ------------------------------------------------------------ \x484c4c00000000001204000000000000000000000000000000000000 (1 row) gaussdb=# SELECT hll_empty(10, 4, 8, -1); hll_empty ------------------------------------------------------------ \x484c4c00000000001204000000000000000000000000000000000000 (1 row) hll_add(hll, hll_hashval) 描述:把hll_hashval加入到hll中。 返回值类型:hll 示例: 1 2 3 4 5 gaussdb=# SELECT hll_add(hll_empty(), hll_hash_integer(1)); hll_add ---------------------------------------------------------------------------- \x484c4c08000002002b0900000000000000f03f3e2921ff133fbaed3e2921ff133fbaed00 (1 row) hll_add_rev(hll_hashval, hll) 描述:把hll_hashval加入到hll中,和hll_add功能一样,只是参数位置进行了交换。 返回值类型:hll 示例: 1 2 3 4 5 gaussdb=# SELECT hll_add_rev(hll_hash_integer(1), hll_empty()); hll_add_rev ---------------------------------------------------------------------------- \x484c4c08000002002b0900000000000000f03f3e2921ff133fbaed3e2921ff133fbaed00 (1 row) hll_eq(hll, hll) 描述:比较两个hll是否相等。 返回值类型:bool 示例: 1 2 3 4 5 gaussdb=# SELECT hll_eq(hll_add(hll_empty(), hll_hash_integer(1)), hll_add(hll_empty(), hll_hash_integer(2))); hll_eq -------- f (1 row) hll_ne(hll, hll) 描述:比较两个hll是否不相等。 返回值类型:bool 示例: 1 2 3 4 5 gaussdb=# SELECT hll_ne(hll_add(hll_empty(), hll_hash_integer(1)), hll_add(hll_empty(), hll_hash_integer(2))); hll_ne -------- t (1 row) hll_cardinality(hll) 描述:计算hll的distinct值。 返回值类型:int 示例: 1 2 3 4 5 gaussdb=# SELECT hll_cardinality(hll_empty() || hll_hash_integer(1)); hll_cardinality ----------------- 1 (1 row) hll_union(hll, hll) 描述:把两个hll数据结构union成一个。 返回值类型:hll 示例: 1 2 3 4 5 gaussdb=# SELECT hll_union(hll_add(hll_empty(), hll_hash_integer(1)), hll_add(hll_empty(), hll_hash_integer(2))); hll_union -------------------------------------------------------------------------------------------- \x484c4c10002000002b090000000000000000400000000000000000b3ccc49320cca1ae3e2921ff133fbaed00 (1 row)
-
日志函数 hll主要存在三种模式Explicit、Sparse、Full。当数据规模比较小的时候会使用Explicit模式,这种模式下distinct值的计算是没有误差的;随着distinct值越来越多,hll会先后转换为Sparse模式和Full模式,这两种模式在计算结果上没有任何区别,只影响hll函数的计算效率和hll对象的存储空间。下面的函数可以用于查看hll的一些参数。 hll_print(hll) 描述:打印hll的一些debug参数信息。 示例: 1 2 3 4 5 gaussdb=# SELECT hll_print(hll_empty()); hll_print ------------------------------------------------------------------------------- type=1(HLL_EMPTY), log2m=14, log2explicit=10, log2sparse=12, duplicatecheck=0 (1 row) hll_type(hll) 描述:查看当前hll的类型。返回值具体含义如下:返回值0,表示HLL_UNINIT,未初始化的hll对象;返回值1,表示HLL_EMPTY,hll空对象;返回值2,表示HLL_EXPLICIT,Explicit模式的hll对象;返回值3,表示HLL_SPARSE,Sparse模式的hll对象;返回值4,表示HLL_FULL,Full模式的hll对象;返回值5,表示HLL_UNDEFINED,不合法的hll对象。 示例: 1 2 3 4 5 gaussdb=# SELECT hll_type(hll_empty()); hll_type ---------- 1 (1 row) hll_log2m(hll) 描述:查看当前hll数据结构中的log2m数值,log2m是分桶数的对数值,此值会影响最后hll计算distinct误差率,误差率计算公式为±1.04/√(2 ^ log2m)。当显式指定log2m的取值为10-16之间时,hll会设置分桶数为2log2m。当显示指定log2explicit为-1时,会采用内置默认值。 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 gaussdb=# SELECT hll_log2m(hll_empty()); hll_log2m ----------- 14 (1 row) gaussdb=# SELECT hll_log2m(hll_empty(10)); hll_log2m ----------- 10 (1 row) gaussdb=# SELECT hll_log2m(hll_empty(-1)); hll_log2m ----------- 14 (1 row) hll_log2explicit(hll) 描述:查看当前hll数据结构中的log2explicit数值。hll通常会由Explicit模式到Sparse模式再到Full模式,这个过程称为promotion hierarchy策略。可以通过调整log2explicit值的大小改变策略,比如log2explicit为0的时候就会跳过Explicit模式而直接进入Sparse模式。当显式指定log2explicit的取值为1-12之间时,hll会在数据段长度超过2log2explicit时转为Sparse模式。当显示指定log2explicit为-1时,会采用内置默认值。 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 gaussdb=# SELECT hll_log2explicit(hll_empty()); hll_log2explicit ------------------ 10 (1 row) gaussdb=# SELECT hll_log2explicit(hll_empty(12, 8)); hll_log2explicit ------------------ 8 (1 row) gaussdb=# SELECT hll_log2explicit(hll_empty(12, -1)); hll_log2explicit ------------------ 10 (1 row) hll_log2sparse(hll) 描述:查看当前hll数据结构中的log2sparse数值。hll通常会由Explicit模式到Sparse模式再到Full模式,这个过程称为promotion hierarchy策略。可以通过调整log2sparse值的大小改变策略,比如log2sparse为0的时候就会跳过Sparse模式而直接进入Full模式。当显式指定Sparse的取值为1-14之间时,hll会在数据段长度超过2log2sparse时转为Full模式。当显示指定log2sparse为-1时,会采用内置默认值。 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 gaussdb=# SELECT hll_log2sparse(hll_empty()); hll_log2sparse ---------------- 12 (1 row) gaussdb=# SELECT hll_log2sparse(hll_empty(12, 8, 10)); hll_log2sparse ---------------- 10 (1 row) gaussdb=# SELECT hll_log2sparse(hll_empty(12, 8, -1)); hll_log2sparse ---------------- 12 (1 row) hll_duplicatecheck(hll) 描述:是否启用duplicatecheck,0是关闭,1是开启。默认关闭,对于有较多重复值出现的情况,可以开启以提高效率。当显示指定duplicatecheck为-1时,会采用内置默认值。 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 gaussdb=# SELECT hll_duplicatecheck(hll_empty()); hll_duplicatecheck -------------------- 0 (1 row) gaussdb=# SELECT hll_duplicatecheck(hll_empty(12, 8, 10, 1)); hll_duplicatecheck -------------------- 1 (1 row) gaussdb=# SELECT hll_duplicatecheck(hll_empty(12, 8, 10, -1)); hll_duplicatecheck -------------------- 0 (1 row)
-
以UDS方式连接 Unix domain socket用于同一主机上不同进程间的数据交换,通过添加junixsocket获取套接字工厂使用。 前置条件:引用junixsocket-core-XXX.jar、junixsocket-common-XXX.jar、junixsocket-native-common-XXX.jar,XXX为版本号,引用的这些jar包版本号需要一致。 以UDS方式连接数据库的步骤如下: 导入java.sql.Connection、java.sql.DriverManager、java.util.Properties。 此外,用户需要根据实际的应用场景,再导入其他的接口和类,详见JDBC接口参考。 import java.sql.Connection; import java.sql.DriverManager; import java.util.Properties; 指定数据库的用户名和密码。 用户名和密码直接写到代码中有很大的安全风险,建议在环境变量中存放。并将用户名和密码设置为Properties对象的属性值。 String userName = System.getenv("EXAMPLE_USERNAME_ENV"); String password = System.getenv("EXAMPLE_PASSWORD_ENV"); Properties properties = new Properties(); properties.setProperty("user", userName); properties.setProperty("password", password); 加载驱动。 在代码运行工具(如IDE)中添加gaussdbjdbc.jar包。 执行以下命令加载数据库驱动程序“com.huawei.gaussdb.jdbc.Driver”。 String driver = "com.huawei.gaussdb.jdbc.Driver"; Class.forName(driver); 指定数据库的$ip、$port、database、socketFactory和socketFactoryArg。 $ip和$port需要用户自行修改,连接主机名database必须设置为“localhost”,socketFactory设置为org.newsclub.net.unix.AFUNIXSocketFactory$FactoryArg,socketFactoryArg设置为[path-to-the-unix-socket],实现以UDS方式连接数据库。socketFactory和socketFactoryArg参数的具体说明,详见socketFactory和socketFactoryArg。 Connection conn = DriverManager.getConnection("jdbc:gaussdb://$ip:$port/localhost?socketFactory=org.newsclub.net.unix" + ".AFUNIXSocketFactory$FactoryArg&socketFactoryArg=[path-to-the-unix-socket]",properties); System.out.println("Connection Successful!"); socketFactoryArg参数配置根据真实路径进行配置,与GUC参数unix_socket_directory的值保持一致。 父主题: 连接数据库
-
GS_AUDITING_PRIVILEGE GS_AUDITING_PRIVILEGE视图显示对数据库DDL相关操作的所有审计信息。需要有系统管理员或安全策略管理员权限才可以访问此视图。 表1 GS_AUDITING_PRIVILEGE字段 名称 类型 描述 polname name 策略名称,需要唯一,不可重复。 pol_type text 审计策略类型,值为‘privilege’,表示审计DDL 操作。 polenabled boolean 策略是否启动。 t(true):启动。 f(false):不启动。 access_type name DDL数据库操作相关类型。例如CREATE、ALTER、DROP等。 label_name name 资源标签名称。对应系统表gs_auditing_policy中的polname字段。 priv_object text 包含数据库对象的全称 域名 。 filter_name text 过滤条件的逻辑字符串。 父主题: 审计
-
GS_MATVIEW_DEPENDENCY GS_MATVIEW_DEPENDENCY系统表提供了关于数据库中每一个增量物化视图、基表和mlog表的关联信息。全量物化视图不存在与基表对应的mlog表,不会写入记录。 表1 GS_MATVIEW_DEPENDENCY字段 名称 类型 描述 oid oid 行标识符(隐含属性,必须明确选择)。 matviewid oid 物化视图的oid。 relid oid 物化视图基表的oid。 mlogid oid 物化视图mlog表的oid,mlog表为物化视图日志表,与基表一一对应。 mxmin integer 保留字段。 父主题: 物化视图
-
GLOBAL_DOUBLE_WRITE_STATUS GLOBAL_DOUBLE_WRITE_STATUS视图显示整个集群所有实例的双写文件的情况,如表1所示。 表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
-
函数支持自治事务 自治事务可以在函数中定义,标识符为PRAGMA AUTONOMOUS_TRANSACTION,其余语法与函数语法相同,请参见CREATE FUNCTION示例如下。 gaussdb=# CREATE TABLE t4(a INT, b INT, c TEXT); CREATE TABLE gaussdb=# CREATE OR REPLACE FUNCTION autonomous_32(a INT ,b INT ,c TEXT) RETURN INT AS DECLARE PRAGMA AUTONOMOUS_TRANSACTION; BEGIN INSERT INTO t4 VALUES(a, b, c); RETURN 1; END; / CREATE FUNCTION gaussdb=# CREATE OR REPLACE FUNCTION autonomous_33(num1 INT) RETURN INT AS DECLARE num3 INT := 220; tmp INT; PRAGMA AUTONOMOUS_TRANSACTION; BEGIN num3 := num3/num1; RETURN num3; EXCEPTION WHEN DIVISION_BY_ZERO THEN SELECT autonomous_32(num3, num1, SQLERRM) INTO tmp; ROLLBACK; RETURN 0; END; / CREATE FUNCTION gaussdb=# SELECT autonomous_33(0); autonomous_33 --------------- 0 (1 row) gaussdb=# SELECT * FROM t4; a | b | c -----+---+------------------ 220 | 0 | division by zero (1 row) gaussdb=# DROP TABLE t4; DROP TABLE gaussdb=# DROP FUNCTION autonomous_32; DROP FUNCTION gaussdb=# DROP FUNCTION autonomous_33; DROP FUNCTION 上述例子,最后在回滚的事务块中执行包含自治事务的函数,也能直接说明了自治事务的特性,即主事务的回滚不会影响自治事务已经提交的内容。 父主题: 自治事务
-
GS_SPM_SQL_EVOLUTION GS_SPM_SQL_EVOLUTION是用于查看当前用户计划演进结果的视图,普通用户以上权限均可以访问该视图。 表1 GS_SPM_SQL_EVOLUTION字段 名称 类型 描述 sql_namespace oid Schema的oid。 sql_hash bigint 当前Schema中SQL的唯一标识。 plan_hash bigint 当前SQL中的plan的唯一标识。 better boolean 是否是正向收益演进。 status text 演进过程中是否出现异常。取值范围: SUC CES S:演进成功。 FAILED:演进失败。 refer_plan bigint 报告生成的主要参考的plan hash。 sql_text text SQL的文本串。 outline text 当前计划的Hint字符串列表。 reason text 演进报告的内容。 gplan boolean 是否是gplan。 creation_time timestamp with time zone 创建演进结果的时间。 父主题: SPM计划管理
-
GLOBAL_REL_IOSTAT 获取集群上所有节点的数据文件I/O统计信息,如表1所示。 表1 GLOBAL_REL_IOSTAT字段 名称 类型 描述 node_name name 节点名称 phyrds bigint 读物理文件的数目。 phywrts bigint 写物理文件的数目。 phyblkrd bigint 读物理文件块的数目。 phyblkwrt bigint 写物理文件块的数目。 dbid oid 在 分布式数据库 中,当前该值始终为0。 父主题: File
-
PG_POOLER_STATUS PG_POOLER_STATUS视图查询pooler中的缓存连接状态。该视图只能在CN上查询,显示本地CN的pooler模块的连接缓存信息。 表1 PG_POOLER_STATUS字段 名称 类型 描述 database text 数据库名称。 user_name text 用户名。 tid bigint 非线程池逻辑下为连接CN的线程id。 线程池逻辑下为连接CN的sessionid。 node_oid bigint 连接的实例节点OID。 node_name name 连接的实例节点名称。 in_use boolean 连接是否正被使用。 t(true):表示连接正在使用。 f(false):表示连接没有使用。 local_host text 本端IP。 local_port bigint 本端端口号。 remote_host text 连接的实例节点IP。 node_port bigint 连接的实例节点端口号。 fdsock bigint 对端socket。 remote_pid bigint 对端处于非线程池逻辑下为对端的线程id,对端处于线程池逻辑下为对端的sessionid。 session_params text 由此连接下发的GUC session参数。 used_count bigint 该连接的复用次数。 idx bigint 连接的实例节点逻辑连接id。 streamid bigint 每个逻辑连接对应的流标识id。 父主题: 通信
-
通用标识符函数 sys_guid() 描述:产生并返回一个全局唯一的标识符,由16个字节组成,生成的标识符有当前机器IP,生成时间戳,随机数生成一个全局唯一的uuid。 参数:无。 返回值类型:raw 示例: 1 2 3 4 5 6 7 8 9 gaussdb=# SET a_format_version='10c'; SET gaussdb=# SET a_format_dev_version='s5'; SET gaussdb=# SELECT sys_guid(); sys_guid ---------------------------------- 9010675E560CB33C1BDAFA163E378F87 (1 row) uuid() 描述:返回一个根据RFC 4122、ISO/IEF 9834-8:2005以及相关标准定义的通用唯一标识符(UUID)。这个标识符是一个小写十六进制数字的字符串,由分字符分成几组,一组8位数字+三组4位数字+一组12位数字,总共32个数字代表128位。 参数:无。 返回值类型:varchar 示例: 1 2 3 4 5 gaussdb=# SELECT uuid(); uuid -------------------------------------- dd8cbe92-1a25-013c-a514-e435c87e9182 (1 row) uuid_short() 描述:返回一个在一定条件下具有唯一性的短通用标识符。这个标识符是一个64位无符号类型的整数。 在满足下列条件时,返回的值是唯一的。 当前集群下的服务节点数不能超过256个。 不能在节点重新启动之间设置服务器主机的系统时间。 在节点重新启动之间平均每秒调用uuid_short() 少于1600万次。 参数:无。 返回值类型:uint64 示例: 1 2 3 4 5 gaussdb=# SELECT uuid_short(); uuid_short -------------------- 100440026956955649 (1 row) 从505.0.0之前的版本升级至最新版本,升级未提交情况下不能使用uuid_short()函数。 父主题: 函数和操作符
-
PG_PLTEMPLATE PG_PLTEMPLATE系统表存储过程语言的“模板”信息。 表1 PG_PLTEMPLATE字段 名称 类型 描述 tmplname name 这个模板所应用的语言的名称。 tmpltrusted boolean 如果语言被认为是可信的,则为真。否则为假。 tmpldbacreate boolean 如果语言是由数据库所有者创建的,则为真。否则为假。 tmplhandler text 调用处理器函数的名称。 tmplinline text 匿名块处理器的名称,若没有则为NULL。 tmplvalidator text 校验函数的名称,如果没有则为NULL。 tmpllibrary text 实现语言的共享库的路径。 tmplacl aclitem[] 模板的访问权限(未使用)。 父主题: 其他系统表
-
COMM_RECV_STREAM COMM_RECV_STREAM视图展示单个DN上所有的TCP代理通信库接收流状态,如表1所示。 表1 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 通信流当前的状态。 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 通信流当前生命周期使用时长(单位:毫秒)。 speed bigint 通信流的平均接收速率(单位:Byte/s)。 quota bigint 通信流当前的通信配额值(单位:Byte)。 buff_usize bigint 通信流当前缓存的数据大小(单位:Byte)。 父主题: Comm
-
SUMMARY_FILE_REDO_IOSTAT 数据库内汇聚所有节点的Redo(WAL)相关的统计信息,如表1所示。其中phywrts、phyblkwrt、writetim字段按照各节点的数据累加求和,avgiotim为各节点的平均值(汇总的writetim/汇总的phywrts),lstiotim、maxiowtm取各节点的最大值,miniotim取各节点的最小值。 表1 SUMMARY_FILE_REDO_IOSTAT字段 名称 类型 描述 phywrts numeric 向wal buffer中写的次数。 phyblkwrt numeric 向wal buffer中写的block的块数。 writetim numeric 向xLog文件中写操作的时间(单位:微秒)。 avgiotim bigint 平均写xLog的时间(writetim/phywrts,单位:微秒)。 lstiotim bigint 最后一次写xLog的时间(单位:微秒)。 miniotim bigint 最小的写xLog时间(单位:微秒)。 maxiowtm bigint 最大的写xLog时间(单位:微秒)。 父主题: File
-
PG_SHARED_MEMORY_DETAIL PG_SHARED_MEMORY_DETAIL视图显示所有已产生的共享内存上下文的使用信息。具体字段信息如表1所示。 表1 PG_SHARED_MEMORY_DETAIL字段 名称 类型 描述 contextname text 内存上下文的名称。 level smallint 当前上下文在整体内存上下文中的层级。 parent text 上级内存上下文。 totalsize bigint 共享内存总大小,单位Byte。 freesize bigint 共享内存剩余大小,单位Byte。 usedsize bigint 共享内存使用大小,单位Byte。 父主题: 其他系统视图
-
enable_enhance_toast_table 参数说明:是否使用Enhanced Toast线外存储表。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启。 off:表示关闭。 默认值:on 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:该参数取值默认为on,需要关闭Enhanced Toast线外存储功能时设置为off。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
-
PGXC_NODE PGXC_NODE系统表存储数据库实例节点信息。集中式只能查询该表定义。 表1 PGXC_NODE字段 名称 类型 描述 oid oid 行标识符(隐含字段,必须明确选择)。 node_name name 节点名称。 node_type "char" 节点类型。 C:协调节点。 D:数据节点。 S:数据节点的备节点。 node_port integer 节点的端口号。 node_host name 节点的主机名称或者IP(如配置为虚拟IP,则为虚拟IP)。 node_port1 integer 复制节点的端口号。 node_host1 name 复制节点的主机名称或者IP(如配置为虚拟IP,则为虚拟IP)。 hostis_primary boolean 表明当前节点是否发生主备切换。 t(true):表示发生。 f(false):表示不发生。 nodeis_primary boolean 在replication表下,是否优选当前节点作为优先执行的节点进行非查询操作。 t(true):表示优选。 f(false):表示不优选。 nodeis_preferred boolean 在replication表下,是否优选当前节点作为首选的节点进行查询。 t(true):表示优选。 f(false):表示不优选。 node_id integer 节点标识符。由node_name经过hash函数计算后得到。 sctp_port integer 主节点使用TCP代理通信库的数据通道侦听端口(当前版本已经不再支持SCTP通信库)。 control_port integer 主节点使用TCP代理通信库的控制通道侦听端口。 sctp_port1 integer 备节点使用TCP代理通信库的数据通道侦听端口(当前版本已经不再支持SCTP通信库)。 control_port1 integer 备节点使用TCP代理通信库的控制通道侦听端口。 nodeis_central boolean 表明当前节点是否为中心控制节点,对DN无效。 t(true):表示是。 f(false):表示不是。 nodeis_active boolean 表明当前节点是否是正常状态,对DN无效。 t(true):表示是。 f(false):表示不是。 父主题: 通信
-
bucket系统函数 gs_redis_get_plan(origin_group_id OID,target_group_id OID) 描述:获取完整的迁移计划。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 参数说明: 名称 类型 描述 origin_group_id OID 源节点的node group。 target_group_id OID 新节点的node group。 返回值说明: 名称 类型 描述 sender_id OID 源节点的node oid。 sender_name CS TRING 源节点的节点名称。 receiver_id OID 新节点的node oid。 receiver_name CSTRING 新节点的节点名称。 bucket_number INT4 bucket_list中包含的bucket个数。 bucket_list OIDVECTOR_EXTEND 迁移计划涉及的bucket列表。 示例: gaussdb=# SELECT * FROM gs_redis_get_plan(16388, 16417); sender_id | sender_name | receiver_id | receiver_name | bucket_number | bucket_list -----------+-------------+-------------+---------------+---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 16385 | datanode1 | 16415 | datanode3 | 256 | 0 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 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 18 8 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 2 48 249 250 251 252 253 254 255 16386 | datanode2 | 16416 | datanode4 | 256 | 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 55 3 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 6 13 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 (2 rows) gs_redis_get_bucket_statistics 描述:获取日志流传输状态。只支持在扩容期间调用;只支持管理员权限用户查询。 参数:void 返回值说明: 名称 类型 描述 bucket_id OID bucket id redis_state INT1 bucket的扩容状态,0表示扩容未开始,1表示扩容基线数据已完成。 xlog_count INT8 bucket在当前database扩容开始后(即上次调用gs_redis_set_distributed_db后)在原DN产生的xlog数量。 sndr_latest_lsn INT8 bucket在当前database扩容开始后(即上次调用gs_redis_set_distributed_db后)在原DN产生的最新LSN。 parser_latest_lsn INT8 bucket在当前database扩容开始后(即上次调用gs_redis_set_distributed_db后)被原DN的扩容相关线程解析到的最新LSN。 parser_latest_lsn_new INT8 bucket在当前database扩容开始后(即上次调用gs_redis_set_distributed_db后)被原DN的扩容相关线程解析到bucketxlog的最新LSN。 rcvr_redo_latest_lsn INT8 bucket在当前database扩容开始后(即上次调用gs_redis_set_distributed_db后)被新DN的扩容相关线程回放到的最新LSN。 rcvr_redo_latest_lsn_new INT8 bucket在当前database扩容开始后(即上次调用gs_redis_set_distributed_db后)被原DN的扩容相关线程解析到bucketxlog的最新LSN。 rcvr_checkpoint INT8 bucket在当前database扩容开始后(即上次调用gs_redis_set_distributed_db后)的checkpoint点。 rcvr_redo_start_lsn INT8 bucket在当前database扩容开始后(即上次调用gs_redis_set_distributed_db后)回放开始的原始LSN。 rcvr_redo_end_lsn INT8 bucket在当前database扩容开始后(即上次调用gs_redis_set_distributed_db后)回放结束的原始LSN。 示例: gaussdb=# SELECT * FROM gs_redis_get_bucket_statistics(); bucket_id | redis_state | xlog_count | sndr_latest_lsn | parser_latest_lsn | parser_latest_lsn_new | rcvr_redo_latest_lsn | rcvr_redo_latest_lsn_new | rcvr_checkpoint | rcvr_redo_start_lsn | rcvr_redo_end_lsn -----------+-------------+------------+-----------------+-------------------+-----------------------+----------------------+--------------------------+-----------------+ --------------------+------------------- 0 | 1 | 1 | 79303808 | 79303808 | 16777352 | 79326320 | 16801904 | 762624525 | 77256412 | 79326320 1 | 1 | 1 | 79303896 | 79303896 | 16777448 | 79326320 | 16801904 | 762624525 | 77256412 | 79326320 2 | 1 | 1 | 79303984 | 79303984 | 16777544 | 79326320 | 16801904 | 762624525 | 77256412 | 79326320 3 | 1 | 1 | 79304072 | 79304072 | 16777640 | 79326320 | 16801904 | 762624525 | 77256412 | 79326320 4 | 1 | 1 | 79304160 | 79304160 | 16777736 | 79326320 | 16801904 | 762624525 | 77256412 | 79326320 ...(数据较多,仅展示部分) gs_redis_set_distributed_db(db_name CSTRING, bucketgroup SMALLINT) 描述:设置当前正在hashbucket重分布的数据库和bucketgroup。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用。 参数说明: db_name:本次要重分布的数据库库名。 返回值说明:void 示例: gaussdb=# SELECT gs_redis_set_distributed_db('gaussdb', 0); gs_redis_set_distributed_db ----------------------------- 0 (1 row) gs_redis_hashbucket_update_segment_header(origin_group_id OID,target_group_id OID) 描述:更新当前数据库所有hashbucket表的header。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 参数说明: 名称 类型 描述 origin_group_id OID 源节点的node group。 target_group_id OID 新节点的node group。 返回值类型:Boolean 示例: gaussdb=# SELECT * FROM gs_redis_hashbucket_update_segment_header(16388, 16417); gs_redis_hashbucket_update_segment_header ------------------------------------------- t (1 row) gs_redis_local_get_segment_header(table_name REGCLASS,bucketlist OIDVECTOR_EXTEND) 描述:获取段页式表header。只支持DN上调用。 参数说明: 名称 类型 描述 table_name REGCLASS 表名 bucketlist OIDVECTOR_EXTEND bucket列表。 返回值类型:header_info 示例: gaussdb=# SELECT * FROM gs_redis_local_get_segment_header('mytable', '256'); gs_redis_local_get_segment_header ---------------------------------------------------------------------------------------------------------------------------- 4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,...(数据较多,仅展示部分) (1 row) gs_redis_local_update_segment_header(table_name REGCLASS,header_info CSTRING) 描述:更新段页式表header。只支持DN上调用。 参数说明: 名称 类型 描述 table_name REGCLASS 表名 header_info CSTRING 段页式表header。 返回值类型:void 示例: gaussdb=# SELECT * FROM gs_redis_local_update_segment_header('mytable', '4294967295,4294967295,4294967295,4294967295,....'); (数据较多,仅展示部分) gs_redis_local_update_segment_header ------------------------------------------- 0 (1 row) gs_redis_hashbucket_update_inverse_pointer(buckets TEXT, origin_dn_name TEXT, new_dn_name TEXT) 描述:更新当前db所有hashbucket表本批次bucket的反向指针。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 参数说明: 名称 类型 描述 buckets TEXT 本次上线的bucket列表。 origin_dn_name TEXT 源节点名称。 new_dn_name TEXT 新节点名称。 返回值类型:void 示例: gaussdb=# SELECT * FROM gs_redis_hashbucket_update_inverse_pointer('0,1,2,3,4,5,6,7,8,9,10','datanode1','datanode3'); gs_redis_hashbucket_update_inverse_pointer ------------------------------------------- 0 (1 row) gs_redis_local_get_inverse_pointer(buckets TEXT,origin_dn_name TEXT, new_dn_name TEXT) 描述:获取反向指针。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用。 参数说明: 名称 类型 描述 buckets TEXT 本次上线的bucket列表。 origin_dn_name TEXT 源节点名称。 new_dn_name TEXT 新节点名称。 返回值类型:void 示例: gaussdb=# SELECT * FROM gs_redis_hashbucket_update_inverse_pointer('0,1,2,3,4,5,6,7,8,9,10','datanode1','datanode3'); gs_redis_hashbucket_update_inverse_pointer ------------------------------------------- 0 (1 row) gs_redis_local_update_inverse_pointer(table_name TEXT,header_info TEXT, bucketlist TEXT) 描述:记录更新反向指针的X LOG 。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用。 参数说明: 名称 类型 描述 table_name REGCLASS 表名。 header_info TEXT 段页式表header。 bucketlist TEXT bucket列表。 返回值类型:void 示例: gaussdb=# SELECT * FROM gs_redis_local_update_inverse_pointer('mytable', '4294967295,4294967295,4294967295,4294967295,....','1 2 3'); (数据较多,仅展示部分) gs_redis_local_update_inverse_pointer ------------------------------------------- 0 (1 row) gs_redis_local_set_hashbucket_frozenxid 描述:修改hashbucket表在系统表中的relfrozenxid64值。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用。 参数说明:void 返回值类型:void 示例: gaussdb=# SELECT * FROM gs_redis_local_set_hashbucket_frozenxid(); gs_redis_local_set_hashbucket_frozenxid ------------------------------------------- 0 (1 row) gs_redis_set_hashbucket_frozenxid(origin_group_id OID,target_group_id OID) 描述:修改新DN节点hashbucket表在系统表中的relfrozenxid64值。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 参数说明: 名称 类型 描述 origin_group_id OID 源节点的node group。 target_group_id OID 新节点的node group。 返回值类型:void 示例: gaussdb=# SELECT * FROM gs_redis_set_hashbucket_frozenxid(16388, 16417); gs_redis_set_hashbucket_frozenxid ------------------------------------------- 0 (1 row) gs_redis_set_nextxid(xid BIGINT) 描述:修改DN节点next_xid值。只支持在扩容期间调用。只支持管理员权限用户查询;只支持DN上调用。 参数说明:xid:预期next_xid的值 返回值类型:void 示例: gaussdb=# SELECT * FROM gs_redis_set_nextxid('15268817'); gs_redis_set_nextxid ------------------------------------------- 0 (1 row) gs_redis_set_csn(csn BIGINT) 描述:修改DN节点next_csn值。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用;只支持在GTM_FREE模式下调用。 参数说明: csn:预期next_csn的值。 返回值类型:void 示例: gaussdb=# SELECT * FROM gs_redis_set_csn('15268817'); gs_redis_set_csn ------------------------------------------- 0 (1 row) gs_redis_check_bucket_flush(dn_array NAME[]) 描述:查询RTO回放私有buffer是否全部刷下去。只支持在扩容期间调用;只支持管理员权限用户查询。 参数说明: dn_array:DN节点名称列表 返回值类型:Boolean 示例: gaussdb=# SELECT * FROM gs_redis_check_bucket_flush('{datanode1, datanode2}'); gs_redis_check_bucket_flush ----------------------------- f (1 row) gs_redis_get_flush_page_lsn(isclean bool) 描述:查询bucket扩容回放的刷页信息。 权限:只支持debug版本调用,只支持在扩容期间调用;只支持管理员权限用户查询。 参数说明:isclean:BOOLEAN类型,是否清理刷页信息。 返回值说明: 名称 类型 描述 node_name TEXT 页面所在dn名 space_id OID 表空间id db_id OID 数据库id file_id OID 数据文件编号,取值范围1-5 bucket_id OID bucket分区id,取值范围0-1023 forknum OID 数据文件分支,取值范围0-2 blocknum OID 物理页面在数据文件中的偏移页面号 latest_flush_lsn UINT8 刷脏页面最新的lsn 示例: gaussdb=# SELECT * FROM gs_redis_get_flush_page_lsn(false); node_name | space_id | db_id | file_id | bucket_id | forknum | blocknum | last_flush_lsn ------------------------------------------------------------------------------------------- datanode2 | 1633 | 16387 | 1 | 66 | 0 | 20 | 1571838992 (1 row) gs_redis_show_bucketxid(bucketid_list OIDVECTOR_EXTEND) 描述:查询指定bucket对应的bucketxid。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用。 参数说明: bucketid_list:bucket列表。 返回值类型:CSTRING 示例: gaussdb=# SELECT * FROM gs_redis_show_bucketxid('1 2 3'); gs_redis_show_bucketxid ---------------------------- 88880001 88880001 88880001 (1 row) bucket_lock_status 描述:查询打开事务所持有的bucket锁信息,所有用户均可执行该函数。 参数说明:void 返回值说明: 名称 类型 描述 database oid 被锁定对象所在数据库的OID。 virtualtransaction text 持有此锁或者在等待此锁的事务的虚拟ID。 pid bigint 持有或者等待这个锁的服务器线程的逻辑ID。如果锁是被一个预备事务持有的,则为NULL。 sessionid bigint 持有或者等待这个锁的会话ID。 mode text 这个线程持有的或者是期望的锁模式。 可能取值为:AccessShareLock、AccessExclusiveLock。 granted boolean 如果锁是持有锁,则为TRUE。 如果锁是等待锁,则为FALSE。 fastpath boolean 如果通过fast-path获得锁,则为TRUE;如果通过库级别锁信息获得锁或者两阶段提交时的锁,则为FALSE。 global_sessionid text 全局会话ID。 bucketlist text 被锁定的bucket在所属bucket组中的位置。 bucket_group smallint 被锁定的bucket所在的bucket组。 示例: gaussdb=# SELECT * FROM bucket_lock_status(); database | virtualtransaction | pid | sessionid | mode | granted | fastpath | global_sessionid | bucketlist | bucket_group ----------+--------------------+-----------------+-----------+-----------------+---------+----------+------------------+------------+-------------- 14934 | 8/25 | 140376742557440 | 2 | AccessShareLock | t | t | 1938253334:2#0 | (977,978) | 2 (1 row) gs_redis_parse_slicebucket_tranfer_file(plan_json CSTRING, type CSTRING) 描述:用于获取SLICEBUCKET搬迁计划。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 参数说明: 名称 类型 描述 plan_json TEXT 用户指定的slice搬迁文件。 type CSTRING 解析计划类型,可指定为'incremental'或'full',默认为'full'。 返回值类型: 名称 类型 描述 idx INT 需要搬迁的数据库序号。 database_name CSTRING 需要搬迁的数据库名字。 示例: gaussdb=# SELECT gs_redis_parse_slicebucket_tranfer_file('filepath', 'full'); | idx| database_name| ---------------------------- | 0| tpcc1000w| (1 row) gs_redis_get_slicebucket_plan() 描述:用于获取当前库的SLICEBUCKET迁移计划。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 参数:void 返回值说明: 名称 类型 描述 sender_id OID 源节点的节点oid。 sender_name CSTRING 源节点的节点名称。 receiver_id OID 新节点的节点oid。 receiver_name CSTRING 新节点的节点名称。 bucket_number INT4 bucket_list中包含的bucket个数。 bucket_list OIDVECTOR_EXTEND 迁移计划涉及的bucket列表。 bucketgroup OID bucketlist中的bucket属于哪个group,取值范围为0-4。 示例: gaussdb=# SELECT gs_redis_get_slicebucket_plan(); | sender_id| sender_name| receiver_id| receiver_name| bucket_number| bucket_list| bucketgroup| -------------------------------------------------------------------------------------------------- | 16385| datanode1| 32768| datanode3| 1| 2048| 1| -------------------------------------------------------------------------------------------------- | 16386| datanode2| 32768| datanode3| 1| 2049| 1| -------------------------------------------------------------------------------------------------- | 16386| datanode2| 32768| datanode3| 4| 3073 3076 3079 3082| 2| -------------------------------------------------------------------------------------------------- | 16385| datanode1| 32768| datanode3| 1| 3074| 2| -------------------------------------------------------------------------------------------------- | 16385| datanode1| 32768| datanode3| 4| 4098 4099 4101 4102| 3| (5 rows) gs_redis_slicebucket_update_segment_header() 描述:更新当前数据库所有SLICEBUCKET表的header。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 入参:void 返回值类型:Boolean 示例: gaussdb=# SELECT * FROM gs_redis_slicebucket_update_segment_header(); gs_redis_slicebucket_update_segment_header ------------------------------------------- t (1 row) gs_redis_drop_bucket_files(plan_json CSTRING) 描述:删除源节点已经物理搬迁的RANGEBUCKET文件。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 参数说明: 名称 类型 描述 plan_json CSTRING 用户指定的SLICE搬迁文件。 返回值类型:BOOLEAN 示例: gaussdb=# SELECT gs_redis_drop_bucket_files('filepath'); gs_redis_drop_bucket_files ------------------------------------------- t (1 row) gs_redis_drop_bucket_files(origin_group_id OID,target_group_id OID) 描述:删除源节点已经物理搬迁的文件。只支持在扩容期间调用;只支持管理员权限用户查询;只支持CN上调用。 参数说明: 名称 类型 描述 origin_group_id OID 源节点的node group target_group_id OID 新节点的node group 返回值类型:BOOLEAN 示例: gaussdb=# SELECT * FROM gs_redis_drop_bucket_files(16388, 16417); gs_redis_drop_bucket_files ------------------------------------------- t (1 row) gs_redis_local_drop_bucket_files(bucketlist CSTRING,bucketnum SMALLINT) 描述:删除对应的bucket list。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用。 参数说明: 名称 类型 描述 bucketlist CSTRING 指定bucket列表 bucketnum SMALLINT bucket的个数 返回值类型:Boolean 示例: gaussdb=# SELECT * FROM gs_redis_local_drop_bucket_files('1 2 3', 3); gs_redis_local_drop_bucket_files ------------------------------------------- t (1 row) gs_redis_local_drop_bucket_files(database_name NAME, bucketlist CSTRING, bucketnum SMALLINT) 描述:用于rangebucket表删除对应数据库的bucket list。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用。 参数说明: 名称 类型 描述 database_name NAME 指定数据库名。 bucketlist CSTRING 指定bucket列表。 bucketnum SMALLINT bucket的个数。 返回值类型:Boolean 示例: gaussdb=# SELECT gs_redis_local_drop_bucket_files('postgres', '1 2 3', 3); gs_redis_local_drop_bucket_files ------------------------------------------- t (1 row) gs_redis_local_drop_bucket_files(bucketlist CSTRING,bucketnum SMALLINT) 描述:用于hashbucket表删除对应的bucket list。只支持在扩容期间调用;只支持管理员权限用户查询;只支持DN上调用。 参数说明: 名称 类型 描述 bucketlist CSTRING 指定bucket列表。 bucketnum SMALLINT bucket的个数。 返回值类型:Boolean 示例: gaussdb=# SELECT * FROM gs_redis_local_drop_bucket_files('1 2 3', 3); gs_redis_local_drop_bucket_files ------------------------------------------- t (1 row) 父主题: 系统管理函数
-
功能描述 用于收集与数据库中普通表内容相关的统计信息,统计结果存储在系统表PG_STATISTIC、PG_STATISTIC_EXT下,执行ANALYZE命令后,可在上述系统表中查询收集到的统计信息,也可以通过系统视图PG_STATS、PG_EXT_STATS查询信息。执行计划生成器会使用这些统计数据,以确定最有效的执行计划。 如果ANALYZE没有指定参数,会分析当前数据库中的每个表和分区表。同时也可以通过指定table_name、column_name和partition_name参数把分析限定在特定的表、列或分区表中。 ANALYZE|ANALYSE VERIFY可用于检测数据库中普通表的数据文件是否损坏。 每次收集的统计信息,都会存入统计信息历史表(GS_STATISTIC_HISTORY、GS_STATISTIC_EXT_HISTORY、GS_TABLESTATS_HISTORY)中,历史表存放的数量和统计信息的保留时间由GUC参数stats_history_record_limit和stats_history_retention_time控制。
-
注意事项 ANALYZE非临时表不支持在一个匿名块、事务块、函数或存储过程内被执行。ANALYZE临时表支持在存储过程中被执行,不支持统计信息回滚操作。 ANALYZE VERIFY如果不涉及远程读场景,远程读参数则不会生效。对于检测出关键系统表页面损坏的错误,将直接报错不再继续检测。 如果ANALYZE不指定参数,则默认处理当前用户拥有相应权限的表。如果参数中指定了一个表参数,ANALYZE只处理指定的表。 要对一个表进行ANALYZE操作,用户必须是表的所有者或者被授予了指定表VACUUM权限,三权分立开关关闭时,默认系统管理员有该权限。数据库的所有者允许对数据库中除了共享目录以外的所有表进行ANALYZE操作(该限制意味着只有系统管理员才能真正对一个数据库进行ANALYZE操作)。ANALYZE会跳过那些用户没有权限的表。 ANALYZE不收集无法做比较或等值运算的列,例如:CURSOR类型。 如果拟分析的表成了一个空表,ANALYZE不会记录该表的统计信息,而原来已有统计信息则会保留。
共100000条
- 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
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- ...
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333