Éditeur de requête et IntelliSense

L’extension PostgreSQL pour Visual Studio Code fournit un éditeur de requêtes avec des complétions IntelliSense, une exécution des requêtes au clavier, une grille de résultats avec des options d’exportation et des extraits de code intégrés. Vous écrivez SQL dans un onglet d’éditeur VS Code standard et exécutez-le sur n’importe quel serveur PostgreSQL connecté sans quitter l’IDE.

Prerequisites

Ouvrir un éditeur de requête

Vous pouvez ouvrir un nouvel éditeur de requête de plusieurs façons :

  • Dans l’arborescence Connexions , cliquez avec le bouton droit sur un nœud de base de données et sélectionnez Nouvelle requête.
  • Exécutez PGSQL: New Query depuis la palette de commandes (Ctrl+Maj+P).
  • Ouvrez ou créez un fichier avec une .sql extension.

L’éditeur de requête utilise l’éditeur de texte VS Code avec le mode de langage SQL. Lorsque vous connectez l’éditeur à un serveur, l’extension active IntelliSense et active les commandes d’exécution de requête.

Se connecter et se déconnecter

Pour associer un éditeur de requête à une connexion de base de données :

Action Windows / Linux macOS
Connectez-vous Ctrl+Maj+C Cmd+Maj+C
Déconnecter Ctrl+Maj+D Cmd+Maj+D

Vous pouvez également exécuter PGSQL: Connect ou PGSQL: Disconnect à partir de la palette de commandes.

Modifier le contexte de la base de données

La base de données active pour l’exécution des requêtes s’affiche dans la barre d’état VS Code. Pour basculer vers une autre base de données :

  1. Sélectionnez le nom de la base de données dans la barre d’état ou exécutez-le PGSQL: Change PostgreSQL Database dans la palette de commandes.
  2. Sélectionnez la base de données cible dans le sélecteur.

Le nouveau contexte de base de données s’applique à toutes les exécutions de requête suivantes dans cet éditeur.

Vue de l’état de la connexion

Quand pgsql.showConnectionStatusLens est défini sur true (par défaut), l’éditeur affiche un CodeLens en haut du fichier indiquant l’état actuel de la connexion. Sélectionnez l’objectif pour connecter ou modifier des bases de données.

IntelliSense

IntelliSense fournit des complétions automatiques en fonction du contexte au fur et à mesure que vous saisissez du code SQL dans l’éditeur de requêtes. L’extension analyse votre schéma de base de données connecté pour suggérer des tables, des colonnes, des fonctions et des mots clés.

IntelliSense s’active automatiquement lorsque vous tapez, ou vous pouvez le déclencher manuellement avec Ctrl+Espace (Cmd+Espace sur macOS). Les types d’achèvement suivants sont disponibles :

Type d’achèvement Description
Mot-clé Mots clés SQL tels que SELECT, , FROMWHERE
Tableau / Vue Tables et vues dans la base de données actuelle
Column Colonnes des tables référencées dans la requête
Function Fonctions intégrées et définies par l’utilisateur
Schema Schémas disponibles dans la base de données
Suggestion de jointure JOIN clauses fondées sur des relations de clé étrangère

Lorsque vous tapez JOIN après une référence de table, IntelliSense suggère des tables associées et remplit la condition de jointure en fonction des relations de clé étrangère.

Configurer IntelliSense

Activez ou désactivez IntelliSense avec le pgsql.intelliSense.enableIntelliSense paramètre. IntelliSense est activé par défaut.

Actualiser le cache IntelliSense

Si vous modifiez votre schéma de base de données (par exemple, en ajoutant des tables ou des colonnes) et IntelliSense ne reflète pas ces modifications, actualisez le cache :

  1. Ouvrez la palette de commandes (Ctrl+Maj+P).
  2. Exécutez PGSQL: Refresh IntelliSense Cache.

Utilisez cette commande après les migrations de schémas, les modifications DDL ou les modifications apportées en dehors de la session d’éditeur actuelle.

Exécuter des requêtes

L’extension fournit plusieurs façons d’exécuter des requêtes SQL sur votre base de données connectée.

Exécuter une requête

Utilisez Exécuter une requête PostgreSQL pour exécuter SQL dans l’éditeur. Si vous sélectionnez du texte spécifique, seul le texte sélectionné s’exécute. Si rien n’est sélectionné, tout le contenu de l’éditeur s’exécute.

Action Windows / Linux macOS
Exécuter une requête PostgreSQL Ctrl+Maj+E ou Maj+Entrée Cmd+Maj+E ou Maj+Entrée
Exécuter l’instruction PostgreSQL actuelle Ctrl+Maj+Entrée Ctrl+Maj+Entrée

Exécuter l’instruction PostgreSQL actuelle exécute uniquement l’instruction SQL à la position actuelle du curseur. Utilisez cette commande lorsque vous avez plusieurs instructions dans l’éditeur et que vous souhaitez en exécuter une sans la sélectionner.

Annuler une requête

Pour arrêter une requête de longue durée, exécutez PGSQL: Cancel PostgreSQL Query depuis la Palette de commandes. La barre d’état indique la progression de l’exécution lorsqu’une requête est en cours d’exécution.

Panneau Résultats des requêtes PostgreSQL

Une fois que vous avez exécuté une requête, les résultats s’affichent dans le panneau Résultats de la requête PostgreSQL sous l’éditeur. Le panneau comporte jusqu’à trois onglets en fonction du type de requête.

Onglet Résultats

L’onglet Résultats affiche la grille des résultats. Lorsqu’une requête retourne plusieurs jeux de résultats, chaque jeu apparaît dans sa propre grille dans l’onglet.

La grille de résultats fournit ces fonctionnalités pour explorer les données :

  • Trier : cliquez avec le bouton droit sur un en-tête de colonne, puis sélectionnez Tri croissant ou Tri décroissant. Sélectionnez Effacer le tri pour supprimer le tri.
  • Filtre : cliquez avec le bouton droit sur un en-tête de colonne et sélectionnez Afficher le filtre pour affiner les lignes affichées.
  • Redimensionner les colonnes : faites glisser les bordures de colonne pour ajuster la largeur ou activez pgsql.resultsGrid.autoSizeColumns (par défaut) les colonnes de taille automatique en fonction du contenu visible.
  • Numérotation des lignes : les numéros de ligne apparaissent sur le côté gauche de la grille.
  • Recherche : utilisez le champ de recherche dans la barre d’outils des résultats pour rechercher des valeurs dans la grille.

Les requêtes jointes et les jeux de résultats plus larges utilisent la même expérience de grille. Vous pouvez donc trier, filtrer et analyser les colonnes associées sans quitter l’éditeur.

Copie de données

Cliquez avec le bouton droit dans la grille des résultats pour accéder aux options de copie :

Option Description
Sélectionner tout Sélectionner toutes les lignes dans le jeu de résultats
Copy Copier les cellules sélectionnées vers le presse-papiers
Copier avec des en-têtes Copier les cellules sélectionnées avec des en-têtes de colonne
Copier les en-têtes Copier uniquement les en-têtes de colonne

Vous pouvez également utiliser ces raccourcis clavier du volet de résultats (configurables via le pgsql.shortcuts paramètre) :

Action Raccourci par défaut
Copier la sélection Ctrl+C
Sélectionner tout Ctrl+A
Afficher ou masquer le volet des résultats Ctrl+Alt+R
Afficher/masquer le volet Messages Ctrl+Alt+Y
Grille des résultats de focus Ctrl+Alt+G
Grille de résultats précédente Ctrl+Haut
Grille de résultats suivante Ctrl+Bas

Tip

Définissez pgsql.copyIncludeHeaders sur true pour inclure les en-têtes de colonne à chaque copie. Définissez pgsql.copyRemoveNewLine sur false pour préserver les sauts de ligne des cellules copiées.

Enregistrer les résultats

Exportez les résultats de la requête en sélectionnant un bouton Enregistrer dans la barre d’outils des résultats :

Button Format
Enregistrer au format CSV Valeurs séparées par une virgule (.csv)
Enregistrer au format JSON JavaScript Object Notation (.json)
Enregistrer en tant que Excel classeur Microsoft Excel (.xlsx)

Personnalisez le comportement d’exportation CSV avec les paramètres suivants :

Réglage Description Default
pgsql.saveAsCsv.delimiter Caractère délimiteur de colonne ,
pgsql.saveAsCsv.lineSeparator Séparateur de lignes Par défaut du système
pgsql.saveAsCsv.textIdentifier Caractère permettant d’entourer les champs de texte "
pgsql.saveAsCsv.encoding Encodage de fichier utf-8
pgsql.saveAsCsv.includeHeaders Inclure des en-têtes de colonne true

Ouvrir les résultats dans un onglet distinct

Pour les jeux de résultats volumineux, ouvrez les résultats dans un onglet éditeur dédié pour plus d’espace. Sélectionnez Ouvrir sous Nouvel onglet dans la barre d’outils des résultats ou définissez-le pgsql.openQueryResultsInTabByDefaulttrue dans vos paramètres pour toujours ouvrir les résultats dans un onglet distinct.

Onglet Messages

L’onglet Messages affiche les informations d’exécution des requêtes, notamment les messages d’état, le nombre de lignes et le temps d’exécution. Chaque message inclut un horodatage.

Le volet messages s’ouvre par défaut en même temps que la grille des résultats. Pour modifier ce comportement, définissez pgsql.messagesDefaultOpen sur false.

Tip

Définissez pgsql.showBatchTime sur true pour afficher le temps d’exécution des lots individuels.

Onglet Plan de requête

Lorsque vous exécutez une requête ou EXPLAIN une EXPLAIN ANALYZE requête, un onglet Plan de requête s’affiche en même temps que Les résultats et les messages. Sélectionnez cet onglet pour ouvrir le visualiseur de plan d’exécution intégré, ou sélectionnez le bouton Visualiser le plan de requête dans la barre d’outils du volet Résultats des requêtes PostgreSQL.

Vous pouvez également exécuter Visualisez le plan de requête (PostgreSQL) à partir de la palette de commandes pour visualiser le plan de la requête actuelle.

Pour plus d’informations sur le visualiseur de plan d’exécution, consultez visualiseur de plan de requête.

Vue Graphique pour les requêtes Apache AGE

Lorsqu’une requête retourne des résultats orientés graphiques à partir d’Apache AGE, l’extension détecte les cypher() appels de fonction et les modèles Apache AGE (agtype, ag_catalog) et ouvre le lot de résultats dans une vue graphique au lieu de la grille standard.

  • Changer de vue : sélectionnez Basculer vers graph dans la barre d’outils des résultats pour passer de la grille à l’affichage graphique, ou basculez vers la table pour revenir à la grille.
  • Inspecter les éléments : sélectionnez des nœuds ou des arêtes dans le graphique pour afficher leurs étiquettes et leurs propriétés dans le panneau Propriétés .
  • Naviguer : utilisez les boutons de la barre d’outils du graphique : Zoom avant, Zoom arrière, Ajuster à la fenêtre et Réinitialiser.
  • Exporter : sélectionnez Enregistrer en tant que PNG dans la barre d’outils du graphique pour exporter le graphique sous forme d’image.

Note

Si la requête ne retourne pas de données graphables, l’extension conserve la vue grille standard.

Extraits de code

L’extension inclut des extraits de code PostgreSQL intégrés qui vous aident à générer des modèles SQL courants. Tapez un préfixe d’extrait de code dans l’éditeur et appuyez sur Tab pour développer l’extrait de code. Appuyez sur la touche Tab pour passer d’un espace réservé à l’autre dans l’extrait de code développé et renseigner les valeurs.

Extraits de code disponibles

Préfixe Description
pgCreateTable Créer une table de base avec une clé primaire
pgDropDatabase Supprimer une base de données PostgreSQL existante
pgDropTable Supprimer un tableau
pgInsertData Insérer une ligne dans une table
pgSelectAll Requête simple SELECT *
pgUpdateRows Mettre à jour les données dans une table
pgDeleteRows Supprimer des données d’une table
pgCreateIndex Créer un index sur une colonne spécifiée
pgCreateUser Créer un rôle ou un utilisateur
pgGrantPrivileges Accorder des privilèges sur une table à un utilisateur
pgCTE Exemple d’expression de table commune (CTE)
pgLeftJoin LEFT JOIN exemple de requête
pgExplainAnalyze EXPLAIN ANALYZE requête pour obtenir des détails sur les performances
pgListTables Répertorier toutes les tables dans un schéma spécifique

Tip

Tapez pg dans l’éditeur et parcourez les suggestions IntelliSense pour afficher tous les extraits de code disponibles.

Historique des requêtes

L’affichage Historique des requêtes dans le panneau Barre d’activité PostgreSQL capture automatiquement les requêtes que vous exécutez. Vous pouvez donc les revisiter et les réutiliser ultérieurement.

Gérer l’historique des requêtes

Action Comment faire
Ouvrir une requête Sélectionnez une entrée dans la vue Historique des requêtes pour la charger dans un nouvel éditeur
Exécuter une requête Cliquez avec le bouton droit sur une entrée et sélectionnez Exécuter la requête
Copier une requête Cliquez avec le bouton droit sur une entrée et sélectionnez Copier la requête
Supprimer une entrée Cliquez avec le bouton droit sur une entrée, puis sélectionnez Supprimer
Effacer tout Sélectionnez le bouton Effacer tout l’historique des requêtes dans la barre d’outils d’affichage
Parcourir dans la palette de commandes Exécutez PGSQL: Open Query History in Command Palette

Capture de l’historique des contrôles

Utilisez la barre d’outils de la vue Historique des requêtes pour démarrer ou suspendre la capture :

  • Démarrer la capture de l’historique des requêtes : reprendre l’enregistrement des requêtes exécutées.
  • Suspendre la capture de l’historique des requêtes : arrêter l’enregistrement.

Configurez le comportement de l’historique avec ces paramètres :

Réglage Description Default
pgsql.enableQueryHistoryFeature Activer la fonctionnalité Historique des requêtes true
pgsql.enableQueryHistoryCapture Capture automatique des requêtes exécutées true
pgsql.queryHistoryLimit Nombre maximal d’entrées d’historique stocké 20