A partir do AlloyDB Omni 15.5.4, você controla o AlloyDB Omni com ferramentas comuns de gerenciamento de pacotes.
Se você já tiver uma instalação do AlloyDB Omni, siga as instruções nesta página para migrar para a nova instalação de imagem única.
Pré-requisitos
Antes de começar a fazer upgrade para a versão mais recente do AlloyDB Omni, conclua os pré-requisitos a seguir, se ainda não tiver feito isso.
Fazer upgrade para o AlloyDB Omni 15.5.2
A versão mais recente do AlloyDB Omni que oferece suporte à CLI do AlloyDB Omni é a 15.5.2. Para verificar a versão do AlloyDB Omni, execute o seguinte comando:
sudo alloydb version
A saída será assim:
AlloyDB Omni CLI version: 1.6
AlloyDB Omni database server version: 15.5.2
Se a saída mostrar uma versão do banco de dados anterior a 15.5.2, execute o seguinte comando para fazer upgrade:
sudo alloydb database-server upgrade
Reúna informações sobre sua instalação atual
Execute este comando:
cat /var/alloydb/config/dataplane.conf
Na saída do comando
cat
, anote os valores das seguintes variáveis para sua referência:DATADIR_PATH
, por exemplo,/var/alloydb/main
ENABLE_ALLOYDB_AI
, por exemplo,FALSE
PGPORT
, por exemplo,5432
INSTANCE_TYPE
, por exemplo,PRIMARY/READ_REPLICA
Descartar índices ScaNN criados com a extensão postgres_ann
A extensão postgres_ann
foi renomeada como alloydb_scann
. Se você instalou a extensão postgres_ann
e criou índices ScaNN
usando a extensão, remova todos os índices ScaNN
e desinstale a extensão antes de fazer um upgrade.
Para lidar com qualquer impacto no seu banco de dados devido à mudança de nome da extensão postgres_ann
, siga estas etapas:
- Executar e se conectar ao AlloyDB Omni.
Identifique todas as tabelas que usam o índice
ScaNN
.\c DATABASE_NAME select schemaname, relname, indexrelname, indextype, indexconfig, indexsize, indexscan FROM pg_stat_ann_indexes;
Substitua
DATABASE_NAME
pelo nome do banco de dados em que você quer executar a consulta.Salve as definições e os parâmetros de índice como uma DDL de despejo usando um utilitário como
pg_dump
para recriar os índicesScaNN
mais tarde.pg_dump -st TABLE_NAME DATABASE_NAME
Substitua:
DATABASE_NAME
: o nome do banco de dados.TABLE_NAME
: o nome da tabela.
Descarte os índices
ScaNN
que foram criados usando o índicepostgres_ann
.DROP INDEX INDEX_NAME;
Substitua
INDEX_NAME
pelo nome do banco de dados em que você quer executar a consulta.Verifique se nenhum dos seus bancos de dados inclui índices
ScaNN
. Use a seguinte consulta SQL para verificar a exclusão: o SQL a seguir precisa retornar um conjunto de resultados vazio.\c DATABASE_NAME select schemaname, relname, indexrelname, indextype, indexconfig, indexsize, indexscan FROM pg_stat_ann_indexes;
Remova a extensão
postgres_ann
seguindo estas etapas:- Verifique se a extensão
postgres_ann
está instalada no seu banco de dados.
select * from pg_extension;
- Solte a extensão
postgres_ann
.
DROP EXTENSION postgres_ann CASCADE;
- Verifique se a extensão
postgres_ann
não está mais instalada no seu banco de dados.
select * from pg_extension;
- Verifique se a extensão
Fazer um upgrade no local
Pare o banco de dados atual:
sudo alloydb database-server stop
Inicie o novo AlloyDB Omni de imagem única, montando o diretório de dados atual de antes:
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
Substitua:
CONTAINER_NAME
: o nome a ser atribuído a esse novo contêiner do AlloyDB Omni no registro de contêineres da máquina host. Por exemplo,my-omni
.PASSWORD
: a senha atribuída ao usuáriopostgres
do novo contêiner após a criação dele.PGPORT
: o endereço IP da porta em que o AlloyDB Omni é executado. Esse é o valor que você anotou na etapa 2 de Reunir informações sobre sua instalação atual.
Os argumentos de
docker run
são os mesmos das versões anteriores do AlloyDB Omni, mas você pode personalizá-los ainda mais. Consulte Personalizar a instalação do AlloyDB Omni para mais detalhes.Se o tipo de instância do banco de dados for
PRIMARY
, execute o comando a seguir para criar os usuários. São nomes de usuário que não estão sendo usados no momento, mas estão reservados para extensões futuras.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
Se
ENABLE_ALLOYDB_AI
forTRUE
, siga as instruções em Instalar o AlloyDB Omni com a IA do AlloyDB para configurar a IA do AlloyDB.Conecte-se ao banco de dados para verificar se os dados não foram alterados:
docker exec -it CONTAINER_NAME psql -h localhost -U postgres
Desinstale a CLI do AlloyDB Omni:
sudo alloydb database-server uninstall
A desinstalação da CLI do AlloyDB Omni não afeta os dados armazenados no AlloyDB Omni.
Recriar índices do ScaNN usando a extensão alloydb_scann
Depois de fazer upgrade do AlloyDB Omni, a extensão alloydb_scann
também será instalada. Conclua as etapas a seguir para recriar os índices do ScaNN que você excluiu na seção Excluir índices do ScaNN criados com a extensão postgres_ann
antes do upgrade.
Crie a extensão
alloydb_scann
seguindo estas etapas:- Para criar a extensão
alloydb_scann
, execute a seguinte consulta:
create extension alloydb_scann cascade;
- Verifique se a extensão
alloydb_scann
foi criada com sucesso.
select * from pg_extension;
- Para criar a extensão
Recrie o índice
ScaNN
para sua tabela e restaure as definições de índice DDLpg_dump
anteriores.- Crie o índice
ScaNN
na tabela:
CREATE INDEX INDEX_NAME ON TABLE_NAME USING scann (VECTOR_COLUMN DISTANCE) WITH (num_leaves = NUM_LEAVES_VALUE);
Substitua:
- INDEX_NAME: o nome do índice.
- TABLE_NAME: o nome da tabela.
- VECTOR_COLUMN: o nome da coluna que armazena dados de vetor.
- DISTANCE: a função de distância a ser usada com esse índice.
- NUM_LEAVES_VALUE: o número de partições a serem aplicadas ao índice.
- Verifique se o índice foi criado.
\d TABLE_NAME
- Recomendado: faça backup dos dados de índice. Recomendamos criar um backup do banco de dados e dos índices como prática recomendada.
- Crie o índice