从 AlloyDB Omni 15.5.4 开始,您可以使用常用软件包管理工具控制 AlloyDB Omni。
如果您已安装 AlloyDB Omni,请按照本页中的说明迁移到新的单映像安装。
前提条件
在开始升级到最新版本的 AlloyDB Omni 之前,如果您尚未完成以下前提条件,请先完成这些前提条件。
升级到 AlloyDB Omni 15.5.2
支持 AlloyDB Omni CLI 的最新 AlloyDB Omni 版本为 15.5.2。如需检查 AlloyDB Omni 的版本,请运行以下命令:
sudo alloydb version
输出类似于以下内容:
AlloyDB Omni CLI version: 1.6
AlloyDB Omni database server version: 15.5.2
如果输出显示的数据库版本低于 15.5.2,请运行以下命令进行升级:
sudo alloydb database-server upgrade
收集有关现有安装的信息
运行以下命令:
cat /var/alloydb/config/dataplane.conf
从
cat
命令的输出中,记下以下变量的值以供参考:DATADIR_PATH
,例如/var/alloydb/main
ENABLE_ALLOYDB_AI
,例如FALSE
PGPORT
,例如5432
INSTANCE_TYPE
,例如PRIMARY/READ_REPLICA
执行就地升级
停止现有数据库:
sudo alloydb database-server stop
启动新的单映像 AlloyDB Omni,并挂载之前的现有数据目录:
docker run --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=PASSWORD \ -e PGDATA=/var/lib/postgresql/data \ -v /var/alloydb/main/data:/var/lib/postgresql/data \ -v /dev/shm:/dev/shm \ -p PGPORT:5432 \ --network=host \ --ulimit=nice=-20:-20 \ --ulimit=core=-1:-1 \ --log-driver=journald \ -d google/alloydbomni:15.5.4
替换以下内容:
CONTAINER_NAME
:要在宿主机的容器注册表中为此新的 AlloyDB Omni 容器分配的名称,例如my-omni
。PASSWORD
:为新容器的postgres
用户在创建后分配的密码。PGPORT
:AlloyDB Omni 运行的端口的 IP 地址。这是您在收集现有安装的相关信息的第 2 步中记下的值。
docker run
的参数是早期版本 AlloyDB Omni 中使用的参数,但您可以进一步对其进行自定义。如需了解详情,请参阅自定义 AlloyDB Omni 安装。如果您的数据库实例类型为
PRIMARY
,请运行以下命令以创建以下用户。这些用户名目前未使用,但预留以供日后扩展。for name in alloydbagent alloydbexport alloydbiamgroupuser alloydbiamuser alloydbimportexport alloydbobservability alloydbsqllogical alloydbsuperuser; do echo docker exec -it CONTAINER_NAME psql -h localhost -U postgres alloydbadmin \ -c "CREATE ROLE ${name} NOLOGIN;" \ -c "CREATE TABLE ${name}_table();" \ -c "ALTER TABLE ${name}_table OWNER TO ${name};" done
如果
ENABLE_ALLOYDB_AI
设置为TRUE
,请按照安装 AlloyDB Omni 和 AlloyDB AI中的说明设置 AlloyDB AI。连接到数据库,验证数据是否保持不变:
docker exec -it CONTAINER_NAME psql -h localhost -U postgres
卸载 AlloyDB Omni CLI:
sudo alloydb database-server uninstall
卸载 AlloyDB Omni CLI 不会影响您存储在 AlloyDB Omni 中的数据。