本页面介绍了如何自定义 AlloyDB Omni 安装,该安装支持各种形式的自定义。本页面展示了一些常见的 自定义。
启用和停用 AlloyDB Omni 遥测
AlloyDB Omni 遥测实现了一个轻量级客户端代理,该代理仅在 AlloyDB Omni 容器映像中运行。此代理会定期收集一组基本的假名指标,并将这些指标发送到 Google 管理的端点。
由于 AlloyDB Omni 是一款可免费下载的产品,因此该遥测功能可为 Google 提供有关正在运行的实例的通用采用和部署环境的基本非个人身份信息 (non-PII) 指标。这些数据有助于为产品开发和支持优先级提供信息。
收集的指标包括:
- 唯一安装 ID(假名 UUID)
- AlloyDB Omni 版本和 PostgreSQL 主要版本
- 主机系统信息,例如 CPU 数量、RAM 和正常运行时间
停用遥测报告
如需阻止遥测代理运行和报告使用情况指标,请将 PostgreSQL 配置参数 omni_enable_telemetry 设置为
off。您可以通过在 postgresql.conf 文件中设置遥测标志或在运行时使用 ALTER SYSTEM 设置该标志来停用遥测代理。
在 postgresql.conf 文件中设置遥测标志
如需修改容器的永久性数据目录中的 PostgreSQL 配置文件,请按照以下步骤操作:
- 在数据库的数据目录 (
$PGDATA) 中找到postgresql.conf文件。 停用 AlloyDB Omni 遥测。
omni_enable_telemetry = off
如需应用更改,请重启 AlloyDB Omni 容器。 遥测代理会停止收集使用情况指标并将其发送给 Google。
在运行时使用 ALTER SYSTEM 设置遥测标志
如需设置遥测标志并在重启后保留更改,请按照以下步骤操作:
使用
psql连接到 AlloyDB Omni 实例:psql -h HOST -U USER -d DATABASE
进行以下替换:
HOST:AlloyDB Omni 实例的主机名或 IP 地址,例如127.0.0.1。USER:您要以其身份连接的数据库用户,例如postgres。DATABASE:您要连接到的数据库,例如postgres。
运行以下命令:
ALTER SYSTEM SET omni_enable_telemetry = 'off';
重新加载配置或重启实例。在某些容器设置中,您可能需要重启实例,以确保后台工作器完全获取了更改。
SELECT pg_reload_conf();
遥测代理会停止收集使用情况指标并将其发送给 Google。
启用遥测报告
如果您之前停用了 AlloyDB Omni 遥测,则可以通过将 omni_enable_telemetry 标志设置为 on
来重新启用它。您可以通过在 postgresql.conf 文件中设置该标志或在运行时使用 ALTER SYSTEM 设置该标志来启用遥测代理。
在 postgresql.conf 文件中设置遥测标志
- 在数据库的数据目录 (
$PGDATA) 中找到postgresql.conf文件。 设置以下行:
omni_enable_telemetry = on
如需应用更改,请重启 AlloyDB Omni 容器。
在运行时使用 ALTER SYSTEM 设置遥测标志
- 使用
psql连接到 AlloyDB Omni 实例。 运行以下命令:
ALTER SYSTEM SET omni_enable_telemetry = 'on';
如需应用更改,请重启 AlloyDB Omni 容器。
docker restart CONTAINER_NAME
进行以下替换:
CONTAINER_NAME:AlloyDB Omni 容器的名称,例如my-omni-1。
检查 AlloyDB Omni 遥测状态
您可以检查 AlloyDB Omni 遥测代理的状态,包括它是否已启用或正在运行。您还可以检查遥测代理活动。
检查遥测代理是启用还是停用状态
如需检查遥测设置的状态,请按照以下步骤操作:
- 连接到您的实例
- 运行以下命令:
SHOW omni_enable_telemetry;
输出会返回 on 或 off,具体取决于您是停用还是启用了 AlloyDB Omni 遥测。
检查遥测代理是否正在运行
如需检查遥测代理是否正在运行,请在容器主机中运行以下命令:
docker top CONTAINER_NAME
进行以下替换:
CONTAINER_NAME:AlloyDB Omni 容器的名称,例如my-omni-1。
如果遥测已启用并正在运行,则输出会包含一行,其中包含文本 postgres: omni telemetry worker。
检查遥测代理活动
如需检查遥测代理的活动,请在容器主机中运行以下命令:
docker logs CONTAINER_NAME 2>&1 | grep telemetry
进行以下替换:
CONTAINER_NAME:AlloyDB Omni 容器的名称,例如my-omni-1。
如果遥测代理正在运行,则日志中会包含类似于以下内容的消息:
LOG: [telemetry_agent_worker.cc:143] Started telemetry worker LOG: [telemetry_agent_worker.cc:161] Running telemetry reporting agent telemetry_agent: Uploading telemetry data to https://cloud.google.com/log.
连接到您的实例
根据您的环境,您可以在本地或远程连接到 AlloyDB Omni 实例。
在本地连接
Docker
docker exec -it CONTAINER_NAME psql -U postgres
Docker
docker exec -it CONTAINER_NAME psql -U postgres
Podman
podman exec -it CONTAINER_NAME psql -U postgres
Podman
podman exec -it CONTAINER_NAME psql -U postgres
执行以下变量替换操作:
CONTAINER_NAME:AlloyDB Omni 容器的名称,例如my-omni-1。
远程连接
/usr/lib/postgresql/18/bin/psql -U postgres -p HOST_PORT -h IP_ADDRESS_OR_FQDN
执行以下变量替换操作:
HOST_PORT:您在安装期间使用的 TCP 端口。IP_ADDRESS_OR_FQDN:运行 AlloyDB Omni 的主机的 IP 地址或完全限定域名。
启用扩展程序
如需查看 AlloyDB Omni 中可用的扩展程序列表,请参阅支持的数据库扩展程序。虽然 AlloyDB Omni 不包含 PostGIS 和 Orafce,但您可以按照以下说明安装它们:
如启用扩展程序中所述,使用标准 PostgreSQL CREATE EXTENSION 语句启用已安装的扩展程序。