配置数据库参数

选择文档版本:

本页面介绍了如何使用 AlloyDB Omni 编排器配置数据库参数。

数据库参数(也称为全局统一配置 (GUC) 参数)可让您调整 AlloyDB Omni 数据库集群的性能和行为。如需了解详情,请参阅 PostgreSQL 文档中的 设置参数

准备工作

在配置数据库参数之前,请确保您已完成以下操作:

  1. 已安装 AlloyDB Omni 编排器。
  2. 预配并创建您的 AlloyDB Omni 集群。

配置数据库参数

如需配置数据库参数,请使用 DBCluster 资源规范的 primarySpec 部分中的 parameters 字段。

更新资源规范

将所需参数及其值添加到 DBCluster 资源规范中:

DBCluster:
  metadata:
    name: CLUSTER_NAME
  spec:
    primarySpec:
      # ... other settings ...
      parameters:
        max_wal_size: "MAX_WAL_SIZE"
        max_connections: "MAX_CONNECTIONS_LIMIT"

替换以下内容:

  • CLUSTER_NAME:数据库集群的名称。
  • MAX_WAL_SIZE:WAL 在自动 WAL 检查点之间可以增长到的最大大小,例如 2GB
  • MAX_CONNECTIONS_LIMIT:允许连接到数据库服务器的并发连接数上限,例如 200。支持的最小值为 50

创建集群期间支持的参数

您可以在创建集群期间的 DBCluster 资源规范中配置以下数据库参数 (GUC):

  • log_connections
  • log_disconnections
  • log_hostname
  • log_statement
  • max_connections
  • max_wal_size
  • huge_pages
  • tcp_keepalives_idle
  • tcp_keepalives_interval
  • tcp_keepalives_count

您无法使用 DBCluster 规范配置未包含在此列表中的参数,例如 shared_buffers相反,您必须在创建集群后手动更新这些参数。

应用配置

使用您偏好的编排器界面应用更改。

Ansible

ansible-playbook -i DEPLOYMENT_SPECIFICATION DBCLUSTER_PLAYBOOK -e resource_spec=DBCLUSTER_SPECIFICATION

执行以下变量替换操作:

  • DEPLOYMENT_SPECIFICATION: 您在 安装 AlloyDB Omni 组件中创建的部署规范的路径。

  • DBCLUSTER_PLAYBOOK:您为数据库集群创建的剧本的路径。

  • DBCLUSTER_SPECIFICATION:集群规范的路径。

alloydbctl

alloydbctl apply -d DEPLOYMENT_SPECIFICATION -r DBCLUSTER_SPECIFICATION

执行以下变量替换操作:

  • DEPLOYMENT_SPECIFICATION: 您在 安装 AlloyDB Omni 组件中创建的部署规范的路径。

  • DBCLUSTER_SPECIFICATION:集群规范的路径。

在创建集群后更新数据库参数

如需在创建集群后更新参数,您必须手动修改数据库节点上的配置文件。

在高可用性集群中更新参数

如需在高可用性 (HA) 集群中手动更新数据库参数,请完成以下步骤:

  1. 如果 DBCluster 规范文件中将 availability.enableAutoFailoveravailability.enableAutoHeal 设置为 true,请将其设置为 false

    DBCluster:
      metadata:
        name: my-db-cluster
      spec:
        databaseVersion: 18.1.0
        mode: ""
        availability:
          ...
          enableAutoFailover: false
          enableAutoHeal: false
          ...
    

    使用您偏好的界面应用更新后的资源规范。

  2. 在每个数据库节点上,修改30startup.conf文件在 以下目录中: DATA_DISK_PATH/18/db/postgresql.conf.d/

    DATA_DISK_PATH 替换为 DBCluster 资源规范中名为 DataDisk 的磁盘的 path 字段中的值。

    DBCluster 规范示例:

    DBCluster:
      spec:
        primarySpec:
          resources:
            disks:
            - name: DataDisk
              path: /var/lib/alloydbomni/data  # This is your DATA_DISK_PATH
    
  3. 30startup.conf 文件中添加或更新数据库参数配置。如需了解详情,请参阅 PostgreSQL 文档

  4. 在所有节点上重启数据库服务:

    sudo systemctl restart alloydbomni18
  5. 如果您修改了 DBCluster 资源规范中的 availability.enableAutoFailoveravailability.enableAutoHeal 字段,请将其恢复为原始值并应用更改。

在独立集群中更新参数

如需在独立集群中手动更新数据库参数,请完成以下步骤:

  1. 在数据库节点上,更新以下目录中的 30startup.conf 文件:DATA_DISK_PATH/18/db/postgresql.conf.d/

    DATA_DISK_PATH 替换为 DBCluster 资源规范中为 DataDisk 定义的文件系统路径。

  2. 30startup.conf 文件中添加或更新数据库参数配置。

  3. 重启数据库服务:

    sudo systemctl restart alloydbomni18

验证参数更改

应用配置后,您可以使用 psql 中的 SHOW 命令验证参数是否已更新:

SHOW PARAMETER_NAME;

PARAMETER_NAME 替换为您配置的参数的名称。