À partir d'AlloyDB Omni 15.5.4, vous contrôlez AlloyDB Omni à l'aide d'outils de gestion de packages courants.
Si vous disposez d'une installation existante d'AlloyDB Omni, suivez les instructions de cette page pour migrer vers la nouvelle installation à image unique.
Prérequis
Avant de pouvoir commencer la mise à niveau vers la dernière version d'AlloyDB Omni, remplissez les prérequis suivants, 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 l'interface de ligne de commande AlloyDB Omni est la version 15.5.2. Pour vérifier la version d'AlloyDB Omni, exécutez la commande suivante :
sudo alloydb versionLa sortie ressemble à ceci :
AlloyDB Omni CLI version: 1.6
AlloyDB Omni database server version: 15.5.2
Si la sortie affiche une version de base de données antérieure à la version 15.5.2, exécutez la commande suivante pour effectuer la mise à niveau :
sudo alloydb database-server upgradeRecueillir des informations sur votre installation existante
Exécutez la commande suivante :
cat /var/alloydb/config/dataplane.confDans la sortie de la commande
cat, notez les valeurs des variables suivantes pour référence :DATADIR_PATH: par exemple,/var/alloydb/mainENABLE_ALLOYDB_AI: par exemple,FALSEPGPORT: par exemple,5432INSTANCE_TYPE: par exemple,PRIMARY/READ_REPLICA
Supprimer les index ScaNN créés avec l'extension postgres_ann
L'extension postgres_ann a été renommée alloydb_scann. Si vous avez installé l'extension postgres_ann et créé des index ScaNN à l'aide de l'extension, 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 changement de nom de l'extension postgres_ann, procédez comme suit :
- Exécutez AlloyDB Omni et connectez-vous à celui-ci.
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_NAMEpar le nom de la base de données dans 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_dumppour recréer les indexScaNNultérieurement.pg_dump -st TABLE_NAME DATABASE_NAMERemplacez les éléments suivants :
DATABASE_NAME: nom de la base de donnéesTABLE_NAME: nom de la table
Supprimez les index
ScaNNcréés à l'aide de l'indexpostgres_ann.DROP INDEX INDEX_NAME;Remplacez
INDEX_NAMEpar le nom de la base de données dans 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. Le code SQL suivant doit renvoyer un ensemble de résultats vide.\c DATABASE_NAME select schemaname, relname, indexrelname, indextype, indexconfig, indexsize, indexscan FROM pg_stat_ann_indexes;Supprimez l'extension
postgres_annen procédant comme suit :- Vérifiez que l'extension
postgres_annest 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_annn'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 stopDémarrez la nouvelle image unique AlloyDB Omni en montant votre répertoire de données existant :
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/alloydbomniRemplacez 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'utilisateurpostgresdu 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 runsont les mêmes que dans les versions antérieures d'AlloyDB Omni, mais vous pouvez les personnaliser davantage. Pour en savoir plus, consultez Personnaliser votre installation 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'utilisateur qui ne sont pas utilisés pour le moment, mais qui sont réservés pour les extensions futures.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};" doneSi
ENABLE_ALLOYDB_AIestTRUE, 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 postgresDésinstallez l'interface de ligne de commande AlloyDB Omni :
sudo alloydb database-server uninstallLa désinstallation de l'interface de ligne de commande AlloyDB Omni n'affecte pas les données stockées dans AlloyDB Omni.
Recréer des index ScaNN à l'aide de l'extension alloydb_scann
Une fois que vous avez mis à niveau AlloyDB Omni, l'extension alloydb_scann est également installée. Procédez comme suit 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_scannen 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_scanna bien été créée.
select * from pg_extension;- Pour créer l'extension
Recréez l'index
ScaNNpour votre table, puis restaurez les définitions d'index LDDpg_dumpprécédentes.- Créez un index
ScaNNdans 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- Recommandé : 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 index