华为云用户手册
-
请求示例 { "input_json": { "id": "fu", "order": "fu", "name": "fu", "time": 1, "gap_mode": 0, "overlap": 0, "fabric": { "width": 38, "grid_x": 0, "grid_y": 0 }, "polygon": [ { "index": 0, "profile": [ 0.0, 0.0, 10.0, 0.0, 10.0, 10.0, 0.0, 10.0 ] }, { "index": 1, "profile": [ 0.0, 0.0, 10.0, 0.0, 10.0, 10.0, 0.0, 10.0 ] }, { "index": 2, "profile": [ 0.0, 0.0, 14.0, 0.0, 14.0, 9.0, 0.0, 9.0 ] }, { "index": 3, "profile": [ 0.0, 0.0, 14.0, 0.0, 7.0, 7.0 ] }, { "index": 4, "profile": [ 0.0, 9.0, 0.0, 0.0, 14.0, 9.0 ] }, { "index": 5, "profile": [ 0.0, 0.0, 14.0, 0.0, 14.0, 14.0, 0.0, 14.0 ] }, { "index": 6, "profile": [ 0.0, 0.0, 10.0, 4.0, 10.0, 9.0, 0.0, 9.0 ] }, { "index": 7, "profile": [ 0.0, 0.0, 5.0, 0.0, 5.0, 9.0, 0.0, 9.0 ] }, { "index": 8, "profile": [ 0.0, 0.0, 14.0, 0.0, 14.0, 14.0 ] }, { "index": 9, "profile": [ 0.0, 0.0, 10.0, 0.0, 10.0, 10.0, 0.0, 14.0 ] }, { "index": 10, "profile": [ 0.0, 8.0, 4.0, 0.0, 8.0, 8.0 ] }, { "index": 11, "profile": [ 0.0, 0.0, 14.0, 0.0, 7.0, 12.0 ] } ], "piece": [ { "id": 0, "polygon_index": 0, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 1, "polygon_index": 1, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 2, "polygon_index": 2, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 3, "polygon_index": 3, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 4, "polygon_index": 4, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 5, "polygon_index": 5, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 6, "polygon_index": 6, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 7, "polygon_index": 7, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 8, "polygon_index": 8, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 9, "polygon_index": 9, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 10, "polygon_index": 10, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] }, { "id": 11, "polygon_index": 11, "gap_index": -1, "hole_index": -1, "tilted": 0, "gap": 0, "pose_group": -1, "column_group": -1, "rot": 90, "flip_x": 0, "flip_y": 0, "remark": "no Y constraints", "y": [] } ], "hole": [], "constraints": {} } }
-
响应示例 成功响应示例 { "task_id": "40axxxx-701a-47cf-8b56-648xxxxxxd25" } 参数说明如表6所示。 表6 响应参数 参数 参数类型 说明 task_id String 任务ID 失败响应示例 { "error_code": "optverse.00000006", "error_msg": "Input data validate error: the item material is 18MM_PLATE, item_id is 0: Length and width are larger than plate.\n" }
-
请求示例 POST https://{endpoint}/v2/{project_id}/optverse/regular-plate/tasks Request Header: Content-Type: application/json;charset=utf-8 Auth-Token: Body: { "items": [ { "item_id": 0, "item_material": "18MM_PLATE", "item_length": 60.0, "item_width": 553.0, "item_turn": true, "item_num": 1, "item_name": "底板", "item_thick": 18, "is_substitute": false, "label_info": { "order_code": "订单号", "plan_code": "批次号", "item_code": "小板标识" } }, { "item_id": 0, "item_material": "18MM_PLATE", "item_length": 60.0, "item_width": 553.0, "item_turn": true, "item_num": 1, "item_name": "底板", "item_thick": 18, "is_substitute": true, "label_info": { "order_code": "订单号", "plan_code": "批次号", "item_code": "小板标识" } } ], "parameters": [ { "calculate_time": 30, "first_cut_direction": 2, "item_backward_trim": 0.0, "item_forward_trim": 0.0, "kerf_horizontal": 4.4, "kerf_vertical": 4.4, "max_stack_height": 80, "plate_trim_horizontal": 10.0, "plate_trim_vertical": 10.0, "time_cost": 200, "max_cut_stage_num": 3, "min_stack_utilization": 0.8, "item_sort_location": false, "item_num_limit": 0 } ], "plates": [ { "plate_grain": true, "plate_id": 0, "plate_length": 2440.0, "plate_material": "18MM_PLATE", "plate_num": 9999, "plate_thick": 18.0, "plate_width": 1220.0, "plate_cost": 100 } ] }
-
响应参数 表8 响应参数说明 参数 参数类型 说明 error_detail String 如果运行出错会提示 result Object 如果运行正常会在该属性内给出结果 status String 任务运行状态,详情请参见表9 task_id String 任务id result_list Array of objects 切割方案列表 plan_info Array of objects 切割方案的统计信息列表 cut_file String 以字符串形式保存的切割方案文件 plan_name String 此方案序号(根据参数设置可给出多组方案) material_info String 统计信息,详情请参见表10 material_name String 材料名称 problem_id Int 按材料划分的问题序列号 表9 任务状态说明 状态 说明 waiting 在任务队列中,等待执行, 当等待时间超过一定时间,会超时,转为abnormal状态 running 任务正在执行 finished 任务成功运行结束,通过`result`获取结果 failed 任务执行出错,通过`error_detail`获取错误信息 abnormal 任务异常,可能是排队超时,可能是重试次数超时,可能是计算时间超时,通过`error_detail`获取错误信息 表10 统计信息响应参数说明 参数 单位 参数类型 说明 cut_length 米(m) float 切割长度 cut_sum - Int 切割刀数 cut_time 分钟(min) float 锯切时间 item_num - Int 开料件数 material - String 材料 program_num - Int 锯切图数量 run_program_num - Int 运行的锯切图数 rate 百分比(%) float 原材料利用率 sum_area 平方米(m2) float 原材料使用面积 sum_cost - Float 锯切成本 sum_plate_num - Int 原材料使用数量 sum_used_area 平方米(m2) float 原材料利用面积
-
步骤二:在企业路由器中添加并配置DGW连接 本示例中,云专线DC资源的总体规划说明,请参见表4。 执行以下步骤,搭建区域A的专线链路并验证网络通信情况。 创建物理连接。 创建方法,具体请参见物理连接接入。 在企业路由器中添加“全域接入网关(DGW)”连接。 在云专线管理控制台,执行以下操作: 创建全域接入网关。 创建虚拟接口。 将全域接入网关接入企业路由器,即添加“全域接入网关(DGW)”连接。 具体方法请参见创建全域接入网关。 在企业路由器控制台,查看“全域接入网关(DGW)”连接的添加情况。 具体方法请参见查看连接。 “全域接入网关(DGW)”连接的状态“正常”,表示已成功接入企业路由器中。 由于本示例创建ER时,开启“默认路由表关联”和“默认路由表传播”,因此添加完“全域接入网关(DGW)”连接后,以下均为系统自动配置: 在ER默认路由表中创建关联。 在ER默认路由表中创建传播,并自动学习IDC侧的路由信息。 需要执行以下步骤连通DC后,才可以在ER路由表中查看到IDC侧的路由信息。 配置IDC侧路由到华为云的路由。 以华为网络设备为例,配置BGP路由: bgp 64855 peer 10.0.0.1 as-number 64512 peer 10.0.0.1 password simple Qaz12345678 network 10.1.123.0 255.255.255.0 表1 BGP路由 命令 命令说明 bgp 64855 启动BGP,其中: 64855:IDC-A的AS号。 peer 10.0.0.1 as-number 64512 创建BGP的对等体(EBGP),其中: 10.0.0.1:华为云的网关。 64512:全域接入网关的BGP ASN。 peer 10.0.0.1 password simple Qaz12345678 BGP对等体建立TCP连接时对BGP消息进行MD5认证,其中: Qaz12345678:BGP MD5认证密码。 network 10.1.123.0 255.255.255.0 将IP路由表中已存在的路由添加到BGP路由表中,其中: 10.1.123.0:IDC侧子网。 255.255.255.0:IDC侧子网掩码。 登录企业路由器侧的任意一个弹性云服务器。 弹性云服务器有多种登录方法,具体请参见登录弹性云服务器。 本示例是通过管理控制台远程登录(VNC方式)。 执行以下命令,验证区域A的专线链路的通信情况。 ping IDC侧任意一个IP地址 命令示例: ping 10.1.123.5 回显类似如下信息,表示云上网络与IDC侧网络已连通。 [root@ecs-A ~]# ping 10.1.123.5 PING 10.1.123.5 (10.1.123.5) 56(84) bytes of data. 64 bytes from 10.1.123.5: icmp_seq=1 ttl=64 time=0.849 ms 64 bytes from 10.1.123.5: icmp_seq=2 ttl=64 time=0.455 ms 64 bytes from 10.1.123.5: icmp_seq=3 ttl=64 time=0.385 ms 64 bytes from 10.1.123.5: icmp_seq=4 ttl=64 time=0.372 ms ... --- 10.1.123.5 ping statistics --- 参考1,搭建区域B的专线链路并验证网络通信情况。
-
步骤四:验证网络通信情况 登录IDC-A侧的任意一台服务器。 执行以下命令,验证IDC-A是否可以访问IDC-B内的服务器。 ping IDC-B侧任意一个IP地址 命令示例: ping 192.168.3.5 回显类似如下信息,表示网络通信正常。 [root@idc-A ~]# ping 192.168.3.5 PING 192.168.3.5 (192.168.3.5) 56(84) bytes of data. 64 bytes from 192.168.3.5: icmp_seq=1 ttl=64 time=0.849 ms 64 bytes from 192.168.3.5: icmp_seq=2 ttl=64 time=0.455 ms 64 bytes from 192.168.3.5: icmp_seq=3 ttl=64 time=0.385 ms 64 bytes from 192.168.3.5: icmp_seq=4 ttl=64 time=0.372 ms ... --- 192.168.3.5 ping statistics --- 登录IDC-B侧的任意一台服务器。 执行以下命令,验证IDC-B是否可以访问IDC-A内的服务器。 ping IDC-A侧任意一个IP地址 命令示例: ping 10.1.123.6 回显类似如下信息,表示网络通信正常。 [root@idc-B ~]# ping 10.1.123.6 PING 10.1.123.6 (10.1.123.6) 56(84) bytes of data. 64 bytes from 10.1.123.6: icmp_seq=1 ttl=64 time=0.849 ms 64 bytes from 10.1.123.6: icmp_seq=2 ttl=64 time=0.455 ms 64 bytes from 10.1.123.6: icmp_seq=3 ttl=64 time=0.385 ms 64 bytes from 10.1.123.6: icmp_seq=4 ttl=64 time=0.372 ms ... --- 10.1.123.6 ping statistics ---
-
步骤一:创建云服务资源 本步骤指导您创建企业路由器、云连接中心网络等服务资源,云服务资源的总体规划说明,请参见表4。 创建2个企业路由器,每个区域内需要1个企业路由器。 创建企业路由器,具体方法请参见创建企业路由器。 创建云连接中心网络,并在策略中添加需要连通的企业路由器。 创建1个云连接中心网络,并在策略中添加企业路由器。 创建中心网络,具体方法请参见创建中心网络。 在企业路由器控制台,查看“对等连接(Peering)”连接的添加情况。 具体方法请参见查看连接。 “对等连接(Peering)”连接的状态“正常”,表示已成功接入企业路由器中。 由于本示例创建ER时,开启“默认路由表关联”和“默认路由表传播”,因此配置策略,即添加完“对等连接(Peering)”连接后,以下均为系统自动配置: 在ER的默认路由表中创建关联 在ER默认路由表中创建传播,并自动学习对方路由表中的路由信息。 创建1个全域互联带宽,连通不同区域的网络链路。 创建全域互联带宽,具体方法请参见购买全域互联带宽。
-
ER安全最佳实践 无论用户通过ER控制台还是API、SDK访问ER,都会要求访问请求方出示身份凭证,并进行身份合法性校验,同时提供登录保护和登录验证策略加固身份认证安全。ER服务基于 统一身份认证 服务(Identity and Access Management, IAM ),支持四种身份认证方式:用户名密码、访问密钥、临时访问密钥、AccessCode凭证。同时还提供登录保护及登录验证策略。 建议使用临时AK/SK进行业务处理,减小凭证泄漏导致数据泄露的风险 使用ER API或SDK查询指标、告警等资源时,都需要进行身份凭证认证,用于确保请求的机密性、完整性和请求者身份的正确性。建议您为应用程序或服务配置IAM委托或临时AK/SK,通过IAM委托可以获取一组临时AK/SK,临时AK/SK到期自动过期失效,可以有效降低凭证泄露造成的数据泄露风险。详情请参见临时访问密钥和通过委托获取临时AK/SK。 定期轮转永久AK/SK减小凭证泄漏导致数据泄露的风险 如您必须使用永久AK/SK,建议对永久AK/SK进行定期凭证轮转,同时加密存储,避免凭证长期使用过程中预置的明文凭证泄露导致数据泄露。详情请参见访问密钥。 定期修改用户名密码,避免弱密码 定期重置密码是提高系统和应用程序安全性的重要措施之一,不仅可以降低密码泄露的风险,还可以帮助用户满足合规要求,减少内部威胁,提高用户的安全意识。同时建议您配置密码的复杂度,避免使用弱密码。详情请参见密码策略。 建议关闭“自动接受共享连接”功能 在云服务或企业网络环境中,ER作为跨网络互联的核心设备,若配置不当可能引发安全风险。当ER实例被共享给其他账号,即多账号使用同一个ER时,自动接受共享连接可能导致未经授权的网络访问或异常配置,从而成为攻击者渗透的入口。提供如下操作建议: 关闭“自动接受共享连接”功能 创建企业路由器时,默认关闭“自动接受共享连接”功能,具体操作请参见创建企业路由器。 如果当前企业路由器已开启“自动接受共享连接”功能,您可以通过控制台或者API关闭该功能。 控制台关闭方法请参见修改企业路由器配置。 API关闭方法请参见更新企业路由器。 限制用户权限 所有者将ER实例共享给其他账号使用时,基于 资源访问管理 服务(Resource Access Manager, RAM )共享机制,其他账号的使用者创建连接时,需要所有者接受申请后才可以创建成功。 建议您限制指定角色可接受连接创建申请,在IAM权限管理控制台中设置自定义权限策略,示例如下: { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "er:attachments:accept" ] } ] }
-
产品功能 开源兼容 兼容开源Elasticsearch和OpenSearch软件原生接口,并支持Logstash、Beats、Kibana等周边生态。 接入多种数据源 无缝对接FTP/OBS/Hbase/Kafka等多种数据源,仅需简单配置,无需编程。 一键化操作 一键申请集群、一键扩容、一键重启,从小规模测试到大规模上线,所有主要操作都是一键可达。 灵活词库管理 支持自定义词库与拼音分词,支持词库热更新,无需重启,配置即生效。 自定义快照策略 支持用户触发以及定时触发的快照备份能力,支持恢复到本集群以及其他集群的能力,随时恢复误删数据或者迁移数据到新的搜索集群。
-
什么是云搜索服务 云搜索服务(Cloud Search Service,简称 CSS )是一个基于Elasticsearch、OpenSearch且完全托管的在线分布式搜索服务,为用户提供结构化、非结构化文本、以及基于AI向量的多条件检索、统计、报表。云搜索服务是华为云ELK生态的一系列软件集合,为您全方位提供托管的ELK生态云服务,兼容Elasticsearch、Logstash、Kibana、Cerebro等软件。 Elasticsearch和OpenSearch Elasticsearch、OpenSearch是开源搜索引擎,可以实现单机和集群部署,并提供托管的分布式搜索引擎服务。在ELK整个生态中,Elasticsearch集群支持结构化、非结构化文本的多条件检索、统计、报表。Elasticsearch搜索引擎相关内容的深入介绍可参见《Elasticsearch:权威指南》。OpenSearch搜索引擎相关内容的深入介绍可参见《OpenSearch Documentation》。 云搜索服务支持自动部署,快速创建Elasticsearch集群和OpenSearch集群,免运维,内置搜索调优实践;拥有完善的监控体系,提供一系列系统、集群以及查询性能等关键指标,让用户更专注于业务逻辑的实现。 云搜索服务的Elasticsearch和OpenSearch集群支持通过Kibana、OpenSearch Dashboard和Cerebro访问。如果是对集群数据进行深入分析和可视化,建议选择Kibana,它提供了丰富的可视化工具和强大的数据分析能力;如果是对集群进行管理和监控,建议选择Cerebro,它能够提供直观的集群状态视图和便捷的管理功能。 Logstash Logstash是一个开源数据收集引擎,具有实时管道功能。在ELK整个生态中,Logstash承担着数据接入的重要功能,可以动态地将来自不同数据源的数据统一起来,进行标准化的转换,然后将数据发送到指定的位置。 云搜索服务支持快速创建Logstash集群,云搜索服务的Logstash是一款全托管的数据接入处理服务,100%兼容开源Logstash的能力。在生产系统中,数据会以各种各样的形式,或分散或集中地存在于很多系统中。云搜索服务的Logstash能够轻松地帮助您处理各种来源的数据并转储到云搜索服务的Elasticsearch中,从而更加方便地发现其中的价值。同时您也可以单独使用Logstash云服务处理数据发送到其他的系统中。
-
创建连接故障 问题:gsql: could not connect to server: No route to host 解决: 此问题一般是因为指定了不可达的地址或者端口。请检查-h参数与-p参数是否添加正确。 问题:gsql: FATAL: Invalid username/password,login denied. 解决: 此问题一般是因为输入了错误的用户名和密码,请联系数据库管理员,确认用户名和密码的正确性。 问题:gsql: FATAL: Forbid remote connection with trust method! 解决: 由于安全问题,数据库禁止远程登录时使用trust模式。这时需要修改gs_hba.conf里的连接认证信息。请联系管理员处理。 请不要修改gs_hba.conf中数据库集群主机的相关设置,否则可能导致数据库功能故障。建议业务应用部署在数据库集群之外,而非集群内部。 问题:在CN所在的主机连接数据库,添加“-h 127.0.0.1”可以连接,去掉后无法连接。 解决: 通过执行SQL语句“show unix_socket_directory”检查数据库CN使用的Unix套接字目录,是否与shell中的环境变量$PGHOST一致。如果检查结果不一致,那么修改PGHOST环境变量到GUC参数unix_socket_directory指向的目录。 关于unix_socket_directory的更多信息,请联系管理员获取。 问题:The "libpq.so" loaded mismatch the version of gsql, please check it. 解决: 此问题是由于环境中使用的libpq.so的版本与gsql的版本不匹配导致的,请通过“ldd gsql”命令确认当前加载的libpq.so的版本,并通过修改LD_LIBRARY_PATH环境变量来加载正确的libpq.so。 问题:gsql: symbol lookup error: xxx/gsql: undefined symbol: libpqVersionString 解决: 此问题是由于环境中使用的libpq.so的版本与gsql的版本不匹配导致的(也有可能是环境中存在PG的libpq.so),请通过“ldd gsql”命令确认当前加载的libpq.so的版本,并通过修改LD_LIBRARY_PATH环境变量来加载正确的libpq.so。 问题:gsql: connect to server failed: Connection timed out Is the server running on host "xx.xxx.xxx.xxx" and accepting TCP/IP connections on port xxxx? 解决: 此问题是由于网络连接故障。请检查客户端与数据库服务器间的网络连接。如果发现从客户端无法PING到数据库服务器端,则说明网络连接出现故障。请联系网络管理人员排查解决。 ping -c 4 10.10.10.1 PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data. From 10.10.10.1: icmp_seq=2 Destination Host Unreachable From 10.10.10.1 icmp_seq=2 Destination Host Unreachable From 10.10.10.1 icmp_seq=3 Destination Host Unreachable From 10.10.10.1 icmp_seq=4 Destination Host Unreachable --- 10.10.10.1 ping statistics --- 4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 2999ms 问题:gsql: FATAL: permission denied for database "gaussdb" DETAIL: User does not have CONNECT privilege. 解决: 此问题是由于用户不具备访问该数据库的权限,可以使用如下方法解决。 使用管理员用户连接数据库。 gsql -d gaussdb -U dbadmin -p 8000 赋予该用户访问数据库的权限。 GRANT CONNECT ON DATABASE gaussdb TO user1; 另外,许多常见的错误操作也可能导致用户无法连接到数据库。如用户连接的数据库不存在,用户名或密码输入错误等。这些错误操作在客户端工具会有相应的提示信息。 gsql -d gaussdb -p 8000 gsql: FATAL: database "gaussdb" does not exist gsql -d gaussdb -U user1 -p 8000 Password for user user1: gsql: FATAL: Invalid username/password,login denied. 问题:gsql: FATAL: sorry, too many clients already,active/non-active: 197/3. 解决: 此问题是由于系统连接数量超过了最大连接数量。请联系数据库DBA进行会话连接数管理,释放无用会话。 关于查看用户会话连接数的方法如表1。 会话状态可以在视图PG_STAT_ACTIVITY中查看。无用会话可以使用函数pg_terminate_backend进行释放。 SELECT datid,pid,state FROM pg_stat_activity; datid | pid | state -------+-----------------+-------- 13205 | 139834762094352 | active 13205 | 139834759993104 | idle (2 rows) 其中pid的值即为该会话的线程ID。根据线程ID结束会话。 SELECT PG_TERMINATE_BACKEND(139834759993104); 显示类似如下信息,表示结束会话成功。 PG_TERMINATE_BACKEND ---------------------- t (1 row) 表1 查看会话连接数 描述 命令 查看指定用户的会话连接数上限。 执行如下命令查看连接到指定用户user1的会话连接数上限。其中-1表示没有对用户user1设置连接数的限制。 gaussdb=# SELECT ROLNAME,ROLCONNLIMIT FROM PG_ROLES WHERE ROLNAME='user1'; rolname | rolconnlimit ---------+-------------- user1 | -1 (1 row) 查看指定用户已使用的会话连接数。 执行如下命令查看指定用户user1已使用的会话连接数。其中,1表示user1已使用的会话连接数。 gaussdb=# SELECT COUNT(*) FROM dv_sessions WHERE USERNAME='user1'; count ------- 1 (1 row) 查看指定数据库的会话连接数上限。 执行如下命令查看连接到指定数据库gaussdb的会话连接数上限。其中-1表示没有对数据库gaussdb设置连接数的限制。 gaussdb=# SELECT DATNAME,DATCONNLIMIT FROM PG_DATABASE WHERE DATNAME='gaussdb'; datname | datconnlimit ----------+-------------- gaussdb | -1 (1 row) 查看指定数据库已使用的会话连接数。 执行如下命令查看指定数据库gaussdb上已使用的会话连接数。其中,1表示数据库gaussdb上已使用的会话连接数。 gaussdb=# SELECT COUNT(*) FROM PG_STAT_ACTIVITY WHERE DATNAME='gaussdb'; count ------- 1 (1 row) 查看所有用户已使用会话连接数。 执行如下命令查看所有用户已使用的会话连接数。 gaussdb=# SELECT COUNT(*) FROM dv_sessions; count ------- 10 (1 row) 问题:gsql: wait xxx.xxx.xxx.xxx:xxxx timeout expired 解决: gsql在向数据库发起连接的时候,会有5分钟超时机制,如果在这个超时时间内,数据库未能正常的对客户端请求进行校验和身份认证,那么gsql会退出当前会话的连接过程,并报出该错误。 一般来说,此问题是由于连接时使用的-h参数及-p参数指定的连接主机及端口有误(即错误信息中的xxx部分),导致通信故障;极少数情况是网络故障导致。要排除此问题,请检查数据库的主机名及端口是否正确。 问题:gsql: could not receive data from server: Connection reset by peer. 解决: 请检查CN日志中的如下类似日志“ FATAL: cipher file "/data/coordinator/server.key.cipher" has group or world access”,一般是由于数据目录或部分关键文件的权限被误操作篡改导致。请参照其他正常实例下的相关文件权限修改。 问题:gsql: FATAL: GSS authentication method is not allowed because XXXX user password is not disabled. 解决: 表示目标CN的gs_hba.conf里,配置了当前客户端IP使用“gss”方式来做认证,该认证算法不支持用作客户端的身份认证,请修改到“sha256”后再试。具体操作请联系管理员处理。 请不要修改gs_hba.conf中数据库集群主机的相关设置,否则可能导致数据库功能故障。 建议业务应用部署在数据库集群之外,而非集群内部。
-
其他故障 问题:出现因“总线错误”(Bus error)导致的core dump或异常退出。 解决: 一般情况下出现此种问题,是进程运行过程中加载的共享动态库(在Linux为.so文件)出现变化,或者进程二进制文件本身出现变化,导致操作系统加载机器的执行码或者加载依赖库的入口发生变化,操作系统出于保护目的将进程终止,产生core dump文件。为解决此问题,请重试。同时请尽可能避免在升级等运维操作过程中,在集群内部运行业务程序,避免升级时因替换文件产生此问题。 此故障的core dump文件的堆栈可能是dl_main及其子调用,它是操作系统用来初始化进程做共享动态库加载的。如果进程已经初始化,但是共享动态库还未加载完成,严格意义上来说,此时进程并未完全启动。
-
示例 示例一 获取帮助信息。 --连接数据库。(根据实际需要替换数据库名字和端口号) gsql -d postgres -p 8000 gsql (( GaussDB Kernel XXX.X.XXX build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. --查看GaussDB支持的所有SQL语句。 gaussdb=# \h Available help: ABORT ALTER AGGREGATE ALTER APP WORKLOAD GROUP ... ... --查看DROP TABLE语法的参数。 gaussdb=# \h DROP TABLE Command: DROP TABLE Description: remove a table Syntax: DROP TABLE [ IF EXISTS ] { [schema.]table_name } [, ...] [ CASCADE | RESTRICT ] [ PURGE ]; --查看gsql支持的元命令。 gaussdb=# \? General \copyright show GaussDB Kernel usage and distribution terms \g [FILE] or ; execute query (and send results to file or |pipe) \h(\help) [NAME] help on syntax of SQL commands, * for all commands \q quit gsql ... ... 示例二 使用元命令。 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 --连接数据库。(根据实际需要替换数据库名字和端口号) gsql -d postgres -p 8000 gsql ((GaussDB Kernel XXX.X.XXX build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. --创建表。 gaussdb=# CREATE SCHEMA HR; CREATE SCHEMA gaussdb=# CREATE TABLE HR.areaS(area_ID NUMBER,area_NAME VARCHAR2(25)); NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'area_id' as the distribution column by default. HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. CREATE TABLE --查看表的定义。 gaussdb=# \d HR.areaS Table "hr.areas" Column | Type | Modifiers -----------+-----------------------+----------- area_id | numeric | area_name | character varying(25) | --向HR.areaS表插入四行数据。 gaussdb=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (1, 'Europe'); INSERT 0 1 gaussdb=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (2, 'Americas'); INSERT 0 1 gaussdb=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (3, 'Asia'); INSERT 0 1 gaussdb=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (4, 'Middle East and Africa'); INSERT 0 1 --查看表。 gaussdb=# SELECT * FROM HR.areaS; area_id | area_name ---------+------------------------ 4 | Middle East and Africa 1 | Europe 2 | Americas 3 | Asia (4 rows) --用\pset命令以不同的方式显示表。 gaussdb=# \pset border 2 Border style is 2. gaussdb=# SELECT * FROM HR.areaS; +---------+------------------------+ | area_id | area_name | +---------+------------------------+ | 4 | Middle East and Africa | | 1 | Europe | | 2 | Americas | | 3 | Asia | +---------+------------------------+ (4 rows) gaussdb=# \pset border 0 Border style is 0. gaussdb=# SELECT * FROM HR.areaS; area_id area_name ------- ---------------------- 4 Middle East and Africa 1 Europe 2 Americas 3 Asia (4 rows) --使用元命令。 gaussdb=# \a \t \x Output format is unaligned. Showing only tuples. Expanded display is on. gaussdb=# SELECT * FROM HR.areaS; area_id|4 area_name|Middle East and Africa area_id|1 area_name|Europe area_id|2 area_name|Americas area_id|3 area_name|Asia gaussdb=# \a \t \x Output format is aligned. Tuples only is off. Expanded display is off. gaussdb=# SELECT * FROM HR.areaS; area_id area_name ------- ---------------------- 4 Middle East and Africa 1 Europe 2 Americas 3 Asia (4 rows) gaussdb=# DROP TABLE HR.areaS; DROP TABLE gaussdb=# DROP SCHEMA HR; DROP SCHEMA
-
命令格式及参数说明 元命令的详细说明请参见表1、表2、表3、表4、表6、表8、表9、表10、表12和表13。 以下命令中所提到的FILE代表文件路径。此路径可以是绝对路径(如/home/gauss/file.txt),也可以是相对路径(如file.txt,file.txt会默认在用户执行gsql命令所在的路径下创建)。 表1 一般的元命令 参数 参数说明 取值范围 \copyright 显示GaussDB的版本和版权信息。 - \g [FILE] or ; 执行查询(并将结果发送到文件或管道)。 - \h(\help) [NAME] 给出指定SQL语句的语法帮助。 如果没有给出NAME,gsql将列出可获得帮助的所有命令。如果NAME是一个星号(*),则显示所有SQL语句的语法帮助。 \parallel [on [num]|off] 控制并发执行开关。 on:打开控制并发执行开关,且最大并发数为num。num的默认值为1024。 off:关闭控制并发执行开关。 说明: 不支持事务中开启并发执行以及并发中开启事务。 不支持\d这类元命令的并发。 并发select返回结果混乱问题可接受,core、进程停止响应不可接受。 不推荐在并发中使用set语句,否则导致结果与预期不一致。 不支持创建临时表。如需使用临时表,需要在开启parallel之前创建好,并在parallel内部使用。parallel内部不允许创建临时表。 \parallel执行时最多会启动num个独立的gsql进程连接服务器。 \parallel中所有作业的持续时间不能超过session_timeout,否则可能会导致并发执行过程中断开连接。 在\parallel on之后一条或多条命令,会等到\parallel off执行后才会执行,因而,\parallel on之后需要有对应的\parallel off,否则\parallel on后的命令都无法执行。 服务器能接受的最大连接数受max_connection及当前已有连接数限制。设置num时,请根据服务器当前可接受的实际连接数合理指定。 - \q 退出gsql程序。在一个脚本文件里,只在脚本终止时执行。 - 表2 查询缓存区元命令 参数 参数说明 \e [FILE] [LINE] 使用外部编辑器编辑查询缓冲区(或者文件)。 \ef [FUNCNAME [LINE]] 使用外部编辑器编辑函数定义。如果指定了LINE(即行号),则光标会指到函数体的指定行。 \p 打印当前查询缓冲区到标准输出。 \r 重置(或清空)查询缓冲区。 \w FILE 将当前查询缓冲区输出到文件。 表3 输入/输出元命令 参数 参数说明 \copy { table [ ( column_list ) ] | ( query ) } { from | to } { filename | stdin | stdout | pstdin | pstdout }[LOAD] [LOAD_DISCARD 'string'] [ with ] [ binary ] [ oids ] [ delimiter [ as ] 'character' ] [ null [ as ] 'string' ] [ useeof ] [ csv [ header ] [ quote [ as ] 'character' ] [ escape [ as ] 'character' ] [ force quote column_list | * ] [ force not null column_list ] ] [parallel integer] 在任何gsql客户端登录数据库成功后可以执行导入导出数据,这是一个运行SQL COPY命令的操作,但不是读取或写入指定文件的服务器,而是读取或写入文件,并在服务器和本地文件系统之间路由数据。这意味着文件的可访问性和权限是本地用户的权限,而不是服务器的权限,并且不需要数据库初始化用户权限。 说明: \COPY只适合小批量,格式良好的数据导入,导入数据应优先选择GDS或COPY。 \COPY可以指定数据导入时的客户端数量,从而实现数据文件的并行导入,目前并发数范围为[1, 8]。 \COPY并行导入目前存在以下约束: 临时表的并行导入不支持、在事务内的并行导入不支持、对二进制文件的并行导入不支持、数据导入支持AES128加密时不支持以及COPY选项中存在EOL时不支持。在这些情况下,即使指定了parallel参数,仍然会按照非并行流程。 \COPY的text格式和csv格式均支持header功能。 \echo [STRING] 把字符串写到标准输出。 prompt [STRING] 把字符串写到标准输出(等同于\echo)。 \i FILE 从文件FILE中读取内容,并将其当作输入,执行查询。 \i+ FILE KEY 执行加密文件中的命令。 \ir FILE 和\i类似,只是相对于存放当前脚本的路径。 \ir+ FILE KEY 和\i+类似,只是相对于存放当前脚本的路径。 \o [FILE] 把所有的查询结果发送到文件里。 \qecho [STRING] 把字符串写到查询结果输出流里。 表4 显示信息元命令 参数 参数说明 取值范围 示例 \d[S+] 列出当前search_path中模式下所有的表、视图和序列。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。 - 列出当前search_path中模式下所有的表、视图和序列。 1 gaussdb=# \d \d[S+] NAME 列出指定表、视图和索引的结构。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。 - 假设存在表a,列出指定表a的结构。 1 gaussdb=# \dtable+ a \d+ [PATTERN] 列出所有表、视图和索引。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果声明了PATTERN,只显示名称匹配PATTERN的表、视图和索引。 - 列出所有名称以f开头的表、视图和索引。 1 gaussdb=# \d+ f* \da[S] [PATTERN] 列出所有可用的聚集函数,以及它们操作的数据类型和返回值类型。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果声明了PATTERN,只显示名称匹配PATTERN的聚集函数。 - 列出所有名称以f开头可用的聚集函数,以及它们操作的数据类型和返回值类型。 1 gaussdb=# \da f* \db[+] [PATTERN] 列出所有可用的表空间。如果声明了PATTERN,只显示名称匹配PATTERN的表空间。 - 列出所有名称以p开头的可用表空间。 1 gaussdb=# \db p* \dc[S+] [PATTERN] 列出所有字符集之间的可用转换。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果声明了PATTERN,只显示名称匹配PATTERN的转换。 - 列出所有字符集之间的可用转换。 1 gaussdb=# \dc * \dC[+] [PATTERN] 列出所有类型转换。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果声明了PATTERN,只显示名称匹配PATTERN的转换。 PATTERN需要使用实际类型名,不能使用别名。 列出所有名称以c开头的类型转换。 1 gaussdb=# \dC c* \dd[S] [PATTERN] 显示所有可视对象。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果声明了PATTERN,只显示名称匹配的对象。对象包括:聚集、函数、操作符、类型、关系(表、视图、索引、序列、大对象)、规则。 - 列出所有可视对象。 1 gaussdb=# \dd \ddp [PATTERN] 显示所有默认的使用权限。如果指定了PATTERN,只显示名称匹配PATTERN的使用权限。 - 列出所有默认的使用权限。 1 gaussdb=# \ddp \dD[S+] [PATTERN] 列出所有可用域。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果声明了PATTERN,只显示名称匹配PATTERN的域。 - 列出所有可用域。 1 gaussdb=# \dD \det[+] [PATTERN] 列出所有的外部表。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果声明了PATTERN,只显示名称匹配PATTERN的表。 - 列出所有的外部表。 1 gaussdb=# \det \des[+] [PATTERN] 列出所有的外部服务器。如果声明了PATTERN,只显示名称匹配PATTERN的服务器。 - 列出所有的外部服务器。 1 gaussdb=# \des \deu[+] [PATTERN] 列出用户映射信息。如果声明了PATTERN,只显示名称匹配PATTERN的信息。 - 列出用户映射信息。 1 gaussdb=# \deu \dew[+] [PATTERN] 列出封装的外部数据。如果声明了PATTERN,只显示名称匹配PATTERN的数据。 - 列出封装的外部数据。 1 gaussdb=# \dew \df[antw][S+] [PATTERN] 列出所有可用函数,以及它们的参数和返回的数据类型。a代表聚集函数,n代表普通函数,t代表触发器,w代表窗口函数。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果声明了PATTERN,只显示名称匹配PATTERN的函数。 - 列出所有可用函数,以及它们的参数和返回的数据类型。 1 gaussdb=# \df \dF[+] [PATTERN] 列出所有的文本搜索配置信息。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果声明了PATTERN,只显示名称匹配PATTERN的配置信息。 - 列出所有的文本搜索配置信息。 1 gaussdb=# \dF+ \dFd[+] [PATTERN] 列出所有的文本搜索字典。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果声明了PATTERN,只显示名称匹配PATTERN的字典。 - 列出所有的文本搜索字典。 1 gaussdb=# \dFd \dFp[+] [PATTERN] 列出所有的文本搜索分析器。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果声明了PATTERN,只显示名称匹配PATTERN的分析器。 - 列出所有的文本搜索分析器。 1 gaussdb=# \dFp \dFt[+] [PATTERN] 列出所有的文本搜索模板。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果声明了PATTERN,只显示名称匹配PATTERN的模板。 - 列出所有的文本搜索模板。 1 gaussdb=# \dFt \dg[+] [PATTERN] 列出所有数据库角色。如果指定了PATTERN,只显示名称匹配PATTERN的角色。 说明: 因为用户和群组的概念被统一为角色,所以这个命令等价于\du。为了和以前兼容,所以保留两个命令。 - 列出名称为“j?e”所有数据库角色(“?”表示任一字符)。 1 gaussdb=# \dg j?e \dl \lo_list的别名,显示大对象的列表。 - 列出所有的大对象。 1 gaussdb=# \dl \dL[S+] [PATTERN] 列出可用的程序语言。如果指定了PATTERN,只列出名称匹配PATTERN的语言。 - 列出可用的程序语言。 1 gaussdb=# \dL \dm[S+] [PATTERN] 列出物化视图。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果指定了PATTERN,只列出名称匹配PATTERN的物化视图。 - 列出物化视图。 1 gaussdb=# \dm \dn[S+] [PATTERN] 列出所有模式(名称空间)。如果向命令追加+,会列出每个模式相关的权限及描述。如果声明了PATTERN,只列出名称匹配PATTERN的模式名。缺省时,只列出用户创建的模式。 - 列出所有名称以d开头的模式以及相关信息。 1 gaussdb=# \dn+ d* \do[S] [PATTERN] 列出所有可用的操作符,以及它们的操作数和返回的数据类型。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果声明了PATTERN,只列出名称匹配PATTERN的操作符。缺省时,只列出用户创建的操作符。 - 列出所有可用的操作符,以及它们的操作数和返回的数据类型。 1 gaussdb=# \do \dO[S+] [PATTERN] 列出排序规则。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果声明了PATTERN,只列出名称匹配PATTERN的规则。缺省时,只列出用户创建的规则。 - 列出排序规则。 1 gaussdb=# \dO \dp [PATTERN] 列出可用的表、视图以及相关的权限信息。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果指定了PATTERN,只列出名称匹配PATTERN的表、视图。 - 列出可用的表、视图以及相关的权限信息。 1 gaussdb=# \dp \dp显示结果如下: rolename=xxxx/yyyy --赋予一个角色的权限 =xxxx/yyyy --赋予public的权限 xxxx表示赋予的权限,yyyy表示授予这个权限的角色。权限的参数说明请参见表5。 \drds [PATTERN1 [PATTERN2]] 列出所有修改过的配置参数。这些设置可以是针对角色的、针对数据库的或者同时针对两者的。PATTERN1和PATTERN2表示要列出的角色PATTERN和数据库PATTERN。如果声明了PATTERN,只列出名称匹配PATTERN的规则。缺省或指定*时,则会列出所有设置。 - 列出数据库所有修改过的配置参数。 1 gaussdb=# \drds * dbname \dT[S+] [PATTERN] 列出所有的数据类型。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。如果指定了PATTERN,只列出名称匹配PATTERN的类型。 - 列出所有的数据类型。 1 gaussdb=# \dT \du[+] [PATTERN] 列出所有数据库角色。如果指定了PATTERN,则只列出名称匹配PATTERN的角色。 说明: 因为用户和群组的概念被统一为角色,所以这个命令等价于\dg。为了和以前兼容,所以保留两个命令。 - 列出所有数据库角色。 1 gaussdb=# \du \dE[S+] [PATTERN] \di[S+] [PATTERN] \ds[S+] [PATTERN] \dt[S+] [PATTERN] \dv[S+] [PATTERN] 这一组命令,字母E、i、s、t和v分别代表着外部表、索引、序列、表和视图。可以以任意顺序指定其中一个或者它们的组合来列出这些对象。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。例如:\dit列出所有的索引和表。在命令名称后面追加+,则每一个对象的物理尺寸以及相关的描述也会被列出。如果指定了PATTERN,只列出名称匹配该PATTERN的对象。默认情况下只会显示用户创建的对象。通过PATTERN或者S修饰符可以把系统对象包括在内。 - 列出所有的索引和视图。 1 gaussdb=# \div \dx[+] [PATTERN] 列出安装数据库的扩展信息。如果指定了PATTERN,则只列出名称匹配PATTERN的扩展信息。 - 列出安装数据库的扩展信息。 1 gaussdb=# \dx \l[+] 列出服务器上所有数据库的名称、所有者、字符集编码以及使用权限。 - 列出服务器上所有数据库的名称、所有者、字符集编码以及使用权限。 1 gaussdb=# \l \sf[+] FUNCNAME 显示函数的定义。 说明: 对于带圆括号的函数名,需要在函数名两端添加双引号,并且在双引号后面加上参数类型列表。参数类型列表两端添加圆括号。 如果存在同名的函数,则会返回多个函数的定义。 - 假设存在函数function_a和函数名带圆括号的函数func()name,列出函数的定义。 1 2 3 gaussdb=# \sf function_a gaussdb=# \sf "func()name"(argtype1, argtype2) \z [PATTERN] 列出数据库中所有表、视图和序列,以及它们相关的访问特权。如果给出任何PATTERN,则被当成一个正则表达式,只显示匹配的表、视图、序列。 - 列出数据库中所有表、视图和序列,以及它们相关的访问特权。 1 gaussdb=# \z 表4中的选项S表示显示系统对象,+表示显示对象附加的描述信息。 PATTERN用来指定要被显示的对象名称。关于PATTERN的注意事项如下: 在最简单的情况下,PATTERN是该对象的准确名称。在PATTERN中的字符通常会被变成小写形式(和在SQL名称中相同),例如\dt FOO将会显示名为foo的表。和在SQL名称中相同,把PATTERN放在双引号中可以阻止它被转换成小写形式。如果需要在一个PATTERN中包括一个真正的双引号字符,则需要把它写成两个相邻的双引号,这同样是符合SQL引用标识符的规则。例如,\dt "FOO""BAR"将显示名为FOO"BAR(不是foo"bar)的表。和普通的SQL名称规则不同,不能只在PATTERN的一部分周围放上双引号,例如\dt FOO"FOO"BAR将会显示名为fooFOObar的表。 不使用PATTERN参数时,\d命令会显示当前schema搜索路径中可见的全部对象——这等价于用*作为PATTERN。所谓对象可见是指可以直接用名称引用该对象,而不需要用schema来进行限定。要查看数据库中所有的对象而不管它们的可见性,可以把*.*用作PATTERN。 如果放在一个PATTERN中,*将匹配任意字符序列(包括空序列),而?会匹配任意的单个字符(和Unix shell的文件名PATTERN相同)。例如,\dt int*会显示名称以int开始的表。但是如果被放在双引号内,*和?就会失去这些特殊含义而变成普通的字符。 包含一个点号(.)的PATTERN被解释为一个schema名称模式后面跟上一个对象名称模式。例如,\dt foo*.*bar*会显示名称以foo开始的schema中所有名称包括bar的表。如果没有出现点号,那么模式将只匹配当前schema搜索路径中可见的对象。同样,双引号内的点号会失去其特殊含义并且变成普通的字符。 高级用户可以使用字符类等正则表达式记法,如[0-9]可以匹配任意数字。所有的正则表达式特殊字符都按照POSIX正则表达式使用。以下字符除外: .会按照上文所述作为一种分隔符。 *会被翻译成正则表达式记号.*。 ?会被翻译成.。 $则按字面意思匹配。 根据需要,可以通过书写?、(R+|)、(R|)和R?来分别模拟PATTERN字符.、R*和R?。$不需要作为一个正则表达式字符,因为PATTERN必须匹配整个名称,而不是按照正则表达式的常规用法解释(换句话说,$会被自动地追加到PATTERN上)。如果不希望该PATTERN的匹配位置被固定,可以在开头或者结尾写上*。注意在双引号内,所有的正则表达式特殊字符会失去其特殊含义并且按照其字面意思进行匹配。另外,在操作符名称PATTERN中(即\do的PATTERN参数),正则表达式特殊字符也按照字面意思进行匹配。 表5 权限的参数说明 参数 参数说明 r SELECT:允许对指定的表、视图读取数据。 w UPDATE:允许对指定表更新字段。 a INSERT:允许对指定表插入数据。 d DELETE:允许删除指定表中的数据。 D TRUNCATE:允许清理指定表中的数据。 x REFEREN CES :允许创建外键约束,分布式场景暂不支持。 t TRIGGER:允许在指定表上创建触发器。 X EXECUTE:允许使用指定的函数,以及利用这些函数实现的操作符。 U USAGE: 对于过程语言,允许用户在创建函数时,指定过程语言。 对于模式,允许访问包含在指定模式中的对象。 对于序列,允许使用nextval函数。 C CREATE: 对于数据库,允许在该数据库里创建新的模式。 对于模式,允许在该模式中创建新的对象。 对于表空间,允许在其中创建表,以及允许创建数据库和模式的时候把该表空间指定为其缺省表空间。 c CONNECT:允许用户连接到指定的数据库。 T TEMPORARY:允许创建临时表。 A ALTER:允许用户修改指定对象的属性。 P DROP:允许用户删除指定的对象。 m COMMENT:允许用户定义或修改指定对象的注释。 i INDEX:允许用户在指定表上创建索引。 v VACUUM:允许用户对指定的表执行ANALYZE和VACUUM操作。 * 授权以上权限。 表6 格式化元命令 参数 参数说明 取值范围 \a 对齐模式和非对齐模式之间的切换。 - \C [STRING] 为表输出设置标题,或者取消标题(如果没有参数)。 任意字符串或空。 \f [STRING] 指定在非对齐输出模式下,用于分隔字段的字符或字符串。 任意字符串。 \H 标准输出和HTML表格格式输出之间的切换。 - \pset NAME [VALUE] 设置影响查询结果表输出的选项。 NAME的取值见表7。 \t [on|off] 切换输出的表格格式。 on:只显示数据行,不显示列标题和行计数。 off:显示完整的表格,包括列标题和行计数。 \T [STRING] 指定在使用HTML输出格式时放在table标签里的属性。如果参数为空,表示不设置。 - \x [on|off|auto] 切换扩展行显示模式。 on:启用扩展显示模式,每个字段单独一行显示。 off:禁用扩展显示模式,使用标准表格显示。 auto:根据查询结果的宽度自动选择是否使用扩展显示模式。 表7 可调节的打印选项 选项 选项说明 取值范围 border 用于控制表格输出时的边框样式。 在HTML格式下,取值范围为大于0的整数。 在其他格式下,取值范围: 0:无边框,表格输出时不显示任何边框线。 1:内部边框,显示列之间的分隔线,但不显示表格的外边框。 2:完整边框,显示外边框和内部分隔线。 expanded (或x) 在正常和扩展格式之间切换。 on:启用扩展显示模式,每个字段单独一行显示。 off:禁用扩展显示模式,使用标准表格显示。标准格式只对aligned和wrapped格式有意义。 auto:根据查询结果的宽度自动选择是否使用扩展显示模式。 fieldsep 用于控制在非对齐输出模式下,各个字段之间的分隔符。 可以设置为任意字符串。常见的取值包括','、'\t'、'|'等,如果不设置该选项,默认使用空格作为字段分隔符。 fieldsep_zero 用于设置未对齐输出模式下的字段分隔符为ASCII NUL字符。 - footer 用于设置查询结果的页脚。 on:显示页脚信息。 off:不显示页脚信息。 format 控制查询结果的输出格式。 unaligned(u):以未对齐的形式显示,字段之间使用当前的字段分隔符分隔。 aligned(a):以对齐的表格形式显示。 wrapped(w):与aligned类似,但会自动换行过长的值。 html(h):以HTML表格格式显示。 latex(l):以LaTeX表格格式显示。 troff-ms(t):以troff ms宏格式显示。 null 用于设置NULL值的显示方式。 任意字符串。如果不设置该选项,默认使用空白字符来代替NULL值。 numericlocale 用于控制数字输出格式时是否使用当前系统的区域设置。 on:数字输出时会使用当前系统的区域设置进行格式化。例如,在英语环境下,数字1,000.00会显示为1,000.00,在德语环境下会显示为1.000,00。 off:数字输出时不使用区域设置,而是使用标准的数字格式,如1000.00。 pager 控制查询和gsql帮助输出的分页器。如果设置了环境变量PAGER,输出将被指向到指定程序,否则使用系统缺省。 on:当输出到终端且不适合屏幕显示时,使用分页器。 off:不使用分页器。 always:当输出到终端无论是否符合屏幕显示时,都使用分页器。 recordsep 用于设置未对齐输出模式下的记录分隔符。 可以设置为任意字符串。常见的取值包括换行符(\n)、回车符(\r)、回车换行符(\r\n)等。如果不设置该选项,默认使用换行符(\n)作为记录分隔符。 recordsep_zero 用于设置未对齐输出模式下的记录分隔符为ASCII NUL字符。 - tableattr(或T) 声明放在HTML输出格式中HTML table标签的属性(例如:cellpadding或bgcolor)。注意:如果已经使用\pset border命令,这里无需再设置border。 例如bgcolor=#FFFFFF等。如果没有给出value,则表示不设置表的属性。 title 用于设置查询结果的标题。 可以设置为任意字符串,如果不设置该选项,查询结果将不会显示任何标题。 tuples_only(或t) 在完全显示和只显示实际的表数据之间切换。完全显示将输出像列头、标题、各种脚注等信息。在tuples_only模式下,只显示实际的表数据。 - feedback 在是否输出结果行数之间切换。 - 表8 连接元命令 参数 参数说明 取值范围 \c[onnect] [DBNAME|- USER|- HOST|- PORT|-] 连接到一个新的数据库。当数据库名称长度超过63个字节时,默认前63个字节有效,连接到前63个字节对应的数据库,但是gsql的命令提示符中显示的数据库对象名仍为截断前的名称。 说明: 重新建立连接时,如果切换数据库登录用户,可能会出现交互式输入,要求输入新用户的连接密码。该密码最大长度为999字节,受限于GUC参数password_max_length的最大值。 - \encoding [ENCODING] 设置客户端字符编码格式。 不带参数时,显示当前的编码格式。 \conninfo 输出当前连接的数据库的信息。 - 表9 操作系统元命令 参数 参数说明 取值范围 \cd [DIR] 切换当前的工作目录。 绝对路径或相对路径,且满足操作系统路径命名规则。 \setenv NAME [VALUE] 设置环境变量NAME为VALUE,如果没有给出VALUE值,则不设置环境变量。 - \timing [on|off] 以毫秒为单位显示每条SQL语句的执行时间(不包括屏显打印时间)。 on:表示打开显示。 off:表示关闭显示。 \! [COMMAND] 用于执行操作系统的命令。如果不跟任何参数,\!会直接打开一个独立的shell供用户交互。 - 表10 变量元命令 参数 参数说明 \prompt [TEXT] NAME 用于提示用户输入一个值,并将其存储在一个gsql变量中。TEXT表示提示用户输入的文本,NAME表示要将输入值存储的gsql变量。示例如下: gaussdb=# \prompt 'Enter area name: ' area Enter area name: Asia gaussdb=# SELECT * FROM HR.areaS WHERE area_name = :'area'; area_id | area_name ---------+----------- 3 | Asia (1 row) \set [NAME [VALUE]] 设置内部变量NAME为VALUE,如果给出了多于一个值,变量取值为所有值的连接结果。如果没有给出第二个参数,只设置变量不设置值。 有一些常用变量被gsql特殊对待,它们是一些选项设置,通常所有特殊对待的变量都是由大写字母组成(可能还有数字和下划线)。表11是所有被特殊对待的变量列表。 \unset NAME 不设置(或删除)gsql变量名。 表11 \set常用命令 名称 命令说明 取值范围 \set VERBOSITY value 该选项用于控制错误报告的冗余行。 default:返回严重且主要的错误文本及其位置,还包括详细的错误细节、错误提示(可能会跨越多行)。 verbose:返回所有的错误信息。 terse:仅返回严重且主要的错误文本以及文本位置(一般适合于单行错误信息)。 \set ON_ERROR_STOP value 如果设置了这个变量,脚本处理将马上停止。如果该脚本是从另外一个脚本调用的,另外一个脚本也会按同样的方式停止。如果最外层的脚本不是从一次交互的gsql会话中调用的而是用-f选项调用的,gsql将返回错误代码3,以示这个情况与致命错误条件的区别(错误代码为1)。 on:命令执行错误时会立即停止,在交互模式下,gsql会立即返回已执行命令的结果。 off:命令执行错误时将会跳过错误继续执行。 \set AUTOCOMMIT [on|off] 控制当前gsql连接的自动提交行为。默认情况下,gsql连接处于自动提交模式,每个单独的语句都被隐式提交。如果基于性能或者其它方面考虑,关闭自动提交时,需要用户自己显式发出COMMIT命令来保证事务的提交。例如,在指定的业务SQL执行完之后发送COMMIT语句显式提交,特别是gsql客户端退出之前务必保证所有的事务已经提交。 说明: gsql默认使用自动提交模式,若关闭自动提交,将会导致后面执行的语句都受到隐式事务包裹,数据库中不支持在事务中执行的语句不能在此模式下执行。 on:表示打开自动提交。 off:表示关闭自动提交。 表12 大对象元命令 参数 参数说明 \lo_list 显示目前存储在该数据库里的所有GaussDB大对象和提供给大对象的注释。 表13 全密态元命令 参数 参数说明 \send_token 全密态功能,传输密钥到服务端缓存,只在开启内存解密逃生通道的情况下使用。 \st 全密态功能,传输密钥到服务端缓存,只在开启内存解密逃生通道的情况下使用。 \clear_token 全密态功能,销毁服务端缓存的密钥,只在开启内存解密逃生通道的情况下使用。 \ct 全密态功能,销毁服务端缓存的密钥,只在开启内存解密逃生通道的情况下使用。 \key_info KEY_INFO 在全密态数据库特性中,设置访问外部密钥管理者的参数。 分布式暂不支持全密态内存解密逃生通道。 M-Compatibility暂不支持全密态数据库。
-
注意事项 一个gsql元命令的格式是反斜杠后面紧跟一个动词,然后是任意参数。参数命令动词和其他参数以任意个空白字符间隔。 要在参数里面包含空白,必须用单引号把它引起来。要在这样的参数里包含单引号,可以在前面加一个反斜杠。任何包含在单引号里的内容都会被进一步进行类似C语言的替换:\n(新行)、\t(制表符)、\b(退格)、\r(回车)、\f(换页)、\digits(八进制表示的字符)、\xdigits(十六进制表示的字符)。 用""包围的内容被当做一个命令行传入shell。该命令的输出(删除了结尾的新行)被当做参数值。 如果不带引号的参数以冒号(:)开头,它会被当做一个gsql变量,并且该变量的值最终会成为真正的参数值。 有些命令以一个SQL标识的名称(比如一个表)为参数。这些参数遵循SQL语法关于双引号的规则:不带双引号的标识强制转换成小写,而双引号保护字母不进行大小写转换,并且允许在标识符中使用空白。在双引号中,成对的双引号在结果名称中分析成一个双引号。比如,FOO"BAR"BAZ解析成fooBARbaz;而"Aweird""name"解析成Aweird"name。 对参数的分析在遇到另一个不带引号的反斜杠时停止,这里会认为是一个新的元命令的开始。特殊的双反斜杠序列(\\)标识参数的结尾,并将继续分析后面的SQL语句。这样SQL和gsql命令可以在一行中混合使用。但是在任何情况下,一条元命令的参数不能延续超过行尾。 M-Compatibility模式数据库不支持\h元命令。
-
示例 示例一 连接数据库并执行命令。 使用gsql连接到GaussDB服务器。 gsql工具使用-d参数指定目标数据库名、-U参数指定数据库用户名、-h参数指定主机名、-p参数指定端口号信息。详细的gsql参数请参见参数说明。 --使用jack用户连接到远程主机postgres数据库的8000端口。(根据实际需要替换各参数值) gsql -h 10.180.123.163 -d postgres -U jack -p 8000 若未指定数据库名称,则使用初始化时默认生成的数据库名称。 若未指定数据库用户名,则默认使用当前操作系统用户作为数据库用户名。 当某个值没有前面的参数(-d、-U等)时,若连接的命令中没有指定数据库名(-d),则该参数会被解释为数据库名;如果已经指定数据库名(-d)而没有指定数据库用户名(-U),该参数则会被解释为数据库用户名。 例如,以下命令中,参数postgres和omm不属于任何选项,会被分别解释为数据库名和用户名。 gsql postgres omm -p 8000 等效于以下命令。 gsql -d postgres -U omm -p 8000 执行SQL语句。 1 2 3 --创建数据库human_staff。 gaussdb=# CREATE DATABASE human_staff; CREATE DATABASE 执行gsql元命令和SQL语句。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 --列出GaussDB中所有的数据库和描述信息。 gaussdb=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges ----------------+----------+-----------+---------+-------+----------------------- human_resource | omm | SQL_ASCII | C | C | postgres | omm | SQL_ASCII | C | C | template0 | omm | SQL_ASCII | C | C | =c/omm + | | | | | omm=CTc/omm template1 | omm | SQL_ASCII | C | C | =c/omm + | | | | | omm=CTc/omm human_staff | omm | SQL_ASCII | C | C | gaussdb | omm | SQL_ASCII | C | C | (6 rows) --删除数据库human_staff。 gaussdb=# DROP DATABASE human_staff; DROP DATABASE 更多gsql元命令请参见元命令参考。 示例二 获取帮助信息。 gsql --help gsql is the GaussDB Kernel interactive terminal. Usage: gsql [OPTION]... [DBNAME [USERNAME]] General options: -c, --command=COMMAND run only single command (SQL or internal) and exit -d, --dbname=DBNAME database name to connect to (default: "omm") -f, --file=FILENAME execute commands from file, then exit -l, --list list available databases, then exit -v, --set=, --variable=NAME=VALUE set gsql variable NAME to VALUE -V, --version output version information, then exit -X, --no-gsqlrc do not read startup file (~/.gsqlrc) -1 ("one"), --single-transaction execute command file as a single transaction -?, --help show this help, then exit Input and output options: -a, --echo-all echo all input from script -e, --echo-queries echo commands sent to server -E, --echo-hidden display queries that internal commands generate -k, --with-key=KEY the key for decrypting the encrypted file -L, --log-file=FILENAME send session log to file -m, --maintenance can connect to cluster during 2-pc transaction recovery -n, --no-libedit disable enhanced command line editing (libedit) -o, --output=FILENAME send query results to file (or |pipe) -q, --quiet run quietly (no messages, only query output) -C, -C1, --enable-client-encryption=1 enable client encryption feature -C2, --enable-client-encryption=2 enable client sorting based client encryption feature -C3, --enable-client-encryption=3 enable Trusted Domain operation based on client encryption feature -s, --single-step single-step mode (confirm each query) -S, --single-line single-line mode (end of line terminates SQL command) -y, --slash-command enable slash command to re-execute query in buffer Output format options: -A, --no-align unaligned table output mode -F, --field-separator=STRING set field separator (default: "|") -H, --html HTML table output mode -P, --pset=VAR[=ARG] set printing option VAR to ARG (see \pset command) -R, --record-separator=STRING set record separator (default: newline) -r if this parameter is set,use libedit -t, --tuples-only print rows only -T, --table-attr=TEXT set HTML table tag attributes (e.g., width, border) -x, --expanded turn on expanded table output -z, --field-separator-zero set field separator to zero byte -0, --record-separator-zero set record separator to zero byte -2, --pipeline use pipeline to pass the password, forbidden to use in terminal must use with -c or -f Connection options: -h, --host=HOSTNAME database server host or socket directory (default: "/data/huawei/wisequery/perfadm_mppdb") allow multi host IP address with comma separator, Use the PGTARGETSESSIONATTRS(default: "primary") variable to select the IP address to be connected. (PGTARGETSESSIONATTRS can be {read-write|read-only|primary| standby|prefer-standby|any}) -p, --port=PORT database server port (default: "5432") -U, --username=USERNAME database user name (default: "omm") -W, --password=PASSWORD the password of specified database user For more information, type "\?" (for internal commands) or "\help" (for SQL commands) from within gsql, or consult the gsql section in the GaussDB Kernel documentation.
-
参数说明 详细的gsql参数请参见表6、表7、表8和表9。 表6 常用参数 参数 参数说明 取值范围 -c, --command=COMMAND 声明gsql要执行一条字符串命令然后退出。 - -d, --dbname=DBNAME 指定连接的数据库名称。若未指定数据库名称,则使用初始化时默认生成的数据库名称。 另外,gsql允许使用扩展的DBNAME,即'postgres[ql]://[user[:password]@][netloc][:port][,...][/dbname][?param1=value1&...]'或'[key=value] [...]'形式的连接串作为DBNAME,gsql将从连接串中解析连接信息,并优先使用这些信息。 说明: gsql使用扩展的DBNAME创建连接时,不支持指定replication参数。 字符串。 -f, --file=FILENAME 使用文件作为命令源而不是交互式输入。gsql将在处理完文件后结束。如果FILENAME是-(连字符),则从标准输入读取。 绝对路径或相对路径,且满足操作系统路径命名规则。 -l, --list 列出所有可用的数据库,然后退出。 - -v, --set=, --variable=NAME=VALUE 设置gsql变量NAME为VALUE。 变量的示例和详细说明请参见•变量。 - -X, --no-gsqlrc 不读取启动文件(系统范围的gsqlrc或者用户的~/.gsqlrc都不读取)。 说明: 启动文件默认为~/.gsqlrc,或通过PSQLRC环境变量指定。 - -1 ("one"), --single-transaction 当gsql使用-f选项执行脚本时,会在脚本的开头和结尾分别加上START TRANSACTION/COMMIT用以把整个脚本当作一个事务执行。这将保证该脚本完全执行成功,或者脚本无效。 说明: 如果脚本中已经使用了START TRANSACTION、COMMIT、ROLLBACK,则该选项无效。 - -y, --slash-command 将当前语句终结并发送到内核执行或者重新执行已经执行过的语句(不包括gsql元命令)。 说明: 该功能仅支持ORA兼容模式数据库,而且不支持-c, --command参数的使用场景。 ORA兼容模式数据库下默认普通语句分隔符为;,PL/SQL为/,使用该参数时不支持更换分隔符。 - -?, --help 显示关于gsql命令行参数的帮助信息然后退出。 - -V, --version 打印gsql版本信息然后退出。 - 表7 输入和输出参数 参数 参数说明 取值范围 -a, --echo-all 在读取行时向标准输出打印所有内容。 须知: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。 - -e, --echo-queries 把所有发送给服务器的查询同时回显到标准输出。 须知: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。 - -E, --echo-hidden 回显由\d和其他反斜杠命令生成的实际查询。 - -k, --with-key=KEY 使用gsql对导入的加密文件进行解密。 须知: 对于本身就是shell命令中的关键字符如单引号(')或双引号("),Linux shell会检测输入的单引号(')或双引号(")是否匹配。如果不匹配,shell认为用户没有输入完毕,会一直等待用户输入,从而不会进入到gsql程序。 不支持解密导入存储过程和函数。 - -L, --log-file=FILENAME 除了正常的输出源之外,把所有查询输出记录到文件FILENAME中。 须知: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。 此参数只保留查询结果到相应文件中,主要目标是为了查询结果能够更好更准确地被其他调用者(例如自动化运维脚本)解析,而不是保留gsql运行过程中的相关日志信息。 绝对路径或相对路径,且满足操作系统路径命名规则。 -m, --maintenance 允许在两阶段事务恢复期间连接集群。 说明: 该选项是一个开发选项,禁止用户使用,只限专业技术人员使用,功能是:使用该选项时,gsql可以连接到备机,用于校验主备机数据的一致性。 - -n, --no-libedit 关闭命令行编辑。 - -o, --output=FILENAME 将所有查询输出重定向到文件FILENAME。 绝对路径或相对路径,且满足操作系统路径命名规则。 -q, --quiet 安静模式,执行时不会打印出额外信息。 缺省时gsql将打印许多其他输出信息。 -s, --single-step 单步模式运行。意味着每个查询在发往服务器之前都要提示用户,用这个选项也可以取消执行。此选项主要用于调试脚本。 须知: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。 - -S, --single-line 单行运行模式,这时每个命令都将由换行符结束。 - -C,-C1, --enable-client-encryption=1 当使用-C参数连接本地数据库或者连接远程数据库时,可通过该选项打开密态数据库开关,此开关为密态等值查询基本能力开关。 - -C3,--enable-client-encryption=3 当使用-C参数连接本地数据库或者连接远程数据库时,可通过该选项打开内存解密逃生通道开关,支持密态等值查询基本能力以及内存解密逃生通道能力。 - 表8 输出格式参数 参数 参数说明 -A, --no-align 切换为非对齐输出模式。缺省为对齐输出模式。 -F, --field-separator=STRING 设置域分隔符(默认为“|”)。 -H, --html 打开HTML格式输出。 -P, --pset=VAR[=ARG] 在命令行上以\pset的风格设置打印选项。 说明: 这里必须用等号而不是空格分隔名称和值。例如,把输出格式设置为LaTeX,可以键入-P format=latex。 -R, --record-separator=STRING 设置记录分隔符。 -r 开启在客户端操作中可以进行编辑的模式。缺省为关闭。 -t, --tuples-only 只打印行。 -T, --table-attr=TEXT 允许声明放在HTML table标签里的选项。 使用时请搭配参数“-H,--html”,指定为HTML格式输出。 -x, --expanded 启用扩展格式显示。 -z, --field-separator-zero 设置非对齐输出模式的域分隔符为空。 使用时请搭配参数“-A, --no-align”,指定为非对齐输出模式。 -0, --record-separator-zero 设置非对齐输出模式的记录分隔符为空。 使用时请搭配参数“-A, --no-align”,指定为非对齐输出模式。 -2, --pipeline 使用管道传输密码,禁止在终端使用,必须和-c或者-f参数一起使用。 表9 连接参数 参数 参数说明 取值范围 -h, --host=HOSTNAME 指定正在运行服务器的主机名、Unix域套接字的路径或者 域名 。接受以“,”分隔的字符串来指定多个主机地址,支持指定多个主机地址,支持指定IPv6主机地址。 当指定多个主机地址时,默认情况下会跳过故障的节点,自动选择第一个可用的主节点进行连接。可通过设置PGTARGETSESSIONATTRS环境变量的值来选择连接到不同类型的节点,PGTARGETSESSIONATTRS变量取值如下: read-write:可读写的节点。 read-only:只读节点。 primary或者不设定:主节点。 standby:备节点。 prefer-standby:首选备节点,没有备节点则转为any。 any:不进行角色检查。 说明: 主CN节点和主DN节点都是主节点,一般情况下DN节点都是只读节点,可以通过设置PGTARGETSESSIONATTRS为read-write来选择连接到CN节点。 如果省略主机名,gsql将通过Unix域套接字与本地主机的服务器相连,或者在没有Unix域套接字的机器上,通过TCP/IP与localhost连接。 -p, --port=PORT 指定数据库服务器的端口号。可以配置一个或多个,当配置一个时,所有的主机地址都使用同一个端口连接;当配置多个时,顺序与主机地址顺序相同,个数必须与主机地址数相等,当不相等时会报错。 可以通过port参数修改默认端口号。 默认端口可通过编译参数来指定,不指定的话默认为5432。 -U, --username=USERNAME 指定连接数据库的用户。 说明: 通过该参数指定用户连接数据库时,需要同时提供用户密码用以身份验证。可以通过交互方式输入密码,或者通过-W参数指定密码。 用户名中包含有字符$,需要在字符$前增加转义字符才可成功连接数据库。 字符串,默认使用与当前操作系统用户同名的用户。 -W, --password=PASSWORD 当使用-U参数连接本地数据库或者连接远端数据库时,可通过该选项指定密码。 说明: 登录CN所在服务器后连接本地CN实例时,默认使用trust连接,会忽略此参数。 用户密码中包含特殊字符“\”和“`”时,需要增加转义字符才可成功连接数据库。 如果用户未输入该参数,但是数据库连接需要用户密码,这时将出现交互式输入,请用户输入当前连接的密码。该密码最长长度为999字节,受限于GUC参数password_max_length的最大值。 字符串。
-
工具介绍 gs_restore是GaussDB提供的针对gs_dump导出数据的导入工具。通过此工具可将gs_dump导出生成的文件进行导入。 主要功能包含: 导入到数据库 如果连接参数中指定了数据库,则数据将被导入到指定的数据库中。其中,并行导入必须指定连接的密码。 导入到归档文件 如果参数指定"-l",则生成归档文件,其中包含简略的数据总结。 gs_restore支持SSL加密通信,使用方式同gsql方式。 使用gs_restore前请确保gs_restore版本与gs_dump版本、数据库版本保持一致。 M-Compatibility模式数据库下,禁止在lower_case_table_names参数不同的库之间进行导入导出,否则可能引起数据丢失。 gs_restore当前设计不兼容三权分立,三权分立下仅可通过初始用户使用gs_restore工具。导入的文件也需要通过初始用户执行。
-
示例 gs_restore用来导入由gs_dump生成的导出文件。 示例1: 执行gs_restore,将导出的MPPDB_backup.dmp文件(自定义归档格式)导入到testdb数据库。 gs_restore backup/MPPDB_backup.dmp -p 8000 -d testdb restore operation successful total time: 13053 ms 示例2: 执行gs_restore,将导出的MPPDB_backup.tar文件(tar格式)导入到testdb数据库。 gs_restore backup/MPPDB_backup.tar -p 8000 -d testdb restore operation successful total time: 21203 ms 示例3: 执行gs_restore,将导出的MPPDB_backup文件(目录格式)导入到testdb数据库。 gs_restore backup/MPPDB_backup -p 8000 -d testdb restore operation successful total time: 21003 ms 示例4: 执行gs_restore,使用自定义归档格式的MPPDB_backup.dmp文件来进行如下导入操作。 导入PUBLIC模式下所有对象的定义和数据。在导入时会先删除已经存在的对象,如果原对象存在跨模式的依赖则需手工强制干预。 gs_restore backup/MPPDB_backup.dmp -p 8000 -d testdb -e -c -n PUBLIC Error while PROCESSING TOC: Error from TOC entry 313; 1259 337399 TABLE table1 gaussdba could not execute query: ERROR: cannot drop table table1 because other objects depend on it DETAIL: view t1.v1 depends on table table1 HINT: Use DROP ... CASCADE to drop the dependent objects too. Command was: DROP TABLE IF EXISTS public.table1; 手工删除依赖,导入完成后再重新创建。 gs_restore backup/MPPDB_backup.dmp -p 8000 -d testdb -e -c -n PUBLIC restore operation successful total time: 2203 ms 示例5: 执行gs_restore,使用自定义归档格式的MPPDB_backup.dmp文件来进行如下导入操作。只导入PUBLIC模式下表table1的定义。 gs_restore backup/MPPDB_backup.dmp -p 8000 -d testdb -e -c -s -n PUBLIC -t table1 restore operation successful total time: 21000 ms 示例6: 执行gs_restore,使用自定义归档格式的MPPDB_backup.dmp文件来进行如下导入操作。只导入PUBLIC模式下表table1的数据。 gs_restore backup/MPPDB_backup.dmp -p 8000 -d testdb -e -a -n PUBLIC -t table1 restore operation successful total time: 20203 ms 特例: 执行gsql程序,使用如下选项导入由gs_dump/gs_dumpall生成导出文件夹(纯文本格式)的MPPDB_backup.sql文件到testdb数据库。 gsql -d testdb -p 8000 -f /home/omm/test/MPPDB_backup.sql SET SET SET SET SET ALTER TABLE ALTER TABLE ALTER TABLE ALTER TABLE ALTER TABLE CREATE INDEX CREATE INDEX CREATE INDEX SET CREATE INDEX REVOKE REVOKE GRANT GRANT total time: 30476 ms 示例中“-f”后的是导出的文件,“8000”表示数据库服务器端口;“testdb”表示要访问的数据库名。
-
命令格式 gs_restore [OPTION]... FILE FILE没有短选项或长选项。用来指定归档文件所处的位置。 作为前提条件,需输入dbname或-l选项。不允许用户同时输入dbname和-l选项。 gs_restore默认是以追加的方式进行数据导入。为避免多次导入造成数据异常,在进行导入时,建议选择使用“-c”和“-e”参数。“-c”表示在重新创建数据库对象前,清理(删除)已存在于将要还原的数据库中的数据库对象;“-e”表示当发送SQL语句到数据库时如果出现错误请退出,默认状态下会继续,且在导入后会显示一系列错误信息。 在进行导入时,如果schema对象的owner拥有OPRADMIN的系统权限,那么在导入时需要使用初始用户。 在进行导入时,如果数据中存在非法编码的数据并且不需要进行转码,可以配置数据库兼容性参数copy_special_character_version为'no_error'将非法编码的数据进行导入,否则会报错,但不会中断导入。
-
示例 使用gs_dumpall一次导出集群的所有数据库。 gs_dumpall仅支持纯文本格式导出。所以只能使用gsql恢复gs_dumpall导出的转储内容。 导出所有数据库。 backup/bkp2.sql表示导出的文件,29900表示数据库服务器端口,omm为用户名。 gs_dumpall -U omm -f ./backup/bkp2.sql -p 29900 gs_dump[user='omm'][localhost][port='29900'][dbname='postgres'][2024-11-11 11:00:01]: The total objects number is 458. gs_dump[user='omm'][localhost][port='29900'][dbname='postgres'][2024-11-11 11:00:01]: [100.00%] 458 objects have been dumped. gs_dump[user='omm'][localhost][port='29900'][dbname='postgres'][2024-11-11 11:00:01]: dump database dbname='postgres' successfully gs_dump[user='omm'][localhost][port='29900'][dbname='postgres'][2024-11-11 11:00:01]: total time: 3239 ms gs_dumpall[user='omm'][localhost][port='29900'][2024-11-11 11:00:01]: dumpall operation successful gs_dumpall[user='omm'][localhost][port='29900'][2024-11-11 11:00:01]: total time: 3305 ms 设置4并发导出所有数据库。 gs_dumpall -U omm -f ./backup/bkp2.sql -p 29900 --parallel-jobs 4 gs_dump[user='omm'][localhost][port='29900'][dbname='postgres'][2024-11-11 11:04:13]: The total objects number is 458. gs_dump[user='omm'][localhost][port='29900'][dbname='postgres'][2024-11-11 11:04:13]: [100.00%] 458 objects have been dumped. gs_dump[user='omm'][localhost][port='29900'][dbname='postgres'][2024-11-11 11:04:13]: dump database dbname='postgres' successfully gs_dump[user='omm'][localhost][port='29900'][dbname='postgres'][2024-11-11 11:04:13]: total time: 3261 ms gs_dumpall[user='omm'][localhost][port='29900'][2024-11-11 11:04:13]: dumpall operation successful gs_dumpall[user='omm'][localhost][port='29900'][2024-11-11 11:04:13]: total time: 3320 ms 只导出全局对象(角色和表空间)。 gs_dumpall -U omm -f ./backup/bkp2.sql -p 29900 -g gs_dumpall[user='omm'][localhost][port='29900'][2024-11-11 11:06:00]: dumpall operation successful gs_dumpall[user='omm'][localhost][port='29900'][2024-11-11 11:06:00]: total time: 45 ms 指定导出文件用AES128进行加密。 使用实际的密码替换********。 gs_dumpall -U omm -f ./backup/bkp2.sql -p 29900 --with-encryption=AES128 --with-key='********' gs_dump[user='omm'][localhost][port='29900'][dbname='postgres'][2024-11-11 11:07:20]: The total objects number is 459. gs_dump[user='omm'][localhost][port='29900'][dbname='postgres'][2024-11-11 11:07:20]: [100.00%] 459 objects have been dumped. gs_dump[user='omm'][localhost][port='29900'][dbname='postgres'][2024-11-11 11:07:21]: dump database dbname='postgres' successfully gs_dump[user='omm'][localhost][port='29900'][dbname='postgres'][2024-11-11 11:07:21]: total time: 3518 ms gs_dumpall[user='omm'][localhost][port='29900'][2024-11-11 11:07:21]: dumpall operation successful gs_dumpall[user='omm'][localhost][port='29900'][2024-11-11 11:07:21]: total time: 3764 ms
-
工具介绍 gs_dumpall是GaussDB用于导出所有数据库相关信息工具,它可以导出集群数据库的所有数据,包括默认数据库postgres的数据、自定义数据库的数据、以及集群所有数据库公共的全局对象。 gs_dumpall工具在进行数据导出时,其他用户可以访问集群数据库(读或写)。 gs_dumpall工具支持导出完整一致的数据。例如,T1时刻启动gs_dumpall导出整个集群数据库,那么导出数据结果将会是T1时刻该集群数据库的数据状态,T1时刻之后对集群数据库的修改不会被导出。 gs_dumpall在导出整个集群所有数据库时分为两部分: gs_dumpall自身对所有数据库公共的全局对象进行导出,包括有关数据库用户和组,表空间以及属性(例如,适用于数据库整体的访问权限)信息。 gs_dumpall通过调用gs_dump来完成集群中各数据库的SQL脚本文件导出,该脚本文件包含将数据库恢复为其保存时的状态所需要的全部SQL语句。 以上两部分导出的结果为纯文本格式的SQL脚本文件,使用gsql运行该脚本文件可以恢复集群数据库。 gs_dumpall支持SSL加密通信,使用方式同gsql方式。 使用gs_dumpall前请确保gs_dumpall版本与gs_dump版本、数据库版本保持一致,高版本gs_dumpall不保证完全兼容低版本内核数据。 M-Compatibility模式数据库下,禁止在lower_case_table_names参数不同的库之间进行导入导出,否则可能引起数据丢失。
-
注意事项 禁止修改导出的文件和内容,否则可能无法恢复成功。 为了保证数据一致性和完整性,gs_dumpall会对需要转储的表设置共享锁。如果某张表在别的事务中设置了共享锁,gs_dumpall会等待此表的锁释放后锁定此表。如果无法在指定时间内锁定某张表,转储会失败。用户可以通过指定--lock-wait-timeout选项,自定义等待锁超时时间。 由于gs_dumpall读取所有数据库中的表,因此必须以数据库集群管理员身份进行连接,才能导出完整文件。在使用gsql执行脚本文件导入时,同样需要管理员权限,以便添加用户和组,以及创建数据库。导入备份前,验证其安全性,防止管理员权限被利用。 使用gs_dumpall导出所有数据库对象,并希望在新的实例环境上进行导入时,需要保证导出和导入时使用用户的名称和权限相同,否则会出现名称不一致或权限不足的报错。 对于定时任务,本工具仅支持导出在MYSQL兼容性数据库中,通过CREATE EVENT创建的定时任务或通过高级包创建的非周期性定时任务。 gs_dumpall不支持导出自定义Tokenweight分词词典,可以根据报错WARNING: dictionary xx cannot be automatically exported, please create it manually手动创建对应分词词典。 由于M-compatibility模式数据库全局只能创建一个,当导出的数据库中包含M-compatibility模式数据库时,须保证导入的目标实例环境上不存在其他的M-compatibility模式数据库。 当指定转储编码存在转码场景时,且表中的数据存在非法编码的数据,导出会报错invalid byte sequence,建议使用gs_dump的-s参数只导出定义,并单独使用COPY打开编码容错进行数据的导出与导入。 gs_dumpall当前设计不兼容三权分立,三权分立下仅可通过初始用户使用gs_dumpall工具。导入的文件也需要通过初始用户执行。
-
示例 以下示例中,“backup/MPPDB_backup.sql”表示导出的文件,其中backup表示相对于当前目录的相对目录;“37300”表示数据库服务器端口;“testdb”表示要访问的数据库名。 导出操作时,请确保该目录存在并且当前的操作系统用户对其具有读写权限。 示例一 执行gs_dump,导出testdb数据库全量信息,导出的MPPDB_backup.sql文件格式为纯文本格式。 gs_dump -U omm -f backup/MPPDB_backup.sql -p 37300 testdb -F p gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 09:49:17]: The total objects number is 356. gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 09:49:17]: [100.00%] 356 objects have been dumped. gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 09:49:17]: dump database testdb successfully gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 09:49:17]: total time: 1274 ms 示例二 执行gs_dump,导出testdb数据库全量信息,导出的MPPDB_backup.tar文件格式为tar格式。 gs_dump -U omm -f backup/MPPDB_backup.tar -p 37300 testdb -F t gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:02:24]: The total objects number is 1369. gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:02:53]: [100.00%] 1369 objects have been dumped. gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:02:53]: dump database testdb successfully gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:02:53]: total time: 50086 ms 示例三 执行gs_dump,导出testdb数据库全量信息,导出的MPPDB_backup.dmp文件格式为自定义归档格式。 gs_dump -U omm -f backup/MPPDB_backup.dmp -p 37300 testdb -F c gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:05:40]: The total objects number is 1369. gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:06:03]: [100.00%] 1369 objects have been dumped. gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:06:03]: dump database testdb successfully gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:06:03]: total time: 36620 ms 示例四 执行gs_dump,导出testdb数据库全量信息,导出的MPPDB_backup文件格式为目录格式。 gs_dump -U omm -f backup/MPPDB_backup -p 37300 testdb -F d gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:16:04]: The total objects number is 1369. gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:16:23]: [100.00%] 1369 objects have been dumped. gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:16:23]: dump database testdb successfully gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:16:23]: total time: 33977 ms 示例五 执行gs_dump,导出testdb数据库信息,但不导出/home/MPPDB_temp.sql中指定的表信息。导出的MPPDB_backup.sql文件格式为纯文本格式。 gs_dump -U omm -p 37300 testdb --exclude-table-file=/home/MPPDB_temp.sql -f backup/MPPDB_backup.sql gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:37:01]: The total objects number is 1367. gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:37:22]: [100.00%] 1367 objects have been dumped. gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:37:22]: dump database testdb successfully gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-27 10:37:22]: total time: 37017 ms 示例六 执行gs_dump,仅导出依赖于指定表testtable的视图信息。 gs_dump -U omm -s -p 37300 testdb -t PUBLIC.testtable --include-depend-objs --exclude-self -f backup/MPPDB_backup.sql -F p gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-15 14:12:54]: The total objects number is 331. gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-15 14:12:54]: [100.00%] 331 objects have been dumped. gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-15 14:12:54]: dump database testdb successfully gs_dump[user='omm'][localhost][port='37300'][testdb][2018-06-15 14:12:54]: total time: 327 ms
-
注意事项 使用gs_dump前请确保gs_dump版本与数据库版本保持一致,高版本gs_dump不保证完全兼容低版本内核数据。 gs_dump不适合使用在库中对象数量(表、视图、索引等)过多的场景。当库中对象数量超过十万级,或者对象间依赖关系过于复杂时,gs_dump导出时间会很长。 禁止修改-F c/d/t格式导出的文件和内容,否则可能无法恢复成功。对于-F p格式导出的文件,如有需要,可谨慎编辑导出的文件。 为了保证数据一致性和完整性,gs_dump会对需要转储的表设置共享锁。如果表在别的事务中设置了共享锁,gs_dump会等待锁释放后锁定表。如果无法在指定时间内锁定某个表,转储会失败。用户可以通过指定--lock-wait-timeout选项,自定义等待锁超时时间。 不支持加密导出存储过程和函数。 对于物化视图,本工具仅支持物化视图定义的导出,在导入后需手动执行REFRESH命令来进行数据恢复。 对于临时对象,本工具仅支持导出全局临时表。 本工具不支持在备机上使用。 由于DN上系统表中分布信息不完整,所以在DN使用gs_dump时,不会转储表的分布信息。 gs_dump导出分区索引时,部分索引分区的属性无法导出,比如索引分区的unusable状态。可以通过查询系统表PG_PARTITION或者查询视图ADM_IND_PARTITIONS获取索引分区的具体属性,通过ALTER INDEX命令可以手动设置索引分区属性。 对于定时任务,本工具仅支持导出在MYSQL兼容性数据库中,通过CREATE EVENT创建的定时任务,通过高级包创建的定时任务不支持被导出。仅初始用户可导出所有定时任务,具有sysadmin权限的用户可导出owner为该用户的定时任务,没有相关权限的普通用户无法导出定时任务。 gs_dump不支持导出自定义Tokenweight分词词典,可以根据报错WARNING: dictionary xx cannot be automatically exported, please create it manually手动创建对应分词词典。 如果数据库中存在初始用户创建的表且表上有含用户自定义函数的表达式索引,系统管理员使用gs_dump导出后,需要使用初始用户通过gsql或gs_restore进行导入。否则会因为安全原因,导致创建索引失败。 普通用户不支持导出DIRECTORY、SYNONYM,若普通用户进行相关导出,会提示“WARNING: xx not dumped because current user is not a superuser”。 如果源数据库实例的template1中存在本地数据,请将gs_dump的输出恢复到一个真正的空数据库(从template0而非template1复制),否则可能会因为被添加对象的定义被复制,出现错误。创建一个无本地添加的空数据库,需从template0而非template1复制,例如: CREATE DATABASE foo WITH TEMPLATE template0; tar归档形式的单个文件大小不得超过8GB(tar文件格式的固有限制)。tar文档整体大小和任何其他输出格式没有限制,操作系统可能对此有要求。 由gs_dump生成的转储文件不包含优化程序用来做执行计划决定的统计数据。因此,建议从某转储文件恢复之后运行ANALYZE以确保最佳效果。转储文件不包含ALTER DATABASE…SET命令、数据库用户和其他完成安装设置,这些设置由gs_dumpall转储。 gs_dump当前设计不兼容三权分立,三权分立下仅可通过初始用户使用gs_dump工具。导入的文件也需要通过初始用户执行。 gs_dump不导出失效函数,需要导出函数前请确保函数有效,失效的函数会打印告警,提示对应OID的函数失效。 PACKAGE外的函数参数类型是表的列类型(table.column%type)、视图的列类型(view.column%type),且列类型是基础类型时,导出的函数定义中,参数类型会被转化为对应的基础类型。通过ALTER TABLE MODIFY COLUMN的方式修改表的列类型并执行ALTER FUNCTION COMPILE,或者修改视图查询表的列类型后重建视图并执行ALTER FUNCTION COMPILE,PG_PROC系统表中该函数PROARGSRC字段中参数类型不会随之变化,导出的函数定义中,参数类型依然是对象列类型变更前的基础类型。
-
工具介绍 gs_dump是GaussDB用于导出数据库相关信息的工具,用户可以自定义导出一个数据库或其中的对象(模式、表、视图等)。支持导出的数据库可以是默认数据库postgres,也可以是自定义数据库。 gs_dump支持SSL加密通信。 gs_dump工具在进行数据导出时,其他用户可以访问集群数据库(读或写)。 gs_dump工具导出完整一致的数据。例如,T1时刻启动gs_dump导出A数据库,那么导出数据结果将会是T1时刻A数据库的数据状态,T1时刻之后对A数据库的修改不会被导出。 gs_dump支持将数据库信息导出至纯文本格式的SQL脚本文件或其他归档文件中。 纯文本格式的SQL脚本文件:包含将数据库恢复为其保存时的状态所需的SQL语句。通过gsql连接数据库运行该SQL脚本文件,可以恢复数据库。即使在其他主机和其他数据库产品上,只要对SQL脚本文件稍作修改,也可以用来重建数据库。 归档格式文件:包含将数据库恢复为其保存时的状态所需的数据,可以是tar格式、目录归档格式或自定义归档格式,详见表1。该导出结果必须与gs_restore配合使用来恢复数据库,使用gs_restore工具导入时,系统允许用户选择需要导入的内容,甚至可以在导入之前对等待导入的内容进行排序。 gs_dump支持四种不同的导出文件格式,通过[-F或者--format=]选项指定,具体如表1所示。 表1 导出文件格式 格式名称 -F的参数值 说明 建议 对应导入工具 纯文本格式 p 纯文本脚本文件包含SQL语句和命令。命令可以由gsql命令行终端程序执行,用于重新创建数据库对象并加载表数据。 小型数据库,或者需要对导出的sql文件进行修改,推荐纯文本格式。 使用gsql工具恢复数据库对象前,可根据需要使用文本编辑器编辑纯文本导出文件。 自定义归档格式 c 一种二进制文件。支持从导出文件中恢复所有或所选的数据库对象。 中型或大型数据库,推荐自定义归档格式。 使用gs_restore可以选择要从自定义归档/目录归档/tar归档导出文件中导入相应的数据库对象。 目录归档格式 d 该格式会创建一个目录,该目录包含两类文件,一类是包含数据库对象的目录文件,另一类是每个表和blob对象对应的数据文件。 需要将数据库对象与数据分目录存储导出,推荐使用目录归档格式。 tar归档格式 t tar归档文件支持从导出文件中恢复所有或所选的数据库对象。tar归档格式不支持压缩且对于单个文件大小应小于8GB。 需要将归档结果导出并打包,可以使用tar归档格式。 可以使用gs_dump工具将文件压缩为目录归档或自定义归档导出文件,减少导出文件的大小。生成目录归档或自定义归档导出文件时,默认进行中等级别的压缩。gs_dump程序无法压缩已归档导出文件。 M-Compatibility模式数据库下,禁止在lower_case_table_names参数不同的库之间进行导入导出,否则可能引起数据丢失。
-
区域和可用区 区域和可用区用来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个实例。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。更多信息请参见华为云全球站点。
-
其他故障 问题:出现因“总线错误”(Bus error)导致的core dump或异常退出。 解决: 一般情况下出现此种问题,是进程运行过程中加载的共享动态库(在Linux为.so文件)出现变化,或者进程二进制文件本身出现变化,导致操作系统加载机器的执行码或者加载依赖库的入口发生变化,操作系统出于保护目的将进程终止,产生core dump文件。为解决此问题,请重试。同时请尽可能避免在升级等运维操作过程中,在数据库内部运行业务程序,避免升级时因替换文件产生此问题。 此故障的core dump文件的堆栈可能是dl_main及其子调用,它是操作系统用来初始化进程做共享动态库加载的。如果进程已经初始化,但是共享动态库还未加载完成,严格意义上来说,此时进程并未完全启动。
-
创建连接故障 问题:gsql: could not connect to server: No route to host 解决: 此问题一般是因为指定了不可达的地址或者端口。请检查-h参数与-p参数是否添加正确。 问题:gsql: FATAL: Invalid username/password,login denied. 解决: 此问题一般是因为输入了错误的用户名和密码,请联系数据库管理员,确认用户名和密码的正确性。 问题:gsql: FATAL: Forbid remote connection with trust method! 解决: 由于安全问题,数据库禁止远程登录时使用trust模式。这时需要修改gs_hba.conf里的连接认证信息。请联系管理员处理。 请不要修改gs_hba.conf中数据库主机的相关设置,否则可能导致数据库功能故障。建议业务应用部署在数据库之外,而非数据库内部。 问题:在DN连接数据库,添加“-h 127.0.0.1”可以连接,去掉后无法连接。 解决: 通过执行SQL语句“show unix_socket_directory”检查DN使用的Unix套接字目录,是否与shell中的环境变量$PGHOST一致。如果检查结果不一致,那么修改PGHOST环境变量到GUC参数unix_socket_directory指向的目录。 关于unix_socket_directory的更多信息,请联系管理员获取。 问题:The "libpq.so" loaded mismatch the version of gsql, please check it. 解决: 此问题是由于环境中使用的libpq.so的版本与gsql的版本不匹配导致的,请通过“ldd gsql”命令确认当前加载的libpq.so的版本,并通过修改LD_LIBRARY_PATH环境变量来加载正确的libpq.so。 问题:gsql: symbol lookup error: xxx/gsql: undefined symbol: libpqVersionString 解决: 此问题是由于环境中使用的libpq.so的版本与gsql的版本不匹配导致的(也有可能是环境中存在PG的libpq.so),请通过“ldd gsql”命令确认当前加载的libpq.so的版本,并通过修改LD_LIBRARY_PATH环境变量来加载正确的libpq.so。 问题:gsql: connect to server failed: Connection timed out Is the server running on host "xx.xxx.xxx.xxx" and accepting TCP/IP connections on port xxxx? 解决: 此问题是由于网络连接故障。请检查客户端与数据库服务器间的网络连接。如果发现从客户端无法PING到数据库服务器端,则说明网络连接出现故障。请联系网络管理人员排查解决。 ping -c 4 10.10.10.1 PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data. From 10.10.10.1: icmp_seq=2 Destination Host Unreachable From 10.10.10.1 icmp_seq=2 Destination Host Unreachable From 10.10.10.1 icmp_seq=3 Destination Host Unreachable From 10.10.10.1 icmp_seq=4 Destination Host Unreachable --- 10.10.10.1 ping statistics --- 4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 2999ms 问题:gsql: FATAL: permission denied for database "gaussdb" DETAIL: User does not have CONNECT privilege. 解决: 此问题是由于用户不具备访问该数据库的权限,可以使用如下方法解决。 使用管理员用户连接数据库。 gsql -d gaussdb -U dbadmin -p 8000 赋予该用户访问数据库的权限。 GRANT CONNECT ON DATABASE gaussdb TO user1; 另外,许多常见的错误操作也可能导致用户无法连接到数据库。如用户连接的数据库不存在,用户名或密码输入错误等。这些错误操作在客户端工具会有相应的提示信息。 gsql -d gaussdb -p 8000 gsql: FATAL: database "gaussdb" does not exist gsql -d gaussdb -U user1 -p 8000 Password for user user1: gsql: FATAL: Invalid username/password,login denied. 问题:gsql: FATAL: sorry, too many clients already,active/non-active: 197/3. 解决: 此问题是由于系统连接数量超过了最大连接数量。请联系数据库DBA进行会话连接数管理,释放无用会话。 关于查看用户会话连接数的方法如表1。 会话状态可以在视图PG_STAT_ACTIVITY中查看。无用会话可以使用函数pg_terminate_backend进行释放。 SELECT datid,pid,state FROM pg_stat_activity; datid | pid | state -------+-----------------+-------- 13205 | 139834762094352 | active 13205 | 139834759993104 | idle (2 rows) 其中pid的值即为该会话的线程ID。根据线程ID结束会话。 SELECT PG_TERMINATE_BACKEND(139834759993104); 显示类似如下信息,表示结束会话成功。 PG_TERMINATE_BACKEND ---------------------- t (1 row) 表1 查看会话连接数 描述 命令 查看指定用户的会话连接数上限。 执行如下命令查看连接到指定用户user1的会话连接数上限。其中-1表示没有对用户user1设置连接数的限制。 gaussdb=# SELECT ROLNAME,ROLCONNLIMIT FROM PG_ROLES WHERE ROLNAME='user1'; rolname | rolconnlimit ---------+-------------- user1 | -1 (1 row) 查看指定用户已使用的会话连接数。 执行如下命令查看指定用户user1已使用的会话连接数。其中,1表示user1已使用的会话连接数。 gaussdb=# SELECT COUNT(*) FROM dv_sessions WHERE USERNAME='user1'; count ------- 1 (1 row) 查看指定数据库的会话连接数上限。 执行如下命令查看连接到指定数据库gaussdb的会话连接数上限。其中-1表示没有对数据库gaussdb设置连接数的限制。 gaussdb=# SELECT DATNAME,DATCONNLIMIT FROM PG_DATABASE WHERE DATNAME='gaussdb'; datname | datconnlimit ----------+-------------- gaussdb | -1 (1 row) 查看指定数据库已使用的会话连接数。 执行如下命令查看指定数据库gaussdb上已使用的会话连接数。其中,1表示数据库gaussdb上已使用的会话连接数。 gaussdb=# SELECT COUNT(*) FROM PG_STAT_ACTIVITY WHERE DATNAME='gaussdb'; count ------- 1 (1 row) 查看所有用户已使用会话连接数。 执行如下命令查看所有用户已使用的会话连接数。 gaussdb=# SELECT COUNT(*) FROM dv_sessions; count ------- 10 (1 row) 问题:gsql: wait xxx.xxx.xxx.xxx:xxxx timeout expired 解决: gsql在向数据库发起连接的时候,会有5分钟超时机制,如果在这个超时时间内,数据库未能正常的对客户端请求进行校验和身份认证,那么gsql会退出当前会话的连接过程,并报出该错误。 一般来说,此问题是由于连接时使用的-h参数及-p参数指定的连接主机及端口有误(即错误信息中的xxx部分),导致通信故障;极少数情况是网络故障导致。要排除此问题,请检查数据库的主机名及端口是否正确。 问题:gsql: could not receive data from server: Connection reset by peer. 解决: 请检查DN日志中的如下类似日志“ FATAL: cipher file "/data/coordinator/server.key.cipher" has group or world access”,一般是由于数据目录或部分关键文件的权限被误操作篡改导致。请参照其他正常实例下的相关文件权限修改。 问题:gsql: FATAL: GSS authentication method is not allowed because XXXX user password is not disabled. 解决: 表示目标DN的gs_hba.conf里,配置了当前客户端IP使用“gss”方式来做认证,该认证算法不支持用作客户端的身份认证,请修改到“sha256”后再试。具体操作请联系管理员处理。 请不要修改gs_hba.conf中数据库主机的相关设置,否则可能导致数据库功能故障。 建议业务应用部署在数据库之外,而非数据库内部。
共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