Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
- Extension PostgreSQL pour Visual Studio Code installée.
- Connexion active à un serveur PostgreSQL. Pour connaître les étapes de configuration, consultez Démarrage rapide : Se connecter et interroger PostgreSQL.
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 Querydepuis la palette de commandes (Ctrl+Maj+P). - Ouvrez ou créez un fichier avec une
.sqlextension.
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 :
- Sélectionnez le nom de la base de données dans la barre d’état ou exécutez-le
PGSQL: Change PostgreSQL Databasedans la palette de commandes. - 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 :
- Ouvrez la palette de commandes (Ctrl+Maj+P).
- 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 |