Aller au contenu principal

SQL Insights

L'onglet SQL INSIGHTS donne de la visibilité sur la base de données PostgreSQL de la branche : requêtes en cours, requêtes les plus coûteuses, suggestions d'index, et un éditeur SQL pour tester puis appliquer des requêtes.

Accès

Onglet SQL INSIGHTS d'une branche de production ou de staging. Son contenu est réservé aux rôles Super Admin et Admin du projet.

Le sous-onglet Active Queries de SQL Insights
Le sous-onglet Active Queries de SQL Insights

Activer SQL Insights​

L'activation se fait une fois par branche.

  1. Ouvrez l'onglet SQL INSIGHTS. Tant que la fonction n'est pas active, l'écran Unlock SQL Insights s'affiche.
  2. Cliquez sur Activate Feature. Le bouton affiche Activating... pendant la mise en place.
  3. Les sous-onglets apparaissent dès que l'activation est terminée.

Les sous-onglets​

Sous-ongletContenuDisponible
Active Queries (par défaut)Requêtes en cours d'exécution.Toujours.
Query InsightsRequêtes les plus coûteuses.Projets hébergés sur Google Cloud, avec un serveur de base de données dédié.
Index SuggestionsIndex recommandés par Google Cloud.Comme Query Insights, et uniquement pour un projet hébergé dans une région européenne.
Index HistoryIndex créés et leur état.Comme Index Suggestions.
SQL EditorÉditeur pour exécuter du SQL.Super Admin et Admin.
SQL Query HistoryHistorique des requêtes exécutées dans l'éditeur.Super Admin et Admin.

Surveiller les requêtes en cours​

Le sous-onglet Active Queries liste les requêtes qui s'exécutent sur la base : PID, User, Database, Query Start, Query et Action.

  • Cherchez une requête avec Search by PID, user, or query....
  • Choisissez un rafraîchissement automatique : 10 seconds, 15 seconds, 30 seconds, 1 minute, ou Auto-refresh off.
  • Pour arrêter une requête bloquante, cliquez sur l'action de sa ligne, puis confirmez dans Terminate Query?. Cette action est irréversible.

Repérer les requêtes coûteuses​

Le sous-onglet Query Insights classe les requêtes par charge : Query, User, Times Called et Avg Latency (s). Le sélecteur Load by: change le critère de tri : Total Time(S), CPU Time(S), I/O Wait(S) ou Lock Wait(S).

Gérer les index​

  • Index Suggestions affiche les index recommandés par l'Index Advisor de Google Cloud : l'instruction de création (Index Statement), le nombre de requêtes concernées (Impacted Queries) et la taille estimée (Est. Size (MB)).
  • Index History liste les index créés, avec leur table, leur instruction, leur auteur, leur état et leurs dates. Un index peut y être supprimé, après confirmation (Delete Index Confirmation).

Exécuter du SQL​

Le sous-onglet SQL Editor distingue deux façons d'exécuter (les boutons sont des icônes ; leur libellé s'affiche au survol) :

BoutonEffet
Execute All / Execute selectionExécution à blanc : la requête s'exécute, le résultat s'affiche, puis la transaction est annulée automatiquement. Rien n'est modifié dans la base.
Execute & Commit All / Execute & Commit selectionExécution réelle : la transaction est validée et les modifications sont enregistrées dans la base.
  1. Saisissez votre requête dans l'éditeur. Pour n'exécuter qu'une partie du script, sélectionnez-la : les boutons selection apparaissent.
  2. Testez d'abord avec Execute All ou Execute selection. Le résultat s'affiche sous forme de tableau dans la zone de sortie.
  3. Si le résultat est correct, relancez la même requête avec Execute & Commit All ou Execute & Commit selection. Après une validation réussie, le texte exécuté est retiré de l'éditeur.

Pour interrompre une requête trop longue, cliquez sur Cancel.

Branche de production

Execute & Commit modifie immédiatement la base de données. Sur la branche de production, testez toujours la requête à blanc, et pensez à créer une sauvegarde avant une modification importante.

Consulter l'historique des requêtes​

Le sous-onglet SQL Query History liste les requêtes exécutées depuis l'éditeur : Query Content (avec View full script pour lire le script complet et le copier), Status, Executed At et Executed By.

StatutSignification
committedLa requête a été exécutée et validée.
uncommittedLa requête a été exécutée à blanc : rien n'a été enregistré.
rollbackLa requête a été annulée.

Cherchez une requête avec Search query history....

Voir aussi​

  • MONITORING pour la consommation de l'instance.
  • BACKUP pour sauvegarder la base avant une modification.