Snowflake Postgres 实例管理

Snowflake Postgres 提供多种实例管理操作,帮助您管理实例。这些操作属于维护形式,旨在确保实例持续运行和安全稳定。

执行实例管理操作需要短暂的服务中断。 请确保您的应用程序能够自动重新连接到数据库。

备注

除非您明确轮换凭证,否则实例的连接字符串在实例管理操作期间将保持不变。

为确保实例健康运行,我们可能会代表您安排维护操作(例如 修改 实例存储大小)。

有关平台如何执行实例维护的详细说明,请参阅 Snowflake Postgres 维护

可用操作

在控制台的实例详情页面中,Manage 下拉菜单提供以下操作:

分支

You can fork an instance to create a new instance from an existing instance, optionally choosing a point in time to fork from. By default the new instance will be forked from the current state of the source instance. Read more about forking in Snowflake Postgres 时间点恢复.

修改

要更改现有 Snowflake Postgres 实例的配置,您必须使用已被授予该实例 OWNERSHIP 或 OPERATE 权限的角色。

您可以在影响最小且不更改连接字符串的情况下,就地调整实例大小。在实例调整大小期间,您可以:

  • COMPUTE_FAMILY 更改为不同规格。

  • 更改存储容量。支持增加或减少存储大小。

  • 将 Postgres 版本升级至较新的主要版本。

修改实例配置需要进行维护。有关更多信息,请参阅 Snowflake Postgres 维护

要进行更改,请执行以下操作:

  1. 在导航菜单中,选择 Postgres

  2. 选择您的实例。

  3. 在右上角的 Manage 菜单中,选择 Modify

  4. 从下拉菜单中选择新的 COMPUTE_FAMILY 和/或存储大小。有关更改 Postgres 版本的详细信息,请参阅 Postgres 主要版本升级

  5. 选择 Save 按钮确认更改。

修改 Snowflake Postgres 实例

如果您计划减少实例的存储大小,请注意:我们当前要求调整后的存储容量大于或等于当前磁盘使用量的 1.4 倍,以减少告警并避免立即触发扩容。

Postgres 主要版本升级

Snowflake Postgres 允许您通过仪表板安排主要版本升级。进行此更改的操作流程与实例调整大小相同。 将实例升级到新的主要版本需要进行维护。关于维护的通用信息,请参阅 Snowflake Postgres 维护;关于主要版本升级的具体信息,请参阅下文。

要发起主要版本升级,您必须使用已被授予该实例 OWNERSHIP 或 OPERATE 权限的角色。

备注

您只能升级到较新的主要版本,无法降级到先前的主要版本。

备注

您可以将主要版本升级与实例调整大小结合进行,同时选择新的实例规格和/或存储大小。

  1. 在导航菜单中,选择 Postgres

  2. 选择您的 Snowflake Postgres 实例。

  3. 在右上角的 Manage 菜单中,选择 Modify

  4. 如果有可用新版本,您将可从 Postgres 版本下拉菜单中进行选择。

  5. 选择 Save 按钮以确认更改。

通过主要版本升级修改 Snowflake Postgres 实例

Postgres 主要版本升级的运作方式与其他实例管理操作不同。启动该过程后,Snowflake Postgres 将执行以下步骤:

  1. 创建当前实例的“隐藏”副本(对用户不可见)。

  2. 将源实例的现有数据迁移至隐藏副本(耗时与数据量相关)。

  3. 当维护时段到达时:

    • 锁定源实例以防止写入。

    • 升级隐藏副本(耗时取决于数据库中的 对象数量,而非数据量)。

  4. 升级完成后,故障切换到新升级的实例。

重要注意事项

  • 主要版本变更可能会影响应用程序兼容性。我们建议在升级前,将您的应用程序在新 PostgreSQL 版本上进行测试。

  • 执行主版本升级时,读取副本将自动升级,但仅在其主实例升级完成且完成新备份后才会进行。在此之前,副本将保持可用,但处于过时状态。

  • 如果您没有设置维护时段且未指定运行时间,升级将在新实例准备就绪后立即开始。

  • 此操作会造成服务中断,预计持续时间不超过几分钟。

  • 如果升级失败,您的实例将自动回退至原始实例。

启用高可用性

启用高可用性 (HA) 后,您的实例将包含一个备用主机,当主主机不可用时,备用主机会接替其工作。 您可以在 Snowflake Postgres 高可用性 阅读更多相关内容。

创建副本

您可以从仪表板创建实例的副本。副本是源实例的只读副本,与源实例保持同步。有关创建和使用副本的更多信息,请参阅 Snowflake Postgres 只读副本

实例暂停与恢复

暂停实例会停用其所运行的虚拟机,同时保留其在存储中的磁盘映像,以便后续恢复实例。实例的常规计费会暂停,但存储成本将继续产生。现有的 10 天备份也会保留。

若有待重启才能应用的操作,这些操作将在实例恢复时应用。

要暂停或恢复 Snowflake Postgres 实例,您必须使用已被授予该实例 OWNERSHIP 或 OPERATE 权限的角色。

Snowflake Postgres 允许您从仪表板暂停实例。

  1. 在导航菜单中,选择 Postgres

  2. 选择您的实例。

  3. 在右上角的 Manage 菜单中,选择 Suspend

  4. 点击 Suspend 按钮确认操作。

暂停 Snowflake Postgres 实例

要暂停 Snowflake Postgres 实例,请运行 ALTER POSTGRES INSTANCE ... SUSPEND:

ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> SUSPEND
Copy
  • 这些操作是异步的。可使用 DESCRIBE 命令跟踪这些操作的状态。

示例:暂停名为 my_instance 的 Snowflake Postgres 实例

ALTER POSTGRES INSTANCE my_instance SUSPEND;
Copy

您随时可以恢复已暂停的实例。恢复实例所需的时间取决于实例及其数据集的大小。恢复实例后,常规计费和备份也将重新开始。

  1. 在导航菜单中,选择 Postgres

  2. 选择您的实例。

  3. 在右上角的 Manage 菜单中,选择 Resume

  4. 点击 Resume 按钮确认操作。

恢复 Snowflake Postgres 实例

要恢复 Snowflake Postgres 实例,请运行 ALTER POSTGRES INSTANCE ... RESUME:

ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> RESUME
Copy

这些操作是异步的。可使用 DESCRIBE 命令跟踪这些操作的状态。

示例:恢复名为 my_instance 的 Snowflake Postgres 实例

ALTER POSTGRES INSTANCE my_instance RESUME;
Copy

重新启动服务

如有需要,您可以重新启动 PostgreSQL 或者运行 Postgres 实例的底层服务器。这类实例管理操作将就地重新启动服务器,不会创建副本或执行故障切换。有关重新启动服务的更多信息,请参阅 Snowflake Postgres 维护

重新生成凭据

重新生成凭据将为数据库实例返回一个新的连接字符串,并替换现有凭据。有关此主题的更多信息,请参阅 Snowflake Postgres 角色

自定义配置参数

您可以为 Snowflake Postgres 实例更改许多 Postgres 自身的服务器设置。可用配置参数列表请参阅 Snowflake Postgres 服务器设置

要更改 Snowflake Postgres 实例的 Postgres 设置,您必须使用已被授予该实例 OWNERSHIP 或 OPERATE 权限的角色。

要进行更改,请执行以下操作:

  1. 在导航菜单中,选择 Postgres

  2. 选择您的实例

  3. 在页面右侧选择 Custom parameters 旁边的编辑图标

  4. 从列表中选择配置参数,或使用搜索框查找特定参数

  5. 输入配置参数的新值。

  6. 为参数添加新值后,点击 Continue to review,然后点击 Submit 以确认更改。

Example: changing the max_connections configuration parameter for a Snowflake Postgres instance

实例状态

任何实例管理操作,无论是创建新实例还是修改现有实例,都需要一定时间才能完成。具体耗时取决于多种因素,包括您的数据和架构大小,以及实例的繁忙程度。实例的状态可帮助您了解正在进行操作的进度。状态会在仪表板中显示,您也可以通过运行 DESCRIBE POSTGRES INSTANCE 命令查看。

下方列出了可能的实例状态。在实例修改操作期间,替换实例将经历第一张表中列出的所有状态。正在创建的新实例则会经历部分(而非全部)所列状态。下表列出了您在常规操作中可能看到的其他状态。

创建、修改和分支期间出现的状态:

状态

当前操作

典型耗时

下一状态

正在创建

正在创建新的底层服务器

1-2 分钟

正在恢复

正在恢复

正在将最新基础备份恢复到服务器

变量

正在启动

正在启动

正在实例上启动 Postgres,并应用基础备份期间累积的 WAL

变量

正在重放

正在重放

正在重放自上次基础备份以来累积的 WAL

变量

正在完成

正在完成

正在完成实例配置并使服务器可用

1-2 分钟

就绪

就绪

新实例与源实例匹配,已准备就绪可继续执行操作。如果安排在即将到来的维护时段,实例将保持 Ready 状态直至该时间。若计划立即执行,操作将在实例到达 Ready 状态后继续。运行中的实例通常显示 Ready 状态。

不适用

不适用

您可能在平台上看到的其他实例状态:

状态

当前操作

典型耗时

下一状态

正在重新启动

正在重新启动底层服务器

1-2 分钟

就绪

正在恢复

正在构建新服务器并恢复已暂停的实例

3-5 分钟

就绪

正在暂停

实例正在暂停

3-5 分钟

已暂停

已暂停

实例当前已暂停

直到恢复

正在恢复

语言: 中文