华为云用户手册
-
操作流程 序号 步骤 说明 1 准备工作 在购买全球加速实例、EIP、E CS 等资源之前,请先 注册华为账号 并开通华为云、完成实名认证、为账户充值。 2 步骤一:跨境申请(跨中国大陆互通场景必选) 根据中华人民共和国工业和信息化部(简称工信部)相关法律、行政法规规定,中国大陆只有三大运营商具备跨境业务运营资质。所以涉及跨中国大陆访问的业务场景,都需要通过跨境资质审核。 在全球加速服务中,用户所在的加速区域和终端节点组所在区域,如果其中一个属于中国大陆,另一个不属于中国大陆,则必须申请跨境资质。 3 步骤二:创建全球加速实例 全球加速服务为全球化业务用户提供应用加速服务,使用全球加速服务前,用户必须先创建全球加速实例。 4 步骤三:配置监听器 创建全球加速实例后,您需要为全球加速实例配置监听器。监听器负责监听连接请求,并根据流量转发策略将请求流量分发至终端节点。 5 步骤四:添加终端节点组和终端节点 将具有相同特性的终端节点放在一个终端节点组组内,每个终端节点组都与特定的区域关联,全球加速实例进行流量分发时,流量分配策略以终端节点组为单位生效。 6 步骤五:配置验证 在本场景中,全球加速服务的监听器配置的是TCP协议,可以使用curl命令方式验证配置结果。
-
请求示例 使用图片的url POST https://{endpoint}/v3/{project_id}/moderation/image/batch { "event_type" : "comment", "categories" : [ "string" ], "image_text_config" : { "black_glossary_names" : [ "string" ], "white_glossary_names" : [ "string" ] }, "urls" : [ { "url" : "http://xxxxxx.com/qweqeqeqz.jpg", "data_id" : "1234" } ], "language" : "zh" } 使用bizType POST https://{endpoint}/v3/{project_id}/moderation/image/batch { "urls" : [ { "url" : "http://xxxxxx.com/qweqeqeqz.jpg", "data_id" : "1234" } ], "language" : "zh", "biz_type" : "test_type" }
-
响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 request_id String 本次请求的唯一标识,用于问题排查,建议保存。 results Array of ImageDetectionResult objects 调用结果。 表7 ImageDetectionResult 参数 参数类型 描述 suggestion String 审核结果是否通过。 block:包含敏感信息,不通过。 pass:不包含敏感信息,通过 。 review:需要人工复检。 category String 检测结果的一级标签。支持category列表如下: terrorism: 暴恐。 porn: 色情。 image_text: 图文审核。 details Array of ImageDetectionResultDetail objects 检测详情。 ocr_text String 图文审核检测出的文本,只有在category参数配置image_text且检测出文本时展示该字段。 data_id String 图片唯一标识。同一次请求中不可重复,由大小写英文字母、数字、下划线(_)、中划线(-)组成,不超过30个字符。 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。 表8 ImageDetectionResultDetail 参数 参数类型 描述 suggestion String 审核结果是否通过。 block:包含敏感信息,不通过。 review:需要人工复检。 category String 检测结果的一级标签。支持category列表如下: terrorism: 暴恐。 porn: 色情。 image_text: 图文审核。 confidence Float 置信度,可选值在0-1之间,值越大,可信度越高。 face_location FaceLocationDetail object 人物位置信息,该数组有四个值,分别代表左上角的坐标和右下角的坐标。例如[207,522,340,567],207代表的是左上角的横坐标,522代表左上角的纵坐标,340代表的是右下角的横坐标,567代表的是右下角的纵坐标。 qr_location QRLocationDetail object 图片中二维码指向的链接,当请求参数categories中包含image_text时存在。 qr_content String 图片中二维码指向的链接,当请求参数categories中包含image_text时存在。 segments Array of OCRTextDetail objects image_text场景下命中的文本片段。 label String 识别的详细标签。 表9 FaceLocationDetail 参数 参数类型 描述 top_left_x Integer 检测出人脸的左上角横坐标。 top_left_y Integer 检测出人脸的左上角纵坐标。 bottom_right_x Integer 检测出人脸的右下角横坐标。 bottom_right_y Integer 检测出人脸的右下角纵坐标。 表10 QRLocationDetail 参数 参数类型 描述 top_left_x Integer 检测出的二维码左上角横坐标。 top_left_y Integer 检测出的二维码左上角纵坐标。 bottom_right_x Integer 检测出的二维码右下角横坐标。 bottom_right_y Integer 检测出的二维码右下角纵坐标。 表11 OCRTextDetail 参数 参数类型 描述 segment String 命中的风险片段。 glossary_name String 命中的自定义词库名称。命中自定义词库时,才会返回当前字段。 状态码: 400 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:8 最大长度:36 error_msg String 错误描述 最小长度:2 最大长度:512
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见 获取Token 接口,响应消息头中X-Subject-Token的值即为Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 event_type 否 String 事件类型。可选值如下: head_image:头像。 album:相册。 dynamic:动态。 article:帖子。 comment:评论。 room_cover:房间封面。 group_message:群聊图片。 message:私聊图片。 product:商品图片。 说明: 如果请求参数中包含biz_type则优先使用biz_type,event_type和categories参数将不生效,审核策略由biz_type的设置决定。 如果未传biz_type则event_type和categories为必传参数。 categories 否 Array of strings 检测场景。可添加的检测场景如下: terrorism:暴恐元素的检测。 porn:涉黄元素的检测。 image_text:广告图文的检测。 可通过配置上述场景,来完对应场景元素的检测。每个检测场景的检测次数会分类统计。 说明: 如果请求参数中包含biz_type则优先使用biz_type,event_type和categories参数将不生效,审核策略由biz_type的设置决定。 如果未传biz_type则event_type和categories为必传参数。 image_text_config 否 image_text_config object 图文审核黑白词库配置。 urls 是 Array of urls objects 图片url列表。最大支持12张图片。 language 否 String 指定图片中文字语种类型。 zh: 中文(默认值为zh,中国站仅支持zh)。 en: 英文 。 biz_type 否 String 用户在控制台界面创建的自定义审核策略名称。 如果请求参数中包含biz_type则优先使用biz_type,event_type和categories参数将不生效,审核策略由biz_type的设置决定。 如果未传biz_type则event_type和categories为必传参数。 表4 image_text_config 参数 是否必选 参数类型 描述 black_glossary_names 否 Array of strings 检测时使用的自定义黑名单词库列表。 white_glossary_names 否 Array of strings 检测时使用的自定义白名单词库列表。 表5 urls 参数 是否必选 参数类型 描述 url 是 String 图片url,目前支持:公网HTTP/HTTPS URL。 data_id 是 String 图片唯一标识。同一次请求中不可重复,由大小写英文字母、数字、下划线(_)、中划线(-)组成,不超过30个字符。
-
操作场景 当监听器创建成功后,您可以查看已添加的标签,还可以继续添加、编辑以及删除标签。 标签是监听器的标识,包括键和值。可以为监听器创建20个标签。 如果已经通过TMS的预定义标签功能预先创建了标签,则可以直接选择对应的标签键和值。 预定义标签的详细内容,请参见预定义标签简介。 如您的组织已经设定全球加速服务的相关标签策略,则需按照标签策略规则为监听器添加标签。标签如果不符合标签策略的规则,则可能会导致监听器创建失败,请联系组织管理员了解标签策略详情。
-
操作场景 当全球加速实例创建成功后,您可以查看已添加的标签,还可以继续添加、编辑以及删除标签。 标签是全球加速实例的标识,包括键和值。可以为全球加速实例创建20个标签。 如果已经通过TMS的预定义标签功能预先创建了标签,则可以直接选择对应的标签键和值。 预定义标签的详细内容,请参见预定义标签简介。 如您的组织已经设定全球加速服务的相关标签策略,则需按照标签策略规则为加速实例添加标签。标签如果不符合标签策略的规则,则可能会导致加速实例创建失败,请联系组织管理员了解标签策略详情。
-
运营商工勘 在确认接入点、获得接入点地址后,您就可以联系运营商咨询接入方案,并联系运营商进行工勘: 联系运营商咨询专线接入方案,要求接入华为云接入点。 获取华为云接入点详细的机房位置,请联系专线经理或提交工单咨询。 方案确认后,申请进入华为云机房入室工勘。 提交工单时需要提供入室工勘人员的姓名、身份证和联系方式。 华为机房工勘注意事项如下: 施工方仅需要向机房供应商申请进入到运营商的Meet-Me Room进行工勘,不需要进入华为机房包间进行工勘,因此,无需向华为申请入室工勘。 华为云审批通过后,会协助工勘人员在2个工作日完成入室。 联系专线运营商进行专线工勘,确认端到端的费用,费用包含: 向华为云支付的专线端口占用费、一次性接入费(暂不收取)。 运营商专线租用费。 楼内线租赁费。
-
选择接入点 选择接入点需要考虑地域、运营商、端口等因素: 地域 在选择接入点时,首先应遵循就近接入原则,即选择离您本地数据中心最近的接入点。不同地域的接入点的机房运营商和接入带宽能力都不同。 运营商 根据业务需要,选择提供专线接入的运营商,一般包括中国联通、中国电信、中国移动和其他运营商。 端口 选择使用光口或电口。 光口,指运营商直接将传输网的光路给最终用户使用。光路的速率理论上无限大,只取决于互联两端接口的光模块协商速率,例如千兆、万兆、40G和100G。 电口,运营商在接入点机房通过光端机将传输网的光路转换为低带宽电路的RJ45接口给用户使用。行业标准就是百兆以下速率都会提供这个接口类型,所以低带宽适合选择电口。 华为云默认提供端口规格为1G和10G且传输距离为10公里的光模块,超过10公里的光模块或者购买端口规格为40G和100G端口均需自行购买光模块。 购买光口,请确保线路供应商提供光纤线路接入华为设备。 华为云不支持托管任何光电转换设备,请要求线路供应商接入华为设备时使用正确的线路类型。 华为云专线接入点信息请参考专线接入点,获取华为云接入点详细的机房位置,请联系专线经理或提交工单咨询。
-
迁移方案总览 表1 迁移方案 源数据库类型 数据量 一次性或持续 应用程序停机时间 迁移方式 文档链接 RDS for MySQL 小型 一次性 一段时间 使用mysqldump工具将数据复制到 GaussDB (for MySQL)标准版数据库。 使用mysqldump迁移GaussDB(for MySQL)标准版数据 任何 一次性或持续 最低 使用DRS将表级、库级或实例级数据迁移到GaussDB(for MySQL)标准版数据库。 说明: DRS实时迁移计费说明,请参见DRS迁移计费说明。 RDS for MySQL迁移到GaussDB(for MySQL)标准版 任何 一次性或持续 最低 使用DRS将源库数据同步到GaussDB(for MySQL)标准版数据库。 RDS for MySQL同步到GaussDB(for MySQL)标准版 DDM 任何 一次性或持续 最低 使用DRS将DDM数据同步到GaussDB(for MySQL)标准版数据库。 将DDM同步到GaussDB(for MySQL)标准版 GaussDB分布式版 任何 一次性或持续 最低 使用DRS将GaussDB分布式版数据同步到GaussDB(for MySQL)标准版数据库。 将GaussDB分布式版同步到GaussDB(for MySQL)标准版 GaussDB主备版 任何 一次性或持续 最低 使用DRS将GaussDB主备版数据同步到GaussDB(for MySQL)标准版数据库。 将GaussDB主备版同步到GaussDB(for MySQL)标准版 GaussDB(for MySQL)标准版 任何 一次性或持续 最低 使用DRS将GaussDB(for MySQL)标准版数据同步到GaussDB(for MySQL)标准版数据库。 将GaussDB(for MySQL)同步到GaussDB(for MySQL)标准版 任何 持续 最低 使用DRS将业务库数据同步到GaussDB(for MySQL)标准版数据库(灾备库)。 说明: 该功能为容灾备份,主要为了解决地区故障导致的业务不可用,为用户业务连续性提供数据库的同步保障。 GaussDB(for MySQL)标准版之间搭建单主灾备 GaussDB(for MySQL)标准版之间搭建双主灾备 本地自建MySQL数据库 ECS自建MySQL数据库 任何 一次性或持续 最低 使用DRS将自建MySQL迁移到GaussDB(for MySQL)标准版数据库。 实时迁移通过增量迁移技术,最大限度允许迁移过程中业务继续对外提供使用,有效的将业务系统中断时间和业务影响最小化,实现数据库平滑迁移上云。 说明: DRS实时迁移计费说明,请参见DRS迁移计费说明。 自建MySQL迁移到GaussDB(for MySQL)标准版 任何 一次性或持续 最低 使用DRS将自建MySQL同步到GaussDB(for MySQL)标准版数据库。 实时同步聚焦于表和数据,将数据通过同步技术从一个数据源拷贝到其他数据库,并保持一致,实现关键业务的数据实时流动。适用于实时分析,报表系统,数仓环境的场景。 自建MySQL同步到GaussDB(for MySQL)标准版 任何 持续 最低 使用DRS将自建MySQL业务库数据同步到GaussDB(for MySQL)标准版数据库(灾备库)。 说明: 该功能为容灾备份,主要为了解决地区故障导致的业务不可用,为用户业务连续性提供数据库的同步保障。 自建MySQL到GaussDB(for MySQL)标准版单主灾备 自建MySQL到GaussDB(for MySQL)标准版双主灾备 本地自建Oracle数据库 ECS自建Oracle数据库 任何 一次性或持续 最低 使用DRS将自建Oracle数据同步到GaussDB(for MySQL)标准版数据库。 将Oracle同步到GaussDB(for MySQL)标准版 其他云上MySQL数据库 任何 一次性或持续 最低 使用DRS将其他云上MySQL数据库迁移到GaussDB(for MySQL)标准版数据库。 说明: DRS实时迁移计费说明,请参见DRS迁移计费说明。 其他云MySQL迁移到云数据库GaussDB(for MySQL)标准版 任何 一次性或持续 最低 使用DRS将其他云上MySQL数据库同步到GaussDB(for MySQL)标准版数据库。 将其他云MySQL同步到GaussDB(for MySQL)标准版 任何 持续 最低 使用DRS将其他云上MySQL业务库数据同步到GaussDB(for MySQL)标准版数据库(灾备库)。 说明: 该功能为容灾备份,主要为了解决地区故障导致的业务不可用,为用户业务连续性提供数据库的同步保障。 其他云MySQL到GaussDB(for MySQL)标准版单主灾备 其他云MySQL到GaussDB(for MySQL)标准版双主灾备
-
GaussDB(DWS)热数据存储和冷数据存储的区别? 热数据存储和冷数据存储最大的区别在于存储介质不同: 热数据存储是直接将频繁被查询或更新,对访问的响应时间要求很高的热数据存储在DN数据盘中。 冷数据存储将不更新,偶尔被查询,对访问的响应时间要求不高的冷数据存储在OBS中。 因为其存储介质的不同,决定了两者的成本、性能、以及适用场景,如表1所示: 表1 冷热数据存储区别 存储名称 读取、写入速度 成本 容量 适用场景 热数据存储 快 高 固定,有限制 适用于那些数据量有限,需要频繁读取、更新的场景。 冷数据存储 慢 低 大、无限制 适用于一些归档类业务,利用其低成本,大容量的特点,在完整保存数据的同时,还能节省成本,不占用本地空间。 父主题: 集群管理
-
选择合适的分布列 Hash分布表的分布列选取至关重要,需要满足以下基本原则: 列值应比较离散,以便数据能够均匀分布到各个DN。例如,考虑选择表的主键为分布列,如在人员信息表中选择身份证号码为分布列。 在满足第一条原则的情况下尽量不要选取存在常量filter的列。 在满足前两条原则的情况,考虑选择查询中的连接条件为分布列,以便Join任务能够下推到DN中执行,且减少DN之间的通信数据量。 支持多分布列特性,可以更好地满足数据分布的均匀性要求。
-
如何调整 通过select version();语句查询当前数据库版本号,版本号不同,调整的方式不同: 8.0.x及以前版本,通过重建表时指定分布列来调整: 通过Data Studio或者Linux下使用gsql访问数据库。 创建新表。 以下步骤语句中,table1为原表名,table1_new为新表名,column1和column2为分布列名称。 1 2 3 4 CREATE TABLE IF NOT EXISTS table1_new ( LIKE table1 INCLUDING ALL EXCLUDING DISTRIBUTION) DISTRIBUTE BY HASH (column1, column2); 迁移数据到新表。 1 2 3 4 START TRANSACTION; LOCK TABLE table1 IN AC CES S EXCLUSIVE MODE; INSERT INTO table1_new SELECT * FROM table1; COMMIT; 查看表数据是否迁移成功,删除原表。 1 2 SELECT COUNT(*) FROM table1_new; DROP TABLE table1; 替换原表。 1 ALTER TABLE table1_new RENAME TO table1; 8.1.0及以后版本后,通过ALTER TABLE语法进行调整,以下为示例。 查询当前表定义,返回结果显示该表分布列为c_last_name。 1 SELECT pg_get_tabledef('customer_t1'); 更新分布列中的数据时报错。 1 UPDATE customer_t1 SET c_last_name = 'Jimy' WHERE c_customer_sk = 6885; 将该表的分布列修改为不会更新的列,例如c_customer_sk。 1 ALTER TABLE customer_t1 DISTRIBUTE BY hash (c_customer_sk); 重新执行更新旧的分布列的数据。更新成功。 1 UPDATE customer_t1 SET c_last_name = 'Jimy' WHERE c_customer_sk = 6885;
-
如何使用GaussDB(DWS)的\copy导入导出? 由于云上GaussDB(DWS)是全托管服务,用户无法登录后台,无法使用copy进行导入导出文件,所以云上将copy语法禁掉。云上推荐将数据文件放到obs上,使用obs外表进行入库,如果需要使用copy导入导出数据,可以参考如下方法: 将数据文件放到客户端的机器上。 使用gsql连接集群。 执行如下命令导入数据,输入数据文件在客户端的目录信息和文件名,with中指定导入选项,跟正常copy一样,但是需要在copy前添加"\"标识,入库成功后不会有消息提示。 \copy tb_name from '/directory_name/file_name' with(...); 执行如下命令,使用默认参数直接导出数据到本地文件。 \copy table_name to '/directory_name/file_name'; 使用copy_option参数导出为CSV文件。 \copy table_name to '/directory_name/file_name' CSV; 使用with指定option参数,导出为CSV文件,分隔符为'|'。 \copy table_name to '/directory_name/file_name' with(format 'csv',delimiter '|') ; 父主题: 数据迁移
-
原因分析 扩容前,如果您没有执行vacuum清理和回收存储空间,GaussDB(DWS) 数据仓库 中之前被删除的数据,可能没有释放占用的磁盘空间形成脏数据,导致磁盘浪费。 而在扩容时,系统会做一次重分布,集群扩容时新节点添加完成后,原节点存储的业务数据明显多于新节点,此时系统自动在所有节点重新分布保存数据。在开始做重分布时,系统会自动执行一次vacuum,从而释放了存储空间,因此,扩容后已使用存储容量减少了很多。
-
EVS快照 云硬盘快照指的是云硬盘数据在某个时刻的完整拷贝或镜像,是一种重要的数据容灾手段,当数据丢失时,可通过快照将数据完整的恢复到快照时间点。 您可以创建快照,从而快速保存指定时刻云硬盘的数据。同时,您还可以通过快照创建新的云硬盘,这样云硬盘在初始状态就具有快照中的数据。 创建快照可以快速保存指定时刻云硬盘的数据,实现数据容灾: 当数据丢失时,可通过快照将数据完整的恢复到快照时间点。 通过快照创建新的云硬盘,新的云硬盘具有快照中的数据。 有关快照的更多内容,请参见云硬盘快照。
-
DWS快照 数据仓库服务快照是对GaussDB(DWS)集群在某一时间点的一次全量数据和增量数据的备份,记录了当前数据库的数据以及集群的相关信息,其中包括节点数量、节点规格和数据库管理员用户名称等。快照创建方式包括手动创建快照和自动创建快照。 从快照恢复到集群时,GaussDB(DWS)会根据快照记录的集群信息来创建新集群,然后从快照记录的数据中还原数据库信息。 有关快照的更多内容,请参见管理快照。
-
如何给GaussDB(DWS)指定用户赋予某个SCHEMA的权限? 给某个用户授权某个SCHEMA的权限,包括三个场景(本章节针对SCHEMA层级权限,仅演示授权查询权限,如果需要其他权限,可以参考如何给指定用户赋予某张表的权限?): SCHEMA下当前某张表权限。 SCHEMA下当前所有表的权限。 SCHEMA下未来创建的表的权限。 如图1所示,假设有两个用户jim和mike,对应的同名SCHEMA是jim和mike,用户mike需要访问SCHEMA jim的表(包括当前的某张表、所有表、未来创建的表)。 图1 用户mike访问SCHEMA jim下的表 打开窗口1(即dbadmin连接会话窗口,后续不再提示),使用系统管理员dbadmin连接DWS数据库,创建用户jim和mike(系统默认会创建jim和mike的同名SCHEMA)。 1 2 CREATE USER jim PASSWORD '{password}'; CREATE USER mike PASSWORD '{password}'; 在SCHEMA jim下创建表jim.name和jim.address。 1 2 CREATE TABLE jim.name (c1 int, c2 int); CREATE TABLE jim.address (c1 int, c2 int); 给用户mike赋予SCHEMA jim的访问权限。 1 GRANT USAGE ON SCHEMA jim TO mike; (某张表权限)给用户mike赋予SCHEMA jim下某张表jim.name的查询权限。 1 GRANT SELECT ON jim.name TO mike; 打开窗口2(即用户mike连接会话窗口,后续不再提示),使用用户mike连接DWS数据库,验证mike可以查询jim.name表,但是不能查询jim.address表。 1 2 SELECT * FROM jim.name; SELECT * FROM jim.address; (所有表权限)切回窗口1,使用dbadmin给用户mike赋予SCHEMA jim下所有表的查询权限。 1 GRANT SELECT ON ALL TABLES IN SCHEMA jim TO mike; 切回窗口2,再次验证mike可以查询所有表。 1 2 SELECT * FROM jim.name; SELECT * FROM jim.address; 切回窗口1,创建一张新的表jim.employ。 1 CREATE TABLE jim.employ (c1 int, c2 int); 切回窗口2,验证发现用户mike没有jim.employ的查询权限,说明mike虽然有SCHEMA jim下所有表的访问权限,但是对于赋权后新创建的表还是没有访问权限(即mike对SCHEMA jim未来的表权限是没有的)。 1 SELECT * FROM jim.employ; (未来表权限)切回窗口1,给用户mike赋予SCHAMA jim未来创建的表的访问权限,并创建一张新的表jim.hobby。 ALTER DEFAULT PRIVILEGES 用来授予将来要创建的对象的权限。 1 2 ALTER DEFAULT PRIVILEGES FOR ROLE jim IN SCHEMA jim GRANT SELECT ON TABLES TO mike; CREATE TABLE jim.hobby (c1 int, c2 int); 切回窗口2,验证发现用户mike可以访问jim.hobby。但是对于之前的jim.employ还是没有访问权限(以上ALTER DEFAULT PRIVILEGES语句的授权范围只是未来创建的表,对于已经创建的表,还是要使用GRANT单张表重新授权),此时需要参考4重新授权jim.employ即可。 1 SELECT * FROM jim.hobby; 父主题: 账户与权限
-
操作步骤 使用系统管理员dbadmin连接DWS数据库。 执行以下SQL语句创建私有用户u1。 1 CREATE USER u1 WITH INDEPENDENT IDENTIFIED BY 'password'; 切换到u1用户,创建测试表test,并插入数据。 1 2 3 CREATE TABLE test (id INT, name VARCHAR(20)); INSERT INTO test VALUES (1, 'joe'); INSERT INTO test VALUES (2, 'jim'); 切换到dbadmin用户,并执行以下SQL语句验证dbadmin用户是否可以访问私有用户u1创建的私有表test。 1 SELECT * FROM u1.test; 查询结果提示dbadmin无权访问,即私有用户和私有表创建成功。 dbadmin用户执行DROP语句,可成功删除test表。 1 DROP TABLE u1.test;
-
实现原理 通过创建INDEPENDENT属性的用户来实现。 INDEPENDENT | NOINDEPENDENT:定义私有、独立的角色。具有INDEPENDENT属性的角色,管理员对其进行的控制、访问的权限被分离,具体规则如下: 未经INDEPENDENT角色授权,管理员无权对其表对象进行增、删、查、改、拷贝、授权操作。 未经INDEPENDENT角色授权,管理员无权修改INDEPENDENT角色的继承关系。 管理员无权修改INDEPENDENT角色的表对象的属主。 管理员无权修改INDEPENDENT角色的数据库口令,INDEPENDENT角色需管理好自身口令,口令丢失无法重置。 管理员属性用户不允许定义修改为INDEPENDENT属性。
-
场景介绍 在业务场景中,普通用户创建的表,系统管理员dbadmin默认是有访问权限,并未完全私有。而在三权分立开启下的业务场景中,管理员dbadmin对普通用户的表没有访问权限,同时也没有控制权限(DROP、ALTER、TRUNCATE)。 若当前业务中需要创建一个私有用户和私有表(即私有用户创建的表),私有表只有私有用户本身可以访问,系统管理员dbadmin和其他普通用户均无权访问(进行INSERT、DELETE、UPDATE、SELECT、COPY操作),但同时需要满足:未经私有用户授权的情况下,可允许系统管理员dbadmin执行DROP/ALTER/TRUNCATE操作。那么可以通过创建INDEPENDENT属性的用户(私有用户)实现。 图1 私有用户
-
场景二:执行计划中的or条件对普通用户执行语句逐一判断耗时 执行计划中的or条件里有权限相关的判断,此场景多发生在使用系统视图时。例如以下sql: 1 2 3 4 5 6 7 8 SELECT distinct(dtp.table_name), ta.table_catalog, ta.table_schema, ta.table_name, ta.table_type from information_schema.tables ta left outer join DBA_TAB_PARTITIONS dtp on (dtp.schema = ta.table_schema and dtp.table_name = ta.table_name) where ta.table_schema = 'public'; 一部分执行计划如下: 可以看到系统视图中的权限判断中多用or条件判断: 1 pg_has_role(c.relowner, 'USAGE'::text) OR has_table_privilege(c.oid, 'SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER'::text) OR has_any_column_privilege(c.oid, 'SELECT, INSERT, UPDATE, REFERENCES'::text) 由于dbadmin用户pg_has_role总能返回true,因此or之后的条件无需继续判断; 而普通用户的or条件需要逐一判断,如果数据库中表个数比较多,最终会导致普通用户比dbadmin需要更长的执行时间。 这种场景如果输出结果集很少,可以考虑尝试设置set enable_hashjoin = off; set enable_seqscan = off; 走index + nestloop的计划。
-
GaussDB(DWS)函数和存储过程有什么区别? 函数和存储过程是数据库管理系统中常见的两种对象,它们在实现特定功能时具有相同点,也有不同点。了解它们的特点和适用场景,对于合理设计数据库结构和提高数据库性能具有重要意义。 表1 函数和存储过程的区别 函数 存储过程 两者都可以用于实现特定的功能。无论是函数还是存储过程,都可以封装一系列的SQL语句,以完成某些特定的操作。 两者都可以接收输入参数,并且根据参数的不同来进行相应的操作。 函数的标识符为FUNCTION。 存储过程的标识符为PROCEDURE。 函数必须返回一个具体的值,并且规定返回值的数值类型。 存储过程可以没有返回值,也可以有返回值,甚至可以有多个返回值,可以通过输出参数返回结果,也可以直接在存储过程中使用SELECT语句返回结果集。 函数适用于需要返回单个值的情况,比如计算某个数值、字符串处理、返回表等。 存储过程适用于需要执行DML操作的情况,比如批量插入、更新、删除数据等。 创建并调用函数 创建表emp并插入数据,查询表数据如下: 1 2 3 4 5 6 7 8 SELECT * FROM emp; empno | ename | job | mgr | hiredate | sal | comm | deptno -------+-------+----------+------+---------------------+---------+--------+-------- 7369 | SMITH | CLERK | 7902 | 1980-12-17 00:00:00 | 800.00 | | 20 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 00:00:00 | 1600.00 | 300.00 | 30 7566 | JONES | MANAGER | 7839 | 1981-04-02 00:00:00 | 2975.00 | | 20 7521 | WARD | SALESMAN | 7698 | 1981-02-22 00:00:00 | 1250.00 | 500.00 | 30 (4 rows) 创建函数emp_comp,用于接受两个数字作为输入并返回计算值: 1 2 3 4 5 6 7 8 9 CREATE OR REPLACE FUNCTION emp_comp ( p_sal NUMBER, p_comm NUMBER ) RETURN NUMBER IS BEGIN RETURN (p_sal + NVL(p_comm, 0)) * 24; END; / 使用SELECT命令调用函数: 1 2 3 4 5 6 7 8 SELECT ename "Name", sal "Salary", comm "Commission", emp_comp(sal, comm) "Total Compensation" FROM emp; Name | Salary | Commission | Total Compensation -------+---------+------------+-------------------- SMITH | 800.00 | | 19200.00 ALLEN | 1600.00 | 300.00 | 45600.00 JONES | 2975.00 | | 71400.00 WARD | 1250.00 | 500.00 | 42000.00 (4 rows) 创建并调用存储过程 创建表MATCHES并插入数据,查询表数据如下: 1 2 3 4 5 6 7 8 9 SELECT * FROM MATCHES; matchno | teamno | playerno | won | lost ---------+--------+----------+-----+------ 1 | 1 | 6 | 3 | 1 7 | 1 | 57 | 3 | 0 8 | 1 | 8 | 0 | 3 9 | 2 | 27 | 3 | 2 11 | 2 | 112 | 2 | 3 (5 rows) 创建存储过程delete_matches,用于删除给定球员参加的所有比赛: 1 2 3 4 5 6 CREATE PROCEDURE delete_matches(IN p_playerno INTEGER) AS BEGIN DELETE FROM MATCHES WHERE playerno = p_playerno; END; / 调用存储过程delete_matches: 1 CALL delete_matches(57); 再次查询表MATCHES,由返回结果可知,playerno为57的数据已被删除: 1 2 3 4 5 6 7 8 SELECT * FROM MATCHES; matchno | teamno | playerno | won | lost ---------+--------+----------+-----+------ 11 | 2 | 112 | 2 | 3 8 | 1 | 8 | 0 | 3 1 | 1 | 6 | 3 | 1 9 | 2 | 27 | 3 | 2 (4 rows) 父主题: 数据库使用
-
数据如何存储到GaussDB(DWS)? GaussDB(DWS)支持多数据源高效入库,典型的入库方式如下所示。详细指导请参见导入数据。 从OBS导入数据。 数据上传到OBS 对象存储服务 中,再从OBS中导入,支持CSV,TEXT格式数据。 通过INSERT语句直接插入数据。 用户可以通过GaussDB(DWS)提供的客户端工具(gsql)或者JDBC/ODBC驱动从上层应用向GaussDB(DWS)写入数据。GaussDB(DWS)支持完整的数据库事务级别的增删改(CRUD)操作。这是最简单的一种方式,这种方式适合数据写入量不太大, 并发度不太高的场景。 从 MRS 导入数据,将MRS作为ETL。 通过COPY FROM STDIN方式导入数据。 通过COPY FROM STDIN命令写数据到一个表。 使用GDS从远端服务器导入数据到GaussDB(DWS)。 当用户需要将普通文件系统(例如,弹性云服务器)中的数据文件导入到GaussDB(DWS)时,可以使用GaussDB(DWS)提供的GDS导入数据的功能。 使用 CDM 迁移数据到GaussDB(DWS)。 父主题: 数据迁移
-
如何导出GaussDB(DWS)某张表结构? 建议使用Data Studio图形化客户端进行表数据导出,支持以下几种常见场景: 指定某张表数据的导出。 某个schema下的所有表数据的导出。 某个数据库下的所有表数据的导出。 具体操作请参见导出表数据。 除了使用Data Studio,您也可以通过gs_dump和gs_dumpall工具进行数据导出,支持以下几种常见场景: 导出单个数据库: 数据库级导出。 模式级导出。 表级导出。 导出所有数据库: 数据库级导出。 各库全局对象导出。 具体操作请参见gs_dump和gs_dumpall。 父主题: 数据库使用
-
如何将GaussDB(DWS)联结查询的null结果替换成0? 在执行outer join(left join、right join、full join)联结查询时,outer join在匹配失败的情况下结果集会补空,产生大量NULL值, 可以在联结查询时将这部分null值替换为0。 可使用coalesce函数,它的作用是返回参数列表中第一个非NULL的参数值。例如: 1 2 3 4 5 SELECT coalesce(NULL,'hello'); coalesce ---------- hello (1 row) 有表course1和表course2,使用left join对两表进行联结查询: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 SELECT * FROM course1; stu_id | stu_name | cour_name ----------+------------+-------------------- 20110103 | ALLEN | Math 20110102 | JACK | Programming Design 20110101 | MAX | Science (3 rows) SELECT * FROM course2; cour_id | cour_name | teacher_name ---------+--------------------+-------------- 1002 | Programming Design | Mark 1001 | Science | Anne (2 rows) SELECT course1.stu_name,course2.cour_id,course2.cour_name,course2.teacher_name FROM course1 LEFT JOIN course2 ON course1.cour_name = course2.cour_name ORDER BY 1; stu_name | cour_id | cour_name | teacher_name ------------+---------+--------------------+-------------- ALLEN | | | JACK | 1002 | Programming Design | Mark MAX | 1001 | Science | Anne (3 rows) 使用coalesce函数将查询结果中的空值替换为0或其他非0值: 1 2 3 4 5 6 7 8 9 10 11 12 13 SELECT course1.stu_name, coalesce(course2.cour_id,0) AS cour_id, coalesce(course2.cour_name,'NA') AS cour_name, coalesce(course2.teacher_name,'NA') AS teacher_name FROM course1 LEFT JOIN course2 ON course1.cour_name = course2.cour_name ORDER BY 1; stu_name | cour_id | cour_name | teacher_name ------------+---------+--------------------+-------------- ALLEN | 0 | NA | NA JACK | 1002 | Programming Design | Mark MAX | 1001 | Science | Anne (3 rows) 父主题: 数据库使用
-
如何清理与回收GaussDB(DWS)存储空间? GaussDB(DWS)数据仓库中保存的数据在删除后,可能没有释放占用的磁盘空间形成脏数据,导致磁盘浪费、创建及恢复快照性能下降等问题,如何清理? 清理与回收存储空间对系统的影响如下: 删除无用的脏数据,释放存储空间。 数据库将进行大量读写操作,可能影响正常使用,建议选择空闲时间执行。 数据库的存储空间越大,即数据可能越多,清理的时间越长。 清理与回收存储空间操作步骤如下: 连接数据库。具体操作步骤请参见连接集群。 执行以下命令,清理与回收存储空间。 VACUUM FULL; 默认清理当前用户在数据库中,拥有权限的每一个表。没有权限的表则直接跳过回收操作。 当系统显示以下内容时,表示清理完成: 1 VACUUM VACUUM FULL回收所有过期的行空间,但是它需要对每个正在处理的表进行独占锁定,并且可能需要很长时间才能完成大型 分布式数据库 表。一般建议对指定表执行VACUUM FULL,若需要对整个数据库执行VACUUM FULL,建议在数据库维护期间操作。 使用FULL参数会导致统计信息丢失,如果需要收集统计信息,请在语句命令中加上analyze关键字。例如,执行VACUUM FULL ANALYZE;命令。 VACUUM的语法请参见《SQL语法参考》中的VACUUM章节。 父主题: 集群管理
-
8.1.3及以上版本 8.1.3及以上版本的集群,AUTO VACUUM默认是打开的(由GUC参数autovacuum控制),用户通过设置对应的GUC参数后,系统会自动触发所有系统表和用户的行存表进行VACUUM FULL,用户不需要手动执行vacuum。 autovacuum_max_workers = 0,系统表和普通表都不会触发。 autovacuum = off,普通表不会触发,但系统表会触发。 以上仅针对行存表的AUTO VACCUM触发,如果需要针对列存表做自动触发VACUUM,还需要用户在管理控制台上配置智能调度任务。具体参见运维计划。
-
场景三:大量SAVEPOINT/RELEASE语句处于idle in transaction(8.1.0之前集群版本) 执行如下命令查看PGXC_STAT_ACTIVITY视图: 1 SELECT coorname,pid,query_id,state,query,usename FROM pgxc_stat_activity WHERE usename='jack'; 结果显示SAVEPOINT/RELEASE语句处于idle in transaction。
-
场景二:存储过程中有DDL语句,该存储过程结束前,其他节点上DDL语句执行完后的状态是idle in transaction 先创建存储过程: 1 2 3 4 5 6 7 8 9 10 11 CREATE OR REPLACE FUNCTION public.test_sleep() RETURNS void LANGUAGE plpgsql AS $$ BEGIN truncate t1; truncate t2; EXECUTE IMMEDIATE 'select pg_sleep(6)'; RETURN; END$$; 再执行如下命令查看PGXC_STAT_ACTIVITY视图: 1 SELECT coorname,pid,query_id,state,query,usename FROM pgxc_stat_activity WHERE usename='jack'; 查看结果显示:truncate t2处于idle in transaction状态,coorname为coordinator2。说明cn2上该语句已经执行完成,该存储过程在执行下一条语句。 解决方法:此类场景是由于存储过程执行慢导致,等存储过程执行完成即可,也可考虑优化存储过程中执行时间较长的语句。
-
场景一:事务开启后没有提交,语句处于idle in transaction 手动BEGIN/START TRANSACTION开启事务,执行某语句后,不执行COMMIT/ROLLBACK,此时执行如下命令查看视图PGXC_STAT_ACTIVITY: 1 SELECT state, query, query_id FROM pgxc_stat_activity; 查看结果显示:该语句状态为idle in transaction。 解决方法:这种场景下需要手动对开启的事务执行COMMIT/ROLLBACK即可。
共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
推荐文章