Cette page explique comment passer de la version 15.5.2 ou antérieure à la dernière version d'AlloyDB Omni.
À partir d'AlloyDB Omni 15.5.4, vous pouvez contrôler AlloyDB Omni à l'aide d'outils de gestion de paquets courants.
Si vous avez déjà installé AlloyDB Omni, suivez les instructions de cette page pour migrer vers la nouvelle installation à image unique.
Prérequis
Avant de pouvoir commencer à passer à la dernière version d'AlloyDB Omni, vérifiez que vous remplissez les conditions préalables suivantes, si ce n'est pas déjà fait.
Mettre à niveau vers AlloyDB Omni 15.5.2
La dernière version d'AlloyDB Omni compatible avec la CLI AlloyDB Omni est la version 15.5.2. Pour vérifier la version d'AlloyDB Omni, exécutez la commande suivante:
sudo alloydb version
La sortie ressemble à ceci :
AlloyDB Omni CLI version: 1.6
AlloyDB Omni database server version: 15.5.2
Si la version de la base de données affichée est antérieure à 15.5.2, exécutez la commande suivante pour la mettre à niveau:
sudo alloydb database-server upgrade
Rassembler des informations sur votre installation existante
Exécutez la commande suivante :
cat /var/alloydb/config/dataplane.conf
À partir de la sortie de la commande
cat
, notez les valeurs des variables suivantes pour référence:DATADIR_PATH
(par exemple,/var/alloydb/main
)ENABLE_ALLOYDB_AI
(par exemple,FALSE
)PGPORT
(par exemple,5432
)INSTANCE_TYPE
(par exemple,PRIMARY/READ_REPLICA
)
Supprimer les index ScaNN créés avec l'extension postgres_ann
L'extension postgres_ann
est renommée alloydb_scann
. Si vous avez installé l'extension postgres_ann
et créé des index ScaNN
à l'aide de celle-ci, vous devez supprimer tous les index ScaNN
et désinstaller l'extension avant d'effectuer une mise à niveau.
Pour gérer tout impact sur votre base de données en raison du renommage de l'extension postgres_ann
, procédez comme suit:
- Exécutez et connectez-vous à AlloyDB Omni.
Identifiez toutes les tables qui utilisent l'index
ScaNN
.\c DATABASE_NAME select schemaname, relname, indexrelname, indextype, indexconfig, indexsize, indexscan FROM pg_stat_ann_indexes;
Remplacez
DATABASE_NAME
par le nom de la base de données sur laquelle vous souhaitez exécuter la requête.Enregistrez les définitions et les paramètres d'index en tant que LDD de vidage à l'aide d'un utilitaire tel que
pg_dump
pour recréer les indexScaNN
ultérieurement.pg_dump -st TABLE_NAME DATABASE_NAME
Remplacez les éléments suivants :
DATABASE_NAME
: nom de la base de données.TABLE_NAME
: nom de la table
Supprimez les index
ScaNN
créés à l'aide de l'indexpostgres_ann
.DROP INDEX INDEX_NAME;
Remplacez
INDEX_NAME
par le nom de la base de données sur laquelle vous souhaitez exécuter la requête.Vérifiez qu'aucune de vos bases de données n'inclut d'index
ScaNN
. Utilisez la requête SQL suivante pour vérifier la suppression: la requête SQL suivante doit renvoyer un ensemble de résultats vide.\c DATABASE_NAME select schemaname, relname, indexrelname, indextype, indexconfig, indexsize, indexscan FROM pg_stat_ann_indexes;
Pour supprimer l'extension
postgres_ann
, procédez comme suit:- Vérifiez que l'extension
postgres_ann
est installée dans votre base de données.
select * from pg_extension;
- Supprimez l'extension
postgres_ann
.
DROP EXTENSION postgres_ann CASCADE;
- Vérifiez que l'extension
postgres_ann
n'est plus installée dans votre base de données.
select * from pg_extension;
- Vérifiez que l'extension
Effectuer une mise à niveau sur place
Arrêtez la base de données existante:
sudo alloydb database-server stop
Démarrez la nouvelle image AlloyDB Omni, en montant votre ancien répertoire de données:
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
Remplacez les éléments suivants :
CONTAINER_NAME
: nom à attribuer à ce nouveau conteneur AlloyDB Omni dans le registre de conteneurs de votre machine hôte (par exemple,my-omni
).PASSWORD
: mot de passe attribué à l'utilisateurpostgres
du nouveau conteneur après sa création.PGPORT
: adresse IP du port sur lequel AlloyDB Omni s'exécute. Il s'agit de la valeur que vous avez notée à l'étape 2 de la section Recueillir des informations sur votre installation existante.
Les arguments de
docker run
sont ceux utilisés dans les versions antérieures d'AlloyDB Omni, mais vous pouvez les personnaliser davantage. Pour en savoir plus, consultez Personnaliser votre installation d'AlloyDB Omni.Si le type d'instance de votre base de données est
PRIMARY
, exécutez la commande suivante pour créer les utilisateurs suivants. Il s'agit de noms d'utilisateurs inutilisés pour le moment, mais réservés à de futures extensions.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
Si
ENABLE_ALLOYDB_AI
est défini surTRUE
, suivez les instructions de la section Installer AlloyDB Omni avec AlloyDB AI pour configurer AlloyDB AI.Connectez-vous à la base de données pour vérifier que les données n'ont pas changé:
docker exec -it CONTAINER_NAME psql -h localhost -U postgres
Désinstallez la CLI AlloyDB Omni:
sudo alloydb database-server uninstall
La désinstallation de la CLI AlloyDB Omni n'affecte pas vos données stockées dans AlloyDB Omni.
Recréer des index ScaNN à l'aide de l'extension alloydb_scann
Une fois AlloyDB Omni mis à niveau, l'extension alloydb_scann
est également installée. Suivez les étapes ci-dessous pour recréer les index ScaNN que vous avez supprimés dans la section Supprimer les index ScaNN créés avec l'extension postgres_ann
avant la mise à niveau.
Créez l'extension
alloydb_scann
en procédant comme suit:- Pour créer l'extension
alloydb_scann
, exécutez la requête suivante:
create extension alloydb_scann cascade;
- Vérifiez que l'extension
alloydb_scann
a bien été créée.
select * from pg_extension;
- Pour créer l'extension
Recréez l'index
ScaNN
pour votre table, puis restaurez les définitions d'index LDDpg_dump
précédentes.- Créez un indice
ScaNN
sur la table:
CREATE INDEX INDEX_NAME ON TABLE_NAME USING scann (VECTOR_COLUMN DISTANCE) WITH (num_leaves = NUM_LEAVES_VALUE);
Remplacez les éléments suivants :
- INDEX_NAME: nom de l'index.
- TABLE_NAME : nom de la table
- VECTOR_COLUMN: nom de la colonne qui stocke les données vectorielles.
- DISTANCE: fonction de distance à utiliser avec cet index.
- NUM_LEAVES_VALUE: nombre de partitions à appliquer à l'index.
- Vérifiez que l'index est créé.
\d TABLE_NAME
- Recommandation: sauvegardez les données de vos index. Nous vous recommandons de créer une sauvegarde de votre base de données et de vos index.
- Créez un indice