跳到主要内容

数据库管理

本文介绍 CloudBase PostgreSQL 数据库的实例类型、规格选择、实例类型升级和规格调整方法。可在云开发控制台选择目标环境的 PostgreSQL 数据库后,进入配置页面进行操作;实际可选项以控制台展示为准。

实例类型

CloudBase PostgreSQL 数据库提供以下实例类型:

实例类型特点适用场景
共享实例计算用量按实际使用计量;没有数据库访问、定时任务、函数或事务处理时,不产生计算用量。存储按实际使用量计量。开发、测试、个人项目,以及调用频率低、存在明显空闲时段的非核心业务。
独享实例可完全控制实例规格,并可根据业务需要调大或调小计算规格。需要稳定资源、持续运行或需要自主规划计算和存储容量的业务。

共享实例无需手动选择固定规格;独享实例可根据业务负载调整计算规格和存储空间。应根据业务的运行方式、资源控制需求和容量规划选择实例类型。

实例规格

独享实例的规格包含计算规格和存储空间。计算规格由 CPU 和内存组合定义;规格越高,可同时处理的连接数、查询并发和缓存数据量通常越大。不同地域、实例类型和数据库版本支持的具体规格可能不同,请以控制台规格列表为准。

目前可调整的计算规格如下:

  • 1 核 2GiB
  • 2 核 4GiB
  • 2 核 6GiB
  • 4 核 8GiB
  • 8 核 16GiB
  • 16 核 32GiB

独享实例的计算规格可以根据业务需要调大或调小。调整前应评估峰值负载,调整后持续观察 CPU、内存和连接数等指标。

选择规格时,可参考以下维度:

关注项选择建议
CPU 使用率持续偏高升级到更高 CPU 的规格,或先通过 查询优化 降低 SQL 计算开销。
内存压力或缓存命中率较低选择更高内存的规格,并检查大查询、排序、连接数和索引设计。
连接数接近上限优先检查连接池配置;确有持续增长时,再选择更高规格。参见连接管理
业务峰谷差异明显结合峰值负载和容量规划选择规格,避免长期按瞬时峰值配置。

独享实例支持调整计算规格和扩容存储空间。共享实例按需运行,无需手动配置实例规格。

计费模式

CloudBase PostgreSQL 数据库的计算和存储用量会根据实例类型采用不同的计量方式。具体价格和用量换算规则请参考云开发 CloudBase 计费能力项说明,并以控制台展示为准。

计算用量计量

共享实例按使用计量

共享实例的计算用量按数据库实际使用情况统计:

  • 以 5 分钟为一个计量时间单位,每个共享实例按 0.5 核计算。
  • 在任一 5 分钟内存在数据库访问,或数据库内的定时任务、函数、事务等处理时,该时间段计为有使用。
  • 有使用时,该时间段的计算用量为 0.5 * 5 / 60 = 0.04167 CU;连续一小时均有使用时,累计为 0.5 CU
  • 没有连接、读写、定时任务、函数或事务处理时,该 5 分钟不计计算用量。

独享实例按规格计量

独享实例的计算用量由实例规格和实际运行时长决定,与实例是否被访问无关。实例运行期间持续产生计算用量;规格调整生效后,按调整后的规格开始计量。

例如,1 核 2 GiB 的独享实例每运行 1 小时计为 1 CU2 核 4 GiB 的独享实例每运行 1 小时计为 2 CU

存储用量计量

共享实例按实际使用量计量

共享实例按数据库实际占用的存储空间计量。创建数据库后,默认表和默认数据会占用少量存储空间;即使尚未写入业务数据,也可能产生相应的存储用量。

独享实例按已分配容量计量

独享实例按已分配的存储空间和运行时长计量,而不是按实际已写入的数据量计量。无论已使用多少空间,均按分配容量计算用量。

例如,分配 20 GB 存储空间的独享实例运行 1 小时,产生 20 GB*小时 存储用量;连续运行 24 小时,产生 480 GB*小时 存储用量。存储空间仅支持扩容,不支持缩容。

升级实例类型

实例类型升级用于将共享实例升级为独享实例。升级后可按业务需求选择并调整独享实例的规格。建议在业务低峰期进行,并提前完成业务验证和回滚预案。

升级前检查

  1. 确认实例状态为可用,且没有正在执行的规格调整或其他运维任务。
  2. 记录当前连接地址、账号权限、白名单或网络配置,并确认应用使用连接池和断线重连机制。
  3. 检查长事务、批量任务和数据库连接数,避免在升级窗口内执行高风险或高负载操作。
  4. 通知相关业务方,并准备升级后的连接、读写和关键 SQL 验证项。

操作步骤

  1. 登录云开发控制台,选择目标环境的 PostgreSQL 数据库
  2. 进入 配置 页面,在实例类型区域选择 升级为独享实例
  3. 阅读控制台展示的影响说明,确认目标配置和费用信息。
  4. 提交升级请求,并等待实例状态恢复为可用。
  5. 升级完成后,验证应用连接、读写、定时任务和监控指标是否正常。

升级期间连接可能短暂中断。应用应能够重试失败请求并自动重建连接;不要在升级期间修改核心表结构或执行大规模数据导入。

升级后验证

  • 验证应用可以使用原有连接信息建立连接,并完成关键读写流程。
  • 检查账号、网络访问控制、RLS 策略和扩展是否符合预期。
  • 日志与监控中观察 CPU、内存、连接数、慢查询和错误日志。
  • 观察一段业务周期后,再关闭升级前为应急保留的额外限流或降级措施。

调整规格

独享实例支持调整计算规格和扩容存储空间。两项操作均不改变实例类型。

调整计算规格

当业务负载变化或监控显示资源不足时,可以调整独享实例的 CPU 和内存规格。

调整前检查

  1. 根据监控数据确认瓶颈确实来自 CPU、内存或连接容量,避免仅因单条慢 SQL 直接升配。
  2. 确认独享实例处于可用状态,且没有进行中的升级或规格调整任务。
  3. 确认目标规格在当前地域、实例类型和数据库版本下可选,并核对费用变化。
  4. 在低峰期安排调整窗口;生产应用应具备连接重试和连接池恢复能力。

操作步骤

  1. 登录云开发控制台,选择目标环境的 PostgreSQL 数据库
  2. 进入 配置 页面,在计算规格区域选择 调整规格
  3. 选择目标 CPU 和内存规格,核对配置及费用信息后提交。
  4. 等待调整任务完成,确认实例状态恢复为可用。
  5. 检查应用连接、关键接口耗时和数据库监控指标,并根据结果继续优化连接池和 SQL。

规格调整过程可能触发数据库连接短暂中断。客户端和服务端应正确处理连接失败、事务失败和重试,不应将未提交事务视为已成功执行。

调整建议

  • 升配前先排查慢查询、缺失索引、长事务和异常连接,避免以增加规格替代必要的优化。
  • 降配前应确认峰值负载、定时任务和批处理负载均能在目标规格下稳定运行。
  • 每次调整后持续观察 CPU、内存、连接数、慢查询和业务错误率;指标稳定后再进行下一次调整。
  • 对核心业务保留变更记录,包括调整时间、原规格、目标规格、监控数据和验证结果。

扩容存储空间

当存储空间使用率持续上升、数据或索引增长接近当前容量时,可以为独享实例扩容存储空间。存储空间仅能调大,不可调小。 具体可选容量、计费和限制以控制台展示为准。

扩容前检查

  1. 日志与监控中确认当前存储空间使用率和增长趋势,并评估数据和索引的增长需求。
  2. 确认独享实例处于可用状态,且没有进行中的实例升级或规格调整任务。
  3. 确认目标存储容量在当前地域和实例规格下可选,并核对费用变化。

操作步骤

  1. 登录云开发控制台,选择目标环境的 PostgreSQL 数据库
  2. 进入 配置 页面,在存储空间区域选择 扩容存储空间
  3. 选择目标存储容量,核对配置及费用信息后提交。
  4. 等待扩容任务完成,确认实例状态恢复为可用。
  5. 检查存储空间使用率、应用读写和数据库监控指标是否正常。

扩容完成后无需主动修改应用连接信息,但仍应以控制台展示的连接信息为准,并验证应用能够正常连接。

常见问题

调整规格后需要修改连接地址吗

通常不需要。仍应以控制台展示的连接信息为准,并在调整完成后验证应用能够正常连接。

独享实例可以降级为共享实例吗

不支持将独享实例直接降级为共享实例。如需降级,请新建使用共享实例的环境,并将原环境的数据迁移至新环境;完成数据、权限和应用连接验证后,再将业务切换至新环境。

升级或调整规格时,应用为什么会报连接错误

实例类型升级或计算规格调整会涉及节点切换或重启,已有连接会短暂失效。应用应使用连接池、重试策略和幂等设计,避免因瞬时连接错误造成重复写入或数据不一致。

什么时候应该调整规格而不是升级实例类型

共享实例需要稳定资源或自主控制规格时,应升级为独享实例。已经使用独享实例且 CPU、内存或存储空间不足时,优先调整计算规格或扩容存储空间。