### Outil de requêtage

L'outil de requêtage vous permet d'exécuter des commandes SQL arbitraires.

La partie haute de l'outil de requêtage contient l'éditeur SQL où vous saisissez vos commandes. Vous pouvez lire la requête à partir d'un fichier ou écrire dans un fichier. Lorsque vous écrivez un fichier, l'encodage du fichier est déterminé par le suffixe du fichier. Dans le cas d'un .sql, un jeu de caractères local sur huit octets sera utilisé. Dans le cas d'un fichier .usql, il sera écrit dans un format UTF-8, ce qui active le stockage de tous les caractères utilisés dans le monde, d'après les règles de codage du Consortium Unicode. Si vous sélectionnez, le paramètre de l'option unicode des lectures/écritures est utilisé.

La fenêtre de saisis permet aussi l'autocomplétion pour vous aider à écrire des requêtes. Pour utiliser cette fonctionnalité, commencez à saisir votre requête, puis appuyez sur Contrôle+Espace pour voir une liste des noms d'objets possibles à insérer. Par exemple, saisissez "SELECT * FROM " (sans les guillemets, mais avec un espace à la fin), puis appuyez sur Contrôle et Espace ensemble pour voir un menu contextuel avec les options d'autocomplétion. Le système est basé sur le code de psql, l'interpréteur en ligne de commande de PostgreSQL et est généralement capable d'offrir les mêmes options d'autocomplétion que psql. Vous pouvez activer en option l'utilisation de la touche Tabulation pour remplacer Contrôle+Espace - cela se fait dans le dialogue des options.

L'éditeur offre aussi un certain nombre de fonctionnalités pour vous aider à écrire le code :

- La fonctionnalité d'auto-indentation indentera automatiquement le texte à la même profondeur que la ligne précédente quand vous appuyez sur la touche Return.
- Indenter le bloc de texte en sélectionnant deux lignes ou plus et en appuyant sur la touche Tabulation.
- Supprimer l'indentation de bloc de texte qui a été indenté en utilisant la touche Shift+Tabulation.
- Commenter le SQL en sélectionner deux lignes ou plus et en appuyant sur la touche -.
- Décommenter le SQL en sélectionner deux lignes commentées ou plus et en appuyant sur la touche +.
- Mettre le texte sélectionné en majuscule en appuyant sur la touche ^.
- Mettre le texte sélectionné en minuscule en appuyant sur la touche _.

Si vous préférez construire des requêtes graphiquement, vous pouvez utiliser le constructeur de requêtes graphique pour générer le SQL pour vous.

Pour exécuter une requête, sélectionnez Exécuter à partir du menu Requêtes, appuyez sur le bouton Exécuter de la barre d'outils ou appuyez sur la touche de fonction F5. Le contenu complet de la fenêtre sera envoyé au serveur de base de données qui l'exécutera. Vous pouvez aussi exécuter une seule partie du texte en sélectionnant ce texte.

La sélection d'EXPLAIN à partir du menu Requêtes et l'appui sur la touche F7 exécutera la commande EXPLAIN. Le serveur de bases de données analysera la requête qui lui est envoyée et renverra les résultats.

Le résultat est affiché en texte dans la page de sortie des données, et visualisable graphiquement dans la page Explain. Ceci vous permet de trouver comment la requête est analysée, optimisée et exécutée. Vous pouvez modifier le degré d'inspection en changeant les options EXPLAIN dans le menu Requêtes. Merci de noter que "EXPLAIN VERBOSE" ne peut pas être affiché graphiquement.

Au cas où la requête que vous envoyez au serveur en utilisant les commandes Exécuter ou EXPLAIN prend plus de temps que ce que vous espériez et que vous voulez annuler l'exécution, vous pouvez utiliser l'élément Annuler du menu Requêtes, vous pouvez aussi appuyez sur le bouton Annuler de la barre d'outils et enfin vous pouvez utiliser la touche Alt-Break pour annuler l'exécution de la requête.

Vous pouvez exécuter des scripts pgScript en sélectionnant Exécuter pgScript à partir du menu Requêtes, ou en appuyant sur le bouton Exécuter pgScript de la barre d'outils ou en appuyant sur la touche de fonction F6. Le contenu comple de la fenêtre de saisie sera envoyé à l'interpréteur pgScript. Les scripts pgScript sont composés de commandes SQL standards mais permettent l'utilisation d'instructions avancées :

- langage de contrôle (structures IF et WHILE)
- Variables locales (SET @VARIABLE = 5)
- Générateurs de données aléatoires (INTEGER(10, 20) ou REFERENCE(table, column))

Pour plus d'informations sur le langage pgScript, merci de lire la référence du langage de script pgScript.

Si vous voulez avoir de l'aide sur une commande SQL que vous voulez exécuter, vous pouvez marquer un mot clé SQL et sélectionner l'élément Aide SQL du menu Aide, ou utiliser le bouton Aide SQL de la barre d'outil, ou enfin appuyer sur la touche de fonction F1. pgAdmin III essaiera de situer les informations appropriées dans la documentation PostgreSQL pour vous.

Le résultat de l'exécution sera affiché dans la partie basse de l'outil de requêtage. Si la dernière commande dans la chaîne de requêtes SQL envoyées au serveur est une commande qui renvoie un résultat, ce dernier sera affiché dans la page des résultats. Tous les résultats des autres commandes ne seront pas pris en compte dans l'affichage.

Pour sauvegarder les données de la page des résultats dans un fichier, vous pouvez utiliser le dialogue d'Export.

Une information sur toutes les commandes exécutées seront dans la page Messages. La pag Historique conserve une liste des commandes exécutées et les résultats associés jusqu'à ce que vous appuyez sur le bouton Nettoyer l'historique à partir du menu Requêtes pour effacer le contenu de la fenêtre. Si vous voulez conserver l'historique pour une inspection future, vous pouvez sauvegarder le contenu de la page Historique dans un fichier en utilisant l'option Sauvegarder l'historique du menu Requêtes.

La ligne de statut affichera le temps pris pour exécuter complètement la dernière requête. Si un ensemble de données est renvoyé, le temps pour récupérer et afficher les données impacte aussi le temps affiché. Elle affichera aussi des informations sur la sélection en cours.

Dans la liste déroulante de la barre d'outils, vous pouvez rapidement modifier la connexion à la base de données, sans avoir à lancer une autre instance de l'outil de requêtage. Initialement, seule une base de données sera disponible, mais en sélectionnant &less;nouvelle connexion> à partir de la liste déroulante, vous pouvez y ajouter toute autre connexion.

Dans le dialogue des options, vous pouvez spécifier une limite par défaut du nombre de lignes à récupérer. Par défaut, cette valeur sera 100. Si le nombre de lignes à récupérer à partir du serveur excède cette valeur, un dialogue s'affichera pour demander ce qu'il convient de faire, pour éviter de récupérer un trop grand nombre de données. Vous pouvez décider de ne récupérer que les premières lignes, comme configuré au niveau du nombre de lignes maximum, ou récupérer tous les résultats quelque soit la configuration, ou encore annuler la requête.

Si vous avez des requêtes fréquemment exécutées, vous pouvez les ajouter au menu des favoris et les placer automatiquement dans l'éditeur quand vous les sélectionner à partir du menu. L'élément Gérer les favoris peut être utilisé pour organiser les favoris. Sinon, vous pouvez les stocker en tant que Macros

L'outil de requêtage inclut aussi un outil puissant pour chercher et remplacer des chaînes de caractères. En plus d'offrir les options traditionnelles de ce genre d'outils, un mode de recherche par expression rationnelle est inclus, ce qui vous permet de réaliser des recherches (et des rempalcements) extrêmement puissantes. Sauf si votre copie de pgAdmin a été construite avec une version non standard de wxWidgets, une version intégrée de la bibliothèque d'expressions rationnelles de Henry Spencer est utilisée. Elle se base sur la spécificiation 1003.2 spec et certaines (pas toutes) des extensions Perl5.

Pour plus de détails sur la syntaxe des expressions rationnelles proposée, merci de lire la documentation de wxWidgets.