Snowflake Postgres 实例管理¶
Snowflake Postgres 提供多种实例管理操作,帮助您管理实例。这些操作属于维护形式,旨在确保实例持续运行和安全稳定。
执行实例管理操作需要短暂的服务中断。 请确保您的应用程序能够自动重新连接到数据库。
备注
除非您明确轮换凭证,否则实例的连接字符串在实例管理操作期间将保持不变。
为确保实例健康运行,我们可能会代表您安排维护操作(例如 修改 实例存储大小)。
有关平台如何执行实例维护的详细说明,请参阅 Snowflake Postgres 维护。
可用操作¶
在控制台的实例详情页面中,Manage 下拉菜单提供以下操作:
分支 – 从现有实例创建新实例
修改 – 更改实例的计算规格、存储大小或 Postgres 版本
启用高可用性 – 为实例启用高可用性
创建副本 – 创建实例的副本
实例暂停与恢复 – 停止 Postgres 服务器但保留磁盘上的数据
刷新 – 替换实例、更新到最新次要版本、获取最新 OS 版本,并启用最新功能
重新启动服务 – 重新启动 PostgreSQL 或整个底层服务器
重新生成凭据 – 重新生成实例的凭据
分支¶
您可以通过创建实例分支来从现有实例创建新实例,并可选地选择分支的时间点。默认情况下,新实例将从源实例的当前状态进行分支。在 Snowflake Postgres 时间点恢复 中阅读有关分支的更多内容。
修改¶
要更改现有 Snowflake Postgres 实例的配置,您必须使用已被授予该实例 OWNERSHIP 或 OPERATE 权限的角色。
您可以在影响最小且不更改连接字符串的情况下,就地调整实例大小。在实例调整大小期间,您可以:
将 COMPUTE_FAMILY 更改为不同规格。
更改存储容量。支持增加或减少存储大小。
将 Postgres 版本升级至较新的主要版本。
修改实例的资源配置或主要版本需要执行故障转移维护。有关更多信息,请参阅 Snowflake Postgres 维护故障转移。
要进行更改,请执行以下操作:
在导航菜单中,选择 Postgres。
选择您的实例。
在右上角的 Manage 菜单中,选择 Modify。
从下拉菜单中选择新的 COMPUTE_FAMILY 和/或存储大小。有关更改 Postgres 版本的详细信息,请参阅 Postgres 主要版本升级。
选择 Save 按钮确认更改。
![]()
如果为实例设置了维护窗口,则升级维护故障转移将在替换实例准备就绪后的下一个维护窗口执行。如果未设置维护窗口,则替换实例准备就绪后会立即执行升级维护故障转移。
使用 ALTER POSTGRES INSTANCE 命令以更改 Snowflake Postgres 实例的配置。
修改 Postgres 实例示例
通过单次操作将现有实例的 COMPUTE_FAMILY 更改为 STANDARD_M 并将存储大小更改为 100GB:
如果已设置维护窗口,则所需的维护故障转移将在替换实例准备就绪后的下一个维护窗口执行。如果希望在替换实例准备就绪后立即执行维护,请使用 APPLYIMMEDIATELY:
或者,您可以使用 APPLYON '<timestamp>' 子句指定一个未来的日期或时间戳(最多为当前时间起三天内),以执行维护故障转移。
备注
如果实例未设置维护窗口,且未使用 APPLY IMMEDIATELY 或 APPLY ON 'timestamp' 子句,则维护故障转移将按使用 APPLY IMMEDIATELY 的方式执行。
如果您计划减少实例的存储大小,请注意:我们当前要求调整后的存储容量大于或等于当前磁盘使用量的 1.4 倍,以减少告警并避免立即触发扩容。
重要
对主实例所做的 COMPUTE_FAMILY 和 STORAGE_SIZE_GB 变更 不会 自动应用于任何现有的只读副本。这些副本需要执行各自的 Modify 操作。
COMPUTE_FAMILY 和 STORAGE_SIZE_GB 变更 也 适用于 HA 备用,如果为给定实例启用了 HA。对于这些操作,HA 备用实例替换总是在其替换实例准备就绪后立即进行,因为这不需要将其主服务器停机。
备注
有关如何跟踪正在进行的 Modify 操作进度的详细信息,请参阅 DESCRIBE POSTGRES INSTANCE 使用说明。
Postgres 主要版本升级¶
对实例的 Postgres 主要版本的更改通过 Snowflake Postgres 维护故障转移 操作进行,就像其他 Modify 操作一样,但在涉及 HA 和只读副本实例时存在一些重要的区别。
Postgres 主要版本升级操作只能应用于主实例。当主实例进行主要版本升级时,通过从主实例升级完成 后 创建的全新备份重建这些实例,将相同的升级应用于任何现有的只读副本和 HA 实例。
这意味着在运行主实例升级后的全新备份,并根据该备份构建新的 HA 和/或只读副本实例所需的时间内:
主实例将没有有效的 HA 实例存在。
虽然它们仍可访问,但只读副本将具有过时的数据,因为在替换实例准备就绪之前,它们不会从主实例进行复制。
有关 Postgres 主要版本升级操作的更多详细信息,请参阅 Postgres 主要版本升级。
启用高可用性¶
启用高可用性 (HA) 后,您的实例将包含一个备用主机,当主主机不可用时,备用主机将立即接管并替换它。您可以在 Snowflake Postgres 高可用性 阅读更多相关内容。
创建副本¶
您可以从仪表板创建实例的副本。副本是源实例的只读副本,与源实例保持同步。有关创建和使用副本的更多信息,请参阅 Snowflake Postgres 只读副本。
实例暂停与恢复¶
暂停¶
暂停实例会停用其所运行的虚拟机,同时保留其在存储中的磁盘映像,以便后续恢复实例。实例的常规计费会暂停,但存储成本将继续产生。现有的 10 天备份也会保留。
若有待重启才能应用的操作,这些操作将在实例恢复时应用。
要暂停或恢复 Snowflake Postgres 实例,您必须使用已被授予该实例 OWNERSHIP 或 OPERATE 权限的角色。
Snowflake Postgres 允许您从仪表板暂停实例。
在导航菜单中,选择 Postgres。
选择您的实例。
在右上角的 Manage 菜单中,选择 Suspend。
点击 Suspend 按钮确认操作。
要暂停 Snowflake Postgres 实例,请运行带有 SUSPEND 选项的 ALTER POSTGRES INSTANCE 命令。例如:
这些操作是异步的。您可以使用 DESCRIBE POSTGRES INSTANCE 命令跟踪这些操作的状态。
示例:暂停名为 my_instance 的 Snowflake Postgres 实例
恢复¶
您随时可以恢复已暂停的实例。恢复实例所需的时间取决于实例及其数据集的大小。恢复实例后,常规计费和备份也将重新开始。
刷新¶
Refresh 是一个实例 维护操作,它将替换您的实例,而不会对其配置的资源进行任何更改。使用此选项可确保您的实例具有最新的 OS 安全补丁、其给定主要版本的最新 Postgres 次要版本,并能与最新的 Snowflake Postgres 功能一起正常工作。
在导航菜单中,选择 Postgres。
选择您的实例。
在右上角的 Manage 菜单中,选择 Refresh。
如果您希望在替换服务器准备就绪后立即进行刷新维护故障转移,请选择 Bypass maintenance Window and apply immediately。
点击 Refresh 按钮确认操作。
要通过 SQL 运行实例 Refresh,请使用 ALTER POSTGRES INSTANCE,并使 COMPUTE_FAMILY 值与其当前值匹配。例如,如果您有一个名为 myinstance 的 STANDARD_M 实例,请使用此方法运行 Refresh 维护,并使维护的故障转移操作在替换服务器准备就绪后的第一个维护窗口期间发生:
使用此选项可使 Refresh 维护故障转移在替换服务器准备就绪后立即进行,而不是在设置了维护窗口的情况下等待下一个维护窗口:
备注
有关如何跟踪正在进行的 Refresh 操作进度的详细信息,请参阅 DESCRIBE POSTGRES INSTANCE 使用说明。
重新启动服务¶
如有需要,您可以重新启动 PostgreSQL 或者运行 Postgres 实例的底层服务器。这类实例管理操作将就地重新启动服务器,不会创建副本或执行故障切换。有关重新启动服务的更多信息,请参阅 Snowflake Postgres 维护重启。
重新生成凭据¶
重新生成凭据将为数据库实例返回一个新的连接字符串,并替换现有凭据。有关此主题的更多信息,请参阅 Snowflake Postgres 角色。
自定义配置参数¶
您可以为 Snowflake Postgres 实例更改许多 Postgres 自身的服务器设置。可用配置参数列表请参阅 Snowflake Postgres 服务器设置。
要更改 Snowflake Postgres 实例的 Postgres 设置,您必须使用已被授予该实例 OWNERSHIP 或 OPERATE 权限的角色。
要进行更改,请执行以下操作:
在导航菜单中,选择 Postgres。
选择您的实例
在页面右侧选择 Custom parameters 旁边的编辑图标
从列表中选择配置参数,或使用搜索框查找特定参数
输入配置参数的新值。
为参数添加新值后,点击 Continue to review,然后点击 Submit 以确认更改。
要为实例指定对 Postgres 设置 的变更,请运行带有 SET POSTGRES_SETTINGS 选项的 ALTER POSTGRES INSTANCE 命令。
通过 POSTGRES_SETTINGS 选项,您可以指定具有以下结构的 JSON 格式字符串:
部分 Postgres 设置的更改可能需要重新启动实例才能生效。除非您在 ALTER POSTGRES INSTANCE 语句中指定 APPLY IMMEDIATELY,否则这些更改不会生效。有关需要重新启动的设置列表,请参阅 Postgres 设置。
示例:将名为 my_instance 的 Snowflake Postgres 实例的 work_mem 配置参数设置为 128MB
实例状态¶
任何实例管理操作,无论是创建新实例还是修改现有实例,都需要一定时间才能完成。具体耗时取决于多种因素,包括您的数据和架构大小,以及实例的繁忙程度。实例的状态可帮助您了解正在进行操作的进度。状态会在仪表板中显示,您也可以通过运行 DESCRIBE POSTGRES INSTANCE 命令查看。
下方列出了可能的实例状态。在实例修改操作期间,替换实例将经历第一张表中列出的所有状态。正在创建的新实例则会经历部分(而非全部)所列状态。下表列出了您在常规操作中可能看到的其他状态。
创建、修改和分支期间出现的状态:
状态 |
当前操作 |
典型耗时 |
下一状态 |
|---|---|---|---|
正在创建 |
正在创建新的底层服务器 |
1-2 分钟 |
正在恢复 |
正在恢复 |
正在将最新基础备份恢复到服务器 |
变量 |
正在启动 |
正在启动 |
正在实例上启动 Postgres,并应用基础备份期间累积的 WAL |
变量 |
正在重放 |
正在重放 |
正在重放自上次基础备份以来累积的 WAL |
变量 |
正在完成 |
正在完成 |
正在完成实例配置并使服务器可用 |
1-2 分钟 |
就绪 |
就绪 |
新实例与源实例匹配,已准备就绪可继续执行操作。如果安排在即将到来的维护时段,实例将维持 |
不适用 |
不适用 |
您可能在平台上看到的其他实例状态:
状态 |
当前操作 |
典型耗时 |
下一状态 |
|---|---|---|---|
正在重新启动 |
正在重新启动底层服务器 |
1-2 分钟 |
就绪 |
正在恢复 |
正在构建新服务器并恢复已暂停的实例 |
3-5 分钟 |
就绪 |
正在暂停 |
实例正在暂停 |
3-5 分钟 |
已暂停 |
已暂停 |
实例当前已暂停 |
直到恢复 |
正在恢复 |

