华为云用户手册
-
comm_tcp_mode 参数说明:通信库使用TCP或SCTP协议(由于规格变更,当前版本已经不再支持本特性,请不要使用)建立数据通道的切换开关,重启集群生效。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 SCTP协议的连接不再提供支持,为了保持兼容,提供此参数的接口,但此参数会在设置过程中强制改为on。 取值范围:布尔型,CN设置为on表示使用TCP模式连接DN,DN设置为on表示DN间使用TCP代理通信。 默认值:on
-
comm_sctp_port 参数说明:TCP代理通信库或SCTP通信库(由于规格变更,当前版本已经不再支持本特性,请不要使用)使用的TCP或SCTP协议侦听端口,负责侦听数据报文通道。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 集群部署时会自动分配此端口号,请不要轻易修改此参数,如端口号配置不正确会导致数据库通信失败。 取值范围:整型,最小值为0,最大值为65535。 默认值:25110(实际值为guc参数port值+2,取决于用户配置)
-
tcp_user_timeout 参数说明:在支持TCP_USER_TIMEOUT套接字选项的操作系统上,设置 GaussDB 在发送数据时,指定传输的数据在TCP连接被强制关闭之前可以保持未确认状态的最大时长。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 如果操作系统不支持TCP_USER_TIMEOUT选项,这个参数的值将不生效,默认为0。 在通过Unix域套接字进行连接的操作系统上,这个参数将被忽略。 取值范围:0-3600000,单位为ms。其中0表示跟随操作系统设置。 默认值:0 注意,不同操作系统内核下,这个参数生效结果将不同: aarch64 EulerOS(Linux内核版本:4.19),超时时间即为该参数设置值。 x86 Euler2.5(Linux内核版本:3.10),超时时间不是该参数设置值,而是不同区间的最大值,即超时时间取值为:tcp_user_timeout设置值所处“Linux TCP重传总耗时”区间的上限最大值。例如:tcp_user_timeout=40000时,重传总耗时为51秒。 表1 x86 Euler2.5(Linux内核版本:3.10)tcp_user_timeout参数取值示意 Linux TCP重传次数 Linux TCP重传总耗时区间(秒) tcp_user_timeout设置举例(毫秒) 实际Linux TCP重传总耗时(秒) 1 (0.2,0.6] 400 0.6 2 (0.6,1.4] 1000 1.4 3 (1.4,3] 2000 3 4 (3,6.2] 4000 6.2 5 (6.2,12.6] 10000 12.6 6 (12.6,25.4] 20000 25.4 7 (25.4,51] 40000 51 8 (51,102.2] 80000 102.2 9 (102.2,204.6] 150000 204.6 10 (204.6,324.6] 260000 324.6 11 (324.6,444.6] 400000 444.6 注:TCP每次重传耗时随重传次数指数增加,当TCP一次重传到达120秒后,后续每次重传都将耗时120秒不再变化。
-
tcp_keepalives_idle 参数说明:在支持TCP_KEEPIDLE套接字选项的系统上,设置发送活跃信号的间隔秒数。不设置发送保持活跃信号,连接就会处于闲置状态。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 如果操作系统不支持TCP_KEEPIDLE选项 ,这个参数的值必须为0。 在通过Unix域套接字进行的连接的操作系统上,这个参数将被忽略。 取值范围:0-3600,单位为s。 默认值:1min
-
tcp_keepalives_interval 参数说明:在支持TCP_KEEPINTVL套接字选项的操作系统上,以秒数声明在重新传输之间等待响应的时间。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:0-180,单位为s。 默认值:30 如果操作系统不支持TCP_KEEPINTVL选项,这个参数的值必须为0。 在通过Unix域套接字进行的连接的操作系统上,这个参数将被忽略。
-
MY_TYPES MY_TYPES视图用于描述当前用户所拥有的所有对象类型。所有用户都可以访问该视图。该视图同时存在于PG_CATA LOG 和SYS Schema下。 表1 MY_TYPES字段 名称 类型 描述 type_name character varying(128) 类型名称。 type_oid raw 类型的标识符(OID)。 typecode character varying(128) 类型的类型代码。 attributes numeric 类型中的属性数。 methods numeric 暂不支持,值为0。 predefined character varying(3) 表示该类型是否是内置类型。 incomplete character varying(3) 表示类型是否为不完整类型。 final character varying(3) 暂不支持,值为NULL。 instantiable character varying(3) 暂不支持,值为NULL。 persistable character varying(3) 暂不支持,值为NULL。 supertype_owner character varying(128) 暂不支持,值为NULL。 supertype_name character varying(128) 暂不支持,值为NULL。 local_attributes numeric 暂不支持,值为NULL。 local_methods numeric 暂不支持,值为NULL。 typeid raw 暂不支持,值为NULL。 父主题: 系统视图
-
接口介绍 高级功能包DBE_APPLICATION_INFO支持的所有接口请参见表1。DBE_APPLICATION_INFO作用范围是当前session。 表1 DBE_APPLICATION_INFO 接口名称 描述 DBE_APPLICATION_INFO.SET_CLIENT_INFO 写入客户端信息 DBE_APPLICATION_INFO.READ_CLIENT_INFO 读取客户端信息 DBE_APPLICATION_INFO.SET_CLIENT_INFO 写入客户端信息。DBE_APPLICATION_INFO.SET_CLIENT_INFO函数原型为: 1 2 3 DBE_APPLICATION_INFO.SET_CLIENT_INFO( str text )returns void; 表2 DBE_APPLICATION_INFO.SET_CLIENT_INFO接口参数说明 参数 描述 str 写入的客户端信息 DBE_APPLICATION_INFO.READ_CLIENT_INFO 读取客户端信息DBE_APPLICATION_INFO.READ_CLIENT_INFO函数原型为: 1 2 DBE_APPLICATION_INFO.READ_CLIENT_INFO( OUT client_info text); 表3 DBE_APPLICATION_INFO.READ_CLIENT_INFO接口参数说明 参数 描述 client_info 客户端信息
-
MY_ROLE_PRIVS MY_ROLE_PRIVS视图显示授予当前用户角色(包括public角色)的权限的信息。默认所有用户都可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 MY_ROLE_PRIVS字段 名称 类型 描述 grantee character varying(128) 被授予权限的用户或角色名称。 granted_role character varying(128) 被授予的角色。 admin_option character varying(3) 该授权是否包含ADMIN选项。 YES:包含ADMIN选项。 NO:不包含ADMIN选项。 delegate_option character varying(3) 暂不支持,值为NULL。 default_role character varying(3) 暂不支持,值为NULL。 os_granted character varying(3) 暂不支持,值为NULL。 common character varying(3) 暂不支持,值为NULL。 inherited character varying(3) 暂不支持,值为NULL。 父主题: 系统视图
-
简介 本规范以产品生命周期为主线,详细描述产品设计和开发流程过程中与数据库相关的设计和开发规范。 规范以提高可读性、代码质量为原则,强调实用性、可操作性,对数据库开发容易产生问题的地方做出了明确的规定。主要包括下列内容: 设计规范包括:数据库设计、性能设计。 编程规范包括:排版、命名、注释、语法、脚本、数据库编程、安装部署和安全规范。 同时,在必要时,对部分规范给出细则及具体的范例。 该开发规范仅作为参考,具体规范应结合应用技术架构及规划由数据库使用者综合评估并实施。
-
MY_SYNONYMS MY_SYNONYMS视图显示当前模式下同义词的信息。该视图所有用户可访问,仅可查看当前用户所属信息。该视图同时存在于PG_CATALOG和SYS schema下。 表1 MY_SYNONYMS字段 名称 类型 描述 schema_name text 同义词所属模式名。 synonym_name text 同义词的名称。 table_owner text 关联对象的所有者。尽管该列称为table_owner,但它拥有的该关联对象不一定是表,可以是任何数据库通用对象,例如视图、存储过程、同义词等。 table_name text 关联对象名。尽管该列称为table_name,但此关联对象不一定是表,可以是任何数据库通用对象,例如视图、存储过程、同义词等。 table_schema_name text 关联对象所属模式名。尽管该列称为table_schema_name,但此schema下的该关联对象不一定是表,可以是任何数据库通用对象,例如视图、存储过程、同义词等。 db_link character varying(128) 保留字段,值为NULL。 origin_con_id character varying(256) 暂不支持,值为0。 父主题: 系统视图
-
MY_TAB_HISTOG RAM S MY_TAB_HISTOGRAMS系统视图显示当前用户拥有的表或视图的直方图信息。所有用户都可以访问该视图。该视图同时存在于pg_catalog和sys schema下。 名称 类型 描述 table_name character varying(128) 表名。 column_name character varying(4000) 列名或者对象类型列的属性。 endpoint_number numeric 直方图的桶号。 endpoint_value numeric 暂不支持,值为NULL。 endpoint_actual_value character varying(4000) 桶端点的实际值。 endpoint_actual_value_raw raw 暂不支持,值为NULL。 endpoint_repeat_count numeric 暂不支持,值为NULL。 scope character varying(7) 暂不支持,值为SHARED。 父主题: 系统视图
-
修改约束示例 为列添加非空约束。 --建表。 gaussdb=# CREATE TABLE test_alt3(pid INT, areaid CHAR(5), name VARCHAR(20)); --为pid添加非空约束。 gaussdb=# ALTER TABLE test_alt3 MODIFY pid NOT NULL; --查看。 gaussdb=# \d test_alt3 Table "public.test_alt3" Column | Type | Modifiers --------+-----------------------+----------- pid | integer | not null areaid | character(5) | name | character varying(20) | 取消列的非空约束。 gaussdb=# ALTER TABLE test_alt3 MODIFY pid NULL; --查看。 gaussdb=# \d test_alt3 Table "public.test_alt3" Column | Type | Modifiers --------+-----------------------+----------- pid | integer | areaid | character(5) | name | character varying(20) | 修改字段默认值。 --修改test_alt1表中id的默认值。 gaussdb=# ALTER TABLE test_alt3 ALTER COLUMN areaid SET DEFAULT '00000'; --查看。 gaussdb=# \d test_alt3 Table "public.test_alt3" Column | Type | Modifiers --------+-----------------------+------------------------- pid | integer | areaid | character(5) | default '00000'::bpchar name | character varying(20) | --删除id的默认值。 gaussdb=# ALTER TABLE test_alt3 ALTER COLUMN areaid DROP DEFAULT; --查看。 gaussdb=# \d test_alt3 Table "public.test_alt3" Column | Type | Modifiers --------+-----------------------+----------- pid | integer | areaid | character(5) | name | character varying(20) | 添加表级约束。 直接添加约束。 --给表添加主键约束。 gaussdb=# ALTER TABLE test_alt3 ADD CONSTRAINT pk_test3_pid PRIMARY KEY (pid); --查看。 gaussdb=# \d test_alt3 Table "public.test_alt3" Column | Type | Modifiers --------+-----------------------+----------- pid | integer | not null areaid | integer | name | character varying(20) | Indexes: "pk_test3_pid" PRIMARY KEY, btree (pid) TABLESPACE pg_default 先创建索引然后再添加约束。 --建表。 gaussdb=# CREATE TABLE test_alt4(c1 INT, c2 INT); --建索引。 gaussdb=# CREATE UNIQUE INDEX pk_test4_c1 ON test_alt4(c1); --添加约束时关联已经创建的索引。 gaussdb=# ALTER TABLE test_alt4 ADD CONSTRAINT pk_test4_c1 PRIMARY KEY USING INDEX pk_test4_c1; --查看。 gaussdb=# \d test_alt4 Table "public.test_alt4" Column | Type | Modifiers --------+---------+----------- c1 | integer | not null c2 | integer | Indexes: "pk_test4_c1" PRIMARY KEY, btree (c1) TABLESPACE pg_default --删除。 gaussdb=# DROP TABLE test_alt4; 删除表级约束。 --删除约束。 gaussdb=# ALTER TABLE test_alt3 DROP CONSTRAINT IF EXISTS pk_test3_pid; --查看。 gaussdb=# \d test_alt3 Table "public.test_alt3" Column | Type | Modifiers --------+-----------------------+----------- pid | integer | not null areaid | integer | name | character varying(20) | --删除。 gaussdb=# DROP TABLE test_alt3;
-
修改表示例 重命名表。 gaussdb=# CREATE TABLE aa(c1 int, c2 int); gaussdb=# ALTER TABLE IF EXISTS aa RENAME TO test_alt1; 修改表所属模式。 --创建模式test_schema。 gaussdb=# CREATE SCHEMA test_schema; --把表test_alt1的所属模式修改为test_schema。 gaussdb=# ALTER TABLE test_alt1 SET SCHEMA test_schema; --查询表信息。 gaussdb=# SELECT schemaname,tablename FROM pg_tables WHERE tablename = 'test_alt1'; schemaname | tablename -------------+----------- test_schema | test_alt1 (1 row) 修改表的所有者。 --创建用户test_user。 gaussdb=# CREATE USER test_user PASSWORD 'XXXXXXXXXX'; --修改test_alt1表的所有者为test_user。 gaussdb=# ALTER TABLE IF EXISTS test_schema.test_alt1 OWNER TO test_user; --查看。 gaussdb=# SELECT tablename, schemaname, tableowner FROM pg_tables WHERE tablename = 'test_alt1'; tablename | schemaname | tableowner -----------+-------------+------------ test_alt1 | test_schema | test_user (1 row) 修改表的表空间。 --创建表空间tbs_data1。 gaussdb=# CREATE TABLESPACE tbs_data1 RELATIVE LOCATION 'tablespace1/tbs_data1'; --修改test_alt1表的空间为tbs_data1。 gaussdb=# ALTER TABLE test_schema.test_alt1 SET TABLESPACE tbs_data1; --查看。 gaussdb=# SELECT tablename, tablespace FROM pg_tables WHERE tablename = 'test_alt1'; tablename | tablespace -----------+------------ test_alt1 | tbs_data1 (1 row) --删除。 gaussdb=# DROP TABLE test_schema.test_alt1; gaussdb=# DROP TABLESPACE tbs_data1; gaussdb=# DROP SCHEMA test_schema; gaussdb=# DROP USER test_user;
-
修改列示例 修改列名。 --建表。 gaussdb=# CREATE TABLE test_alt2(c1 INT,c2 INT); --修改列名。 gaussdb=# ALTER TABLE test_alt2 RENAME c1 TO id; gaussdb=# ALTER TABLE test_alt2 RENAME COLUMN c2 to areaid; --查看。 \d test_alt1 Table "public.test_alt1" Column | Type | Modifiers --------+---------+----------- id | integer | areaid | integer | 增加列。 --表test_alt1增加列。 gaussdb=# ALTER TABLE IF EXISTS test_alt2 ADD COLUMN name VARCHAR(20); --查看。 gaussdb=# \d test_alt2 Table "public.test_alt1" Column | Type | Modifiers ----------+-----------------------+----------- id | integer | areacode | integer | name | character varying(20) | 修改列的数据类型。 --修改test_alt1表中name字段的类型。 gaussdb=# ALTER TABLE test_alt1 MODIFY name VARCHAR(50); --查看。 gaussdb=# \d test_alt1 Table "public.test_alt2" Column | Type | Modifiers --------+-----------------------+----------- id | integer | areaid | integer | name | character varying(50) | --修改test_alt1表中name字段的类型。 gaussdb=# ALTER TABLE test_alt2 ALTER COLUMN name TYPE VARCHAR(25); --查看。 gaussdb=# \d test_alt2 Table "public.test_alt2" Column | Type | Modifiers --------+-----------------------+----------- id | integer | areaid | integer | name | character varying(25) | 删除列。 --删除test_alt1中areaid字段。 gaussdb=# ALTER TABLE test_alt2 DROP COLUMN areaid; --查看。 gaussdb=# \d test_alt2 Table "public.test_alt2" Column | Type | Modifiers --------+-----------------------+----------- id | integer | name | character varying(25) | 修改字段存储模式。 --查看表详细信息。 gaussdb=# \d+ test_alt2 Table "public.test_alt2" Column | Type | Modifiers | Storage | Stats target | Description --------+-----------------------+-----------+----------+--------------+------------- id | integer | | plain | | name | character varying(25) | | extended | | Has OIDs: no Options: orientation=row, compression=no, storage_type=USTORE --修改test_alt2表中name字段的存储模式。 gaussdb=# ALTER TABLE test_alt2 ALTER COLUMN name SET STORAGE PLAIN; --查看。 gaussdb=# \d+ test_alt2 Table "public.test_alt2" Column | Type | Modifiers | Storage | Stats target | Description --------+-----------------------+-----------+---------+--------------+------------- id | integer | | plain | | name | character varying(25) | | plain | | Has OIDs: no Options: orientation=row, compression=no, storage_type=USTORE --删除。 gaussdb=# DROP TABLE test_alt2;
-
语法格式 修改表的定义。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ALTER TABLE [ IF EXISTS ] { table_name [*] | ONLY table_name | ONLY ( table_name ) } action [, ... ]; ALTER TABLE [ IF EXISTS ] table_name ADD ( { column_name data_type [ compress_mode ] [ COLLATE collation ] [ column_constraint [ ... ] ]} [, ...] ); ALTER TABLE [ IF EXISTS ] table_name MODIFY ( { column_name data_type | column_name [ CONSTRAINT constraint_name ] NOT NULL [ ENABLE ] | column_name [ CONSTRAINT constraint_name ] NULL } [, ...] ); ALTER TABLE [ IF EXISTS ] table_name RENAME TO new_table_name; ALTER TABLE [ IF EXISTS ] { table_name [*] | ONLY table_name | ONLY ( table_name )} RENAME [ COLUMN ] column_name TO new_column_name; ALTER TABLE [ IF EXISTS ] { table_name [*] | ONLY table_name | ONLY ( table_name )} RENAME CONSTRAINT constraint_name TO new_constraint_name; ALTER TABLE [ IF EXISTS ] table_name SET SCHEMA new_schema; 其中具体表操作action可以是以下子句之一: 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 column_clause | ADD table_constraint [ NOT VALID ] | ADD table_constraint_using_index | VALIDATE CONSTRAINT constraint_name | DROP CONSTRAINT [ IF EXISTS ] constraint_name [ RESTRICT | CASCADE ] | CLUSTER ON index_name | SET WITHOUT CLUSTER | SET ( {storage_parameter = value} [, ... ] ) | RESET ( storage_parameter [, ... ] ) | OWNER TO new_owner | SET TABLESPACE new_tablespace | SET {COMPRESS|NOCOMPRESS} | TO { GROUP groupname | NODE ( nodename [, ... ] ) } | ADD NODE ( nodename [, ... ] ) | DELETE NODE ( nodename [, ... ] ) | UPDATE SLICE LIKE table_name | DISABLE TRIGGER [ trigger_name | ALL | USER ] | ENABLE TRIGGER [ trigger_name | ALL | USER ] | ENABLE REPLICA TRIGGER trigger_name | ENABLE ALWAYS TRIGGER trigger_name | ENABLE ROW LEVEL SECURITY | DISABLE ROW LEVEL SECURITY | FORCE ROW LEVEL SECURITY | NO FORCE ROW LEVEL SECURITY | REPLICA IDENTITY { DEFAULT | USING INDEX index_name | FULL | NOTHING } | AUTO_INCREMENT [ = ] value | [ [ DEFAULT ] CHARACTER SET | CHARSET [ = ] default_charset ] [ [ DEFAULT ] COLLATE [ = ] default_collation ] ADD table_constraint [ NOT VALID ] 给表增加一个新的约束。 ADD table_constraint_using_index 根据已有唯一索引为表增加主键约束或唯一约束。当指定索引为GSI时,将报错,需要使用BY GLOBAL INDEX语法添加GSI索引约束。 VALIDATE CONSTRAINT constraint_name 验证一个使用NOT VALID选项创建的检查类约束,通过扫描全表来保证所有记录都符合约束条件。如果约束已标记为有效时,什么操作也不会发生。 DROP CONSTRAINT [ IF EXISTS ] constraint_name [ RESTRICT | CASCADE ] 删除一个表上的约束。 CLUSTER ON index_name 为将来的CLUSTER(聚簇)操作选择默认索引。实际上并没有重新盘簇化处理该表。 SET WITHOUT CLUSTER 从表中删除最新使用的CLUSTER索引。这样会影响将来那些没有声明索引的CLUSTER(聚簇)操作。 SET ( {storage_parameter = value} [, ... ] ) 修改表的一个或多个存储参数。当table_name为索引名时,ACTIVE_PAGES表示索引的页面数量,可能比实际的物理文件页面少,可以用于优化器调优。目前只对Ustore的分区表local索引生效,且会被vacuum、analyze更新(包括auto vacuum)。不建议用户手动设置该参数,该参数在分布式下无效。 RESET ( storage_parameter [, ... ] ) 重置表的一个或多个存储参数。与SET一样,根据参数的不同可能需要重写表才能获得想要的效果。 OWNER TO new_owner 将表、序列、视图的属主改变成指定的用户。 SET TABLESPACE new_tablespace 这种形式将表空间修改为指定的表空间并将相关的数据文件移动到新的表空间。但是表上的所有索引都不会被移动,索引可以通过ALTER INDEX语法的SET TABLESPACE选项来修改索引的表空间。 SET {COMPRESS|NOCOMPRESS} 修改表的压缩特性。表压缩特性的改变只会影响后续批量插入的数据的存储方式,对已有数据的存储毫无影响。也就是说,表压缩特性的修改会导致该表中同时存在着已压缩和未压缩的数据。行存表不支持压缩。 TO { GROUP groupname | NODE ( nodename [, ... ] ) } 此语法仅在扩展模式(GUC参数support_extended_features为on时)下可用。该模式谨慎打开,主要供内部扩容工具使用,一般用户不应使用该模式。该命令只会修改表分布节点的逻辑映射关系,并未真正在DN节点上迁移表的元数据和数据。 ADD NODE ( nodename [, ... ] ) 此语法主要供内部扩容工具使用,一般用户不建议使用。 DELETE NODE ( nodename [, ... ] ) 此语法主要供内部缩容工具使用,一般用户不建议使用。 UPDATE SLICE LIKE table_name 此语法主要供内部扩缩容工具使用,一般用户不可以使用。 DISABLE TRIGGER [ trigger_name | ALL | USER ] 禁用trigger_name所表示的单个触发器,或禁用所有触发器,或仅禁用用户触发器(此选项不包括内部生成的约束触发器,例如,可延迟唯一性和排除约束的约束触发器)。 应谨慎使用此功能,因为如果不执行触发器,则无法保证原先期望的约束的完整性。 | ENABLE TRIGGER [ trigger_name | ALL | USER ] 启用trigger_name所表示的单个触发器,或启用所有触发器,或仅启用用户触发器。 | ENABLE REPLICA TRIGGER trigger_name 触发器触发机制受配置变量session_replication_role的影响,当复制角色为“origin”(默认值)或“local”时,将触发简单启用的触发器。 配置为ENABLE REPLICA的触发器仅在会话处于“replica”模式时触发。 | ENABLE ALWAYS TRIGGER trigger_name 无论当前复制模式如何,配置为ENABLE ALWAYS的触发器都将触发。 | { DISABLE | ENABLE } ROW LEVEL SECURITY 开启或关闭表的行访问控制开关。 当开启行访问控制开关时,如果未在该数据表定义相关行访问控制策略,数据表的行级访问将不受影响;如果关闭表的行访问控制开关,即使定义了行访问控制策略,数据表的行访问也不受影响。详细信息参见CREATE ROW LEVEL SECURITY POLICY章节。 | { NO FORCE | FORCE } ROW LEVEL SECURITY 强制开启或关闭表的行访问控制开关。 默认情况,表所有者不受行访问控制特性影响,但当强制开启表的行访问控制开关时,表的所有者(不包含系统管理员用户)会受影响。系统管理员可以绕过所有的行访问控制策略,不受影响。 REPLICA IDENTITY { DEFAULT | USING INDEX index_name | FULL | NOTHING } 在逻辑复制场景下,指定该表的UPDATE和DELETE操作中旧元组的记录级别。 DEFAULT记录主键的列的旧值,没有主键则不记录。 USING INDEX记录命名索引覆盖的列的旧值,这些值必须是唯一的、不局部的、不可延迟的,并且仅包括标记为NOT NULL的列。 FULL记录该行中所有列的旧值。 NOTHING不记录有关旧行的信息。 在逻辑复制场景,解析该表的UPDATE和DELETE操作语句时,以此方法记录的信息组成解析出的旧元组。对于有主键表该选项可设置为DEFAULT或FULL。对于无主键表该选项需设置为FULL,否则解码时旧元组将解析为空。一般场景不建议设置为NOTHING,旧元组会始终解析为空。 AUTO_INCREMENT [ = ] value 设置自动增长列下一次的自增值。设置的值只有大于当前自增计数器时才会生效。 value必须是非负整数,且不得大于2127-1。 此子句仅在参数sql_compatibility='B'时生效。 [ [ DEFAULT ] CHARACTER SET | CHARSET [ = ] default_charset ] [ [ DEFAULT ] COLLATE [ = ] default_collation ] 修改表的默认字符集和默认字符序为指定的值。修改不会影响表中当前已经存在的列。 此子句仅在参数sql_compatibility='B'时生效。 CONVERT TO CHARACTER SET | CHARSET charset [ COLLATE collation ] 修改表的默认字符集和默认字符序为指定的值,同时将表中的所有字符类型的字段的字符集和字符序设置为指定的值,并将字段里的数据转换为新字符集编码。 其中列相关的操作column_clause可以是以下子句之一: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ADD [ COLUMN ] column_name data_type [ CHARACTER SET | CHARSET charset ] [ compress_mode ] [ COLLATE collation ] [ column_constraint [ ... ] ] | MODIFY column_name data_type | MODIFY column_name [ CONSTRAINT constraint_name ] NOT NULL [ ENABLE ] | MODIFY column_name [ CONSTRAINT constraint_name ] NULL | DROP [ COLUMN ] [ IF EXISTS ] column_name [ RESTRICT | CASCADE ] | ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type [ COLLATE collation ] [ USING expression ] | ALTER [ COLUMN ] column_name { SET DEFAULT expression | DROP DEFAULT } | ALTER [ COLUMN ] column_name { SET | DROP } NOT NULL | ALTER [ COLUMN ] column_name SET STATIS TICS [PERCENT] integer | ADD STATISTI CS (( column_1_name, column_2_name [, ...] )) | DELETE STATISTICS (( column_1_name, column_2_name [, ...] )) | ALTER [ COLUMN ] column_name SET ( {attribute_option = value} [, ... ] ) | ALTER [ COLUMN ] column_name RESET ( attribute_option [, ... ] ) | ALTER [ COLUMN ] column_name SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN } ADD [ COLUMN ] column_name data_type [ compress_mode ] [ COLLATE collation ] [ column_constraint [ ... ] ] 向表中增加一个新的字段。用ADD COLUMN增加一个字段,所有表中现有行都初始化为该字段的缺省值(如果没有声明DEFAULT子句,值为NULL)。 ADD ( { column_name data_type [ compress_mode ] } [, ...] ) 向表中增加多列。 MODIFY ( { column_name data_type | column_name [ CONSTRAINT constraint_name ] NOT NULL [ ENABLE ] | column_name [ CONSTRAINT constraint_name ] NULL } [, ...] ) 修改表已存在字段的数据类型。此命令会导致该字段的统计信息清空,建议在修改后重新收集该列的统计信息。 DROP [ COLUMN ] [ IF EXISTS ] column_name [ RESTRICT | CASCADE ] 从表中删除一个字段,和这个字段相关的索引和表约束也会被自动删除。如果任何表之外的对象依赖于这个字段,必须声明CASCADE,比如视图等。 DROP COLUMN命令并不是物理上把字段删除,而只是简单地把它标记为对SQL操作不可见。随后对该表的插入和更新将在该字段存储一个NULL。因此,删除一个字段是很快的,但是它不会立即释放表在磁盘上的空间,因为被删除了的字段占据的空间还没有回收。这些空间将在执行VACUUM时而得到回收。 ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type [ COLLATE collation ] [ USING expression ] 改变表字段的数据类型。该字段涉及的索引和简单的表约束将被自动地转换为使用新的字段类型,方法是重新分析最初提供的表达式。 当字段的原始数据类型和修改后的数据类型二进制兼容时,执行该语句不需要对整表进行重写,其他场景下会进行整表重写。原始数据类型和目标数据类型是否二进制兼容可以在PG_CAST系统表中查看,如果castmethod为'b'则二进制兼容。例如源表中数据类型是text类型,如果转为int类型则会触发表重写,转为clob类型则不会触发表重写。如果表重写被触发,该表上被删除的空间也将被立刻回收。 此命令会导致该字段的统计信息清空,建议在修改后重新收集该列的统计信息。 ALTER [ COLUMN ] column_name { SET DEFAULT expression | DROP DEFAULT } 为一个字段设置或者删除缺省值。请注意缺省值只应用于随后的INSERT命令,它们不会修改表中已经存在的行。也可以为视图创建缺省,这个时候它们是在视图的ON INSERT规则应用之前插入到INSERT句中的。 ALTER [ COLUMN ] column_name { SET | DROP } NOT NULL 修改一个字段是否允许NULL值或者拒绝NULL值。如果表在字段中包含非NULL,则只能使用SET NOT NULL。 ALTER [ COLUMN ] column_name SET STATISTICS [PERCENT] integer 为随后的ANALYZE操作设置针对每个字段的统计收集目标。目标的范围可以在0到10000之内设置。设置为-1时表示重新恢复到使用系统缺省的统计目标。 {ADD | DELETE} STATISTICS ((column_1_name, column_2_name [, ...])) 用于添加和删除多列统计信息声明(不实际进行多列统计信息收集),以便在后续进行全表或全库analyze时进行多列统计信息收集。每组多列统计信息最多支持32列。不支持添加/删除多列统计信息声明的表:系统表、外表。 {ENABLE | DISABLE } STATISTICS ((column_1_name, column_2_name [, ...])) 用于启用和禁用多列统计信息。在开启自动创建统计信息的场景下(需使用GUC参数auto_statistic_ext_columns),禁用特定的多列组合,防止被自动创建出来并使用。 ALTER [ COLUMN ] column_name SET ( {attribute_option = value} [, ... ] ) ALTER [ COLUMN ] column_name RESET ( attribute_option [, ... ] ) 设置/重置属性选项。 目前,属性选项只定义了n_distinct和n_distinct_inherited。n_distinct影响表本身的统计值,而n_distinct_inherited影响表及其继承子表的统计。目前,只支持SET/RESET n_distinct参数,禁止SET/RESET n_distinct_inherited参数。 ALTER [ COLUMN ] column_name SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN } 为一个字段设置存储模式。这个设置控制这个字段是内联保存还是保存在一个附属的表里,以及数据是否要压缩。SET STORAGE本身并不改变表上的任何东西,只是设置将来的表操作时,建议使用的策略。 其中列约束column_constraint为: 1 2 3 4 5 6 7 8 9 10 11 12 13 [ CONSTRAINT constraint_name ] { NOT NULL | NULL | CHECK ( expression ) | DEFAULT default_expr | GENERATED ALWAYS AS ( generation_expr ) [STORED] | AUTO_INCREMENT | UNIQUE [KEY] index_parameters | PRIMARY KEY index_parameters | ENCRYPTED WITH ( COLUMN_ENCRYPTION_KEY = column_encryption_key, ENCRYPTION_TYPE = encryption_type_value ) | REFEREN CES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] } [ DEFERRABLE | NOT DEFERRABLE ][ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] 其中索引参数index_parameters为: 1 2 [ WITH ( {storage_parameter = value} [, ... ] ) ] [ USING INDEX TABLESPACE tablespace_name ] 其中列的压缩可选项compress_mode为: 1 { DELTA | PREFIX | DICTIONARY | NUMSTR | NOCOMPRESS } 其中根据已有唯一索引为表增加主键约束或唯一约束table_constraint_using_index为: 1 2 3 [ CONSTRAINT constraint_name ] { UNIQUE | PRIMARY KEY } USING INDEX index_name [ DEFERRABLE | NOT DEFERRABLE | INITIALLY DEFERRED | INITIALLY IMMEDIATE ] 其中表约束table_constraint为: 1 2 3 4 5 6 [ CONSTRAINT constraint_name ] { CHECK ( expression ) | UNIQUE ( column_name [, ... ] ) index_parameters | PRIMARY KEY ( column_name [, ... ] ) index_parameters } [ DEFERRABLE | NOT DEFERRABLE | INITIALLY DEFERRED | INITIALLY IMMEDIATE ] 其中索引参数index_parameters为: 1 2 [ WITH ( {storage_parameter = value} [, ... ] ) ] [ USING INDEX TABLESPACE tablespace_name ][BY GLOBAL INDEX] 当index_parameters指定BY GLOBAL INDEX时,将使用全局二级索引建立约束。
-
注意事项 基表为HASH分布时,若创建不包含基表分布键的主键或唯一索引,需要使用全局二级索引(指定BY GLOBAL INDEX字段),若创建包含基表分布键的主键或唯一索引,需要使用普通索引(不指定BY GLOBAL INDEX字段),单DN部署形式下,使用全局二级索引或者普通索引均可创建成功;当基表为除HASH分布以外的其他分布形式时,主键或唯一索引只能使用普通索引,即索引键必须包含基表分布键。 表的所有者、被授予了表ALTER权限的用户或被授予ALTER ANY TABLE权限的用户有权限执行ALTER TABLE命令,系统管理员默认拥有此权限。但要修改表的所有者或者修改表的模式,当前用户必须是该表的所有者或者系统管理员,且该用户是新所有者角色的成员。 不能修改分区表的TABLESPACE,但可以修改分区的TABLESPACE。 不支持修改存储参数ORIENTATION。 SET SCHEMA操作不支持修改为系统内部模式,当前仅支持用户模式之间的修改。 不允许对表的分布列(distribute column)进行修改。
-
audit_rotation_interval 参数说明:指定创建一个新审计日志文件的时间间隔。当现在的时间减去上次创建一个审计日志的时间超过了此参数值时,服务器将生成一个新的审计日志文件。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1~INT_MAX/60,单位为min。 默认值:1d 请不要随意调整此参数,否则可能会导致audit_resource_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用audit_resource_policy、audit_space_limit和audit_file_remain_time参数进行控制。
-
audit_thread_num 参数说明:审计线程的个数。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1~48 默认值:1 当audit_dml_state开关打开且在高性能场景下,建议增大此参数保证审计消息可以被及时处理和记录。 请保证此参数不大于审计目录下审计文件个数的最大值audit_file_remain_threshold,否则会导致审计功能无法正常使用与数据库异常。
-
audit_rotation_size 参数说明:指定审计日志文件的最大容量。当审计日志消息的总量超过此参数值时,服务器将生成一个新的审计日志文件。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1024~1048576,单位为KB。 默认值:10MB 请不要随意调整此参数,否则可能会导致audit_resource_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用audit_resource_policy、audit_space_limit和audit_file_remain_time参数进行控制。 审计日志文件中记录的单条日志占用空间大小超过此参数值时会被作为无效日志文件。
-
audit_directory 参数说明:审计文件的存储目录。可以是相对于数据目录data的相对路径,也可以是绝对路径,自行指定,仅sysadmin用户可以访问。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 默认值:pg_audit。如果使用om工具部署数据库,则审计日志路径为“$GAUSSLOG/pg_audit/实例名称”。 不同的DN实例需要设置不同的审计文件存储目录,否则会导致审计日志异常。 当配置文件中audit_directory的值为非法路径时,会导致审计功能无法使用。
-
audit_file_remain_threshold 参数说明:审计目录下审计文件个数的最大值。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,100~1048576 默认值: 1048576(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内存);1024(4核CPU/16G内存) 请尽量保证此参数为1048576,并不要随意调整此参数,否则可能会导致audit_resource_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用audit_resource_policy、audit_space_limit和audit_file_remain_time参数进行控制。 多审计线程场景下不建议调整此参数,请保证此参数不小于审计线程个数audit_thread_num,否则会导致审计功能无法正常使用与数据库异常。
-
SUMMARY_STAT_ALL_TABLES 显示数据库各节点中每个表(包括TOAST表)的统计信息的汇总求和结果(其中timestamp类型字段不进行求和,仅取所有节点该字段的最新值)。 表1 SUMMARY_STAT_ALL_TABLES字段 名称 类型 描述 schemaname name 此表所在的Schema名。 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
-
数据库逻辑结构图 GaussDB的数据库节点负责存储数据,其存储介质也是磁盘,本节主要从逻辑视角介绍数据库节点都有哪些对象,以及这些对象之间的关系。数据库逻辑结构如图1。 图1 数据库逻辑结构图 Tablespace,即表空间,表空间是一个目录,实例中可以存在多个表空间,其中存储的是它所包含的数据库的各种物理文件。每个表空间可以对应多个Database。 Database,即数据库,用于管理各类数据对象,各数据库间相互隔离。数据库管理的对象可分布在多个Tablespace上。 Datafile Segment,即数据文件,通常每张表只对应一个数据文件。如果某张表的数据大于1GB,则会分为多个数据文件存储。 Table,即表,每张表只能属于一个数据库,也只能对应到一个Tablespace。每张表对应的数据文件必须在同一个Tablespace中。 Block,即数据块,是数据库管理的基本单位,默认大小为8KB。 父主题: 数据库系统概述
-
时间段输入 reltime的输入方式可以采用任何合法的时间段文本格式,包括数字形式(含负数和小数)及时间形式,其中时间形式的输入支持SQL标准格式、ISO-8601格式、POSTGRES格式等。另外,文本输入需要加单引号。 时间段输入的详细信息请参考表6。 表6 时间段输入 输入示例 输出结果 描述 60 2 mons 采用数字表示时间段,默认单位是day,可以是小数或负数。特别的,负数时间段,在语义上,可以理解为“早于多久”。 31.25 1 mons 1 days 06:00:00 -365 -12 mons -5 days 1 years 1 mons 8 days 12:00:00 1 years 1 mons 8 days 12:00:00 采用POSTGRES格式表示时间段,可以正负混用,不区分大小写,输出结果为将输入时间段计算并转换得到的简化POSTGRES格式时间段。 -13 months -10 hours -1 years -25 days -04:00:00 -2 YEARS +5 MONTHS 10 DAYS -1 years -6 mons -25 days -06:00:00 P-1.1Y10M -3 mons -5 days -06:00:00 采用ISO-8601格式表示时间段,可以正负混用,不区分大小写,输出结果为将输入时间段计算并转换得到的简化POSTGRES格式时间段。 -12H -12:00:00 示例: 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 --创建表。 gaussdb=# CREATE TABLE reltime_type_tab(col1 character(30), col2 reltime); --插入数据。 gaussdb=# INSERT INTO reltime_type_tab VALUES ('90', '90'); gaussdb=# INSERT INTO reltime_type_tab VALUES ('-366', '-366'); gaussdb=# INSERT INTO reltime_type_tab VALUES ('1975.25', '1975.25'); gaussdb=# INSERT INTO reltime_type_tab VALUES ('-2 YEARS +5 MONTHS 10 DAYS', '-2 YEARS +5 MONTHS 10 DAYS'); gaussdb=# INSERT INTO reltime_type_tab VALUES ('30 DAYS 12:00:00', '30 DAYS 12:00:00'); gaussdb=# INSERT INTO reltime_type_tab VALUES ('P-1.1Y10M', 'P-1.1Y10M'); --查看数据。 gaussdb=# SELECT * FROM reltime_type_tab; col1 | col2 --------------------------------+------------------------------------- 90 | 3 mons -366 | -1 years -18:00:00 1975.25 | 5 years 4 mons 29 days -2 YEARS +5 MONTHS 10 DAYS | -1 years -6 mons -25 days -06:00:00 30 DAYS 12:00:00 | 1 mon 12:00:00 P-1.1Y10M | -3 mons -5 days -06:00:00 (6 rows) --删除表。 gaussdb=# DROP TABLE reltime_type_tab;
-
日期输入 日期和时间的输入几乎可以是任何合理的格式,包括ISO-8601格式、SQL-兼容格式、传统POSTGRES格式或者其它的格式。系统支持按照日、月、年的顺序自定义日期输入。如果把DateStyle参数设置为MDY就按照“月-日-年”解析,设置为DMY就按照“日-月-年”解析,设置为YMD就按照“年-月-日”解析。 日期的文本输入需要加单引号包围,语法如下: type [ ( p ) ] 'value' 可选的精度声明中的p是一个整数,表示在秒域中小数部分的位数。表2显示了date类型的输入格式。 表2 日期输入格式 例子 描述 1999-01-08 ISO 8601格式(建议格式),任何方式下都是1999年1月8日。 January 8, 1999 在任何datestyle输入模式下都无歧义。 1/8/1999 有歧义,在MDY模式下是1月8日,在DMY模式下是8月1日。 1/18/1999 MDY模式下是1月18日,其它模式下被拒绝。 01/02/03 MDY模式下的2003年1月2日。 DMY模式下的2003年2月1日。 YMD模式下的2001年2月3日。 1999-Jan-08 任何模式下都是1月8日。 Jan-08-1999 任何模式下都是1月8日。 08-Jan-1999 任何模式下都是1月8日。 99-Jan-08 YMD模式下是1月8日,否则错误。 08-Jan-99 一月八日,除了在YMD模式下是错误的之外。 Jan-08-99 一月八日,除了在YMD模式下是错误的之外。 19990108 ISO 8601格式,任何模式下都是1999年1月8日。 990108 ISO 8601格式,任何模式下都是1999年1月8日。 1999.008 年和年里的第几天。 J2451187 儒略日。 January 8, 99 BC 公元前99年。 示例: 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 --创建表。 gaussdb=# CREATE TABLE date_type_tab(coll date); --插入数据。 gaussdb=# INSERT INTO date_type_tab VALUES (date '12-10-2010'); --查看数据。 gaussdb=# SELECT * FROM date_type_tab; coll --------------------- 2010-12-10 (1 row) --查看日期格式。 gaussdb=# SHOW datestyle; DateStyle ----------- ISO, MDY (1 row) --设置日期格式。 gaussdb=# SET datestyle='YMD'; SET --插入数据。 gaussdb=# INSERT INTO date_type_tab VALUES(date '2010-12-11'); --查看数据。 gaussdb=# SELECT * FROM date_type_tab; coll --------------------- 2010-12-10 2010-12-11 (2 rows) --删除表。 gaussdb=# DROP TABLE date_type_tab;
-
示例 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 --获取字符串的长度 SELECT DBE_LOB.GET_LENGTH('12345678'); get_length ------------ 8 (1 row) -- DBE_LOB.READ接口示例 DECLARE myraw RAW(100); amount INTEGER :=2; buffer INTEGER :=1; begin DBE_LOB.READ('123456789012345',amount,buffer,myraw); dbe_output.print_line(myraw); end; / 0123 ANONYMOUS BLOCK EXECUTE CREATE TABLE blob_Table (t1 blob); CREATE TABLE blob_Table_bak (t2 blob); INSERT INTO blob_Table VALUES('abcdef'); INSERT INTO blob_Table_bak VALUES('22222'); -- DBE_LOB多接口示例 DECLARE str varchar2(100) := 'abcdef'; source raw(100); dest blob; copyto blob; amount int; PSV_SQL varchar2(100); PSV_SQL1 varchar2(100); a int :=1; len int; BEGIN source := dbe_raw.cast_from_varchar2_to_raw(str); amount := dbe_raw.get_length(source); PSV_SQL :='select * from blob_Table for update'; PSV_SQL1 := 'select * from blob_Table_bak for update'; EXECUTE IMMEDIATE PSV_SQL into dest; EXECUTE IMMEDIATE PSV_SQL1 into copyto; DBE_LOB.WRITE(dest, amount, 1, source); DBE_LOB.WRITE_APPEND(dest, amount, source); DBE_LOB.ERASE(dest, a, 1); DBE_OUTPUT.PRINT_LINE(a); DBE_LOB.COPY(copyto, dest, amount, 10, 1); perform DBE_LOB.CLOSE(dest); RETURN; END; / 1 ANONYMOUS BLOCK EXECUTE --删除表 DROP TABLE blob_Table; DROP TABLE DROP TABLE blob_Table_bak; DROP TABLE
-
接口介绍 高级功能包DBE_LOB支持的所有接口参见表1。 A数据库中空格的实际字节内容为00,GaussDB中空格对应字节内容为ASCII码值(32)。 集中式环境中,clob、blob以及bfile最大支持32TB。 LOBMAXSIZE最大支持1073741771字节。 表1 DBE_LOB 接口名称 描述 DBE_LOB.GET_LENGTH 获取并返回指定的LOB类型对象的长度(不支持大于2GB)。 DBE_LOB.LOB_GET_LENGTH 获取并返回指定的LOB类型对象/BFILE文件的长度。 DBE_LOB.OPEN 打开一个LOB类型对象返回一个LOB的描述符。 DBE_LOB.READ 根据指定的长度及起始位置偏移读取LOB内容的一部分到BUFFER缓冲区。 DBE_LOB.LOB_READ 根据指定的长度及起始位置偏移读取LOB内容的一部分到BUFFER缓冲区(支持bfile读取)。 DBE_LOB.WRITE 根据指定长度及起始位置偏移将BUFFER中内容写入到LOB中。 DBE_LOB.WRITE_APPEND 根据指定长度将BUFFER中内容写入到LOB的尾部。 DBE_LOB.LOB_WRITE_APPEND 根据指定长度将BUFFER中内容写入到LOB的尾部。 DBE_LOB.COPY 根据指定长度及起始位置偏移将LOB内容写入到另一个LOB中。 DBE_LOB.LOB_COPY 根据指定长度及起始位置偏移将LOB内容写入到另一个LOB中。 DBE_LOB.ERASE 根据指定长度及起始位置偏移删除LOB中的内容(不支持大于1GB)。 DBE_LOB.LOB_ERASE 根据指定长度及起始位置偏移删除LOB中的内容。 DBE_LOB.CLOSE 关闭已经打开的LOB描述符。 DBE_LOB.MATCH 返回一个字符串在LOB中第N次出现的位置。 DBE_LOB.COMPARE 比较两个LOB或者两个LOB的某一部分(支持bfile比较)。 DBE_LOB.SUBSTR 用于读取一个LOB的子串,返回读取到的子串。 DBE_LOB.LOB_SUBSTR 用于读取一个LOB或者BFILE的子串,返回读取到的子串。 DBE_LOB.STRIP 用于截断指定长度的LOB,执行完会将LOB的长度设置为参数指定的长度。 DBE_LOB.LOB_STRIP 用于截断指定长度的LOB,执行完会将LOB的长度设置为参数指定的长度。 DBE_LOB.CREATE_TEMPORARY 创建一个临时的BLOB或者CLOB对象。 DBE_LOB.APPEND 将源LOB的内容拼接到目的LOB中。 DBE_LOB.LOB_APPEND 将源LOB的内容拼接到目的LOB中。 DBE_LOB.FREETEMPORARY 删除一个临时的BLOB或者CLOB对象。 DBE_LOB.FILEOPEN 打开一个数据库BFILE文件,并返回文件描述符。 DBE_LOB.FILECLOSE 关闭由FILEOPEN打开的BFILE文件。 DBE_LOB.BFILEOPEN 打开一个数据库BFILE文件。 DBE_LOB.BFILECLOSE 关闭一个由BFILEOPEN打开的BFILE文件。 DBE_LOB.LOADFROMFILE 读取指定位置和长度的数据库BFILE文件到指定位置的BLOB对象中。 DBE_LOB.LOADFROMBFILE 读取指定位置和长度的数据库BFILE文件到指定位置的LOB中。 DBE_LOB.LOADBLOBFROMFILE 读取指定位置和长度的数据库外部文件到指定位置的BLOB中(不支持大于1GB)。 DBE_LOB.LOADBLOBFROMBFIL... 读取指定位置和长度的数据库BFILE文件到指定位置的BLOB中。 DBE_LOB.LOADCLOBFROMFILE 读取指定位置和长度的数据库外部文件到指定位置的CLOB中(不支持大于1GB)。 DBE_LOB.LOADCLOBFROMBFIL... 读取指定位置和长度的数据库BFILE文件到指定位置的CLOB中。 DBE_LOB.CONVERTTOBLOB 将CLOB类型文件转换为BLOB类型文件(不支持大于1GB)。 DBE_LOB.CONVERTTOCLOB 将BLOB类型文件转换为CLOB类型文件(不支持大于1GB)。 DBE_LOB.LOB_CONVERTTOBLO... 将CLOB类型文件转换为BLOB类型文件。 DBE_LOB.LOB_CONVERTTOCLO... 将BLOB类型文件转换为CLOB类型文件。 DBE_LOB.GETCHUNKSIZE 获取数据库中CHUNK结构中用于存储LOB数据的最大SIZE。 DBE_LOB.LOB_WRITE 将源对象从起始位置读取指定长度内容,写入目标LOB对象的指定偏移位置,覆盖该位置原本内容, 并返回目标LOB对象。 DBE_LOB.BFILENAME 根据目录和文件名构造返回DBE_LOB.BFILE对象。 DBE_LOB.GET_LENGTH 函数GET_LENGTH获取并返回指定的LOB类型对象的长度,最大支持2GB。 DBE_LOB.GET_LENGTH函数原型为: 1 2 3 4 5 6 7 DBE_LOB.GET_LENGTH ( blob_obj IN BLOB) RETURN INTEGER; DBE_LOB.GET_LENGTH ( clob_obj IN CLOB) RETURN INTEGER; 表2 DBE_LOB.GET_LENGTH接口参数说明 参数 描述 blob_obj/clob_obj 待获取长度的BLOB/CLOB类型对象。 DBE_LOB.LOB_GET_LENGTH 函数LOB_GET_LENGTH获取并返回指定的LOB类型对象/BFILE文件的长度,最大支持32TB。 DBE_LOB.LOB_GET_LENGTH函数原型为: 1 2 3 4 5 6 7 8 9 10 11 DBE_LOB.LOB_GET_LENGTH ( blob_obj IN BLOB) RETURN BIGINT; DBE_LOB.LOB_GET_LENGTH ( clob_obj IN CLOB) RETURN BIGINT; DBE_LOB.LOB_GET_LENGTH ( bfile IN DBE_LOB.BFILE) RETURN BIGINT; 表3 DBE_LOB.LOB_GET_LENGTH接口参数说明 参数 描述 blob_obj/clob_obj/bfile 待获取长度的BLOB/CLOB/BFILE类型对象。 DBE_LOB.OPEN 存储过程打开一个LOB,并返回一个LOB描述符,该过程无实际意义,仅用于兼容。 DBE_LOB.OPEN函数原型为: 1 2 3 4 5 6 7 8 9 DBE_LOB.OPEN ( lob INOUT BLOB); DBE_LOB.OPEN ( lob INOUT CLOB); DBE_LOB.OPEN ( bfile INOUT DBE_LOB.BFILE, open_mode IN TEXT DEFAULT 'null'); 表4 DBE_LOB.OPEN接口参数说明 参数 描述 lob/bfile 被打开的BLOB或者CLOB对象或者bfile文件。 open_mode 操作模式,现支持[R,W,A,RB,WB,AB]。 DBE_LOB.READ 存储过程READ根据指定长度及起始位置偏移读取LOB内容的一部分到out_put缓冲区。 DBE_LOB.READ函数原型为: 1 2 3 4 5 6 7 8 9 10 11 DBE_LOB.READ ( blob_obj IN BLOB, amount IN INTEGER, off_set IN INTEGER, out_put OUT RAW); DBE_LOB.READ ( clob_obj IN CLOB, amount IN INTEGER, off_set IN INTEGER, out_put OUT VARCHAR2); 表5 DBE_LOB.READ接口参数说明 参数 说明 blob_obj/clob_obj 待读入的BLOB/CLOB类型对象。 amount 读入长度。 说明: 如果读入长度小于1,或大于32767,则报错。 off_set 指定从参数lob的哪个位置开始读取的偏移(即相对lob内容起始位置的字节数)。如果偏移量小于1或者大于lob长度,则报错。初始位置为1。 out_put 读取参数lob内容后存放的目标缓冲区。 DBE_LOB.LOB_READ 存储过程LOB_READ根据指定长度及起始位置偏移读取LOB/BFILE内容的一部分到out_put缓冲区。 DBE_LOB.LOB_READ函数原型为: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 DBE_LOB.LOB_READ( blob_obj IN BLOB, amount INOUT BIGINT, off_set IN BIGINT, out_put OUT RAW); DBE_LOB.LOB_READ( clob_obj IN CLOB, amount INOUT BIGINT, off_set IN BIGINT, out_put OUT VARCHAR2); DBE_LOB.LOB_READ( bfile IN DBE_LOB.BFILE, amount INOUT BIGINT, off_set IN BIGINT, out_put OUT RAW); 表6 DBE_LOB.LOB_READ接口参数说明 参数 说明 blob_obj/clob_obj/bfile 待读入的BLOB/CLOB/BFILE类型对象(支持大于1GB)。 amount IN参数为读入长度,OUT参数为实际读取的长度。 说明: 如果读入长度为小于1,或大于32767,则报错。 off_set 指定从参数lob的哪个位置开始读取的偏移(即相对lob内容起始位置的字节数)。如果偏移量小于1或者大于lob长度,则报错。初始位置为1。 out_put 读取参数lob内容后存放的目标缓冲区。 DBE_LOB.WRITE 存储过程WRITE根据指定长度及起始位置将source中内容写入到LOB对象中。 DBE_LOB.WRITE函数原型为: 1 2 3 4 5 6 7 8 9 10 11 DBE_LOB.WRITE ( blob_obj INOUT BLOB, amount IN INTEGER, off_set IN INTEGER, source IN RAW); DBE_LOB.WRITE ( clob_obj INOUT CLOB, amount IN INTEGER, off_set IN INTEGER, source IN VARCHAR2); 表7 DBE_LOB.WRITE接口参数说明 参数 说明 blob_obj/clob_obj 待写入的BLOB/CLOB类型对象。 amount 写入长度,最大支持32767字符。 说明: 如果写入长度小于1或写入长度大于待写入的内容长度,则报错。 off_set 指定从blob_obj/clob_obj的哪个位置开始写入的偏移(即相对LOB内容起始位置的字节数)。 说明: 如果偏移量小于1或者大于LOBMAXSIZE时,则报错。初始位置是1,最大值为LOB类型最大长度。 source 待写入的内容。 DBE_LOB.WRITE_APPEND 存储过程WRITE_APPEND根据指定长度将source_obj中内容写入到LOB的尾部。 DBE_LOB.WRITE_APPEND函数原型为: 1 2 3 4 5 6 7 8 9 DBE_LOB.WRITE_APPEND ( blob_obj INOUT BLOB, amount IN INTEGER, source_obj IN RAW); DBE_LOB.WRITE_APPEND ( clob_obj INOUT CLOB, amount IN INTEGER, source_obj IN VARCHAR2); 表8 DBE_LOB.WRITE_APPEND接口参数说明 参数 说明 blob_obj/clob_obj 待写入的指定BLOB/CLOB类型对象。 amount 写入长度,最大支持32767字符。 说明: 如果写入长度小于1或写入长度大于待写入的内容长度,则报错。 source_obj 待写入的内容。 DBE_LOB.LOB_WRITE_APPEND 存储过程LOB_WRITE_APPEND根据指定长度将source_obj中内容写入到LOB的尾部。 DBE_LOB.LOB_WRITE_APPEND函数原型为: 1 2 3 4 5 6 7 8 9 DBE_LOB.LOB_WRITE_APPEND( blob_obj INOUT BLOB, amount IN INTEGER, source_obj IN RAW); DBE_LOB.LOB_WRITE_APPEND ( clob_obj INOUT CLOB, amount IN INTEGER, source_obj IN VARCHAR2); 表9 DBE_LOB.LOB_WRITE_APPEND接口参数说明 参数 说明 blob_obj/clob_obj 待写入的指定BLOB/CLOB类型对象。 amount 写入长度,最大支持32767字符。 说明: 如果写入长度小于1或写入长度大于待写入的内容长度,则报错。 source_obj 待写入的内容。 DBE_LOB.COPY 存储过程COPY根据指定长度及起始位置偏移将LOB内容拷贝到另一个LOB中。 DBE_LOB.COPY函数原型为: 1 2 3 4 5 6 DBE_LOB.COPY ( dest_lob INOUT BLOB, src_lob IN BLOB, len IN INTEGER, dest_start IN INTEGER DEFAULT 1, src_start IN INTEGER DEFAULT 1); 表10 DBE_LOB.COPY接口参数说明 参数 说明 dest_lob 待拷入的LOB类型对象。 src_lob 待拷出的LOB类型对象。 len 拷贝长度。 dest_start 指定从dest_lob内容的哪个位置开始拷入的偏移(即相对LOB内容起始位置的字节数)。 src_start 指定从src_lob内容的哪个位置开始拷出的偏移(即相对LOB内容起始位置的字节数)。 DBE_LOB.LOB_COPY 存储过程COPY根据指定长度及起始位置偏移将LOB内容拷贝到另一个LOB中。 DBE_LOB.LOB_COPY函数原型为: 1 2 3 4 5 6 7 8 9 10 11 12 13 DBE_LOB.LOB_COPY( blob_obj INOUT BLOB, source_obj IN BLOB, amount IN BIGINT, dest_offset IN BIGINT DEFAULT 1, src_offset IN BIGINT DEFAULT 1); DBE_LOB.LOB_COPY( clob_obj INOUT CLOB, source_obj IN CLOB, amount IN BIGINT, dest_offset IN BIGINT DEFAULT 1, src_offset IN BIGINT DEFAULT 1); 表11 DBE_LOB.LOB_COPY接口参数说明 参数 说明 blob_obj/clob_obj 待拷入的LOB类型对象。 source_obj 待拷出的LOB类型对象。 amount 拷贝长度。 说明: 如果拷入长度小于1或拷入长度大于LOBMAXSIZE,则报错。 dest_offset 指定从blob_obj/clob_obj内容的哪个位置开始拷入的偏移(即相对LOB内容起始位置的字节数/字符数,BLOB对象以字节为单位,CLOB对象以字符为单位)。 说明: 如果偏移量小于1或者大于LOBMAXSIZE,则报错。 src_offset 指定从source_obj内容的哪个位置开始拷出的偏移(即相对LOB内容起始位置的字节数/字符数,BLOB对象以字节为单位,CLOB对象以字符为单位)。 说明: 如果偏移量小于1则报错。 DBE_LOB.ERASE 存储过程ERASE根据指定长度及起始位置偏移删除blob_obj中的内容(不支持大于1GB),blob_obj中删除部分的字节填充为0。 DBE_LOB.ERASE函数原型为: 1 2 3 4 DBE_LOB.ERASE ( blob_obj INOUT BLOB, amount INOUT INTEGER, off_set IN INTEGER DEFAULT 1); 表12 DBE_LOB.ERASE接口参数说明 参数 说明 blob_obj IN参数为待删除内容的LOB类型对象,OUT参数为删除指定部分后的LOB类型对象,传空报错。 amount IN参数为待删除的长度(BLOB对象以字节为单位),OUT参数为实际删除的长度。 说明: 如果删除长度小于1或传空,则报错。 off_set 指定从LOB内容的哪个位置开始删除的偏移(即相对BLOB内容起始位置的字节数,不支持大于1GB)。 说明: 如果偏移量小于1或偏移量传空,则报错。 DBE_LOB.LOB_ERASE 存储过程LOB_ERASE根据指定长度及起始位置偏移删除LOB中的内容,blob中删除部分的字节填充为0,clob中删除部分的字符填充为空格,支持LOB大于1GB,最大支持32TB。 DBE_LOB.LOB_ERASE函数原型为: 1 2 3 4 5 6 7 8 9 DBE_LOB.LOB_ERASE ( blob_obj INOUT BLOB, amount INOUT BIGINT, off_set IN BIGINT DEFAULT 1); DBE_LOB.LOB_ERASE ( clob_obj INOUT CLOB, amount INOUT BIGINT, off_set IN BIGINT DEFAULT 1); 表13 DBE_LOB.LOB_ERASE接口参数说明 参数 说明 blob_obj/clob_obj IN参数为待删除内容的LOB类型对象,OUT参数为删除指定部分后的LOB类型对象,传空报错。 amount IN参数为待删除的长度(BLOB对象以字节为单位,CLOB对象以字符为单位),OUT参数为实际删除的长度。 说明: 如果删除长度小于1或传空,则报错。 off_set 指定从LOB内容的哪个位置开始删除的偏移(即相对BLOB内容起始位置的字节数/相对CLOB内容起始位置的字符数)。 说明: 如果偏移量小于1或偏移量传空,则报错。 DBE_LOB.CLOSE 存储过程CLOSE关闭已经打开的LOB描述符。 DBE_LOB.CLOSE函数原型为: 1 2 3 4 5 6 7 8 DBE_LOB.CLOSE( lob IN BLOB); DBE_LOB.CLOSE ( lob IN CLOB); DBE_LOB.CLOSE ( file IN INTEGER); 表14 DBE_LOB.CLOSE接口参数说明 参数 说明 lob/file 待关闭的BLOB/CLOB/文件类型对象。 DBE_LOB.MATCH 该函数返回字符串在LOB或者BFILE文件中第N次出现的位置,如果输入的是一些无效值会返回NULL值。支持LOB或者BFILE文件大于1GB,最大支持32TB。 DBE_LOB.MATCH函数原型为: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 DBE_LOB.MATCH( blob_obj IN BLOB, blob_obj2 IN RAW, beg_index IN BIGINT DEFAULT 1, occur_index IN BIGINT DEFAULT 1) RETURN BIGINT; DBE_LOB.MATCH( clob_obj IN CLOB, clob_obj2 IN VARCHAR2, beg_index IN BIGINT DEFAULT 1, occur_index IN BIGINT DEFAULT 1) RETURN BIGINT; DBE_LOB.MATCH( bfile IN DBE_LOB.BFILE, blob_obj2 IN RAW, beg_index IN BIGINT DEFAULT 1, occur_index IN BIGINT DEFAULT 1) RETURN BIGINT; 表15 DBE_LOB.MATCH接口参数说明 参数 说明 blob_obj/clob_obj/bfile 要查找的BLOB/CLOB描述符,或者BFILE文件(必须先通过DBE_LOB.BFILEOPEN打开),传空返回null。 blob_obj2/clob_obj2 要匹配的模式,对于BLOB/BFILE是由一组RAW类型的数据组成,对于CLOB是由一组VARCHAR2类型的数据组成,传空返回null。 beg_index 对于BLOB/BFILE是以字节为单位的绝对偏移量,对于CLOB是以字符为单位的偏移量,模式匹配的起始位置是1。 说明: 有效范围为1~LOBMAXSIZE,超过返回null。 occur_index 模式匹配的次数,最小值为1。 说明: 若大于模式串在lob中最大能匹配上的次数,则返回0,若不在范围1~LOBMAXSIZE,则返回null。 DBE_LOB.COMPARE 这个函数比较部分或者全部LOB或BFILE。 如果比较的结果相等返回0,否则返回非零的值。 如果第一个LOB比第二个小,返回-1;如果第一个LOB比第二个大,返回1。 如果len,start1,start2这几个参数有无效参数返回NULL,有效的偏移量范围是1~LOBMAXSIZE。 如果start_pos1,start_pos2同时超过LOB/BFILE长度,则返回0。 DBE_LOB.COMPARE函数原型为: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 DBE_LOB.COMPARE ( lob1 IN BLOB, lob2 IN BLOB, len IN BIGINT DEFAULT 1073741312, start_pos1 IN BIGINT DEFAULT 1, start_pos2 IN BIGINT DEFAULT 1) RETURN INTEGER; DBE_LOB.COMPARE ( lob1 IN CLOB, lob2 IN CLOB, len IN BIGINT DEFAULT 1073741312, start_pos1 IN BIGINT DEFAULT 1, start_pos2 IN BIGINT DEFAULT 1) RETURN INTEGER; 1 2 3 4 5 6 7 DBE_LOB.COMPARE ( file1 IN DBE_LOB.BFILE, file2 IN DBE_LOB.BFILE, len IN BIGINT DEFAULT 1073741312, start_pos1 IN BIGINT DEFAULT 1, start_pos2 IN BIGINT DEFAULT 1) RETURN INTEGER; 表16 DBE_LOB.COMPARE接口参数说明 参数 说明 lob1/file1 第一个要比较的BLOB/CLOB/BFILE类型对象(必须先通过DBE_LOB.BFILEOPEN打开)。 lob2/file2 第二个要比较的BLOB/CLOB/BFILE类型对象(必须先通过DBE_LOB.BFILEOPEN打开)。 len 要比较的字符数或者字节数,默认值为1073741312。 start_pos1 第一个LOB描述符的偏移量,初始位置是1,最大值为lob类型最大长度。 start_pos2 第二个LOB描述符的偏移量,初始位置是1,最大值为lob类型最大长度。 DBE_LOB.SUBSTR 该函数用于读取一个LOB的子串,返回读取的子串。 DBE_LOB.SUBSTR函数原型为: 1 2 3 4 5 6 7 8 9 10 11 DBE_LOB.SUBSTR( lob_loc IN BLOB, amount IN INTEGER DEFAULT 32767, off_set IN INTEGER DEFAULT 1) RETURN RAW; DBE_LOB.SUBSTR( lob_loc IN CLOB, amount IN INTEGER DEFAULT 32767, off_set IN INTEGER DEFAULT 1) RETURN VARCHAR2; 表17 DBE_LOB.SUBSTR接口参数说明 参数 说明 lob_loc 将要读取子串的LOB描述符,对于BLOB的返回值是读取的RAW类型,对于CLOB类型的返回值是VARCHAR2类型。 amount 要读取的字节数或者字符数量。 说明: 范围为1~32767,超出返回NULL。 off_set 从开始位置偏移的字符数或者字节数量。 说明: 范围为1~LOBMAXSIZE,超出返回NULL。 DBE_LOB.LOB_SUBSTR 该函数用于读取一个LOB或者BFILE的子串,返回读取的子串,支持LOB或者BFILE大于1GB,最大支持32TB。 DBE_LOB.LOB_SUBSTR函数原型为: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 DBE_LOB.LOB_SUBSTR( lob_loc IN BLOB, amount IN INTEGER DEFAULT 32767, off_set IN BIGINT DEFAULT 1) RETURN RAW; DBE_LOB.LOB_SUBSTR( lob_loc IN CLOB, amount IN INTEGER DEFAULT 32767, off_set IN BIGINT DEFAULT 1) RETURN VARCHAR2; DBE_LOB.LOB_SUBSTR( bfile IN DBE_LOB.BFILE, amount IN INTEGER DEFAULT 32767, off_set IN BIGINT DEFAULT 1) RETURN RAW; 表18 DBE_LOB.LOB_SUBSTR接口参数说明 参数 说明 lob_loc/bfile 将要读取子串的LOB描述符或BFILE文件(必须先通过DBE_LOB.BFILEOPEN打开),对于BLOB/BFILE类型的返回值是读取的RAW类型,对于CLOB类型的返回值是VARCHAR2类型。 amount 要读取的字节数或者字符数量。 说明: 范围为1~32767,超出返回null。 off_set 从开始位置偏移的字符数或者字节数量。 说明: 范围为1~LOBMAXSIZE,超出返回null。 DBE_LOB.STRIP 这个存储过程用于截断指定长度的LOB,执行完这个存储过程会将LOB的长度设置为newlen参数指定的长度。 DBE_LOB.STRIP函数原型为: 1 2 3 4 5 6 7 DBE_LOB.STRIP( lob_loc INOUT BLOB, newlen IN INTEGER); DBE_LOB.STRIP( lob_loc INOUT CLOB, newlen IN INTEGER); 表19 DBE_LOB.STRIP接口参数说明 参数 说明 lob_loc IN参数为待读入的指定LOB类型对象,OUT参数为截断后的对象,传空报错。 newlen 截断后LOB的新长度,对于BLOB是字节数,对于CLOB是字符数。 DBE_LOB.LOB_STRIP 这个存储过程用于截断指定长度的LOB,执行完这个存储过程会将LOB的长度设置为newlen参数指定的长度。支持LOB大于1GB,最大支持32TB。 DBE_LOB.LOB_STRIP函数原型为: 1 2 3 4 5 6 7 DBE_LOB.LOB_STRIP( lob_loc INOUT BLOB, newlen IN BIGINT); DBE_LOB.LOB_STRIP( lob_loc INOUT CLOB, newlen IN BIGINT); 表20 DBE_LOB.LOB_STRIP接口参数说明 参数 说明 lob_loc IN参数为待读入的指定LOB类型对象,OUT参数为截断后的对象,传空报错。 newlen 截断后LOB的新长度,对于BLOB是字节数,对于CLOB是字符数。 说明: 小于1返回null,大于lob的长度,报错。 DBE_LOB.CREATE_TEMPORARY 这个存储过程创建一个临时的BLOB或者CLOB,这个存储过程仅用于语法上的兼容,并无实际意义。 DBE_LOB.CREATE_TEMPORARY函数原型为: 1 2 3 4 5 6 7 8 9 DBE_LOB.CREATE_TEMPORARY ( lob_loc INOUT BLOB, cache IN BOOLEAN, dur IN INTEGER DEFAULT 10); DBE_LOB.CREATE_TEMPORARY ( lob_loc INOUT CLOB, cache IN BOOLEAN, dur IN INTEGER DEFAULT 10); 表21 DBE_LOB.CREATE_TEMPORARY接口参数说明 参数 说明 lob_loc LOB描述符。 cache 仅用于语法上的兼容。 dur 仅用于语法上的兼容。 DBE_LOB.APPEND 存储过程APPEND将source_obj拼接在目标lob之后。 DBE_LOB.APPEND函数原型为: 1 2 3 4 5 6 7 DBE_LOB.APPEND ( blob_obj INOUT BLOB, source_obj IN BLOB); DBE_LOB.APPEND ( clob_obj INOUT CLOB, source_obj IN CLOB); 表22 DBE_LOB.APPEND接口参数说明 参数 说明 blob_obj/clob_obj 要写入的BLOB/CLOB对象。 source_obj 读取的BLOB/CLOB对象。 DBE_LOB.LOB_APPEND 存储过程LOB_APPEND将source_obj拼接在目标lob之后。 DBE_LOB.LOB_APPEND函数原型为: 1 2 3 4 5 6 7 DBE_LOB.LOB_APPEND( blob_obj INOUT BLOB, source_obj IN BLOB); DBE_LOB.LOB_APPEND( clob_obj INOUT CLOB, source_obj IN CLOB); 表23 DBE_LOB.LOB_APPEND接口参数说明 参数 说明 blob_obj/clob_obj 要写入的BLOB/CLOB对象。 source_obj 读取的BLOB/CLOB对象。 DBE_LOB.FREETEMPORARY 存储过程用于释放由CREATE_TEMPORARY创建的LOB文件。 DBE_LOB.FREETEMPORARY函数原型为: 1 2 3 4 5 DBE_LOB.FREETEMPORARY ( blob INOUT BLOB); DBE_LOB.FREETEMPORARY ( clob INOUT CLOB); 表24 DBE_LOB.FREETEMPORARY接口参数说明 参数 说明 blob/clob 要释放的BLOB/CLOB对象。 DBE_LOB.FILEOPEN 这个函数用于打开数据库外部BFILE类型文件,并返回这个文件对用的文件描述符(fd),一个会话最多支持打开10个BFILE文件。BFILE类型定义为: 1 2 3 4 DBE_LOB.BFILE ( directory TEXT, filename TEXT, fd INTEGER); DBE_LOB.FILEOPEN函数原型为: 1 2 3 4 DBE_LOB.FILEOPEN ( bfile IN DBE_LOB.BFILE, open_mode IN TEXT) RETURN INTEGER; 表25 DBE_LOB.FILEOPEN接口参数说明 参数 说明 bfile 要打开的数据库外部文件(BFILE类型包含了文件路径和文件名、文件描述符(fd))。 说明: file变量中包含文件目录的位置directory,文件名filename。 文件目录的位置,需要添加到系统表20.2.57-PG_DIRECTORY中,如果传入的路径和20.2.57-PG_DIRECTORY中的路径不匹配,会报路径不存在的错误。 在打开guc参数safe_data_path时,用户只能通过高级包读写safe_data_path指定文件路径下的文件。 文件名,包含扩展(文件类型),不包括路径名。如果文件名中包含路径,在OPEN中会被忽略,在Unix系统中,文件名不能以/.结尾。 open_mode 文件打开模式,只支持read模式(r),其他模式报错。 DBE_LOB.FILECLOSE 这个函数用于关闭数据外部BFILE类型文件。 DBE_LOB.FILECLOSE函数原型为: 1 2 DBE_LOB.FILECLOSE ( file IN INTEGER); 表26 DBE_LOB.FILECLOSE接口参数说明 参数 说明 file 要关闭的数据库外部文件(由FILEOPEN返回的文件描述符)。 DBE_LOB.BFILEOPEN 这个存储过程用于打开数据库外部BFILE类型文件,一个会话最多支持打开10个BFILE文件。 DBE_LOB.BFILEOPEN原型为: 1 2 3 DBE_LOB.BFILEOPEN ( bfile INOUT DBE_LOB.BFILE, open_mode IN TEXT DEFAULT 'R'); 表27 DBE_LOB.BFILEOPEN接口参数说明 参数 说明 bfile INOUT参数为打开的数据库BFILE文件。 说明: bfile变量中包含文件目录的位置directory,文件名filename。 文件目录的位置,需要添加到系统表20.2.57-PG_DIRECTORY中,如果传入的路径和20.2.57-PG_DIRECTORY中的路径不匹配,会报路径不存在的错误。 在打开guc参数safe_data_path时,用户只能通过高级包读写safe_data_path指定文件路径下的文件。 文件名,包含扩展(文件类型),不包括路径名。如果文件名中包含路径,在OPEN中会被忽略,在Unix系统中,文件名不能以/.结尾。 open_mode 文件打开模式,只支持read模式(r),其他模式报错。 示例 1 2 3 4 5 6 7 8 9 10 --获取bfile文件的子串 DECLARE bfile dbe_lob.bfile; BEGIN bfile = DBE_LOB.BFILENAME(dir_name, file_name); --获取对应bfile文件对象 DBE_LOB.bfileopen(bfile, 'r'); --打开bfile文件 RAISE NOTICE 'res:%', DBE_LOB.lob_substr(bfile, 10, 1); --获取子串,并打印 DBE_LOB.bfileclose(bfile);--关闭bfile文件 END; / DBE_LOB.BFILECLOSE 这个存储过程用于关闭数据库外部BFILE类型文件。 DBE_LOB.BFILECLOSE原型为: 1 2 DBE_LOB.BFILECLOSE ( bfile INOUT DBE_LOB.BFILE); 表28 DBE_LOB.BFILECLOSE接口参数说明 参数 说明 bfile INOUT参数为关闭的数据库BFILE文件。 DBE_LOB.LOADFROMFILE 这个函数用于将BFILE类型外部文件读取到BLOB文件中,并以RAW类型返回该对象。 DBE_LOB.LOADFROMFILE函数原型为: 1 2 3 4 5 6 7 DBE_LOB.LOADFROMFILE ( dest_lob IN BLOB, src_file IN INTEGER, amount IN INTEGER, dest_offset IN INTEGER, src_offset IN INTEGER) RETURN RAW; 表29 DBE_LOB.LOADFROMFILE接口参数说明 参数 说明 dest_lob 目标BLOB对象,BFILE文件将读取到这个文件中的指定偏移位置。 src_bfile 需要读取的源BFILE文件。 amount 读取BFILE文件内容的长度。 说明: 长度小于1或者大于32767则报错。 dest_offset BLOB对象的偏移长度。 说明: 偏移量小于1或者大于LOBMAXSIZE则报错。 src_offset BFILE文件的偏移长度。 说明: 偏移量小于1或者大于LOBMAXSIZE则报错。 amount + src_offset 大于 src_bfile的长度 + 1 则报错。 DBE_LOB.LOADFROMBFILE 这个存储过程用于将BFILE类型外部文件读取到LOB对象中。 DBE_LOB.LOADFROMBFILE函数原型为: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 DBE_LOB.LOADFROMBFILE ( dest_lob INOUT BLOB, src_file IN DBE_LOB.BFILE, amount IN BIGINT, dest_offset IN BIGINT DEFAULT 1, src_offset IN BIGINT DEFAULT 1) RETURN BLOB; DBE_LOB.LOADFROMBFILE ( dest_lob INOUT CLOB, src_file IN DBE_LOB.BFILE, amount IN BIGINT, dest_offset IN BIGINT DEFAULT 1, src_offset IN BIGINT DEFAULT 1) RETURN CLOB; 表30 DBE_LOB.LOADFROMBFILE接口参数说明 参数 说明 dest_lob IN参数为目标LOB对象,BFILE文件(必须先通过DBE_LOB.BFILEOPEN打开)将读取到这个对象中,OUT参数为完成读取后返回的LOB对象,大小支持超过1GB,最大支持32TB。 src_file 需要读取的源BFILE文件,BFILE文件的大小支持超过1GB,最大支持32TB。 amount 读取BFILE文件内容和写入lob的长度。 说明: 长度小于1或者大于LOBMAXSIZE则报错。 dest_offset LOB对象的偏移长度 说明: 偏移量小于1或者大于LOBMAXSIZE则报错。 src_offset BFILE文件的偏移长度 说明: 偏移量小于1或者大于LOBMAXSIZE则报错。 amount + src_offset 大于 src_bfile的长度 + 1 则报错。 DBE_LOB.LOADBLOBFROMFILE 这个函数用于将BFILE类型外部文件读取到BLOB文件中,并以RAW类型返回该对象。 DBE_LOB.LOADBLOBFROMFILE函数原型为: 1 2 3 4 5 6 7 DBE_LOB.LOADBLOBFROMFILE ( dest_lob IN BLOB, src_file IN INTEGER, amount IN INTEGER, dest_offset IN INTEGER, src_offset IN INTEGER) RETURN RAW; 表31 DBE_LOB.LOADBLOBFROMFILE接口参数说明 参数 说明 dest_lob 目标BLOB对象,BFILE文件将读取到这个对象中。 src_file 需要读取的源BFILE文件。 amount BLOB对象的长度,超过这个阈值的文件将不会保存到BLOB中。 说明: 长度小于1或者大于32767则报错。 dest_offset BLOB对象的偏移长度。 说明: 偏移量小于1或者大于LOBMAXSIZE则报错。 src_offset BFILE文件的偏移长度。 说明: 偏移量小于1或者大于LOBMAXSIZE则报错。 amount + src_offset 大于 src_bfile的长度 + 1 则报错。 DBE_LOB.LOADBLOBFROMBFILE 这个存储过程用于将BFILE类型外部文件读取到BLOB对象中。 DBE_LOB.LOADBLOBFROMBFILE函数原型为: 1 2 3 4 5 6 DBE_LOB.LOADBLOBFROMFILE ( dest_lob INOUT BLOB, src_file IN DEB_LOB.BFILE, amount IN BIGINT, dest_offset INOUT BIGINT, src_offset INOUT BIGINT) 表32 DBE_LOB.LOADBLOBFROMBFILE接口参数说明 参数 说明 dest_lob IN参数为目标BLOB对象,BFILE文件(必须先通过DBE_LOB.BFILEOPEN打开)将读取到这个对象中,OUT参数为完成读取后返回的BLOB对象。大小支持超过1GB,最大支持32TB。 src_file 需要读取的源BFILE文件,BFILE文件的大小支持超过1GB,最大支持32TB。 amount BLOB对象的长度,超过这个阈值的文件将不会保存到BLOB中。 说明: 长度小于1或者大于LOBMAXSIZE则报错。 dest_offset BLOB对象的偏移长度。 说明: 偏移量小于1或者大于LOBMAXSIZE则报错。 src_offset BFILE文件的偏移长度。 说明: 偏移量小于1或者大于LOBMAXSIZE则报错。 amount + src_offset 大于 src_bfile的长度 + 1 则报错。 DBE_LOB.LOADCLOBFROMFILE 这个函数用于将BFILE类型外部文件读取到CLOB文件中,并以RAW类型返回该对象。 DBE_LOB.LOADCLOBFROMFILE函数原型为: 1 2 3 4 5 6 7 DBE_LOB.LOADCLOBFROMFILE ( dest_lob IN CLOB, src_file IN INTEGER, amount IN INTEGER, dest_offset IN INTEGER, src_offset IN INTEGER) RETURN RAW; 表33 DBE_LOB.LOADCLOBFROMFILE接口参数说明 参数 说明 dest_lob 目标CLOB对象,BFILE文件将读取到这个文件中。 src_file 需要读取的源BFILE文件。 amount CLOB对象的长度。 说明: 长度小于1或者大于32767则报错。 dest_offset CLOB对象的偏移长度。 说明: 偏移量小于1或者大于LOBMAXSIZE则报错。 src_offset BFILE文件的偏移长度。 说明: 偏移量小于1或者大于LOBMAXSIZE则报错。 amount + src_offset 大于 src_bfile的长度 + 1 则报错。 DBE_LOB.LOADCLOBFROMBFILE 这个存储过程用于将BFILE类型外部文件读取到CLOB对象中。 DBE_LOB.LOADCLOBFROMBFILE函数原型为: 1 2 3 4 5 6 DBE_LOB.LOADCLOBFROMBFILE ( dest_lob INOUT CLOB, src_file IN DEB_LOB.BFILE, amount IN BIGINT, dest_offset INOUT BIGINT, src_offset INOUT BIGINT) 表34 DBE_LOB.LOADCLOBFROMBFILE接口参数说明 参数 说明 dest_lob IN参数为目标CLOB对象,BFILE文件(必须先通过DBE_LOB.BFILEOPEN打开)将读取到这个对象中,OUT参数为完成读取后返回的CLOB对象。大小支持超过1GB,最大支持32TB。 src_file 需要读取的源BFILE文件。BFILE文件的大小支持超过1GB,最大支持32TB。 amount CLOB对象的长度,超过这个阈值的文件将不会保存到CLOB中。 说明: 长度小于1或者大于LOBMAXSIZE则报错。 dest_offset CLOB对象的偏移长度。 说明: 偏移量小于1或者大于LOBMAXSIZE则报错。 src_offset BFILE文件的偏移长度。 说明: 偏移量小于1或者大于LOBMAXSIZE则报错。 amount + src_offset 大于 src_bfile的长度 + 1 则报错。 DBE_LOB.CONVERTTOBLOB 这个函数将clob对象转换成blob对象,不支持大于1GB的场景。 DBE_LOB.CONVERTTOBLOB函数原型为: 1 2 3 4 5 6 7 DBE_LOB.CONVERTTOBLOB( dest_blob IN BLOB, src_clob IN CLOB, amount IN INTEGER DEFAULT 32767, dest_offset IN INTEGER DEFAULT 1, src_offset IN INTEGER DEFAULT 1) RETURN RAW; 表35 DBE_LOB.CONVERTTOBLOB接口参数说明 参数 说明 dest_blob 目标blob对象,clob转换后的文件。 src_clob 需要读取的源clob对象。 amount clob对象的长度,超过这个阈值的文件将不会保存到blob中。长度小于1或者大于LOBMAXSIZE则报错。 dest_offset blob对象的偏移长度,dest_offset=1将从文件起始位置开始载入,以此类推。 src_offset clob对象的偏移长度,src_offset=1将从文件起始位置开始读取,以此类推。 DBE_LOB.LOB_CONVERTTOBLOB 这个函数将clob对象转换成blob对象,支持LOB大于1GB。 DBE_LOB.LOB_CONVERTTOBLOB函数原型为: 1 2 3 4 5 6 DBE_LOB.LOB_CONVERTTOBLOB( dest_blob INOUT BLOB, src_clob IN CLOB, amount IN BIGINT, dest_offset INOUT BIGINT, src_offset INOUT BIGINT) 表36 DBE_LOB.LOB_CONVERTTOBLOB接口参数说明 参数 说明 dest_blob 目标blob对象,clob转换后的文件。 src_clob 需要读取的源clob对象。 amount clob对象的长度,超过这个阈值的文件将不会保存到blob中。长度小于1或者大于LOBMAXSIZE则报错。 dest_offset blob对象的偏移长度,dest_offset=1将从文件起始位置开始载入,以此类推。偏移量小于1或者大于LOBMAXSIZE则报错。 src_offset clob对象的偏移长度,src_offset=1将从文件起始位置开始读取,以此类推。偏移量小于1或者大于LOBMAXSIZE则报错。 DBE_LOB.CONVERTTOCLOB 这个函数将blob对象转换成clob对象,不支持大于1GB的场景。 DBE_LOB.CONVERTTOCLOB函数原型为: 1 2 3 4 5 6 7 DBE_LOB.CONVERTTOCLOB( dest_clob IN CLOB, src_blob IN BLOB, amount IN INTEGER DEFAULT 32767, dest_offset IN INTEGER DEFAULT 1, src_offset IN INTEGER DEFAULT 1) RETURN text; 表37 DBE_LOB.CONVERTTOCLOB接口参数说明 参数 说明 dest_clob 目标clob对象,blob转换后的文件。 src_blob 需要读取的源blob对象。 amount blob对象的长度,超过这个阈值的文件将不会保存到clob中。 dest_offset clob对象的偏移长度,dest_offset=1将从文件起始位置开始载入,以此类推。 src_offset blob对象的偏移长度,src_offset=1将从文件起始位置开始读取,以此类推。 DBE_LOB.LOB_CONVERTTOCLOB 这个函数将blob对象转换成clob对象,支持LOB大于1G。 DBE_LOB.LOB_CONVERTTOCLOB函数原型为: 1 2 3 4 5 6 DBE_LOB.LOB_CONVERTTOCLOB( dest_clob INOUT CLOB, src_blob IN BLOB, amount IN BIGINT, dest_offset INOUT BIGINT, src_offset INOUT BIGINT) 表38 DBE_LOB.LOB_CONVERTTOCLOB接口参数说明 参数 说明 dest_clob 目标clob对象,blob转换后的文件。 src_blob 需要读取的源blob对象。 amount blob对象的长度,超过这个阈值的文件将不会保存到clob中。 dest_offset clob对象的偏移长度,dest_offset=1将从文件起始位置开始载入,以此类推。偏移量小于1或者大于LOBMAXSIZE则报错。 src_offset blob对象的偏移长度,src_offset=1将从文件起始位置开始读取,以此类推。偏移量小于1或者大于LOBMAXSIZE则报错。 DBE_LOB.GETCHUNKSIZE 在数据库存储LOB数据时,内部使用toast存储,本函数返回TOAST_MAX_CHUNK_SIZE。 DBE_LOB.GETCHUNKSIZE的函数原型为: 1 2 3 4 5 6 7 DBE_LOB.GETCHUNKSIZE( lob_loc IN CLOB )RETURN INTEGER DBE_LOB.GETCHUNKSIZE( lob_loc IN BLOB )RETURN INTEGER 表39 DBE_LOB.GETCHUNKSIZE接口参数说明 参数 说明 lob_loc 目标CLOB/BLOB对象。 DBE_LOB.LOB_WRITE 将源对象从起始位置读取指定长度内容,写入目标LOB对象的指定偏移位置,覆盖该位置原本内容, 并返回目标LOB对象。 DBE_LOB.LOB_WRITE函数原型为: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 DBE_LOB.LOB_WRITE( clob_obj INOUT CLOB, amount IN INTEGER, off_set IN BIGINT, source IN VARCHAR2 ) RETURN CLOB; DBE_LOB.LOB_WRITE( blob_obj INOUT BLOB, amount IN INTEGER, off_set IN BIGINT, source IN RAW ) RETURN BLOB; 表40 DBE_LOB.LOB_WRITE接口参数说明 参数 类型 入参/出参 是否可以为空 描述 blob_obj/clob_obj BLOB/CLOB INOUT 否 IN参数为待写入的目标LOB,OUT参数为写入内容后的LOB。 amount INTEGER IN 否 待写入的长度(BLOB以字节为单位,CLOB以字符为单位)。 off_set BIGINT IN 否 在blob_obj/clob_obj中写入的偏移位置。 source RAW/VARCHAR2 IN 否 源对象。 DBE_LOB.BFILENAME 这个函数用于根据目录和文件名构造BFILE类型对象。 DBE_LOB.BFILENAME原型为: 1 2 3 4 DBE_LOB.BFILENAME( directory IN TEXT, filename IN TEXT) RETURN DBE_LOB.BFILE; 表41 DBE_LOB.BFILENAME接口参数说明 参数 说明 directory 文件目录 说明: 文件目录的位置,需要添加到系统表20.2.57-PG_DIRECTORY中,如果传入的路径和20.2.57-PG_DIRECTORY中的路径不匹配,会报路径不存在的错误。 在打开guc参数safe_data_path时,用户只能通过高级包读写safe_data_path指定文件路径下的文件。 文件名,包含扩展(文件类型),不包括路径名。如果文件名中包含路径,在OPEN中会被忽略,在Unix系统中,文件名不能以/.结尾。 filename 文件名
-
常量与宏 GaussDB支持的常量和宏请参见表1。 表1 常量和宏 参数 描述 示例 CURRENT_CATALOG 当前数据库 1 2 3 4 5 testdb=# SELECT CURRENT_CATALOG; current_database ------------------ testdb (1 row) CURRENT_ROLE 当前用户 1 2 3 4 5 gaussdb=# SELECT CURRENT_ROLE; current_user -------------- omm (1 row) CURRENT_SCHEMA 当前数据库模式 1 2 3 4 5 gaussdb=# SELECT CURRENT_SCHEMA; current_schema ---------------- public (1 row) CURRENT_USER 当前用户 1 2 3 4 5 gaussdb=# SELECT CURRENT_USER; current_user -------------- omm (1 row) LOCALTIMESTAMP 当前会话时间(无时区) 1 2 3 4 5 gaussdb=# SELECT LOCALTIMESTAMP; timestamp ---------------------------- 2015-10-10 15:37:30.968538 (1 row) NULL 空值 - SESSION_USER 当前系统用户 1 2 3 4 5 gaussdb=# SELECT SESSION_USER; session_user -------------- omm (1 row) SYSDATE 当前系统日期 1 2 3 4 5 gaussdb=# SELECT SYSDATE; sysdate --------------------- 2015-10-10 15:48:53 (1 row) USER 当前用户,此用户为CURRENT_USER的别名。 1 2 3 4 5 gaussdb=# SELECT USER; current_user -------------- omm (1 row) 父主题: SQL参考
-
高性能场景 某客户对于相同SQL可能多次执行,仅是传参不同的情况,为了提升执行效率,可开启prepareThreshold参数,避免重复生成执行计划,url可参考如下进行配置: jdbc:opengauss://node1/database?prepareThreshold=5 某客户一次查询1000万数据,为避免同时返回造成内存溢出,可使用defaultRowFetchSize,url可参考如下进行配置: jdbc:opengauss://node1/database?defaultRowFetchSize=50000 某客户需要批量插入1000万数据,为提升效率,可使用batchMode,url可参考如下进行配置: jdbc:opengauss://node1/database?batchMode=on
-
容灾场景 某客户有两套数据库实例,其中A数据库实例为生产数据库实例,B数据库实例为容灾数据库实例。当客户执行容灾切换时,A数据库实例将降为容灾数据库实例,B数据库实例将升为生产数据库实例。此时为了避免修改配置文件导致的应用重启或重新发版,客户可在初始配置文件时,即将A、B数据库实例写入连接串中。此时在主数据库实例不可连接时,驱动将尝试对容灾数据库实例建连。例如A数据库实例为{node1,node2,node3}。B数据库实例为{node4,node5,node6}。 url可参考如下进行配置: jdbc:opengauss://node1,node2,node3,node4,node5,node6/database?priorityServers=3
共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