如需为 AlloyDB Omni 配置数据库参数,您可以在以下任一位置更新全局统一配置 (GUC) 参数:
适用于在虚拟机上运行 AlloyDB Omni 的环境的
postgresql.conf
文件。适用于在 Kubernetes 集群上运行 AlloyDB Omni 的环境的数据库集群清单。
更新容器化 AlloyDB Omni 中的参数
在虚拟机上运行的 AlloyDB Omni 中,您可以通过修改 postgresql.conf
文件来更新参数,如下所示:
找到 AlloyDB Omni 安装的
postgresql.conf
配置文件。使用文本编辑器在
postgresql.conf
中添加或更新数据库标志。例如,如需强制执行密码过期,请在
postgresql.conf
文件中设置以下标志:password.enforce_expiration = ON
添加或修改数据库标志后,请重新加载
postgresql.conf
文件,以使更改生效。例如,如果您使用 Docker 安装了 AlloyDB Omni,请运行以下命令以重启 Docker 实例并重新加载postgresql.conf
:docker restart CONTAINER-NAME
如需了解详情,请参阅 PostgreSQL 文档中的设置参数。
在 Kubernetes 集群上的 AlloyDB Omni 中更新参数
您可以使用数据库集群清单的 primarySpec
部分中的 parameters
字段配置数据库参数:
spec:
primarySpec:
parameters:
"PARAMETER_NAME": "PARAMETER_VALUE"
...
替换以下内容:
PARAMETER_NAME
:参数的名称,例如autovacuum
。PARAMETER_VALUE
:参数的值,例如off
。
某些参数需要您重启集群,所做的更改才会生效。您可以从 pg_catalog.pg_settings
获取需要重启的参数列表。包含 pg_catalog.pg_settings.context = 'postmaster'
的任何参数都需要重启。
如需更新数据库参数,请运行以下命令:
kubectl patch dbclusters.alloydbomni.dbadmin.goog dbcluster-sample -p '{"spec":{"primarySpec":{"parameters": {"PARAMETER_NAME": "PARAMETER_VALUE"}}}}' --type=merge
参数设置位于 currentParameters
字段的 status
部分。
如需查看数据库参数,请运行以下命令:
kubectl get dbclusters.alloydbomni.dbadmin.goog dbcluster-sample -o jsonpath={.status.primary.currentParameters}
输出类似于以下内容:
{"autovacuum":"off","max_connections":"3000"}
如果 AlloyDB Omni 无法应用您在数据库集群清单中请求的参数,则 currentParameters
字段的值可能会与清单的 parameters
字段中的值不同。例如,您应用不存在的参数,或者将字符串值设置为整数参数。