Gérer les bases de données
Après avoir créé une connexion, vous pouvez la sélectionner en cliquant sur l’action Select Connection (Sélectionner la connexion) dans la grille des connexions. La connexion sera alors représentée par une sorte d’onglet externe appelé onglet de connexion (Connection Tab). Et l’ensemble de cette zone est appelé la fenêtre de travail (Workspace Window).

Sections de la fenêtre Workspace
Cette interface comporte plusieurs éléments :

- 1) Connections (Connexions) : ouvre une fenêtre contextuelle avec la grille des Connections
- 2) Outer Tabs (Onglets externes) : OmniDB vous permet de travailler avec plusieurs bases de données simultanément. Chaque base de données est accessible via un onglet externe. Les onglets externes peuvent aussi héberger des fonctionnalités diverses, indépendantes de toute connexion, comme la fonctionnalité Snippets
- 3) Options : affiche l’utilisateur actuellement connecté et, s’il s’agit d’un superutilisateur, affiche également un lien vers la gestion des utilisateurs. Affiche aussi des liens vers les paramètres utilisateur, les plugins installés, l’historique des requêtes, les informations et la déconnexion.
Onglet externe de connexion
L’onglet externe nommé PostgreSQL — testdb porte ce nom en raison de l’alias (PostgreSQL)
que nous avons donné à la connexion vers la base de données testdb. Cet onglet est un onglet
externe de connexion (Connection Outer Tab). Remarquez le petit onglet avec une croix à côté de l’onglet
externe PostgreSQL — testdb. Il permet de créer un nouvel onglet externe qui sera automatiquement un
onglet externe de connexion. En revanche, l’onglet externe Snippets est fixe et sera toujours
le premier.
Un nouvel onglet externe de connexion pointera toujours automatiquement vers la première connexion de votre liste de connexions à des bases de données. Ou, si vous avez cliqué sur l’action Select Connection, il pointera vers la connexion sélectionnée. Observez les éléments à l’intérieur de cet onglet :

- 1) Connection Selector (Sélecteur de connexion) : affiche toutes les connexions et permet à l’utilisateur de sélectionner celle en cours
- 2) Tree of Structures (Arborescence des structures) : affiche une arborescence hiérarchique permettant de naviguer parmi les éléments de la base de données
- 3) Properties and DDL Panels (Panneaux Propriétés et DDL) : affichent les propriétés et le DDL du nœud actuellement sélectionné dans l’arborescence
- 4) Inner Tabs (Onglets internes) : permettent à l’utilisateur d’exécuter des actions sur la base de données courante. Il existe plusieurs types d’onglets internes pour la base de données courante. En cliquant sur le dernier petit onglet portant une croix, vous pouvez en ajouter un nouveau. Un nouvel onglet peut être un onglet Requête, un onglet Console, un tableau de bord de supervision ou un onglet Backends (Processus serveur)

- 5) Inner Tab Content (Contenu de l’onglet interne) : varie selon le type d’onglet interne. La figure montre un onglet Requête et, dans ce cas, le contenu est un éditeur SQL, avec coloration syntaxique, autocomplétion et fonction rechercher & ; remplacer
- 6) Inner Tab Actions (Actions de l’onglet interne) : varient selon le type d’onglet interne. Pour un onglet Requête, il s’agit de Run (Exécuter), Indent SQL (Indenter le SQL), Command History (Historique des commandes), Explain, Explain Analyze, Autocommit et Export Data (Exporter les données)
- 7) Inner Tab Results (Résultats de l’onglet interne) : dans un onglet Requête, après
avoir cliqué sur le bouton Execute (Exécuter) ou saisi le raccourci d’exécution (
Alt-Q), une grille affiche les résultats de la requête dans le sous-onglet Data (Données). Si la requête appelle une fonction qui génère des messages, ceux-ci s’affichent dans le sous-onglet Messages. Si, au lieu de Run, vous avez cliqué sur Explain ou Explain Analyze, le plan d’exécution de la requête s’affiche dans le sous-onglet Explain.
Travailler avec des bases de données
Regardez votre sélecteur de connexions. OmniDB pointe toujours vers la première connexion disponible, mais vous pouvez la changer en cliquant sur le sélecteur.

Sélectionnez la connexion PostgreSQL. Allez maintenant dans l’arborescence juste en dessous du sélecteur et cliquez pour développer le nœud racine PostgreSQL.

Gardez à l’esprit que, toutes les 30 minutes passées sans effectuer d’action sur la base de données, une fenêtre contextuelle d’authentification apparaîtra, signifiant que le mot de passe chiffré par OmniDB et conservé en mémoire a maintenant expiré. Comme expliqué précédemment, ceci est important pour la sécurité de votre base de données. Après avoir saisi le mot de passe correct, vous verrez que le nœud PostgreSQL affiche désormais la version de PostgreSQL et a également été développé, montrant la connexion active à la base de données ainsi que les éléments propres à l’instance : Databases (Bases de données), Tablespaces, Roles (Rôles) et Replication Slots (Slots de réplication).
Vous pouvez vous connecter à une seule base de données PostgreSQL et, en utilisant la même connexion, vous connecter à d’autres bases de données sur la même instance PostgreSQL. La base de données actuellement active est indiquée en dessous du sélecteur de connexion.

Pour vous connecter à une autre base de données, développez le nœud correspondant à cette base de données. Une fenêtre contextuelle apparaîtra vous demandant si vous souhaitez vraiment changer la base de données active.

Cliquez sur Yes (Oui) et OmniDB changera la base de données active pour celle que vous avez choisie. Cela se reflétera dans l’indicateur Active database (Base de données active), ainsi que dans le nom de l’onglet externe.

Développez maintenant le nœud Schemas (Schémas). Vous verrez tous les schémas de la base de données
courante (dans le cas de PostgreSQL, les schémas TOAST et temporaires ne sont pas affichés).

Cliquez maintenant pour développer le schéma public. Vous verrez différents types d’éléments
contenus dans ce schéma.

Cliquez maintenant pour développer le nœud Tables, et vous verrez toutes les tables contenues dans le
schéma public. Développez n’importe quelle table et vous verrez ses colonnes, sa clé primaire, ses
clés étrangères, ses contraintes, ses index, ses règles, ses déclencheurs et ses partitions.

Pour visualiser les enregistrements d’une table, faites un clic droit dessus et choisissez Data Actions > ; Query Data (Actions sur les données > ; Interroger les données).

Remarquez qu’OmniDB ouvre un nouvel éditeur SQL avec une requête simple pour lister les enregistrements de la table. Les enregistrements s’affichent dans une grille juste en dessous de l’éditeur. Cette grille peut être contrôlée au clavier, comme dans un tableur. Vous pouvez également copier des données d’une seule cellule ou d’un bloc de cellules (sélectionnable au clavier ou à la souris) et les coller dans n’importe quel tableur.

Vous pouvez modifier la requête dans l’éditeur SQL, en écrivant des requêtes simples ou plus complexes. Pour
l’exécuter, cliquez sur le bouton d’action ou appuyez sur la combinaison de touches Alt-Q. Si les
résultats dépassent 100 enregistrements, des boutons supplémentaires Fetch More (Récupérer plus) et
Fetch All (Tout récupérer) apparaîtront. Plus de détails dans les chapitres suivants.
Travailler avec plusieurs onglets au sein d’une même connexion
À l’intérieur d’une même connexion, vous pouvez créer plusieurs onglets Requête internes en cliquant sur le dernier petit onglet portant une croix, puis en choisissant Query Tab (Onglet Requête).

Dans OmniDB, vous pouvez exécuter plusieurs instructions et procédures SQL en parallèle. Pendant l’exécution, une icône s’affiche dans l’onglet pour indiquer son état actuel. Si un traitement se termine alors qu’il ne se trouve pas dans l’onglet courant, cet onglet affichera une icône verte indiquant que la routine qui y était exécutée est désormais terminée.

En cliquant sur le bouton Cancel (Annuler), vous pouvez annuler un traitement en cours d’exécution dans la base de données.

Vous pouvez également glisser-déposer un onglet pour modifier son ordre. Cela fonctionne aussi bien pour les onglets internes que pour les onglets externes.

De plus, vous pouvez utiliser des raccourcis clavier pour gérer les onglets internes (Requête SQL). Voici les raccourcis par défaut sous Windows/Linux (macOS remplace Ctrl par Alt) ; ils peuvent tous être réassignés dans l’onglet Shortcuts (Raccourcis) de la fenêtre Paramètres :
- Alt-I : insérer un nouvel onglet interne
- Alt-Shift-Q : supprime l’onglet interne courant
- Alt-O : déplace le focus vers l’onglet interne à gauche
- Alt-P : déplace le focus vers l’onglet interne à droite
Il n’existe actuellement aucun raccourci clavier pour les onglets externes (de connexion) — utilisez le glisser-déposer pour les réordonner, ou la souris, pour ceux-ci.
Tous les onglets Requête SQL sont automatiquement enregistrés chaque fois que vous les exécutez. Même si vous fermez la fenêtre d’OmniDB ou l’onglet du navigateur, ils sont déjà stockés dans la base de données utilisateur d’OmniDB. Ils seront automatiquement restaurés lorsque vous rouvrirez OmniDB (si vous utilisez l’application), lorsque vous l’ouvrirez dans une autre fenêtre de navigateur (si vous utilisez la version serveur), ou même si vous avez cliqué sur la fenêtre Connections ou si vous vous êtes déconnecté. Supprimer un onglet externe ou interne via l’interface le supprime définitivement, il ne sera donc pas restauré.