华为云用户手册

  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表5 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表7 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表9 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 404 表10 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表11 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 500 表12 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表13 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 502 表14 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表15 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 504 表16 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表17 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 key_id 是 String 密钥ID,36字节,满足正则匹配“^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$”。 例如:0d0466b0-e727-4d9c-b35d-f84bb474a37f。 sequence 否 String 请求消息序列号,36字节序列号。 例如:919c82d4-8046-4722-9094-35c3c6524cff
  • 参数解析 innodb_flush_log_at_trx_commit: 0:日志缓存区将每隔一秒写到日志文件中,并且将日志文件的数据刷新到磁盘上。该模式下在事务提交时不会主动触发写入磁盘的操作。 1:每次事务提交时RDS for MySQL都会把日志缓存区的数据写入日志文件中,并且刷新到磁盘中,该模式为系统默认。 2:每次事务提交时RDS for MySQL都会把日志缓存区的数据写入日志文件中,但是并不会同时刷新到磁盘上。该模式下,MySQL会每秒执行一次刷新磁盘操作。 当设置为0,该模式速度最快,但不太安全,mysqld进程的崩溃会导致上一秒钟所有事务数据的丢失; 当设置为1,该模式是最安全的,但也是最慢的一种方式。在mysqld服务崩溃或者服务器主机宕机的情况下,日志缓存区只有可能丢失最多一个语句或者一个事务; 当设置为2,该模式速度较快,较取值为0情况下更安全,只有在操作系统崩溃或者系统断电的情况下,上一秒钟所有事务数据才可能丢失;
  • 最佳实践 您可以将本地实例上的数据库通过全量备份生成备份文件,并通过OBS服务与DRS服务,将该备份文件直接还原到RDS for SQL Server实例上。 数据库版本支持从低版本恢复到高版本,用户从本地备份出来的备份文件的版本必须小于等于要还原的目标实例的版本。 例如:您本地是2012标准版的实例,备份文件就只能还原到2014,2016标准版或企业版,不能还原到2008的所有版本,和2014、2016的Web版上。 云数据库RDS控制台提供多种恢复方式,具体请参见将数据库实例恢复到指定时间点和恢复备份。
  • 资源规划 表1 资源规划 类别 子类 规划 备注 生产中心VPC VPC名称 vpc-01 自定义,易理解可识别。 所属Region 华北-北京一 选择和自己业务区最近的Region,减少网络时延。 可用区 可用区二 - 子网网段 192.168.0.0/24 子网选择时建议预留足够的网络资源。 子网名称 subnet-3c29 自定义,易理解可识别。 灾备中心VPC VPC名称 vpc-DR 自定义,易理解可识别。 所属Region 华北-北京四 选择和自己业务区最近的Region,减少网络时延。 可用区 可用区一 - 子网网段 192.168.0.0/24 子网选择时建议预留足够的网络资源。 子网名称 subnet-ac27 自定义,易理解可识别。 生产中心RDS for MySQL实例 RDS实例名称 rds-database-01 自定义,易理解可识别。 所属Region 华北-北京一 选择和自己业务区最近的Region,减少网络时延。 数据库版本 MySQL 8.0 - 实例类型 单机 本示例中为单机。 实际使用时,为提升业务可靠性,推荐选择主备RDS实例。 存储类型 超高IO - 可用区 可用区二 本示例中为可用区二。 实际业务场景推荐选择主备RDS实例,此时建议将两个实例创建在不同的可用区,提升业务可靠性。 性能规格 通用增强型 2 vCPUs | 4GB - 灾备中心RDS for MySQL实例 RDS实例名称 rds-DR 自定义,易理解可识别。 所属Region 华北-北京四 选择和自己业务区最近的Region,减少网络时延。 数据库版本 MySQL 8.0 - 实例类型 单机 本示例中为单机。 实际使用时,为提升业务可靠性,推荐选择主备RDS实例。 存储类型 SSD云盘 - 可用区 可用区一 本示例中为可用区一。 实际业务场景推荐选择主备RDS实例,此时建议将两个实例创建在不同的可用区,提升业务可靠性。 性能规格 通用型 2 vCPUs | 8GB - DRS灾备任务 灾备任务名称 DRS-DR-Task 自定义,易理解可识别。 源数据库引擎 MySQL 本示例中源数据库为在“华北-北京一”创建的业务实例。 目标数据库引擎 MySQL 本示例中目标数据库为在“华北-北京四”创建的灾备实例。 网络类型 公网网络 本示例中采用“公网网络”。 父主题: RDS for MySQL通过DRS搭建异地单主灾备
  • 操作步骤 在“实时灾备管理”页面,选择已创建的灾备任务,单击“编辑”。 根据界面提示,将灾备实例的弹性公网IP加入生产中心RDS for MySQL实例所属安全组的入方向规则,选择TCP协议,端口为生产中心RDS for MySQL实例的端口号。 图1 添加安全组规则 源库信息中的“IP地址或域名”填写生产中心RDS for MySQL实例绑定的EIP,“端口”填写生产中心RDS for MySQL实例的端口号。测试通过后,单击“下一步”。 图2 编辑灾备任务 设置流速模式后,单击“下一步”。 图3 设置流速模式 查看预检查100%通过,单击“下一步”。 图4 预检查通过 设置参数后,单击“下一步”。 图5 设置参数 单击“启动任务”。 图6 启动任务 查看任务状态为“灾备中”。 图7 查看任务状态 单击灾备实例名称,确认灾备对比、灾备进度、灾备数据。 图8 灾备对比 图9 灾备进度 图10 灾备数据
  • 操作步骤 登录SQL SERVER客户端,通过rdsuser帐号连接目标实例,在管理面中执行以下SQL语句。 declare @DatabaseName nvarchar(100)set @DatabaseName = 'Wisdom_TT_ODS'select top 100DB_NAME(st.dbid) as DBName, OBJECT_NAME(st.objectid,st.dbid) as ObjectName,substring(st.text,(qs.statement_start_offset/2)+1,((case qs.statement_end_offset when -1 then datalength(st.text) else qs.statement_end_offset end - qs.statement_start_offset)/2) + 1) as Statement,st.text as Query,qp.query_plan,plan_generation_num,creation_time,last_execution_time,execution_count,total_worker_time,min_worker_time,max_worker_time,total_logical_reads,min_logical_reads,max_logical_reads,total_elapsed_time,min_elapsed_time,max_elapsed_time,total_rows,min_rows,max_rows,total_worker_time/execution_count as avg_worker_time, --平均CPU耗时total_logical_reads/execution_count as avg_logical_reads, --平均逻辑读total_elapsed_time/execution_count as avg_elapsed_time, --平均总耗时total_rows/execution_count as avg_rows, --平均处理数据行sql_handle,plan_handle,query_hash,query_plan_hashfrom sys.dm_exec_query_stats qscross apply sys.dm_exec_sql_text(plan_handle) stcross apply sys.dm_exec_query_plan(plan_handle) qpwhere st.dbid=DB_ID(@DatabaseName)and text not like '%sys.%'and text not like '%[[]sys]%'order by avg_worker_time desc 查看结果中对应数据库的SQL执行记录及资源消耗情况。
  • 操作场景 tempdb是系统数据库,是一个全局资源,可供连接到SQL Server实例或SQL数据库的所有用户使用 。它是一个临时数据库,无法永久保存数据,作用是给实例中的各种请求处理中间数据,分为主数据文件(.mdf)、次要数据文件(.ndf)和日志文件(.ldf)。当服务重启的时候,tempdb会被重新创建。 tempdb数据库如果在设计上存在缺陷,会存在性能上的问题。尤其是tempdb数据库在一些高并发的场景,如果应用频繁地创建和销毁临时表,会导致实例卡顿从而影响业务。 微软官方建议将临时数据库的文件拆分成多个,一般与逻辑CPU个数相同,超过8个则使用8个数据文件,解决闩锁争用问题每次额外加4个文件。 更多介绍请参见tempdb数据库官方文档。
  • 操作步骤 创建c#函数,编译出一个SQL Server的dll。 图1 c#函数代码 创建函数详细说明请参见官方文档。 使用SSMS等工具连接数据库。 图2 连接数据库 选择需要创建程序集的数据库,添加对应的程序集。 只能创建safe模式(权限集显示为安全),不能创建其他模式。 dll文件会以十六进制的形式存入。如图4所示。 图3 新建程序集 图4 dll文件 执行程序,如图5所示表示执行成功。程序集中新增一个TESTS程序集,如图6所示。 图5 执行结果 图6 TESTS程序集
  • rdsuser权限 表4 rdsuser权限 名称 权限分类 权限 实例级权限 实例级角色权限 [processadmin] [setupadmin] 实例级对象权限 ALTER ANY CONNECTION ALTER ANY LOGIN ALTER ANY SERVER ROLE ALTER SERVER STATE ALTER TRACE CONNECT ANY DATABASE CONTROL SERVER CONNECT SQL CREATE ANY DATABASE SELECT ALL USER SECURABLES VIEW ANY DEFINITION VIEW ANY DATABASE VIEW SERVER STATE 数据库权限 master:public Msdb:Public SQLAgentUserRole Model:Public Rdsadmin:Public OtherDB:Db_Owner
  • 最佳实践 在计划收缩数据库文件时,请考虑以下信息: 在执行会产生大量未用空间的操作(如重启)后,执行收缩操作最有效。 大多数数据库都需要一些可用空间,以供常规日常操作使用。如果反复收缩数据库,并且它的大小再次增长,那么常规操作可能需要收缩空间。在这种情况下,反复收缩数据库是一种无意义的操作。 收缩操作不保留数据库中索引的碎片状态,通常还会在一定程度上增加碎片。此类碎片是不要反复收缩数据库的另一个原因。
  • 操作步骤 执行以下命令,进行数据库收缩。 EXEC [master].[dbo].[rds_shrink_database] @DBName='myDbName'; 表1 参数说明 参数 说明 myDbName 收缩指定数据库的数据库名称。如果未指定,默认收缩所有数据库。 执行结果集如下图所示,每个结果对应指定数据库(或所有数据库)的每个文件的相关信息。 图1 结果集 表2 结果集参数说明 列名称 说明 DbId 当前收缩文件的数据库标识号。 FileId 当前收缩文件的文件标识号。 CurrentSize 文件当前占用的8KB页数。 MinimumSize 文件最低可以占用的8KB页数。此数字对应于文件的大小下限或最初创建大小。 UsedPages 文件当前使用的8KB页数。 EstimatedPages 数据库引擎估计文件能够收缩到的8KB页数。 执行成功后,系统会显示执行进度,并最终进行如下提示: HW_RDS_Process_Successful: Shrink Database Done.
  • 操作背景 微软的Microsoft SQL Server产品中包含SQL Server数据库引擎、Reporting Services(SSRS)、Analysis Services(SSAS)等服务端组件。其中SQL Server数据库引擎作为一个标准的关系型数据库组件,在华为云上以RDS for SQL Server数据库产品的形式提供了标准的PaaS(Platform-as-a-Service)服务。但其他如SSRS等组件在华为云上并未以PaaS服务的形式提供。如果要在华为云上使用SSRS服务,需要单独创建Windows系统的ECS实例,并安装配置SSRS服务组件。 原微软SQL Server产品组件包中的SQL Server Reporting Services已经在SQL Server 2017中独立出来,成为一个独立的组件服务,用户可通过微软官网直接下载,并安装到华为云的ECS Windows系统上,同时将RDS for SQL Server服务作为该SSRS报表服务的后端数据库,完美的做到将SSRS报表服务迁移上云。
  • 高吞吐导致实例I/O高 现象 如果表中有很多索引或大字段,频繁地更新、删除、插入,读取数据和刷新脏页时会有大量的I/O。 您可以在实例监控指标页面查看读写负载情况。 解决方案 建议修改当前实例参数降低读写频率或升级实例规格、优化刷新脏页相关的参数来解决高吞吐问题。和刷新脏页相关的参数如下: innodb_max_dirty_pages_pct:缓冲池中允许的脏页百分比,默认值为75。 innodb_io_capacity:设置InnoDB后台任务每秒执行的I/O操作数的上限,影响刷新脏页和写入缓冲池的速率。不同磁盘类型默认值不同。 innodb_io_capacity_max:如果刷新操作过于落后,InnoDB可以超过innodb_io_capacity的限制进行刷新,但是不能超过本参数的值。默认值为40000。
  • InnoDB I/O系统介绍 InnoDB通过一套独立的I/O系统来处理数据页的读取和写入,如果SQL请求的数据页不在Buffer Pool中,会产生物理I/O,需要读写底层存储的数据: 读数据页操作 通过同步I/O实现,同步I/O调用底层的读接口。 写数据页操作 通过异步I/O实现,例如后台线程刷新脏页,后台I/O线程会异步的将脏页刷到磁盘。 除了对普通数据文件的读写I/O操作,写Redo日志、写Undo日志、写Binlog日志、排序临时表、重建DDL表空间等也会造成大量I/O。
  • 临时表空间过大导致空间不足 原因及现象 半连接(Semi-join)、去重(distinct)、不走索引的排序等操作,会创建临时表,如果涉及的数据量过多,可能导致临时表空间过大。 DDL操作重建表空间时,如果表特别大,创建索引排序时产生的临时文件也会特别大。RDS MySQL 5.6和5.7不支持即时增加字段,很多DDL是通过创建新表实现的,DDL执行结束再删除旧表,DDL过程中会同时存在两份表。 解决方案 可以查看执行计划,确认是否包含Using Temporary 。 大表DDL需要注意实例的空间是否足够,不足的话请提前扩容磁盘。
  • 更新统计信息 重复执行重建索引job中的1~4。 输入步骤名称,类型及Command,完成后单击“OK”。Command中填写更新统计信息的存储过程,存储过程的详细内容请参考更新数据库的统计信息。 图7 更新统计信息 选择“Schedules”,单击“New”,添加定时执行计划。 图8 添加定时执行计划 添加每个月执行一次的定时计划,触发时间、定时周期可以修改,完成后单击“OK”。 图9 定时执行计划 上述步骤执行完成后,job建立完毕。 图10 更新统计信息job 选择job,右键单击“Start Job at Step”,手动运行job,检查job是否能正常运行。
  • 定时收缩数据库 重复执行重建索引job中的1~4。 输入步骤名称,类型及Command,完成后单击“OK”。Command中填写收缩数据库的SQL命令。 EXEC [master].[dbo].[rds_shrink_database_log] @dbname='myDbName'; 其中@dbname参数填写数据库的名字。 选择“Schedules”,单击“New”,添加定时执行计划。 图11 添加定时执行计划 添加每个月执行一次的定时计划,触发时间、定时周期可以修改,完成后单击“OK”。 图12 定时执行计划 添加完成后,右键单击“Start Job at Step”,手动运行job,检查job是否能正常运行。
  • 资源规划 表1 资源规划 类别 子类 规划 备注 VPC VPC名称 vpc-src-172 自定义,易理解可识别。 所属Region 测试Region 现网实际选择时建议选择和自己业务区最近的Region,减少网络时延。 可用区 可用区3 - 子网网段 172.16.0.0/16 子网选择时建议预留足够的网络资源。 子网名称 subnet-src-172 自定义,易理解可识别。 其他云MySQL 数据库版本 MySQL 5.7 - IP地址 10.154.217.42 仅作为示例。 端口 3306 - RDS for MySQL实例 RDS实例名称 rds-mysql 自定义,易理解可识别。 数据库版本 MySQL 5.7 - 实例类型 单机 本示例中为单机。 实际使用时,为提升业务可靠性,推荐选择主备RDS实例。 存储类型 SSD云盘 - 可用区 可用区一 本示例中为可用区一。 实际业务场景推荐选择主备RDS实例,此时建议将两个实例创建在不同的可用区,提升业务可靠性。 性能规格 通用型 2 vCPUs | 8GB - DRS迁移任务 迁移任务名 DRS-mysql 自定义。 源数据库引擎 MySQL - 目标数据库引擎 MySQL - 网络类型 公网网络 本示例中采用公网网络。 父主题: 其他云MySQL迁移到云数据库 RDS for MySQL
  • 概览 本手册基于华为云关系型数据库实践所编写,用于指导您完成相关设置,购买更符合业务的数据库实例。 引擎 章节名称 简介 MySQL 自建MySQL迁移到RDS for MySQL 介绍通过自建MySQL如何迁移到云数据库 RDS for MySQL。 RDS for MySQL通过DRS搭建异地单主灾备 RDS for MySQL实例如何通过DRS服务搭建异地单主灾备。 其他云MySQL迁移到云数据库 RDS for MySQL 介绍通过其他云MySQL如何迁移到云数据库 RDS for MySQL。 使用RDS for MySQL搭建WordPress 介绍通过华为云虚拟私有云、弹性云服务器和RDS for MySQL数据库,在LAMP环境下搭建WordPress。 使用RDS for MySQL搭建Discuz!论坛 介绍通过华为云虚拟私有云、弹性云服务器和RDS for MySQL数据库,在LAMP环境下搭建Discuz!。 innodb_flush_log_at_trx_commit和sync_binlog参数详解 介绍innodb_flush_log_at_trx_commit和sync_binlog参数,对性能,安全方面的影响。 RDS for MySQL元数据锁MDL导致无法操作数据库的解决方法 介绍通过华为云数据管理服务(Data Admin Service,简称DAS)解决元数据锁MDL导致无法操作数据库问题。 使用utf8mb4字符集存储emoji表情到RDS for MySQL实例 介绍如何存储emoji表情到RDS for MySQL实例的方法。 性能调优 介绍数据库CPU、内存高,磁盘空间不足,慢SQL等问题的定位和处理方法。 PostgreSQL 创建数据库 介绍如何通过数据管理服务DAS或命令行创建数据库,以及创建数据库过程中的注意事项。 pgAdmin基本操作使用指南 介绍利用pgAdmin连接云数据库 RDS for PostgreSQL以及创建数据库和表基本操作。 PoWA插件使用 介绍如何使用PoWA插件,用于对RDS for PostgreSQL数据库进行性能监控。 查看RDS for PostgreSQL慢日志 介绍如何查询RDS for PostgreSQL慢日志,并进行优化。 SQL Server 恢复备份文件到RDS for SQL Server实例的版本限制 介绍RDS for SQL Server恢复备份时的版本限制。 使用导入导出功能将ECS上的SQL Server数据库迁移到RDS for SQL Server 介绍如何将ECS自建的SQL Server数据库迁移到RDS for SQL Server。 修改RDS for SQL Server实例的参数 介绍如何修改RDS for SQL Server数据库实例的参数组。 RDS SQL Server支持DMV动态管理视图 介绍RDS for SQL Server如何通过DMV动态管理视图。 使用导入导出功能将本地SQL Server数据库迁移到RDS for SQL Server 介绍如何将本地的SQL Server数据库迁移到RDS for SQL Server。 在rdsuser主帐号下创建子帐号 介绍rdsuser主帐号的权限和如何在rdsuser主帐号下创建并管理子帐号。 创建tempdb临时数据文件 介绍RDS for SQL Server如何创建tempdb临时数据文件。 Microsoft SQL Server发布与订阅 介绍云数据库 RDS for SQL Server如何提供订阅功能。 RDS for SQL Server添加c#CLR程序集的使用方法 介绍RDS for SQL Server如何添加c#CLR程序集。 RDS for SQL Server添加链接服务器 介绍RDS for SQL Server数据库实例如何创建链接服务器访问另外一个RDS for SQL Server数据库实例。 RDS for SQL Server 如何将线下SSRS报表服务部署上云 介绍RDS for SQL Server如何使用SSRS(Reporting Services)报表服务。 RDS for SQL Server收缩数据库 介绍RDS for SQL Server如何使用存储过程收缩指定数据库的数据文件和日志文件的大小,以释放磁盘部分空间。 使用DAS在RDS for SQL Server主备实例上分别创建和配置Agent Job和Dblink 介绍如何使用DAS在RDS for SQL Server主备实例上分别创建和配置Agent Job和Dblink。 创建实例定期维护job 介绍如何创建定期执行的SQL agent job,定期执行索引重建、统计信息更新及数据库收缩。
  • pgAdmin备份恢复 备份数据库 在左侧结构树导航栏中,选择需要备份的数据库,单击右键选择“Backup”。 在弹出框的“General”页签,填写基本信息,选择要备份的路径、备份的格式,并输入备份文件的名称,单击“Backup”等待备份成功即可。 恢复数据库 在左侧结构树导航栏中,选择需要恢复的数据库,单击右键选择“Restore”。 在弹出框中选择备份好的文件,单击“Restore”进行恢复。
  • CREATE DATABASE选项说明 创建数据库时,您可以指定模板库,并为每个数据库设置不同的字符集、本地化collate等属性。 本节将通过使用命令行示例来介绍如何通过CREATE DATABASE命令设置模板库、字符集、LC_COLLATE及LC_CTYPE信息,其余参数请参考官方文档。 CREATE DATABASE name [ [ WITH ] [ OWNER [=] user_name ] [ TEMPLATE [=] template ] [ ENCODING [=] encoding ] [ LC_COLLATE [=] lc_collate ] [ LC_CTYPE [=] lc_ctype ] [ TABLESPACE [=] tablespace_name ] [ ALLOW_CONNECTIONS [=] allowconn ] [ CONNECTION LIMIT [=] connlimit ] [ IS_TEMPLATE [=] istemplate ] ] TEMPLATE选项 LC_COLLATE和LC_CTYPE选项 父主题: 创建数据库
  • 查询字符集支持的LC_COLLATE和LC_CTYPE信息 执行下列SQL语句查询字符排序规则和字符分类。 SELECT pg_encoding_to_char(collencoding) AS encoding,collname,collcollate AS "LC_COLLATE",collctype AS "LC_CTYPE" FROM pg_collation; encoding为空时,表示当前LC_COLLATE支持所有的字符集。
  • 使用方式 创建一个 LC_COLLATE 和 LC_CTYPE 分别为 zh_CN.utf8 的数据库,其命令如下所示。 CREATE DATABASE my_db WITH ENCODING = 'UTF8' LC_COLLATE ='zh_CN.utf8' LC_CTYPE ='zh_CN.utf8' TEMPLATE = template0 ; 如果指定的LC_COLLATE与字符集不兼容,则会报如下错误信息。 指定的LC_COLLATE和LC_CTYPE必须与目标字符集兼容,否则会报错。 目前无法直接通过ALTER DATABASE命令修改已有数据库的LC_COLLATE和LC_CTYPE信息,但可以通过创建新的数据库,然后导出再导入数据的方式进行修改。
  • TEMPLATE选项 RDS for PostgreSQL数据库默认有template0、template1两个模板,区别如下: 使用 template1 模板库建库时不可指定新的字符集和本地化collate属性,collate属性请参见设置数据库的本土化信息(collate)。 CREATE DATABASE my_db WITH TEMPLATE template1 ; 使用template0可指定字符集和本地化collate属性,collate属性请参见设置数据库的本土化信息(collate)。 CREATE DATABASE my_db WITH ENCODING = 'UTF8' LC_COLLATE ='zh_CN.utf8' LC_CTYPE ='zh_CN.utf8' TEMPLATE = template0 ; 创建数据库时不指定模板,则默认模板为template1。用户也可以指定其他的自定义模板创建数据库。 CREATE DATABASE my_db WITH TEMPLATE = mytemplate; 父主题: CREATE DATABASE选项说明
  • 性能指标 使用 PoWA 会对 PostgreSQL 服务器性能产生较小的负面影响。很难准确评估这种影响,因为它可能来自不同的部分。 首先,至少需要激活pg_stat_statements插件,可能还有选择的其他支持的Stats 插件。这些插件可能会减慢您的实例速度,具体取决于您配置它们的方式。 如果您不使用远程设置模式,数据将定期存储在本地。根据快照频率,开销可能很重要。磁盘使用情况会影响备份功能。 数据库级性能指标 实例级性能指标 父主题: PoWA插件使用
  • 创建数据库时报字符集与locale不匹配如何解决 选择与字符集不匹配的LC_COLLATE创建数据库时会报如下错误。 CREATE DATABASE my_db2 WITH LC_COLLATE ='zh_SG' LC_CTYPE ='zh_SG' ; 解决方法: 查询模板库支持的字符集,查询方法见查询支持的字符集,默认模板库为template1。 查询模板库字符集支持的LC_COLLATE信息,查询方法见设置数据库的本土化信息(collate)。 修改为与字符集匹配的LC_COLLATE,重新创建数据库。 父主题: 常见问题
  • 本地模式 本地模式架构相对简单,不需要PoWA-collector的参与,仅由PoWA-archivist、PoWA-web及其他插件即可组成,但这种架构模式有三个比较明显的缺点: 它在收集数据和使用用户界面时都增加了不可忽略的性能成本。 收集到的性能指标数据存储于本地,会增加磁盘空间的开销。 无法在热备服务器上收集数据。 由于云上架构安全性考虑,RDS for PostgreSQL暂不支持本地模式的部署。
  • 远程模式 使用第4版PoWA,可以将一台或多台服务器的数据存储在外部 PostgreSQL 数据库上,当前RDS for PostgreSQL支持的PoWA版本为4.1.2。 相对于本地模式来说,远程模式主要变化在于设置了一个专门用于存储性能指标数据的数据库(Powa repository),通过PoWA-collector来完成这项工作。 RDS for PostgreSQL支持远程模式的部署。 远程模式架构如下图所示: 图2 远程模式架构图
  • Details for all databases 图3 Details for all databases 表6 Details for all databases字段解释 字段 注释 Query 执行的SQL。 (Execution) # 执行该SQL次数。 (Execution) Time 执行该SQL总时间。 (Execution) Avg time 执行该SQL平均时间。 (I/O Time) Read 读I/O等待时间。 (I/O Time) Write 写I/O等待时间。 (Blocks) Read 磁盘读页面数。 (Blocks) Hit 共享缓冲区命中页面数。 (Blocks) Dirtied 脏页面数。 (Blocks) Written 磁盘写页面数。 (Temp blocks) Read 磁盘读临时页面数。 (Temp blocks) Write 磁盘写临时页面数。
共100000条