Tout ce que fait Calíope, fonction par fonction.
Je tiens cette liste à partir du code lui-même : chaque outil et chaque zone de l’app, avec ce que fait chaque fonction, sur quels moteurs elle marche quand ce ne sont pas tous, et sur quels écrans elle manque. C’est le dénominateur du tableau des Outils : le chiffre de chaque moteur compte ces fonctions. Un outil dont je n’ai pas encore écrit l’inventaire n’apparaît pas ici.
867 fonctions dans 51 outils et zones.
Outils
- Éditeur SQL · 66 fonctions
- Tableau de bord · 26 fonctions
- Assistant IA · 19 fonctions
- Catalogues · 24 fonctions
- Informations serveur · 12 fonctions
- Liste des processus · 11 fonctions
- Alertes SQL · 8 fonctions
- Sauvegarde · 21 fonctions
- Gestion des utilisateurs · 25 fonctions
- Maintenance des tables · 12 fonctions
- Migration de données · 11 fonctions
- Diagramme ER · 12 fonctions
- Comparer les schémas · 13 fonctions
- Moniteur de réplication · 9 fonctions
- Visionneuse binlog · 6 fonctions
- Visual EXPLAIN · 10 fonctions
- Journal des requêtes · 16 fonctions
- Fragments · 12 fonctions
- Constructeur de tables · 28 fonctions
- Moniteur de santé du serveur · 27 fonctions
- Constructeur de requêtes · 15 fonctions
- Éditeur SQLite · 29 fonctions
- Éditeur DuckDB · 38 fonctions
- Aperçu de fichiers · 18 fonctions
- Journal des erreurs · 14 fonctions
- Recherche et remplacement globaux · 14 fonctions
- Rapports · 21 fonctions
- Topologie de réplication · 13 fonctions
- Journal des requêtes lentes · 18 fonctions
- Collections MongoDB · 13 fonctions
- Requête MongoDB · 10 fonctions
- Index MongoDB · 4 fonctions
- Serveur MongoDB · 8 fonctions
- Commandes MongoDB · 7 fonctions
- Profileur MongoDB · 9 fonctions
- Explorateur de clés · 20 fonctions
- Panneau du serveur · 12 fonctions
- Analyseur de mémoire · 10 fonctions
- Commandes lentes · 15 fonctions
- Clients connectés · 12 fonctions
- Console de commandes · 15 fonctions
- Topologie des nœuds · 13 fonctions
Zones de l’app
- Connexions et tunnels · 32 fonctions
- L’espace de travail · 24 fonctions
- Préférences et confidentialité · 21 fonctions
- Menus, clavier et gestes · 23 fonctions
- Siri et Raccourcis · 7 fonctions
- Serveur MCP · 14 fonctions
- Apple Watch, Apple TV et widgets · 24 fonctions
- L’achat · 11 fonctions
- Aide, nouveautés et À propos · 15 fonctions
Éditeur SQL
66 fonctions
-
Exécuter une requête SQL
Exécute l'instruction sous le curseur, ou la sélection, sur le serveur connecté et affiche son résultat, avec les lignes, le temps et la position de l'erreur en cas d'échec.
-
Exécuter le script complet
Exécute dans l'ordre toutes les instructions de l'éditeur, après confirmation, et indique combien ont été exécutées et en combien de temps.
-
Délimiteur d'instructions
Me permet de choisir le caractère qui sépare les instructions avant d'exécuter un script, pour ceux dont un corps contient des points-virgules.
-
Arrêter une requête en cours
Interrompt l'instruction en cours sans fermer la session, et le signale si le serveur n'a pas pu l'arrêter.
-
Progression de la requête en cours
Pendant l'exécution d'une instruction, affiche combien de lignes et d'octets le serveur a déjà lus.
-
Vider l'éditeur et les résultats
Vide en une fois l'éditeur et la grille de résultats, sans toucher à l'historique.
-
Formater le SQL (Beautify)
Réindente le SQL de l'éditeur avec le dialecte de la session.
-
Basculer les commentaires SQL (⌘D)
Commente ou décommente les lignes sélectionnées avec le préfixe --.
-
Édition en colonne / multi-curseurs
Écrit à plusieurs positions à la fois, avec des curseurs ajoutés au-dessus ou au-dessous du curseur actuel.
-
Développer SELECT * en colonnes explicites
Remplace le * d'un SELECT par les vrais noms des colonnes de sa table.
-
Autocomplétion dans l'éditeur SQL
Propose mots-clés, fonctions, bases, tables et colonnes de la session pendant que je tape, avec le vocabulaire de son dialecte.
-
Aide contextuelle pour les fonctions SQL
Affiche la fiche de la fonction du moteur sous le curseur, avec sa signature et un exemple qui s'exécute sur ce moteur.
-
Info-bulle DDL au survol
Affiche le DDL d'une table, vue, routine ou d'un trigger quand le pointeur s'arrête sur son nom.
-
Aller à la définition (Go to Definition)
Ouvre le catalogue à la définition de l'objet dont le nom est sous le curseur.
-
Renommer un symbole dans le script
Renomme un alias, une CTE ou une variable et toutes ses références dans le script.
-
Rechercher et remplacer dans l'éditeur
Recherche et remplace du texte dans l'éditeur avec la barre de recherche du système.
-
Plier et déplier des blocs dans l'éditeur
Replie et déplie les blocs entre parenthèses et BEGIN…END depuis la marge.
-
Mise en évidence des paires de brackets
Éclaire la parenthèse ou le mot-clé qui fait la paire avec celui du curseur, et marque en rouge celui qui n'en a pas.
-
Mettre en évidence toutes les occurrences d'un mot
Surligne toutes les occurrences du mot sur lequel je double-clique.
-
Linting — diagnostic d'erreurs avant l'exécution
Souligne chaînes, commentaires et parenthèses non fermés pendant que je tape, sans rien envoyer au serveur.
-
Miniature de l'éditeur (minimap)
Dessine une miniature du script entier à côté de l'éditeur, avec la partie visible marquée.
-
Retour à la ligne automatique (word wrap)
Choisit si les longues lignes passent à la ligne ou défilent en largeur.
-
Corriger les guillemets typographiques
Prévient quand le texte contient des guillemets typographiques là où le SQL attend des droits, et les remplace d'un geste.
-
Insérer des guillemets d'identifiant
Entoure le mot ou la sélection des guillemets d'identifiant du dialecte de la session.
-
Ouvrir des fichiers SQL par glisser-déposer
Ouvre dans un nouvel onglet de l'éditeur un fichier .sql ou .txt déposé sur l'espace de travail ou choisi dans le menu.
-
Texte de l'éditeur conservé par onglet
Conserve le texte de chaque onglet de l'éditeur et le restitue quand la session se rouvre.
-
Taille de police
Agrandit ou réduit le texte de l'éditeur et celui de la grille de résultats, chacun de son côté.
-
Mode sécurisé
Bloque les instructions qui modifient données, structure ou privilèges jusqu'à ce que je le désactive. Il est activé par défaut.
-
Transactions
Ouvre une transaction avec BEGIN sur une connexion réservée à l'onglet, et la ferme par COMMIT ou ROLLBACK après confirmation.
-
Historique des requêtes
Liste les requêtes que j'ai exécutées, pour les chercher et en remettre une dans l'éditeur.
-
Insérer un extrait dans l'éditeur
Insère au curseur un extrait de code enregistré, choisi dans une liste avec recherche.
-
Quick Open — Accès rapide aux objets
Va directement à toute table, vue ou routine du schéma actif en tapant une partie de son nom.
-
Gestionnaire d'instructions SQL
Découpe le script en ses instructions, chacune avec son type et sa couleur, pour les copier, les charger dans l'éditeur ou les supprimer une à une.
-
Lecteur d'instructions (SQL Player)
Exécute le script instruction par instruction avec des commandes lecture, pause et pas à pas.
-
Benchmark de requêtes
Exécute la requête N fois et donne le temps minimum, moyen et maximum.
-
Terminal SQL intégré (mode REPL)
Ouvre un panneau façon terminal avec invite et historique propre pour exécuter du SQL de façon interactive.
-
Visual EXPLAIN
Demande au serveur le plan d'exécution de la requête sélectionnée et le dessine en arbre d'opérations.
-
Conseiller d'index
Lit le plan de la requête sélectionnée, repère les parcours complets qui filtrent sur une colonne et propose le CREATE INDEX à copier ou insérer.
-
Profil d'exécution (SHOW PROFILE)
Décompose la dernière requête en phases internes du serveur, avec le temps de chacune.
-
Graphique de résultat
Dessine le résultat en graphique à barres, en courbes ou en secteurs, en choisissant la colonne d'étiquette et celle de valeur.
-
Profileur de colonne
Calcule les statistiques d'une colonne du résultat : minimum, maximum, moyenne, NULL, valeurs distinctes et les plus fréquentes.
-
La grille de résultats
Affiche le résultat en pages de la taille que je choisis, triable par colonne, avec un plafond de lignes qui garde les énormes résultats hors de la mémoire et un bouton pour tout récupérer.
-
Formats de sortie
Change l'affichage du résultat : grille, ou texte en JSON, CSV, texte brut, HTML, XML ou Markdown.
-
Concaténer les résultats
Accumule les lignes des exécutions successives au lieu de les remplacer.
-
Épingler les résultats pour comparer
Épingle le résultat actuel pour continuer à le consulter pendant que j'exécute d'autres requêtes.
-
Répétition automatique (polling)
Réexécute la requête toutes les N secondes et rafraîchit le résultat.
-
Exporter les résultats vers un fichier
Enregistre le résultat en fichier Excel, ou le partage dans le format de sortie choisi.
-
Exporter le tableau en INSERT
Écrit des instructions INSERT pour le résultat actuel, une table entière ou une seule ligne copiée dans le presse-papiers.
-
Imprimer le résultat
Imprime la grille du résultat, jusqu'à ses 500 premières lignes.
-
Afficher la valeur complète d'une cellule
Affiche le contenu entier d'une cellule, mis en forme selon son type : JSON, image, SQL ou texte.
-
Édition avancée de cellule
Modifie une valeur longue, JSON, binaire ou spatiale dans une feuille avec des onglets texte, arbre, hex, Base64 et image.
-
Générer un UPDATE depuis une cellule
Modifie une cellule dans la grille et montre l'UPDATE qui sera exécuté, par la clé primaire de la table, avant de l'appliquer.
-
Supprimer une ligne depuis les résultats
Supprime la ligne sélectionnée avec un DELETE que je peux relire et modifier avant son exécution.
-
Annuler une modification de données
Annule la dernière modification de cellule ou suppression de ligne faite depuis la grille, et la rétablit, quand la ligne est identifiable par sa clé.
-
Voir et modifier des données spatiales sur une carte
Dessine la colonne spatiale du résultat sur une carte, et déplace, ajoute ou vide une géométrie en proposant l'UPDATE avant de l'appliquer.
-
Lier une BD — connecter une seconde base de données
Connecte une seconde base et exécute chaque requête sur les deux, en affichant les deux résultats côte à côte avec les différences marquées cellule par cellule.
-
Personnaliser les barres d'outils
Réordonne les groupes de boutons des barres de l'éditeur, des résultats et principale, et les rétablit.
-
Le panneau de schéma de l'éditeur
Ancre l'arbre de schéma à côté de l'éditeur et l'affiche ou le masque. Un clic sur une table écrit son nom ou un SELECT dans l'éditeur.
-
Arbre de schéma
Parcourt les bases et objets du serveur avec le même arbre dans tous les outils : filtre par nom, chargement à la demande, aperçu et menus contextuels sur les bases et tables.
-
Historique des modifications DDL
Liste les changements de structure (CREATE, ALTER, DROP) exécutés depuis Calíope, avec quand et où.
-
Constructeur de WHERE
Construit une clause WHERE pour une table à partir de ses colonnes, opérateurs et valeurs, sans l'écrire à la main.
-
Importer des données depuis CSV, JSON ou Excel
Importe un fichier CSV, JSON ou Excel dans une table en trois étapes, en associant les colonnes et en choisissant le mode d'insertion.
-
Moniteur de performances (CPU et mémoire)
Affiche le processeur et la mémoire de l'app au pied de la barre latérale, avec des suggestions de nettoyage quand ils montent.
-
Notification de requête longue
Envoie une notification système quand une requête dure plus que le seuil réglé dans les Réglages.
-
Notification de grand résultat
Prévient quand une requête renvoie plus de lignes que le seuil réglé dans les Réglages.
Tableau de bord
26 fonctions
-
Requêtes ou transactions par seconde
Carte en courbe avec le rythme des instructions exécutées par le serveur, ou des transactions là où le moteur compte celles-ci, chacune sous son propre nom.
-
Requêtes lentes par seconde
Carte en courbe avec le rythme des requêtes qui ont dépassé le seuil de lenteur du serveur.
-
Octets envoyés par seconde
Carte en courbe avec le trafic réseau que le serveur envoie à ses clients.
-
Octets reçus par seconde
Carte en courbe avec le trafic réseau que le serveur reçoit de ses clients.
-
Connexions interrompues par seconde
Carte en courbe avec le rythme des connexions refusées ou coupées de façon anormale.
-
Taux de succès du cache de données
Carte en courbe avec la part des lectures servies depuis le cache du serveur sans toucher au disque, recalculée toutes les 10 secondes.
-
Attentes de verrou par seconde
Carte en courbe indiquant combien de fois par seconde une requête a dû attendre un verrou, recalculée toutes les 10 secondes.
-
Mémoire
Carte circulaire avec le cache de données réparti en propre, sale et libre, ou avec la mémoire utilisée et libre là où le serveur publie son total.
-
Threads
Carte circulaire avec les connexions en exécution, celles qui dorment et, là où le serveur les garde, les threads en cache.
-
Connexions par utilisateur
Carte circulaire avec les huit utilisateurs qui ont le plus de connexions, lue dans la liste des processus toutes les 100 secondes ; elle dit pourquoi quand la liste ne peut pas être lue.
-
Taille des bases de données
Carte circulaire avec les huit plus grandes bases de données, sans celles du système, mise à jour toutes les 100 secondes.
-
Chiffres de l'en-tête
Connexions, connexions actives, temps de fonctionnement et taux de succès du cache d'un coup d'œil dans l'en-tête ; un chiffre que le serveur ne publie pas n'est pas affiché.
-
Stockage le plus plein
Chiffre de l'en-tête avec le tablespace le plus occupé, en pourcentage de sa taille maximale, extension automatique comprise.
-
Cadence d'actualisation
Choisit à quelle fréquence l'état du serveur est échantillonné, de 1 à 30 secondes, et indique quand le dernier échantillon est arrivé ; les taux sont divisés par le temps réel entre échantillons.
-
Mettre en pause et reprendre l'actualisation
Arrête l'échantillonnage du serveur sans perdre les séries affichées, puis le relance.
-
Motif d'un échantillon illisible
Quand le serveur refuse son état (un utilisateur sans droit sur ses vues), l'en-tête et chaque carte affichent le motif du serveur au lieu d'attendre.
-
Épingler le serveur au widget
L'épingle de l'en-tête fait de ce serveur celui que l'actualisation en arrière-plan maintient à jour dans le widget.
-
Bandeau d'alertes
Un bandeau au-dessus des cartes quand le taux de succès du cache descend sous 90 %, quand des connexions sont interrompues ou quand les attentes de verrou dépassent une demie par seconde.
-
Alertes du serveur en notifications
La cloche ouvre Alertes du serveur, où l'on active les notifications système et fixe les seuils de connexions face au maximum, de taux de succès du cache et de retard de réplication.
-
Deux ou trois colonnes
Bascule la grille entre deux colonnes plus larges et trois plus compactes ; aux tailles d'accessibilité, elle empile.
-
Réordonner les cartes
En mode personnalisation, les cartes se déplacent en glissant l'une sur l'autre ou avec les deux flèches de chaque carte ; l'ordre se synchronise par iCloud si la synchronisation est activée.
-
Masquer et afficher des cartes
En mode personnalisation, chaque carte peut être masquée et revient depuis le panneau des cartes masquées ; celles que le moteur ne publie pas ne sont pas proposées.
-
Rétablir la disposition
Rétablit l'ordre par défaut avec toutes les cartes visibles, après confirmation.
-
Agrandir une carte
Un double-clic ou double-toucher ouvre une carte en grand dans le Tableau de bord ; Tous les graphiques, ou Échap sur le Mac, revient.
-
Mode TV
Ne laisse que les graphiques sur tout l'écran, avec des colonnes adaptées à la largeur et l'écran qui reste allumé, pour le regarder de loin.
-
Plein écran
Met la fenêtre du Mac en plein écran ; ailleurs, couvre tout l'écran avec les chiffres et les cartes du Tableau de bord.
Assistant IA
19 fonctions
-
Demander en langage naturel
Je décris ce dont j'ai besoin en langage naturel et l'assistant répond avec une explication et un bloc de SQL dans le dialecte du moteur de la session, ou de commandes dans une session Redis.
-
Choisir le fournisseur d'IA
Le panneau de réglages choisit entre OpenAI, Google Gemini, Anthropic Claude, Apple Intelligence et Ollama, et n'affiche que ce dont le fournisseur choisi a besoin : la clé pour ceux du cloud, conservée dans le trousseau.
-
Choisir le modèle
Liste les modèles que publie le fournisseur choisi, avec un bouton pour les recharger, ou accepte un nom de modèle saisi à la main tant que la liste est vide.
-
Apple Intelligence sur l'appareil
Le modèle de langage du système répond sur l'appareil lui-même, sans clé et sans que la question en sorte, et n'est proposé que là où le système le dit disponible.
-
Ollama à une adresse à moi
Parle à un serveur Ollama à l'adresse que j'écris —ce Mac ou un de mon réseau—, sans clé, et le dit quand personne n'y répond ou que l'adresse n'est pas valide.
-
Mode démo sans clé
Tant qu'un fournisseur qui demande une clé n'en a pas, l'assistant répond avec des réponses d'exemple et indique comment le configurer.
-
Envoyer le schéma comme contexte
Avec l'interrupteur activé et une base choisie dans l'en-tête, les noms de ses tables, colonnes et clés étrangères voyagent avec la question —jamais de lignes—, et le panneau indique lequel des trois états s'applique.
-
Envoyer un échantillon de clés comme contexte
Dans une session Redis, le modèle reçoit, au lieu d'un schéma, les préfixes de la base active avec leur nombre, leur type et une clé d'exemple, coupés à un plafond que le panneau indique.
-
Ouvrir le SQL dans l'éditeur
Emmène le SQL généré dans l'Éditeur SQL sans l'exécuter : sur le Mac dans un nouvel onglet, ailleurs dans l'éditeur, qui passe au premier plan.
-
Ouvrir une commande dans la console
Chaque commande Redis proposée a son bouton, qui la laisse écrite dans la console sans l'exécuter, et ce que la console refuse n'y est pas porté et la ligne dit pourquoi.
-
Copier la réponse ou son code
Copie une réponse entière avec son code, seulement le bloc de code ou un fragment sélectionné, et confirme par une coche pendant deux secondes.
-
Avis d'IA et fournisseur
Chaque bloc de code porte en pied qu'il a été généré par une IA et doit être vérifié avant exécution, et le nom du fournisseur auquel il a été envoyé.
-
Dicter à la voix
Le micro transcrit la question sur l'appareil lui-même, dans une langue que je peux choisir à côté, et indique quand le modèle de cette langue doit d'abord être téléchargé.
-
Historique des conversations
Un panneau latéral conserve chaque conversation dès sa première question, avec une recherche dans tous les échanges, pour la reprendre, la copier ou la supprimer une à une ou toutes à la fois, jusqu'aux 200 plus récentes.
-
Nouvelle conversation
Recommence la discussion de zéro tandis que la conversation en cours reste dans l'historique.
-
Synchroniser l'historique avec iCloud
Facultatif : envoie les conversations dans mon iCloud privé avec les identifiants masqués, demande quoi faire de celles qui existent à l'activation et à la désactivation, et montre son état et ses erreurs.
-
Exporter la conversation
Enregistre la conversation active dans un fichier texte brut avec sa date, son contexte et le code généré.
-
Longueur maximale de la réponse
Un réglage choisit combien de jetons le modèle peut écrire dans chaque réponse : compact, standard ou étendu.
-
Délais d'attente du modèle
Deux réglages indiquent combien de temps attendre la liste des modèles et une réponse avant d'abandonner.
Catalogues
24 fonctions
-
Sélecteur de base de données
Choisit la base de données (le schéma, sous Oracle) dont chaque onglet liste les objets.
-
Tables
Liste les tables de la base avec leurs lignes et leur taille, et le moteur, la collation et le commentaire là où le serveur les déclare. En choisir une affiche son DDL en dessous.
-
Vues
Liste les vues de la base, en indiquant si elles sont modifiables, leur définisseur et, là où le moteur le déclare, leur SQL SECURITY.
-
Vues matérialisées
Liste à part les vues matérialisées, avec la table où chacune écrit et sa planification de rafraîchissement, et une fiche avec ce qu'elle lit, sa taille, sa dernière écriture et ses rafraîchissements.
-
Index
Liste les index de la base ou de la table choisie avec leurs colonnes, leur cardinalité et leur unicité.
-
Clés
Là où le moteur a des clés de table au lieu d'index, l'onglet devient Clés : tri, partition, primaire, échantillonnage, index de saut et projections de la table choisie, avec expression et granularité.
-
Champs
Liste les colonnes de la table choisie avec leur type, leur nullabilité, leur clé et leur valeur par défaut.
-
Routines
Liste les procédures et fonctions de la base (et les paquetages, sous Oracle) avec leur type et leur déterminisme, et le signale quand le moteur montre leur code sans permettre de le modifier ici.
-
Déclencheurs
Liste les triggers de la table choisie avec leur événement, leur moment et leur orientation. Là où le moteur n'en a pas, une note dit ce qui en tient lieu.
-
Événements
Liste les événements planifiés de la base avec leur état et leur planification.
-
Séquences
Liste les séquences du schéma avec minimum, maximum, pas, cycle, cache et le prochain numéro sur disque.
-
Filtrer par nom
Filtre par nom la liste de l'onglet ouvert pendant la saisie.
-
Rafraîchir
Relit les objets de la base, et le fait seul quand un autre outil de Calíope en crée ou en supprime un.
-
Lecture seule
Ouvre l'outil verrouillé : les boutons de création, de modification et de suppression restent désactivés jusqu'à ce que je le déverrouille. Avec une étiquette d'environnement en lecture seule, ni le verrou ni ces boutons ne s'affichent.
-
Voir le DDL
Affiche dans le panneau inférieur le DDL que renvoie le serveur pour l'objet choisi, avec coloration syntaxique.
-
Ouvrir dans ItemEditor
Ouvre le DDL de l'objet dans une feuille où je peux le modifier et l'appliquer au serveur, avec la confirmation de l'environnement le cas échéant.
-
Créer une nouvelle table
Ouvre le Constructeur de tables dans un nouvel onglet, vide avec Nouvelle table ou avec la table choisie depuis Concevoir la table.
-
Remplir avec des données fictives
Remplit une table avec jusqu'à 5 000 lignes d'exemple générées à partir des types de ses colonnes, avec un aperçu des valeurs et une piste quand le serveur les refuse.
-
Éditeur de vues
Crée ou modifie une vue depuis un formulaire avec son nom, son SELECT et les options du moteur, et affiche le DDL qui sera exécuté.
-
Éditeur d'index
Crée ou reconstruit un index sur la table choisie avec son type, sa méthode et ses colonnes ordonnées, et affiche le DDL qui sera exécuté.
-
Éditeur de routines et fonctions
Crée ou remplace une procédure ou une fonction depuis un formulaire avec ses paramètres, son type de retour, ses options et son corps, et affiche le DDL qui sera exécuté.
-
Éditeur de déclencheurs
Crée ou modifie un trigger sur la table choisie avec son moment, son événement et son corps, et affiche le DDL qui sera exécuté.
-
Éditeur d'événements du planificateur
Crée ou modifie un événement planifié, une fois à une date ou récurrent à intervalle entre deux dates, avec son état et son corps.
-
Supprimer un objet
Supprime une table, un index, une routine ou un événement depuis son menu contextuel après une confirmation qui montre l'instruction écrite par le moteur.
Informations serveur
12 fonctions
-
Détails du serveur et de la connexion
L'onglet Information réunit ce qui identifie le serveur et ma connexion : version, hôte, port, répertoire de données, jeu de caractères et collation, limite de connexions, et l'id et l'utilisateur de ma connexion.
-
Variables et état globaux
Liste chaque variable du serveur et chaque compteur d'état avec sa valeur actuelle, chacun dans son onglet, et dit pourquoi une liste est vide quand le serveur ne me laisse pas la lire.
-
Variables et état de la session
Deux onglets de plus listent les variables et les compteurs de ma propre connexion, à part ceux du serveur ; un moteur sans session ne les affiche pas.
-
Filtrer les variables
Un champ de filtre restreint les onglets de variables et d'état, en cherchant dans le nom et dans la valeur.
-
Alerte sur les compteurs problématiques
Les compteurs qui signalent un problème quand ils dépassent zéro, comme les connexions interrompues ou les interblocages, sont marqués d'un triangle d'alerte.
-
Utilisation du disque par table
Liste ce que chaque table occupe sur disque, avec son schéma, sa taille en Mo et ses lignes, et le total en dessous ; là où le moteur le dit, aussi son moteur de stockage, sa compression ou la date de ses statistiques.
-
Filtre de taille minimale
Un champ fixe la taille minimale en Mo, pour que l'utilisation du disque n'affiche que les grandes tables.
-
Trier les listes
Chaque liste se trie par n'importe laquelle de ses colonnes, en ordre croissant ou décroissant : par l'en-tête de colonne sur le Mac, et depuis un menu de tri partout ailleurs.
-
Copier une valeur ou une ligne
Copie dans le presse-papiers la valeur d'une variable, ou la ligne entière séparée par des tabulations ; hors du Mac, un toucher copie la valeur et affiche une coche.
-
Actualisation automatique
Relit l'onglet visible toutes les quelques secondes, entre 5 et 300, avec un compte à rebours à côté du bouton.
-
Actualiser
Relit immédiatement l'onglet visible ; chaque onglet se charge la première fois que je l'ouvre et garde ce qu'il a lu jusqu'à ce que j'actualise.
-
Exporter
Partage l'onglet visible en texte séparé par des tabulations, filtré et trié comme je le vois, avec une ligne d'en-tête pour l'utilisation du disque.
Liste des processus
11 fonctions
-
Liste en direct des sessions du serveur
Montre chaque session ou requête en cours sur le serveur avec son id, son utilisateur, son hôte, sa base, sa commande, son temps, son état et son instruction, et dit pourquoi quand le serveur ne me laisse pas lire la liste.
-
Rafraîchissement automatique
Relit la liste toutes les quelques secondes dès son ouverture, compte le temps avant la prochaine lecture, et me permet de la mettre en pause, de la relancer, de changer l'intervalle ou de la relire aussitôt.
-
Filtrer par utilisateur
N'affiche que les sessions de l'utilisateur que je choisis, et le pied de page dit combien du total sont visibles.
-
Trier par colonne
Trie le tableau selon l'en-tête de colonne que je choisis, et garde l'ordre pendant que la liste se rafraîchit.
-
Terminer une session ou annuler sa requête
Depuis le menu d'une ligne, termine la connexion entière ou annule seulement sa requête en cours après me l'avoir demandé, et dit quand le serveur refuse et pourquoi.
-
Fermer en bloc les connexions inactives
Ferme toute connexion inactive depuis plus de secondes que je n'en indique, après m'avoir dit combien elle en a trouvé, et résume combien ont été terminées et pourquoi les autres ont été refusées.
-
Annuler en bloc les requêtes longues
Annule toute requête qui s'exécute depuis plus de secondes que je n'en indique et laisse sa connexion ouverte, après m'avoir dit combien elle en a trouvé.
-
Mémoire et lignes lues par requête
Ajoute deux colonnes avec la mémoire qu'utilise chaque requête et les lignes qu'elle a lues jusqu'ici, là où le serveur les publie.
-
Mutations non terminées
Sous la liste, et seulement s'il y en a une, montre chaque UPDATE ou DELETE en file avec sa table, son id, sa commande, les parties restantes et, en cas d'échec, le motif.
-
Annuler une mutation
Annule une mutation en file après me l'avoir demandé, garde ce qui a déjà été réécrit, et dit quand le serveur refuse.
-
Ma propre session, signalée
Signale la connexion de Calíope qui lit la liste et ne propose jamais de la terminer, ni individuellement ni en bloc.
Alertes SQL
8 fonctions
-
Règles avec leur valeur et leur état
Liste chaque règle avec sa requête, sa colonne, sa condition, la valeur mesurée dans cette session et son état, et le pied compte combien sont en alerte.
-
Évaluer les règles
Exécute chaque règle une fois et compare la valeur de sa colonne au seuil, et le fait seul à l'ouverture de l'outil, à l'ajout d'un exemple ou à la fermeture de la configuration.
-
Réévaluation automatique
Réévalue les règles toutes les quelques secondes tant que l'outil est ouvert, avec le compte à rebours jusqu'au prochain cycle, et s'arrête quand je la mets en pause ou que je sors.
-
Configurer les règles
Ouvre une feuille où j'ajoute, modifie ou supprime des règles : nom, SQL, colonne, opérateur et seuil, avec la dernière erreur du serveur à côté de la règle qui a échoué.
-
Charger une règle d'exemple
Ajoute une règle toute faite pour le moteur de la session, à chaque fois la suivante que je n'ai pas encore, et se désactive quand je les ai toutes.
-
Exporter en TSV
Enregistre le tableau, règles, valeurs et état, dans un fichier séparé par des tabulations avec les mêmes noms de colonne que je vois.
-
Règles qui écrivent, refusées dans les environnements protégés
Sur une connexion protégée par son étiquette d'environnement, une règle dont la requête écrit n'est pas exécutée et indique quelle étiquette l'a arrêtée, car une règle s'exécute sans personne devant et ne peut pas demander de confirmation.
-
Règles partagées entre sessions et appareils
Garde les règles sur cet appareil pour toutes les sessions ouvertes et les synchronise avec mes autres appareils si la synchronisation iCloud est activée, sans les valeurs mesurées.
Sauvegarde
21 fonctions
-
Arbre de sélection des objets
Liste chaque base avec ses tables, vues, routines, déclencheurs et événements, tout coché à l'ouverture, avec la taille estimée de chaque table et le nombre d'objets cochés sur le total.
-
Sélection rapide
Coche ou vide tout d'un coup, ne garde que les tables, ou coche tout pour un vidage de la structure sans données.
-
Utilisateurs du serveur
Ajoute au fichier les comptes du serveur cochés sous l'arbre, avec les instructions qui les créent et leurs privilèges ; un compte que la session ne peut pas lire est laissé de côté et nommé dans le pied du fichier.
-
Inclure les mots de passe des utilisateurs
Écrit dans le fichier le mot de passe ou le hachage de chaque compte ; désactivée par défaut, et désactivée elle écrit '***REDACTED***', avec un avertissement à côté de l'option tant qu'elle est activée.
-
Options du vidage
Choisit si chaque objet est supprimé avant d'être créé, si les lignes des tables sont incluses et si le nom du fichier porte la date et l'heure.
-
Compresser la sortie (.sql.gz)
Compresse le fichier avec gzip pendant l'écriture, sans garder le SQL en mémoire, et aligne l'extension du fichier choisi sur l'option.
-
Créer une sauvegarde
Vide les objets cochés dans un fichier .sql ou .sql.gz en arrière-plan, objet par objet et avec une mémoire bornée, avec un journal, une barre de progression, le temps restant estimé et un bouton Annuler qui efface le fichier partiel.
-
Enregistrer et partager le fichier
Sur le Mac je choisis le fichier dans le panneau d'enregistrement avant de le créer et Afficher dans le Finder m'y conduit ; sur les autres écrans, Partager le fichier l'envoie vers Fichiers, iCloud Drive ou une autre app.
-
Avis à la fin
Quand une longue sauvegarde se termine ou échoue, envoie une notification locale si son interrupteur des Réglages est activé, l'inscrit dans les messages système et annonce la fin à VoiceOver.
-
Enregistrer comme préréglage…
Enregistre la connexion et les bases contenant quelque chose de coché comme une configuration nommée, à la demande, dans l'onglet Planifiés ; son dossier se choisit ensuite dans son éditeur.
-
Restaurer depuis un fichier
Exécute un fichier .sql ou .sql.gz sur le serveur dans une session, après un résumé avec les instructions trouvées, les bases touchées et un avertissement s'il supprime des objets, et s'arrête à la première erreur en nommant l'instruction qui a échoué.
-
Aperçu
Ouvre les 200 premières lignes du fichier choisi, en ne lisant que ces quelques kilo-octets, pour vérifier ce que contient un vidage avant de l'appliquer.
-
Dans le schéma
Choisit le schéma où va tout ce que le fichier crée sans schéma propre, par défaut celui de la session.
-
Sauvegardes planifiées
Liste les sauvegardes planifiées et les configurations à la demande avec leur fréquence, leur connexion, la dernière et la prochaine exécution, un interrupteur pour activer et désactiver chacune, et Supprimer dans le menu contextuel de la ligne ; l'app ouverte, elles s'exécutent à l'heure.
-
Nouvelle sauvegarde planifiée et modification
Donne à une sauvegarde son nom, sa connexion ou n'importe laquelle d'active, sa fréquence (quotidienne, hebdomadaire, jours ouvrés, mensuelle, toutes les N heures ou à la demande) avec son heure, et le dossier de destination choisi avec une autorisation persistante.
-
Rétention
Ne garde que les N derniers fichiers de chaque sauvegarde planifiée dans son dossier, de 1 à 30 ou tous, et supprime les plus anciens après chaque exécution.
-
Sauvegardes manquées et Exécuter maintenant
Marque comme en attente une sauvegarde dont l'heure est passée app fermée ou sans sa connexion, indique au lancement combien ont été manquées et notifie le saut, et Exécuter maintenant dans sa ligne la lance.
-
Exécuter
Exécute une configuration à la demande depuis sa ligne chaque fois que j'appuie, sans calendrier.
-
Dossier de destination perdu
Avertit dans la ligne quand le dossier d'une sauvegarde planifiée a été déplacé ou a perdu son autorisation, et Mettre à jour le dossier ouvre son éditeur pour le choisir à nouveau.
-
Voir l'historique
Ouvre les exécutions de cette sauvegarde, réussites, échecs, annulations et sauts, dans le même historique que Rapports ; si elle n'a pas encore tourné, il le dit.
-
Notifications des sauvegardes planifiées
Notifie avec le nom du fichier et sa taille quand une sauvegarde planifiée se termine, et avec le motif quand elle échoue ou est annulée.
Gestion des utilisateurs
25 fonctions
-
Liste des comptes du serveur
Liste tous les comptes du serveur, ceux qu’installe le serveur regroupés à part et le total en bas, et dit pourquoi quand le serveur ne me laisse pas la lire.
-
Rechercher des comptes
Filtre la liste pendant que je tape, par nom de compte ou par hôte.
-
Résumé du compte
Présente le compte choisi avec son nom et ses badges : verrouillé ou actif, système, ce qu’il possède, ses appartenances, ses portées, combien de privilèges il a et s’il y a des modifications non enregistrées.
-
Créer un compte
Crée un compte avec son nom, son mot de passe et, là où le moteur les a, son hôte et sa méthode d’authentification, et le laisse sélectionné pour lui donner des privilèges.
-
Changer le mot de passe
Change le mot de passe d’un compte, en le demandant deux fois, et, là où le moteur les propose, sa méthode d’authentification.
-
Verrouiller un compte
Verrouille ou déverrouille un compte pour qu’il ne puisse pas se connecter, sans lui retirer ses privilèges.
-
Limites de ressources par heure
Fixe combien de requêtes, de mises à jour et de connexions un compte peut faire par heure et combien de connexions il peut avoir à la fois, où 0 veut dire sans limite.
-
Supprimer un compte
Supprime le compte choisi après une confirmation qui dit ce qui part avec lui ; les comptes qu’installe le serveur ne se suppriment pas ici.
-
Accorder et révoquer des privilèges
Montre chaque portée comme une carte avec ses privilèges groupés selon ce qu’ils permettent, un interrupteur ALL PRIVILEGES et WITH GRANT OPTION, et à l’enregistrement exécute les REVOKE et GRANT nécessaires, avec les refus du serveur à côté du bouton.
-
Privilèges globaux
La carte des privilèges sur tout le serveur.
-
Privilèges de connexion
La carte de la base vers laquelle pointe le profil, qui décide si le compte peut même se connecter ; elle est là avant que rien ne soit accordé.
-
Privilèges de base de données
La carte des privilèges sur tous les objets d’une base, ou d’un schéma là où le moteur l’appelle ainsi.
-
Privilèges de table
La carte des privilèges sur une table précise.
-
Privilèges de routine
La carte des privilèges sur une procédure ou une fonction stockée.
-
Ajouter un objet
Ajoute une carte pour une base, une table ou une routine sur laquelle le compte n’a encore rien, en la choisissant dans le schéma.
-
Attributs du rôle
La carte des attributs du rôle, comme LOGIN ou SUPERUSER, qui ne s’accordent pas mais se posent, et s’écrivent tous à l’enregistrement.
-
Limite de connexions simultanées
Fixe combien de connexions le rôle peut avoir à la fois, à côté de ses attributs.
-
Expiration du mot de passe
Fixe la date à partir de laquelle le mot de passe du rôle ne sert plus, ou le laisse sans expiration.
-
Recharger les privilèges après chaque changement
Après l’enregistrement des privilèges, la création, la modification ou la suppression d’un compte, exécute FLUSH PRIVILEGES pour que le serveur l’applique aussitôt.
-
Appartenance aux rôles
Montre les rôles auxquels appartient le compte, directs et hérités avec le chemin de chacun, et me permet d’ajouter un rôle ou d’en retirer un direct.
-
Ce que le compte possède
Marque les portées que possède le compte, qui lui donnent tout sans aucun octroi, dessinées cochées, grisées et hors de l’enregistrement.
-
Accorder sur toutes les tables
Accorde ou révoque les privilèges de table sur toutes les tables d’un schéma, existantes et futures, avec le bouton qui l’annule à côté.
-
Privilèges refusés
Montre un privilège que le serveur retire explicitement comme un troisième état, barré et avec le mot de son instruction, visible mais non modifiable ici.
-
PUBLIC, le rôle de tout le monde
Liste le pseudo-rôle auquel appartient tout le monde comme un compte de plus, pour que ce qui est accordé à tous ne semble pas privé.
-
Lecture seule quand la session ne peut pas écrire
Quand ma connexion n’a pas le privilège pour créer, modifier, supprimer ou accorder, ou que le compte ne peut pas être changé par SQL, les boutons sont désactivés avec un cadenas et un bandeau dit pourquoi.
Maintenance des tables
12 fonctions
-
Sélection des tables
Me permet de cocher les tables une à une ou une base entière dans l'arbre de schéma partagé, de cocher toutes celles du serveur sauf les bases système, de vider la sélection et de voir combien sont cochées.
-
Analyser les tables
Met à jour les statistiques de chaque table cochée et de ses index pour que l'optimiseur planifie avec des données à jour.
-
Vérifier les tables
Vérifie l'intégrité de chaque table cochée et liste chaque message renvoyé par le serveur.
-
Somme de contrôle des tables
Donne un nombre par table cochée, de sorte que le même nombre sur deux serveurs signifie les mêmes lignes, et le dit quand le serveur n'a pas de somme maintenue en direct.
-
Optimiser les tables
Reconstruit ou compacte chaque table cochée avec l'opération propre au serveur et indique ce qu'il a fait.
-
Optimiser une partition
Avec une table cochée, me permet de choisir l'une de ses partitions à optimiser plutôt que la table entière.
-
Réparer les tables
Répare les tables cochées dont le moteur de stockage sait se réparer, indique avant combien seront ignorées et explique chaque table ignorée avec l'opération qui la reconstruit.
-
Modificateurs de l'opération
Affiche sous forme de cases les modificateurs du serveur pour l'opération choisie, n'active que ceux que cette opération accepte et les décoche quand je change d'opération.
-
Hors du journal binaire
Me permet d'exécuter ANALYZE, OPTIMIZE et REPAIR sans les écrire dans le journal binaire, pour que les réplicas ne les répètent pas.
-
Fusionner en une partie (FINAL)
Me permet de forcer OPTIMIZE à laisser la table ou la partition en une partie, désactivé par défaut, et avertit avant l'exécution que cela peut prendre des heures et demander le double d'espace disque.
-
Exécuter avec progression et annulation
Exécute l'opération choisie table par table avec une barre de progression, demande une fois par lot quand l'étiquette d'environnement confirme les écritures, continue si je change d'onglet et me permet d'annuler avant la table suivante.
-
Liste des résultats
Liste une ligne par message renvoyé par le serveur pour chaque table, avec avertissements et erreurs signalés, triable par colonne sur le Mac, et me permet de la vider.
Migration de données
11 fonctions
-
Sélection des objets
Me permet de cocher tables, vues, routines, triggers et événements un à un ou une base entière dans l'arbre de schéma partagé, de vider la sélection et de voir combien d'objets sont cochés.
-
Serveur de destination
Me permet de choisir comme destination une de mes connexions enregistrées, regroupées comme dans le reste de l'app, de m'y connecter et de m'en déconnecter, et me dit si la connexion ou la clé d'hôte de son tunnel SSH échoue.
-
Base de destination
Me permet de nommer la base où vont les objets, ou de la laisser vide pour que chacun garde la sienne, et la crée dans la destination si elle n'existe pas.
-
Remplacer dans la destination
Supprime de la destination tout ce que j'ai coché avant de créer quoi que ce soit, d'abord ce qui dépend des tables et les tables filles avant leurs mères, pour que je puisse répéter la même migration sans risque.
-
Copier les lignes
Copie les lignes de chaque table cochée avec sa structure et m'indique dans le journal combien sont arrivées dans la destination sur combien ont été lues.
-
Ignorer les contrôles de clés étrangères
Désactive le contrôle des clés étrangères dans la session de destination pendant le chargement de chaque objet, pour que les tables puissent arriver dans n'importe quel ordre.
-
Aperçu du SQL de migration
Écrit, en couleur dans le panneau de sortie, le même script que la migration exécuterait, sans rien exécuter ni connecter de destination, pour que je puisse le relire ou le copier.
-
Lancer la migration
Crée chaque objet coché dans la destination sur une connexion, avec la progression et un arrêt entre un objet et le suivant, écrit une ligne de journal par objet et crée les clés étrangères à la fin.
-
Protection du même serveur
Désactive Migrer et dit pourquoi quand la destination est ce même serveur et qu'un objet finirait dans sa propre base, car la copie écraserait ce qu'elle lit.
-
Copie entre familles de moteurs
M'avertit avant d'exécuter quand destination et source sont des familles de moteurs différentes, puis copie les lignes vers les tables qui existent déjà dans la destination, en associant les colonnes par nom.
-
Confirmation de l'étiquette d'environnement
Demande une fois avant de commencer, en comptant les objets, quand l'étiquette d'environnement de la destination confirme ce qu'elle écrit, et n'écrit pas dans une destination en lecture seule.
Diagramme ER
12 fonctions
-
Diagramme d'une base
Dessine chaque table de base de la base choisie comme un nœud avec ses colonnes, ses types et le glyphe de sa clé, reliées par les clés étrangères que déclare le serveur, et se recharge quand je choisis une autre base ici ou dans l'arbre de schéma.
-
Deuxième base sur le canevas
Amène sur le même canevas les tables d'une autre base, avec une autre couleur d'en-tête et en ambre les clés étrangères qui passent de l'une à l'autre, et la retire à nouveau.
-
Zoom et déplacement
Agrandit le canevas entre 18 % et 400 % avec les boutons de la barre, le clavier, la molette ou le pincement, le déplace en faisant glisser une zone vide et cadre toutes les tables à la demande et à l'ouverture.
-
Déplacer les tables
Me permet de faire glisser n'importe quel nœud de table ailleurs sur le canevas, à n'importe quelle échelle.
-
Disposition automatique
Réorganise toutes les tables dans une grille qui mesure chaque rangée à son nœud le plus haut, pour qu'aucune ne se chevauche, et cadre le résultat.
-
Enregistrer la disposition
Garde l'endroit où j'ai laissé chaque table, une disposition par base, et les y remet la prochaine fois que j'ouvre cette base ; une table sans place enregistrée va dans une grille à côté des autres.
-
Exporter en PNG ou PDF
Rend le diagramme entier avec un titre et une date en image PNG ou en PDF en trois tailles, et l'enregistre où je choisis sur le Mac ou le confie à la feuille Partager ailleurs.
-
Imprimer
Imprime avec ⌘P le même canevas que produit l'exportation.
-
Structure de la table
Ouvre depuis le menu contextuel d'une table le CREATE TABLE complet que renvoie le serveur, sélectionnable pour le copier.
-
Nouvelle clé étrangère
Propose depuis le menu contextuel d'une table l'ALTER TABLE qui ajoute une clé étrangère entre les colonnes source et cible que je choisis, me laisse le modifier et l'exécute, puis recharge le diagramme.
-
Glisser une clé étrangère avec ⌃
En maintenant Contrôle, je glisse d'une table à une autre et une ligne pointillée suit le pointeur ; la relâcher ouvre la feuille de nouvelle clé étrangère avec les deux tables remplies.
-
Le diagramme avec VoiceOver
Expose à VoiceOver le canevas dessiné comme une liste de tables, chacune avec ses colonnes, types et clés, et une liste de relations de colonne à colonne.
Comparer les schémas
13 fonctions
-
Source et cible
Me permet de choisir la base source et la base cible dans la liste du serveur, en partant de la base sélectionnée dans l'arbre de schéma et en restant synchronisé avec lui.
-
Comparer
Lit la définition de chaque objet des deux côtés, telle que le serveur l'écrit, et me dit si les deux schémas sont identiques ou ce qui diffère.
-
Rapport par type d'objet
Regroupe le résultat par type d'objet, marque chaque objet comme nouveau, supprimé, modifié, inchangé ou illisible par un mot en plus de la couleur, et compte combien ont changé.
-
Modifications uniquement
Masque les objets identiques des deux côtés, pour que le rapport ne montre que ce que le script va toucher.
-
Détail de chaque objet
Déplie une ligne pour montrer, pour une table modifiée, chaque changement d'élément avec la définition actuelle et la définition cible marquées − et + ; pour une vue ou une routine, les deux définitions complètes face à face ; et pour un objet nouveau ou supprimé, son DDL.
-
Copier le script de synchronisation
Copie le script complet qui transforme la source en cible, avec les tables d'abord, les clés étrangères dans leur propre bloc et les autres objets triés par dépendance, pour l'exécuter dans l'éditeur SQL.
-
Copier le SQL d'un objet
Copie depuis une ligne dépliée les instructions de cet objet uniquement, clés étrangères comprises.
-
Comparer les déclencheurs
Compare aussi les déclencheurs et recrée ceux qui diffèrent.
-
Comparer les événements
Compare aussi les événements planifiés, dont l'heure de début fait partie de la définition.
-
Comparer les types personnalisés
Compare aussi les types propres au schéma, crée ceux qui manquent avant les tables qui les utilisent et laisse une note pour modifier à la main un type en cours d'utilisation.
-
Comparer les séquences
Compare aussi les séquences, sans leur valeur actuelle.
-
Comparer les paquetages
Compare aussi les paquetages et recrée ceux qui diffèrent.
-
Vérifier dans l'historique DDL
Après l'exécution du script dans l'éditeur SQL, l'historique DDL liste chaque changement de structure appliqué, avec quand et sur quelle connexion, et me permet de les rechercher, copier, exporter ou effacer.
Moniteur de réplication
9 fonctions
-
État de la réplique en un coup d'œil
Montre quatre cartes du serveur auquel je suis connecté : le thread IO et le thread SQL avec le mot que donne le serveur, le retard en secondes coloré selon le seuil (« Sans donnée » quand le serveur n'a pas de chiffre) et le serveur source qu'il lit.
-
Erreurs de réplication
Quand un thread s'arrête sur une erreur, ajoute une section avec le message complet du serveur pour le thread IO et le thread SQL, que je peux sélectionner et copier.
-
Position du journal binaire
Montre le fichier du journal binaire de la source, la position lue par le thread IO, celle exécutée par le thread SQL et l'état du thread IO, pour voir les événements reçus et pas encore appliqués.
-
État complet
Liste chaque colonne que le serveur renvoie pour la réplique avec sa valeur brute, triées par nom et sélectionnables, y compris celles que les cartes ne montrent pas.
-
Résumé de la réplication par table
Là où la réplication se fait par table, montre quatre cartes : combien de tables se répliquent, si la session Keeper est vivante, le pire retard en secondes et la file en entrées, séparés.
-
Tables répliquées, une par une
Liste chaque table répliquée avec le nom de cette réplique, l'état en mots et avec son glyphe, combien de répliques sont actives sur combien et celles qui manquent par leur nom, le retard et la file, et la dernière erreur gardée par le serveur.
-
Dit quand il n'y a rien à surveiller
Au lieu de cartes vides, dit que le serveur n'est pas une réplique, qu'il n'a pas de tables répliquées, ou pourquoi l'état de la réplication n'a pas pu être lu.
-
Rafraîchissement automatique
Relit l'état de la réplication toutes les 5 secondes tant que l'outil est ouvert, indique l'heure de la dernière lecture, et me permet de l'éteindre pour garder un instantané fixe ou de le relire avec Actualiser.
-
Alerte de retard
À chaque lecture de l'état, compare le retard (celui de la pire table, là où la réplication est par table) au seuil réglé dans les Alertes serveur et envoie une notification système quand il l'atteint.
Visionneuse binlog
6 fonctions
-
Fichiers du binary log
Liste les fichiers du binary log du serveur avec leur taille et ouvre le plus récent dès que j'ouvre l'outil.
-
Liste des événements
Affiche chaque événement avec son type, sa position de début et de fin, sa classe et le champ Info, que je peux sélectionner et copier.
-
Limite d'événements
Fixe combien d'événements sont lus depuis le début du fichier, de 100 à 2000, le relit à chaque changement et signale quand le fichier continue au-delà de la limite.
-
Filtrer par classe
Ne garde que les événements DDL, DML ou Système, chaque classe avec sa couleur, son icône et son nom.
-
Rechercher des événements
Garde les événements dont le type ou le champ Info contient le texte que je saisis, sans distinguer majuscules et minuscules.
-
Recharger les journaux
Relit la liste des fichiers et le fichier choisi, passe au nouveau si le serveur a fait une rotation pendant que je lisais le plus récent, et le dit quand le serveur ne répond pas.
Visual EXPLAIN
10 fonctions
-
Arbre du plan d'exécution
Dessine le plan que le serveur donne pour la requête, sans l'exécuter, sous forme d'arbre de cartes avec l'objet, le type d'accès, les lignes estimées et le détail qu'ajoute le moteur.
-
Couleurs d'accès et légende
Colore chaque nœud selon sa façon d'atteindre les données, de la recherche par clé en vert au parcours complet en rouge, écrit le même accès par son nom sur la carte et garde une légende dans la barre.
-
Zoom et défilement
Me permet de zoomer l'arbre de 18 % à 350 % avec le geste de chaque appareil, les boutons de la barre ou ⌘− ⌘+ ⌘0, de faire glisser le canevas et de cadrer l'arbre entier dans la fenêtre.
-
Granules lus par table
Dans chaque lecture de table, montre combien de granules ont été lus sur ceux qu'il y avait, ce qu'a écarté chaque index en granules et en parts, et l'estimation des lignes, parts et marques.
-
Coût et octets par nœud
Ajoute à chaque nœud l'opération telle que l'optimiseur la nomme, ses prédicats d'accès et de filtre, et le coût avec les octets estimés.
-
Le plan en liste pour VoiceOver
Expose l'arbre à VoiceOver sous forme de liste dans l'ordre du plan, indentée par profondeur, avec le nom, l'accès, les lignes, le temps et le détail de chaque nœud.
-
Tableau du plan dans le conseiller d'index
Montre dans le panneau du conseiller d'index le même plan traduit, nœud par nœud avec retrait, avec les mêmes noms d'accès et couleurs que l'arbre visuel.
-
Constats du conseiller d'index
Pour chaque parcours complet propose le CREATE INDEX qu'écrit le moteur sur la colonne filtrée, le dit en commentaire quand il n'y a pas de colonne à indexer, signale les parcours d'index entier et montre un sceau vert s'il n'en trouve aucun.
-
Conseil d'index de saut
Au lieu de CREATE INDEX, propose un index de saut quand le filtre est hors de la clé de tri, dit de filtrer par la clé ou de recréer la table quand la clé n'écarte rien, et ne propose rien pour une table d'un granule.
-
Conseil d'index qui lit le prédicat
Avant de proposer un index, lit le prédicat du filtre : un LIKE qui commence par un joker ne reçoit pas d'index, et une colonne qui en a déjà un reçoit une explication au lieu d'un second index.
Journal des requêtes
16 fonctions
-
Journal persistant
Garde dans un fichier sur le disque chaque instruction que j'exécute, de cette session et des précédentes, avec son numéro, sa date, sa connexion, son état, l'instruction et ce que le serveur a répondu.
-
Mise à jour en direct et rechargement
Affiche chaque nouvelle entrée, de cet onglet, d'un autre ou d'iCloud, sans que je fasse rien, et relit le fichier quand j'appuie sur Actualiser.
-
Filtrer par session
Ne garde que les entrées d'un lancement de l'app, ou toutes.
-
Filtrer par connexion
Ne garde que les entrées d'un profil de connexion, affiché comme nom (hôte:port), ou toutes.
-
Filtrer par résultat
Garde toutes les entrées, seulement celles qui ont réussi ou seulement celles qui ont échoué.
-
Rechercher
Garde les entrées dont le texte contient ce que je tape, avec les autres filtres.
-
Détail d'une entrée
Ouvre une entrée dans une feuille avec ses champs, l'instruction entière et la réponse du serveur, chacune avec son bouton Copier.
-
Copier l'instruction ou le résultat
Copie dans le presse-papiers l'instruction d'une entrée ou la réponse du serveur depuis son menu contextuel, sans la réexécuter.
-
Ouvrir dans l'éditeur ou la console
Envoie une entrée dans l'Éditeur SQL, ou dans Redis vers la console, sans l'exécuter.
-
Purger le journal
Supprime toutes les entrées du journal persistant après confirmation, depuis la corbeille de la barre de filtres ou le bouton Purger du pied.
-
Chemin et taille du fichier
Montre où se trouve le fichier du journal et sa taille, et l'affiche dans le Finder sur le Mac ou copie son chemin ailleurs.
-
Historique de session
Liste les instructions exécutées par cette fenêtre, avec la durée de chacune, filtrées par session ou par texte, et les efface après confirmation.
-
Synchroniser avec iCloud
Partage le journal entre mes appareils via iCloud quand je l'active avec le bouton du nuage, en prévenant que les instructions voyagent telles qu'écrites.
-
Erreurs de synchronisation iCloud
Quand le nuage passe au rouge, me dit ce qui a échoué et me laisse réessayer ou désactiver la synchronisation sans toucher au journal local.
-
Notification en cas d'échec de la synchronisation iCloud
Envoie une notification locale, au plus toutes les 15 minutes, quand la synchronisation iCloud du journal échoue, avec son propre message si le stockage est plein.
-
Imprimer
Imprime avec ⌘P les entrées qui passent les filtres, chacune avec son numéro, sa date, sa connexion, sa réponse et l'instruction entière.
Fragments
12 fonctions
-
Bibliothèque d'extraits
Je garde dans une liste les requêtes et les commandes que vous enregistrez, avec la catégorie, les moteurs et le début du contenu de chaque extrait, et avec la synchronisation iCloud activée ils voyagent vers vos autres appareils.
-
Rechercher des extraits
Je filtre la liste pendant la saisie, en cherchant dans les titres et dans le contenu.
-
Uniquement les fragments compatibles avec le serveur actif
Avec un serveur connecté, je masque les extraits écrits pour d'autres moteurs ; il démarre activé.
-
Créer un extrait
Le bouton + ouvre un formulaire avec titre, catégorie, moteurs et contenu, et Ajouter laisse le nouvel extrait sélectionné.
-
Catégorie de l'extrait
J'étiquette un extrait avec l'une de six catégories, affichée en badge dans la liste.
-
Moteurs de l'extrait
Je marque pour quelles familles de bases de données un extrait a du sens, et le filtre de compatibilité le lit.
-
Modifier et enregistrer un extrait
Je modifie sur place le titre, la catégorie, les moteurs et le contenu d'un extrait, et Enregistrer conserve la modification ; choisir un autre extrait sans enregistrer l'abandonne.
-
Copier le contenu
Je place le contenu d'un extrait dans le presse-papiers, depuis son en-tête ou depuis le menu contextuel de la liste.
-
Supprimer un extrait
Je supprime un extrait après confirmation, depuis la corbeille, le menu contextuel ou un balayage sur écran tactile.
-
Extraits d'exemple par moteur
La première fois que vous l'ouvrez connecté à un moteur, j'ajoute les extraits d'exemple de ce moteur, une fois par moteur.
-
Restaurer les exemples
La flèche circulaire rajoute, après confirmation, les extraits d'exemple du moteur actif, sans toucher aux vôtres ni dupliquer un titre.
-
Ouvrir dans la console
Dans une session Redis, je laisse l'extrait écrit dans la console sans l'exécuter, et la console le vérifie comme si vous l'aviez tapé.
Constructeur de tables
28 fonctions
-
Onglet de conception de table
Ouvre chaque table que je crée ou conçois dans son propre onglet de l'espace de travail, conserve ce que j'ai conçu quand je change d'onglet et, pour une table existante, charge depuis le serveur ses colonnes, index, clés étrangères et options.
-
Nom de la table
Me permet de nommer une nouvelle table ou de renommer une table existante, ce que l'aperçu transforme en renommage dans l'ALTER TABLE.
-
Liste des colonnes
Affiche chaque colonne avec sa position, son nom, son type, NULL, la clé primaire, la numérotation automatique, la valeur par défaut et le commentaire, et me laisse en choisir une pour la modifier en dessous.
-
Ajouter et dupliquer des colonnes
Ajoute une colonne avec le type initial du moteur ou duplique celle sélectionnée juste en dessous.
-
Réordonner les colonnes
Monte ou descend la colonne sélectionnée dans la table.
-
Supprimer une colonne
Retire la colonne sélectionnée de la conception et sélectionne la suivante.
-
Nom et type de la colonne
Me permet de nommer la colonne et de choisir son type de données dans la liste du moteur, avec la longueur ou la précision quand le type en a une.
-
NULL et clé primaire
Me permet d'autoriser NULL dans une colonne ou d'en faire une partie de la clé primaire, ce qui désactive NULL.
-
Contraintes UNIQUE
Me permet de marquer une colonne comme unique ou d'ajouter un index UNIQUE sur plusieurs colonnes.
-
Numérotation automatique
Numérote seules les lignes d'une colonne entière, avec le mot-clé du moteur dans le libellé.
-
Non signé
Exclut les valeurs négatives d'une colonne numérique.
-
Valeur par défaut
Définit la valeur par défaut de la colonne : aucune, une valeur littérale, NULL, CURRENT_TIMESTAMP ou une expression.
-
Jeu de caractères et interclassement de la colonne
Donne à une colonne de texte son propre jeu de caractères et interclassement, ou la laisse hériter de ceux de la table.
-
Commentaire de la colonne
Me permet d'écrire un commentaire pour chaque colonne, que le moteur enregistre à sa façon.
-
Index
Me permet d'ajouter, de modifier et de supprimer les index de la table, en choisissant leur type et les colonnes dans l'ordre.
-
Index FULLTEXT et SPATIAL
Ajoute des index plein texte sur les colonnes de texte et des index spatiaux sur les données géographiques.
-
Index de saut
Ajoute des index de saut avec leur type et leur granularité, aussi sur une table existante, pour écarter des blocs au lieu de chercher une ligne.
-
Clés étrangères
Me permet d'ajouter, de modifier et de supprimer des clés étrangères, en choisissant la colonne locale, la base et la table de référence, la colonne référencée et l'action ON DELETE.
-
Action ON UPDATE
Me permet de choisir ce que fait une clé étrangère quand la valeur référencée change.
-
Moteur de stockage
Me permet de choisir le moteur de stockage de la table, en commençant par celui que le moteur propose.
-
Format de ligne
Me permet de choisir le format de ligne quand je crée la table.
-
Jeu de caractères et interclassement de la table
Me permet de choisir le jeu de caractères de la table dans la liste du serveur, et son interclassement, qui passe au premier du jeu choisi.
-
Commentaire de la table
Me permet d'écrire un commentaire pour toute la table.
-
Clés de la table
Quand je crée une table, me permet d'écrire son ORDER BY, PARTITION BY, PRIMARY KEY, TTL et SETTINGS selon le moteur de table choisi, et désactive la création tant que l'ORDER BY manque.
-
Aperçu SQL
Affiche, avec la coloration syntaxique, le CREATE TABLE ou l'ALTER TABLE que produisent mes modifications, suit chaque modification et indique dans un commentaire ce que le moteur ne peut pas faire.
-
Copier le DDL
Copie le SQL de l'aperçu dans le presse-papiers.
-
Créer ou appliquer
Exécute le CREATE TABLE ou l'ALTER TABLE sur le serveur via la protection d'écriture de la session, indique si cela a fonctionné et, pour une table existante, la recharge.
-
Réinitialiser
Annule ce que j'ai modifié : retour aux valeurs par défaut pour une nouvelle table, ou à la définition du serveur pour une table existante.
Moniteur de santé du serveur
27 fonctions
-
Graphique des threads connectés
Trace le nombre de connexions ouvertes sur le serveur à chaque échantillon de la plage choisie.
-
Graphique des requêtes par seconde
Trace le débit de requêtes par seconde du serveur, calculé à partir de l'écart entre échantillons consécutifs.
-
Graphique du taux de succès du cache
Trace la part des lectures servies par le cache du serveur sans passer par le disque.
-
Graphique des processus actifs
Trace le nombre d'instructions en cours à chaque échantillon, sans compter les connexions inactives ni les threads du serveur lui-même.
-
Graphique du trafic réseau
Trace les octets par seconde reçus et envoyés par le serveur, en deux courbes.
-
Graphique des instructions par verbe
Trace SELECT, INSERT, UPDATE et DELETE par seconde en quatre courbes.
-
Valeur en un point
Affiche la valeur exacte d'un graphique à une courbe à l'instant que je désigne, avec une ligne de repère.
-
Choisir le serveur
Fait passer les graphiques d'un serveur surveillé à l'autre, par leur alias.
-
Plage temporelle
Relit l'historique de la dernière heure, des six dernières heures, du dernier jour, de la dernière semaine ou des trente derniers jours.
-
État du monitoring
Indique par un point et une étiquette si le monitoring tourne, démarre, réessaie, est arrêté ou n'atteint pas le stockage, et pourquoi dans ce cas.
-
Dernière collecte échouée
Place un triangle d'alerte à côté de l'état quand la dernière collecte du serveur choisi a échoué, avec la raison, tandis que les graphiques gardent l'historique antérieur.
-
Alerte de santé
Quand la dernière collecte réussie franchit un seuil, affiche l'alerte ou l'état critique avec sa raison et le chiffre qui l'a déclenché.
-
Rafraîchissement automatique
Relit les graphiques toutes les 30 secondes tant qu'il est activé.
-
Recharger
Relit aussitôt l'historique depuis le serveur de stockage.
-
Dit pourquoi il n'y a rien à afficher
Distingue le monitoring non configuré, aucun serveur à surveiller, pas encore d'échantillons et un graphique que le serveur ne mesure pas, chacun avec son texte.
-
Stockage qui ne répond pas
Indique quand le serveur de stockage n'a pas pu être lu, avec la raison et un nouvel essai, et quand son moteur ne peut pas héberger l'historique.
-
Réordonner les graphiques
En mode disposition, déplace un graphique d'une place avant ou après avec ses flèches, en le faisant glisser ou avec les actions VoiceOver.
-
Masquer et restaurer des graphiques
En mode disposition, masque un graphique avec son œil et le fait revenir depuis la liste des graphiques masqués.
-
Réinitialiser la disposition
Remet chaque graphique à sa place par défaut et les affiche tous, après confirmation.
-
Activer le monitoring
Démarre ou arrête la collecte pour tous les serveurs sans perdre la configuration.
-
Serveur de stockage de l'historique
Choisit quelle connexion enregistrée héberge l'historique et y crée son schéma et ses tables, en indiquant si cela a fonctionné.
-
Serveurs surveillés
Ajoute une connexion enregistrée à surveiller avec un alias et un intervalle d'échantillonnage, modifie son intervalle et la retire.
-
Mettre un serveur en pause
Arrête de collecter un serveur sans le retirer de la liste.
-
Seuils de santé
Fixe quand un serveur passe en alerte ou en critique pour les connexions, les threads actifs, les requêtes lentes, le cache et les requêtes longues.
-
Seuils d'un serveur
Remplace certains seuils de santé pour un serveur, et un champ vide hérite de la valeur générale affichée en indication.
-
Rétention des données
Choisit combien de jours d'historique conserver, ou sans limite avec un avertissement, et efface les lignes plus anciennes au démarrage et une fois par jour.
-
Collecte en arrière-plan
Continue de collecter chaque serveur activé à son intervalle tant que l'app est ouverte, avec ou sans l'onglet, et réessaie le stockage avec une attente croissante quand il est indisponible.
Constructeur de requêtes
15 fonctions
-
Ajouter des tables au plan de travail
Place sur le plan de travail une table de la base active quand je clique dessus dans le panneau des tables, que j'appuie sur son + ou que je la fais glisser, et marque celles déjà ajoutées.
-
Tables d'autres schémas de la même base
Liste les autres schémas de la même base à côté de l'actif, pour que je puisse joindre une table de l'un à une table d'un autre, et chacune s'écrit avec son schéma devant.
-
Cartes de table et leurs colonnes
Affiche chaque table sous forme de carte avec ses colonnes, les marques de clé et de clé étrangère et les types, et me permet de cocher les colonnes qui vont dans le SELECT, toutes ou aucune d'un coup, et de retirer la carte.
-
Alias de table
Me permet de renommer l'alias d'une carte depuis son en-tête ; il se confirme avec Entrée et les conditions de jointure et le SQL sont réécrits avec lui.
-
Jointure à partir des clés étrangères
Écrit la jointure entre les tables du plan de travail à partir des clés étrangères que déclare le serveur, et là où il n'y en a pas, ajoute la table en CROSS JOIN avec un commentaire.
-
Type de jointure
Fait passer toutes les jointures du plan de travail entre INNER, LEFT et RIGHT.
-
Conditions (WHERE)
Me permet de filtrer la requête avec des lignes colonne, opérateur et valeur reliées par AND ou OR, dans une section repliable ; une ligne incomplète est signalée et laissée hors du SQL.
-
Valeur comme expression SQL
Écrit la valeur d'une condition telle quelle, sans guillemets, pour comparer à une autre colonne ou à une fonction.
-
Avertissement de jointure externe
Avertit quand une condition du WHERE sur le côté pouvant être NULL d'un LEFT ou RIGHT JOIN le transforme en INNER, et la déplace dans le ON de la jointure et retour.
-
Aperçu du SQL en direct
Affiche le SQL généré, coloré et avec son nombre de lignes, pendant que je construis la requête, dans un panneau inférieur dont je peux faire glisser la hauteur.
-
Copier le SQL
Copie le SQL généré dans le presse-papiers et le confirme un instant sur le bouton.
-
Insérer dans l'éditeur
Envoie le SQL généré à l'Éditeur SQL, dans un nouvel onglet sur le Mac et à la place de ce qu'il contenait ailleurs, prêt à être relu et exécuté.
-
Base du plan de travail
Me permet de choisir depuis l'en-tête la base sur laquelle travaille le plan de travail, synchronisée avec la barre latérale de l'espace de travail, et demande avant d'abandonner un plan de travail avec des tables.
-
Vider le plan de travail
Retire d'un coup toutes les tables et conditions du plan de travail.
-
Le plan de travail survit au changement d'onglet
Conserve les tables, les alias, les colonnes cochées, les conditions et le SQL du plan de travail quand je passe à un autre outil et que je reviens, jusqu'à ce que je ferme l'onglet ou la session.
Éditeur SQLite
29 fonctions
-
Ouvrir un fichier de base de données
J'ouvre un fichier de base de données local sans aucun serveur, y compris quand il arrive depuis l'extérieur de l'app, et je le marque en lecture seule quand il ne peut pas être modifié.
-
Créer une nouvelle base
Je crée un fichier de base de données vide à l'endroit que vous choisissez, et le moteur lui donne son schéma avec la première instruction qui définit quelque chose.
-
Fichiers récents
J'affiche sur l'écran d'accueil les derniers fichiers que vous avez ouverts pour que vous puissiez en rouvrir un d'une seule action.
-
Fermer le fichier
Je ferme le fichier ouvert et je le libère, et s'il y a des modifications non enregistrées je demande d'abord s'il faut les enregistrer ou les abandonner.
-
Les quatre sections
Je répartis le fichier ouvert entre Structure, Données, Exécuter SQL et Pragmas, avec le moteur et sa version toujours visibles dans l'en-tête.
-
Arbre du schéma et DDL
Je liste les tables, vues, index et déclencheurs du fichier et, pour celui que vous sélectionnez, j'affiche ses colonnes avec leurs clés et contraintes et l'instruction qui l'a créé.
-
Concepteur de tables
Je construis une nouvelle table à partir d'un formulaire de colonnes, chacune avec son type, sa clé primaire, NOT NULL, le refus des doublons et sa valeur par défaut, et j'affiche l'instruction avant de la créer.
-
Créer un index
Je crée un index sur une table à partir de son nom, des colonnes que vous cochez et du fait qu'il doive refuser les doublons ou non, avec l'instruction sous les yeux.
-
Créer une vue
Je crée une vue à partir d'un nom et du SELECT que vous écrivez.
-
Ajouter une colonne
J'ajoute une colonne à la table sélectionnée avec son type, NOT NULL et sa valeur par défaut.
-
Renommer une table
Je renomme la table sélectionnée, avec son nom actuel à côté du nouveau.
-
Supprimer un objet
Je supprime la table, la vue, l'index ou le déclencheur sélectionné après vous avoir demandé de le confirmer par son nom.
-
Parcourir les lignes d'une table
J'affiche les lignes de la table que vous choisissez, page par page avec le compteur et les flèches, et je dis quand la table ne peut pas être modifiée au lieu de proposer les boutons.
-
Trier, filtrer et rechercher des lignes
Je trie selon la colonne dont vous touchez l'en-tête, je filtre colonne par colonne ou je cherche dans toutes à la fois, et j'applique le filtre quand vous appuyez sur Entrée.
-
Modifier une cellule dans la grille
Je vous laisse écrire une valeur directement dans la grille, la confirmer avec Entrée ou en quittant la cellule, et l'annuler avec Échap.
-
Éditeur avancé de cellules
Je modifie une valeur dans une feuille à part, en texte, en JSON que je mets en forme et valide, ou en hexadécimal, je l'affiche comme image quand les octets en sont une, et j'importe ces octets d'un fichier ou je les exporte vers un autre.
-
Mettre une cellule à NULL
Je mets une cellule à NULL depuis son menu contextuel sans rien ouvrir, et je dessine une cellule sans valeur comme NULL en italique.
-
Ajouter une ligne
J'ajoute une ligne depuis un formulaire avec une ligne par colonne, je laisse au moteur les colonnes qu'il sait remplir lui-même, et je garde Insérer désactivé tant qu'une colonne obligatoire n'a pas de valeur.
-
Supprimer une ligne
Je supprime la ligne que vous sélectionnez par son numéro, ou celle sur la cellule de laquelle vous ouvrez le menu contextuel.
-
Écrire et exécuter du SQL
J'exécute le script entier sur le fichier ouvert avec le même champ coloré que l'Éditeur SQL, j'affiche le résultat de la dernière instruction qui a renvoyé des lignes ou combien ont été affectées, et je m'arrête à la première erreur avec le message du moteur.
-
Autocomplétion avec les tables du fichier
Je propose les mots-clés et les fonctions du moteur et toutes les tables du fichier ouvert avec leurs colonnes, à jour après chaque changement de schéma.
-
Fiches de fonctions
J'affiche la fiche de la fonction du moteur qui se trouve sous le pointeur ou le curseur de texte, avec sa syntaxe, sa valeur de retour, ses paramètres et un exemple.
-
Grille de résultats et plafond de lignes
J'affiche le résultat dans la grille même de l'Éditeur SQL, par pages, coupée au plafond de lignes avec un bouton pour toutes les récupérer, et je vous laisse copier, glisser ou exporter des lignes depuis elle.
-
Enregistrer ou annuler les modifications
Je garde chaque modification, importation et instruction qui écrit dans une transaction en attente marquée d'un point ambre jusqu'à ce que vous l'enregistriez ou l'annuliez en entier.
-
Importer un fichier CSV
Je transforme un fichier CSV en une table qui porte le nom du fichier, ou j'ajoute ses lignes si cette table existe déjà, et je laisse l'importation en attente jusqu'à l'enregistrement.
-
Exporter une table en CSV ou JSON
J'exporte la table ouverte dans Données vers un fichier CSV ou JSON à l'endroit que vous choisissez.
-
Exporter la base en dump SQL
J'exporte la base entière, schéma et données, dans un fichier SQL.
-
Réglages du fichier (PRAGMA)
J'affiche les PRAGMA du fichier, je modifie les modifiables sur-le-champ hors de la transaction en attente, je les désactive tant qu'il y a des modifications non enregistrées, et je liste les autres avec leur valeur actuelle.
-
Vérifier et entretenir le fichier
Je vérifie l'intégrité du fichier et ses clés étrangères ou je le range avec VACUUM, ANALYZE et REINDEX, et j'affiche la réponse du moteur sous les boutons.
Éditeur DuckDB
38 fonctions
-
Ouvrir un fichier de base de données
J'ouvre un fichier de base de données local sans aucun serveur, y compris quand il arrive depuis l'extérieur de l'app, et je le marque en lecture seule quand il ne peut pas être modifié.
-
Créer une nouvelle base
Je crée un fichier de base de données vide à l'endroit que vous choisissez, et le moteur lui donne son schéma avec la première instruction qui définit quelque chose.
-
Fichiers récents
J'affiche sur l'écran d'accueil les derniers fichiers que vous avez ouverts pour que vous puissiez en rouvrir un d'une seule action.
-
Fermer le fichier
Je ferme le fichier ouvert et je le libère, et s'il y a des modifications non enregistrées je demande d'abord s'il faut les enregistrer ou les abandonner.
-
Les quatre sections
Je répartis le fichier ouvert en Structure, Données, Exécuter SQL et Réglages, avec le moteur et sa version toujours visibles dans l'en-tête.
-
Arbre du schéma et DDL
Je liste les tables, vues, index, séquences, types, macros et macros de table du fichier, avec le nom du schéma devant quand il y en a plusieurs, et pour celui que tu choisis j'affiche ses colonnes et l'instruction qui l'a créé.
-
Concepteur de tables
Je construis une nouvelle table à partir d'un formulaire de colonnes, chacune avec son type, sa clé primaire, NOT NULL, le refus des doublons et sa valeur par défaut, et j'affiche l'instruction avant de la créer.
-
Créer un index
Je crée un index sur une table à partir de son nom, des colonnes que vous cochez et du fait qu'il doive refuser les doublons ou non, avec l'instruction sous les yeux.
-
Créer une vue
Je crée une vue à partir d'un nom et du SELECT que vous écrivez.
-
Ajouter une colonne
J'ajoute une colonne à la table sélectionnée avec son type, NOT NULL et sa valeur par défaut.
-
Renommer une table
Je renomme la table sélectionnée, avec son nom actuel à côté du nouveau.
-
Supprimer un objet
Je supprime la table, la vue, l'index, la séquence, le type ou la macro sélectionné après t'avoir demandé de le confirmer par son nom.
-
Parcourir les lignes d'une table
J'affiche les lignes de la table que vous choisissez, page par page avec le compteur et les flèches, et je dis quand la table ne peut pas être modifiée au lieu de proposer les boutons.
-
Trier, filtrer et rechercher des lignes
Je trie selon la colonne dont vous touchez l'en-tête, je filtre colonne par colonne ou je cherche dans toutes à la fois, et j'applique le filtre quand vous appuyez sur Entrée.
-
Modifier une cellule dans la grille
Je vous laisse écrire une valeur directement dans la grille, la confirmer avec Entrée ou en quittant la cellule, et l'annuler avec Échap.
-
Éditeur avancé de cellules
Je modifie une valeur dans une feuille à part, en texte, en JSON que je mets en forme et valide, ou en hexadécimal, je l'affiche comme image quand les octets en sont une, et j'importe ces octets d'un fichier ou je les exporte vers un autre.
-
Mettre une cellule à NULL
Je mets une cellule à NULL depuis son menu contextuel sans rien ouvrir, et je dessine une cellule sans valeur comme NULL en italique.
-
Ajouter une ligne
J'ajoute une ligne depuis un formulaire avec une ligne par colonne ; DuckDB ne remplit pas tout seul une clé primaire entière, donc chaque colonne obligatoire, clé comprise, a besoin de sa valeur avant qu'Insérer s'allume.
-
Supprimer une ligne
Je supprime la ligne que vous sélectionnez par son numéro, ou celle sur la cellule de laquelle vous ouvrez le menu contextuel.
-
Écrire et exécuter du SQL
J'exécute le script entier sur le fichier ouvert avec le même champ coloré que l'Éditeur SQL, j'affiche le résultat de la dernière instruction qui a renvoyé des lignes ou combien ont été affectées, et je m'arrête à la première erreur avec le message du moteur.
-
Autocomplétion avec les tables du fichier
Je propose les mots-clés et les fonctions du moteur et toutes les tables du fichier ouvert avec leurs colonnes, à jour après chaque changement de schéma.
-
Fiches de fonctions
J'affiche la fiche de la fonction du moteur qui se trouve sous le pointeur ou le curseur de texte, avec sa syntaxe, sa valeur de retour, ses paramètres et un exemple.
-
Grille de résultats et plafond de lignes
J'affiche le résultat dans la grille même de l'Éditeur SQL, par pages, coupée au plafond de lignes avec un bouton pour toutes les récupérer, et je vous laisse copier, glisser ou exporter des lignes depuis elle.
-
Enregistrer ou annuler les modifications
Je garde chaque modification, import et instruction qui écrit dans une transaction en attente marquée d'un point ambre jusqu'à ce que tu l'enregistres ou l'annules en entier, et je te dis quand une instruction échouée ou arrêtée a fait annuler la transaction par DuckDB.
-
Importer un fichier CSV
Je transforme un fichier CSV en une table qui porte le nom du fichier, ou j'ajoute ses lignes si cette table existe déjà, et je laisse l'importation en attente jusqu'à l'enregistrement.
-
Exporter une table en CSV ou JSON
J'exporte la table ouverte dans Données vers un fichier CSV ou JSON à l'endroit que vous choisissez.
-
Exporter la base en dump SQL
J'exporte la base entière, schéma et données, dans un fichier SQL.
-
Interroger un fichier de données…
Je crée une vue par fichier CSV, JSON ou Parquet choisi, lue à la volée à chaque requête sans copier ses données dans la base, et j'ouvre d'abord une base en mémoire si aucune n'est ouverte.
-
Base en mémoire et Enregistrer sous…
Je travaille sur une base qui vit uniquement en mémoire, nommée ainsi dans l'en-tête, et Enregistrer sous… l'écrit en entier dans un fichier .duckdb puis je continue sur ce fichier.
-
Base entière : exporter et importer
Je vide la base entière dans un dossier que tu choisis, en CSV ou en Parquet avec le schéma à côté, ou je lis dans la base ouverte ce qu'a laissé un autre export, toujours hors d'une transaction en attente.
-
Attacher une base…
J'ouvre une autre base DuckDB à côté de l'actuelle, toujours en lecture seule, j'affiche son contenu dans l'arbre avec son nom devant, et Détacher la retire.
-
Résumé d'une table
Depuis Données je calcule les statistiques de chaque colonne de la table ouverte avec SUMMARIZE et je les affiche dans Exécuter SQL.
-
Pas de téléchargement d'extensions
Je refuse INSTALL, LOAD et UPDATE EXTENSIONS avant qu'ils n'atteignent le moteur et j'explique pourquoi, car il n'existe que les extensions fournies avec l'app.
-
Arrêter une requête en cours
Pendant qu'une requête tourne, Arrêter l'interrompt dans le moteur à mi-chemin au lieu d'attendre qu'elle se termine.
-
Cœurs et limite de mémoire
J'enregistre le nombre de cœurs et la limite de mémoire pour cet appareil et je rouvre le fichier avec eux, car la configuration du moteur reste verrouillée tant qu'un fichier est ouvert ; les autres réglages sont listés en lecture seule.
-
Maintenance
J'exécute Checkpoint, Forcer le checkpoint, Vacuum et Analyser sur le fichier ouvert et j'affiche la réponse du moteur sous les boutons.
-
Accès au dossier du fichier
La première fois qu'on ouvre en écriture un fichier situé hors du dossier de Calíope, je demande l'accès à son dossier, car DuckDB écrit un fichier .wal à côté, et je retiens ce dossier pour la prochaine fois.
-
Télécharger la base d'exemple
Depuis l'écran vide j'ouvre la page du site avec la base d'exemple publique, et c'est toi qui décides du téléchargement.
Aperçu de fichiers
18 fonctions
-
Visionneuse qui ne modifie rien et fonctionne hors connexion
Montre un fichier local interprété selon son extension sans rien modifier, enregistrer ni exécuter, et s’ouvre même sans serveur connecté.
-
Ouvrir… un fichier
Le bouton Ouvrir… choisit sur le disque un fichier .md, .sql, .json, .csv, .tsv, .rtf, .txt ou .log, et l’écran vide montre les types qu’il lit.
-
Fichiers récents
Garde les huit derniers fichiers lus correctement, avec une autorisation durable, pour en rouvrir un après avoir relancé l’app sans le chercher à nouveau.
-
Ouvrir depuis l’extérieur de Calíope
Un fichier ouvert avec Calíope depuis le Finder ou partagé depuis l’app Fichiers arrive ici, sauf un .sql, qui va à l’Éditeur SQL.
-
Markdown comme document
Dessine titres, listes, cases à cocher, citations, tableaux à barres et blocs de code d’un Markdown, avec les blocs SQL colorés et les images par leur texte alternatif.
-
RTF comme document
Lit un fichier de texte enrichi comme un document qui garde titres, listes, emphase, liens et alignement, et signale en bas que la typographie est celle de Calíope.
-
SQL coloré, sans exécution
Montre un .sql en chasse fixe, avec numéros de ligne et coloration syntaxique, sans bouton d’exécution, et passe en texte brut au-delà de 500 Ko en le signalant en bas.
-
JSON réindenté et coloré
Réindente un JSON avec deux espaces par niveau et le colore sans réordonner les clés, signale s’il n’est pas valide et au-delà de 2 Mo le montre tel qu’il est sur le disque.
-
Replier les objets et tableaux JSON
Le triangle de la marge masque un conteneur et laisse un résumé avec son nombre de membres, et Tout replier et Tout déplier agissent sur tout le fichier.
-
CSV en tableau
Dessine un .csv ou un .tsv en tableau avec numéros de ligne et en-tête fixe, détecte et nomme le séparateur, et dit quand des lignes ou des colonnes ont été laissées de côté.
-
Texte brut avec numéros de ligne
Montre .txt, .log et toute extension non reconnue tels quels, en chasse fixe avec numéros de ligne, et coupe les lignes de plus de 2000 caractères avec la marque ↳.
-
Détection de l’encodage du texte
Lit l’UTF-8, l’UTF-16 avec sa marque d’ordre des octets, le Windows-1252 et l’ISO-8859-1, nomme l’encodage dans l’en-tête et refuse un fichier binaire au lieu d’afficher n’importe quoi.
-
Rechercher dans le fichier
⌘F ou la loupe ouvre une barre qui cherche du texte simple dans ce qui a été lu, surligne les résultats, les compte et passe de l’un à l’autre, avec le bouton Aa pour la casse.
-
Rafraîchissement automatique quand le fichier change
Surveille le fichier tant qu’il est ouvert, le redessine tout seul quand un autre programme l’enregistre, en gardant la position de lecture, et le signale quand le fichier a disparu.
-
Recharger
Le bouton Recharger relit le fichier et réarme la surveillance si elle l’avait perdu.
-
Gros fichiers, lus jusqu’à 5 Mo
Lit les 5 premiers Mo d’un gros fichier et indique en haut quelle part est affichée.
-
Fermer
Le bouton Fermer libère le fichier, arrête de le surveiller et revient à l’écran vide avec les récents.
-
Coup d'œil
Le bouton en forme d’œil ou la barre d’espace montre le fichier dans le visualiseur du système, qui ouvre aussi ce que l’aperçu n’interprète pas : PDF, images, bureautique.
Journal des erreurs
14 fonctions
-
Journal de ce qui a échoué dans l’app
Garde une ligne par échec de l’app avec sa date, sa gravité, son domaine, son profil de connexion et son appareil, se met à jour dès qu’une nouvelle erreur arrive et s’ouvre même sans serveur connecté.
-
Filtrer par gravité, domaine et profil
Réduit la liste aux avertissements ou aux erreurs, à un domaine de l’app et à un profil de connexion, avec des choix tirés de ce que contient le journal.
-
Rechercher dans le journal
Trouve les lignes par n’importe quel texte du message, du code ou du détail, un instant après la fin de la saisie.
-
Détail d’une erreur
Ouvre une ligne en entier, avec son code, son origine et le texte technique dont le support a besoin.
-
Voir la solution d’une erreur
Quand l’erreur a sa propre rubrique d’aide, mène directement de la ligne ou de son détail à cette rubrique.
-
Copier une erreur
Copie une ligne en texte brut, au même format que l’export, pour la coller dans un message au support.
-
Exporter le journal
Enregistre dans un fichier texte brut les lignes affichées, avec les filtres appliqués.
-
Retrouver le fichier du journal
Montre où le journal est enregistré sur cet appareil et y mène.
-
Vider le journal partout
Supprime toutes les lignes de cet appareil et la copie dans iCloud après confirmation, pour que rien ne revienne à la synchronisation suivante.
-
Synchroniser le journal via iCloud
Reflète le journal dans votre iCloud privé pour que chaque appareil voie ce qui a échoué sur les autres, demande avant de déplacer des données dans un sens ou dans l’autre et indique à l’écran ce qui reste en attente ou a échoué.
-
Conservation
Conserve les lignes 90 jours par défaut, ou le nombre de jours choisi dans les Réglages, élague les plus anciennes en local et dans iCloud, et affiche la durée en bas.
-
Activer ou désactiver le journal
Quand le journal est désactivé, le dit au lieu d’afficher une liste vide, et le réactive d’un bouton.
-
Échecs répétés notés une fois
Un échec qui se répète tout seul est noté la première fois, puis seulement s’il change, s’il se rétablit et échoue de nouveau, ou s’il dure encore six heures plus tard.
-
Aucun mot de passe dans le journal
N’enregistre jamais de mot de passe, même tronqué, et désigne le serveur par l’alias de son profil plutôt que par hôte, port et utilisateur.
Recherche et remplacement globaux
14 fonctions
-
Base où chercher
Je choisis une base dans l’en-tête, et en changer oublie les résultats précédents pour qu’un remplacement n’écrive jamais dans l’ancienne.
-
Tables à parcourir
Je coche les tables dans l’arborescence du schéma, avec Tout sélectionner et Effacer, et chaque table affiche son nombre d’occurrences après la recherche.
-
Coût avant le parcours
Avant de chercher, une ligne indique combien de tables seront lues en entier et leur taille, car chercher à l’intérieur d’une valeur ne peut utiliser aucun index.
-
Rechercher un texte dans toutes les colonnes de texte
Je saisis un texte et j’appuie sur Rechercher, et toutes les colonnes de texte des tables cochées sont parcourues, avec l’avancement par table et un total des occurrences.
-
Respecter la casse
Avec Respecter la casse activé, la recherche trouve exactement ce que le remplacement changerait, et l’avertissement d’écart disparaît.
-
Arrêter la recherche
Pendant la recherche, Arrêter la termine, et elle apparaît aussi dans le panneau Activité pour que je puisse quitter l’onglet et revenir.
-
Occurrences par table et colonne
Chaque table avec des occurrences se déplie en colonnes, avec leur type et le nombre de lignes qui contiennent le texte, et les tables illisibles sont listées à part.
-
Lignes d’exemple
Déplier une table récupère du serveur jusqu’à cinq valeurs d’exemple par colonne, pour voir à quoi ressemblent les occurrences.
-
Ouvrir dans l’éditeur SQL
À côté de chaque exemple, un bouton ouvre l’éditeur SQL avec le SELECT de cette colonne déjà écrit.
-
Trouvées et remplaçables
Quand la recherche ignore la casse et pas le remplacement, un avertissement donne les deux chiffres et chaque colonne indique combien de ses lignes sont vraiment remplaçables.
-
Colonnes non remplaçables
Une colonne que le remplacement ne peut pas écrire reste dans la liste avec un cadenas et son motif, calculée, liste fermée de valeurs, clé primaire ou clé sans doublons.
-
Remplacer avec revue obligatoire
Remplacer… ouvre une revue avec les tables, les colonnes et les lignes, l’avant et après calculé par le serveur et les clés étrangères en jeu, et n’écrit rien tant que tous les aperçus ne sont pas arrivés.
-
Voir le script
Voir le script affiche le SQL complet du remplacement pour que je le copie et l’exécute moi-même, et il n’écrit rien.
-
Ce que le remplacement a fait
Après l’écriture, une ligne sous le champ de recherche donne les lignes remplacées, avertit si elles ne correspondent pas au chiffre annoncé et nomme les tables en échec.
Rapports
21 fonctions
-
Nouveau rapport
Je crée un rapport dans l’en-tête, et il naît avec la source et la forme de la famille de la session : du SQL sur un serveur relationnel, un find sur MongoDB, un parcours de clés sur Redis.
-
Liste des rapports et filtre
Je vois mes rapports enregistrés par ordre alphabétique avec leur source, je les filtre par nom, et la liste vide dit s’il n’y en a aucun ou si le filtre les cache.
-
Nom et enregistrement
Je nomme le rapport et je l’enregistre ; passer à un autre rapport n’écrase jamais une modification non enregistrée, et la bibliothèque sur disque est fusionnée, jamais remplacée.
-
Dupliquer un rapport
Depuis le menu contextuel d’une ligne je fais une copie nommée d’après l’original et je l’ouvre.
-
Supprimer un rapport
Depuis le menu contextuel d’une ligne je supprime le rapport, et son fichier, s’il en avait un, est libéré avant.
-
Texte de la requête
J’écris la requête dans un éditeur coloré qui ne transforme jamais les guillemets en typographiques ; le texte voyage opaque jusqu’à la source, qui est celle qui le lit.
-
Collection et forme sur MongoDB
Sur MongoDB j’écris la collection et je choisis entre un find avec son filtre et un aggregate avec son pipeline, les deux en Extended JSON.
-
Parcours de clés sur Redis
Sur Redis le rapport est un parcours de clés transformé en tableau : motif, type, colonnes, champs de hash et un plafond de lignes, avec SCAN et jamais KEYS.
-
Exécuter un rapport
J’exécute le rapport avec Exécuter ou ⌘↩, le bouton s’éteint avec son motif en vue quand il ne peut pas tourner, et le résultat donne ses lignes et sa durée.
-
Contrat de la sortie
Quand ce qui arrive ne correspond pas à ce que le rapport déclare —une colonne manquante ou en trop, un type modifié, un tableau tronqué— on me le dit au-dessus du résultat au lieu de voir un autre tableau en silence.
-
Arrêter un rapport en cours
Pendant qu’il tourne je l’arrête avec Arrêter ou ⌘., et le bouton n’est là que si la source peut vraiment l’arrêter.
-
Script avec préparation
Avant le SELECT final je peux fixer des variables de session et construire et remplir des tables temporaires, le tout sur une connexion ; ce qui sort de cette liste fermée est refusé avec son numéro d’instruction avant toute exécution, et les temporaires sont supprimées à la fin.
-
Déclarer les paramètres
Dans une feuille je déclare chaque paramètre avec nom, type, libellé, s’il est obligatoire et sa valeur par défaut, et elle me propose les marqueurs que la requête utilise déjà pour les ajouter avec le nom exact.
-
Remplir les paramètres
Je remplis les paramètres déclarés dans un formulaire que je peux afficher ou masquer, chaque champ vérifie son type pendant la saisie et un paramètre obligatoire sans valeur bloque l’exécution.
-
Colonnes de la sortie
Dans la feuille de sortie je masque, réordonne et renomme les colonnes et je donne à chacune un format et un alignement, sans réécrire la requête.
-
Agrégats en pied
J’ajoute des sommes, moyennes, minimums, maximums et comptages par colonne au pied du résultat, et les valeurs nulles ne comptent pas.
-
Graphique du résultat
Dans la feuille de sortie j’active un graphique en barres, lignes ou secteurs sur une colonne de libellés et une ou plusieurs colonnes numériques, dessiné au-dessus du tableau et décrit à VoiceOver.
-
Exporter
J’exporte ce que déclare la sortie en CSV, TSV, JSON, XML, Excel, HTML, Markdown, texte ou un PDF paginé, toujours par le panneau d’enregistrement du système.
-
Imprimer
Avec un résultat à l’écran j’imprime le même tableau que je vois depuis le menu Fichier.
-
Programmer un rapport
Je programme un rapport quotidien, hebdomadaire, en jours ouvrés, mensuel ou toutes les N heures ; il ne tourne qu’avec l’app ouverte, utilise la valeur par défaut de chaque paramètre et note une exécution ignorée avec son motif.
-
Historique des exécutions
Chaque exécution laisse sa ligne avec état, déclencheur, paramètres, lignes, durée, appareil et adresse ; je la filtre, la cherche, la copie, la supprime ou je vide tout, elle reste sur cet appareil et les lignes de plus de 180 jours sont supprimées.
Topologie de réplication
13 fonctions
-
Choisir le groupe
Choisit, depuis la barre, lequel des groupes déclarés l'outil affiche, et sans choix il affiche le premier.
-
Déclarer un groupe de réplication
Je nomme le groupe et je choisis, parmi mes connexions enregistrées, le primaire et ses répliques dans l'ordre où je veux les voir, avec son intervalle de sondage. Ne sont proposées que les connexions dont l'outil sait sonder la réplication, et il en faut au moins deux.
-
Modifier, mettre en pause ou supprimer un groupe
Liste les groupes déclarés avec le nombre de répliques de chacun et la fréquence de son sondage. Chaque ligne a un interrupteur qui arrête le sondage sans supprimer le groupe, un bouton pour le modifier et un autre pour le supprimer.
-
Membres dont la connexion a été supprimée
Si une connexion enregistrée qui était une réplique d'un groupe est supprimée, le groupe continue sans elle et indique combien de membres ont été retirés. Si c'était le primaire, le groupe est signalé au lieu de disparaître.
-
Sondage du groupe entier
Tant que Calíope est ouverte, sonde en même temps tous les membres de chaque groupe actif à son intervalle, avec un bouton pour sonder maintenant, et indique en bas quand elle a mesuré, combien de temps cela a pris et à quelle fréquence cela se répète. Un membre qui continue d'échouer laisse une entrée dans le journal des erreurs, pas une par cycle.
-
Qui a répondu et qui non
Indique combien de membres ont été atteints sur combien, et nomme au-dessus du diagramme ceux qui ne l'ont pas été, chacun avec sa raison, qu'il ne réponde pas, que sa connexion n'existe plus, que son moteur ne soit pas sondé ici ou qu'il ait été déclaré avec un autre rôle.
-
Contradictions avec ce que j'ai déclaré
Avertit, sans rien reconfigurer, quand une réplique lit depuis un serveur qui n'est ni le primaire déclaré ni un autre membre, et quand le primaire voit moins de répliques connectées que celles déclarées qui lisent depuis lui.
-
Diagramme de la topologie
Dessine le primaire au centre et les répliques autour, chacune avec le symbole et la couleur de son état et une flèche depuis l'endroit d'où elle lit, qui part d'une autre réplique dans une cascade et devient pointillée quand un thread est arrêté. Il peut être masqué, et VoiceOver le lit comme une liste.
-
Le primaire en un coup d'œil
Montre du primaire son état, sa version, le fichier et la position du journal binaire, le GTID exécuté, combien de répliques il voit connectées et son adresse, ou bien la raison s'il n'a pas pu être lu.
-
Tableau des répliques
Liste chaque réplique avec son état par symbole et par nom, le canal, le fichier et la position du journal binaire, le retard, les threads IO et SQL et le détail qui explique un avertissement. Dans une fenêtre étroite restent la réplique, son état et son retard, et le reste est dans son détail.
-
Le retard sans mentir et la dérive GTID
Affiche Sans donnée au lieu d'un zéro quand le serveur n'a pas de chiffre de retard, et à côté combien de transactions du primaire la réplique n'a pas exécutées, en déduisant ce que le primaire a avancé pendant le sondage du groupe, qu'il lit deux fois.
-
Détail d'un membre
Toucher une ligne ouvre tout ce qui concerne ce membre, à savoir le rôle déclaré et observé, l'adresse, la version et l'heure de la mesure, chaque canal avec sa source, ses threads, son journal binaire, sa dérive GTID et ses dernières erreurs IO et SQL, et pour le primaire l'état de son journal binaire. On passe au membre précédent ou suivant et on copie le résumé.
-
Topologie déclarée par le serveur
Ouverte depuis une session sur un serveur qui déclare ses propres clusters, les montre à la place des groupes, avec par cluster combien de répliques répondent sur combien et les absentes par leur nom, un diagramme avec une colonne par shard et le tableau avec adresse, état et les tables que chaque réplique réplique, plus ce que Keeper dit d'une réplique qui ne répond pas.
Journal des requêtes lentes
18 fonctions
-
Vues Réglages, Entrées et Par instruction
Passe des réglages du journal du serveur aux exécutions qu'il a enregistrées et au résumé par forme de requête, et ne propose que les vues que ce serveur peut remplir.
-
Cartes d'état du journal
Montre ce que le serveur répond en ce moment : s'il enregistre, avec quel seuil et où il écrit, avec le chemin du fichier du serveur quand il en a un.
-
Activer ou désactiver le journal
Active ou désactive d'ici le journal des requêtes lentes du serveur puis le relit, si bien que l'interrupteur montre ce que le serveur a appliqué.
-
Seuil de requête lente
Me permet de saisir le seuil ou de le déplacer avec moins et plus, l'envoie avec Appliquer, refuse une valeur négative et relit ce que le serveur a gardé.
-
Où le journal écrit
Choisit si le serveur écrit le journal dans sa table, dans son fichier ou dans les deux, car un client ne lit que ce qui va dans la table.
-
Où ces réglages se changent vraiment
Quand le serveur ne me laisse pas changer le journal d'ici, dit où il se change, et sous les commandes dit qui un changement atteint.
-
Variables autour du journal
Liste les variables que ce serveur publie autour de son journal, avec les noms qu'il leur donne, comme une information qui se change ailleurs.
-
Pourquoi cette vue est vide
Distingue un serveur calme d'un journal désactivé, qui écrit dans un fichier ou auquel manque ce dont le résumé a besoin, et renvoie au sujet qui explique comment y remédier.
-
Exécutions enregistrées
Liste les exécutions enregistrées par le serveur, de la plus lente à la moins lente, avec heure, utilisateur, base, durée et lignes, plus les colonnes que publie ce moteur.
-
Résumé par instruction
Regroupe le travail du serveur par forme de requête avec ses appels et son temps total, moyen et maximal, et dit combien de formes ce compte ne peut pas lire.
-
Fiche d'une ligne
Ouvre une ligne avec son texte complet et tous les chiffres notés par le serveur, dit si le texte d'un résumé est normalisé et explique que l'heure est celle du serveur.
-
Copier la requête
Copie le texte complet d'une ligne, depuis son menu contextuel ou depuis sa fiche.
-
Envoyer à l'éditeur
Dépose la requête d'une ligne dans l'éditeur SQL sans l'exécuter, pour que je décide de la profiler ou de demander son plan.
-
Vider le journal
Supprime les exécutions enregistrées par le serveur après une confirmation qui dit combien partent, comptées sur le serveur et non sur la page chargée.
-
Remettre les statistiques à zéro
Remet à zéro le résumé par instruction de tout le serveur après une confirmation qui dit ce qui part, y compris les exécutions là où les deux sont la même table.
-
Combien de lignes lire
Choisit 50, 200 ou 1 000 lignes par lecture, et le pied avertit quand la liste atteint cette limite pour qu'un décompte ne soit pas lu comme un total.
-
Masquer celles de Calíope
Masque, activé par défaut, ce que Calíope interroge d'elle-même, jamais ce que j'ai écrit dans l'éditeur.
-
Rafraîchissement automatique
Relit la vue ouverte toutes les dix secondes et dit quand ce que je regarde a été lu, et me permet de la couper ou de relire tout de suite.
Collections MongoDB
13 fonctions
-
Choisir la base
Le menu du haut passe d'une base du serveur à l'autre ; à l'ouverture je commence sur la base du profil, ou sur la première qui n'est pas une base système.
-
Collections de la base
Liste les collections de la base choisie avec une icône pour chaque type et signale les vues et les collections plafonnées, et le dit dans la liste quand le serveur ne me les donne pas.
-
Filtrer les collections par nom
Réduit la liste des collections à celles dont le nom contient ce que je tape, sans distinguer majuscules et minuscules.
-
Actualiser bases et collections
Relit les bases du serveur et les collections de celle qui est choisie, et recharge les documents à l'écran.
-
Documents de la collection
Choisir une collection apporte ses 50 premiers documents, et revenir à l'onglet avec une collection déjà choisie les rapporte.
-
Documents en arbres repliables
Dessine chaque document comme une carte avec son _id et son nombre de champs, et chaque champ avec sa clé, sa valeur et son type, en dépliant documents et tableaux imbriqués.
-
Charger plus de documents
En bas de la liste apporte le lot suivant de 50 depuis le curseur ouvert, et le curseur se ferme quand je change de collection ou quitte l'onglet.
-
Décompte des documents
Le pied indique combien de documents a la collection, comptés par le serveur, et combien sont chargés.
-
Nouveau document
Ouvre un éditeur vide où j'écris un document en JSON étendu et je l'insère dans la collection choisie.
-
Modifier un document
Le crayon ouvre le document entier en JSON étendu, Formater le réindente et vérifie qu'il se lit, et l'enregistrement le remplace sur le serveur par son _id.
-
Supprimer un document
La corbeille supprime le document par son _id après avoir demandé, et avec une étiquette d'environnement qui confirme la question la nomme et ne se répète pas.
-
Vues et sessions non modifiables
Une vue ne se modifie pas et le pied le dit, et avec une étiquette d'environnement qui interdit l'écriture je ne propose ni nouveau, ni modifier, ni supprimer.
Requête MongoDB
10 fonctions
-
Choisir la collection à interroger
Le menu Collection liste les collections de la base choisie dans Collections, et ce choix est le même que celui des autres outils MongoDB.
-
Rechercher avec filtre, projection et tri
En mode Rechercher j'écris le filtre, la projection et le tri comme documents JSON, et un champ vide n'est tout simplement pas envoyé.
-
Exécuter un pipeline d'agrégation
En mode Agrégation j'écris le pipeline entier comme une liste d'étapes, et un pipeline qui n'est pas une liste, ou une étape qui n'est pas un document, est détecté avant tout envoi.
-
Le JSON étendu conserve les types
Les champs de la requête acceptent le JSON étendu : un $oid ou un $date arrive au serveur comme ObjectId ou comme date et non comme texte, et les champs sont colorés selon la syntaxe MongoDB.
-
Exécuter la requête
Exécuter (⌘↩) envoie la requête à la collection choisie ; avant la première exécution l'outil la demande au lieu d'affirmer que la collection est vide, et une erreur du serveur reste dans une barre à l'intérieur de l'outil.
-
Résultats en arbre de documents
Les résultats s'affichent avec le même arbre de documents que Collections, mais ne se modifient pas ici : une agrégation n'a pas de document d'origine où renvoyer les changements, et une projection perdrait des champs à l'enregistrement.
-
Charger plus de résultats
Les résultats arrivent par 50, et Charger plus demande au curseur du serveur le lot suivant tant qu'il y en a un.
-
Fermer le curseur abandonné
Le curseur ouvert sur le serveur est fermé à l'exécution d'une nouvelle requête et quand je quitte l'outil, car un curseur abandonné reste vivant dix minutes en occupant de la mémoire.
-
Une agrégation qui écrit passe par l'étiquette
Rechercher ne fait que lire ; une agrégation avec $out ou $merge écrit une collection : avec une étiquette d'environnement non modifiable elle ne s'exécute pas et l'avis dit pourquoi, et avec une étiquette qui confirme les écritures elle demande d'abord.
Index MongoDB
4 fonctions
-
Choisir la collection dont je vois les index
Le menu Collection de la barre liste les collections de la base choisie sans les vues, et ce choix est le même que celui des autres outils MongoDB.
-
Voir les index d’une collection
La liste montre chaque index par son nom, avec ses clés en dessous et ses propriétés en étiquettes, et elle est relue à chaque changement de base ou de collection ou quand j’appuie sur Actualiser.
-
Créer un index
Nouvel index ouvre une feuille avec le nom, les clés écrites comme un document et les interrupteurs sans doublons, clairsemé et expiration, et si le serveur le refuse son message reste dans la feuille ouverte.
-
Supprimer un index
Chaque index sauf celui de _id a sa corbeille, et le supprimer demande d’abord une confirmation, car les requêtes qui l’utilisaient parcourront toute la collection.
Serveur MongoDB
8 fonctions
-
Passer entre Serveur, Opérations et Utilisateurs
Un contrôle segmenté de la barre choisit ce que montre l’outil, et chaque section est lue à son ouverture ; Actualiser la relit.
-
Voir l’état du serveur
Serveur montre l’hôte, la version, depuis combien de temps il tourne, les connexions utilisées sur celles disponibles, la mémoire résidente et virtuelle, et les opérations comptées depuis son démarrage.
-
Voir le jeu de réplicas du serveur
Quand le serveur est membre d’un jeu de réplicas, Serveur montre aussi le nom du jeu et si ce membre est le primaire ou un secondaire.
-
Voir ce que fait le serveur en ce moment
Opérations liste chaque opération en cours avec son type, son espace de noms, les secondes écoulées et la connexion d’où elle vient, et signale celles qui attendent un verrou.
-
Inclure les connexions inactives et les threads au repos
Inclure les inactives ajoute les connexions ouvertes qui ne font rien et les threads du serveur au repos, et la liste est relue quand je le change.
-
Arrêter une opération
Arrêter l’opération demande au serveur de terminer une opération venue d’un client ; les threads du serveur lui-même n’ont pas de bouton, car la demande ne les arrêterait pas.
-
Voir les utilisateurs de toutes les bases
Utilisateurs liste tous les utilisateurs du serveur sous la forme utilisateur@base, car un utilisateur vit dans une base, avec ses rôles à côté.
-
Voir les rôles personnalisés de la base choisie
Sous les utilisateurs viennent les rôles personnalisés de la base choisie dans les autres outils MongoDB, avec le nombre de privilèges que chacun accorde ; le titre de la section nomme la base.
Commandes MongoDB
7 fonctions
-
Choisir la base à laquelle va la commande
Le menu en tête de la barre choisit la base à laquelle la commande est envoyée, car certaines ne sont acceptées que dans admin ; tant que je n'en choisis aucune, c'est la base choisie dans Collections.
-
Écrire une commande comme document
J'écris la commande comme un document JSON dans un éditeur avec la coloration de MongoDB, et si le texte n'est pas du JSON valide, Calíope indique où avant d'envoyer quoi que ce soit.
-
Commandes fréquentes déjà écrites
Le menu Exemples remplit l'éditeur avec une commande fréquente, et celles qui agissent sur une collection portent un repère à la place de son nom.
-
Exécuter la commande et lire la réponse complète
Exécuter (⌘↩) envoie le document tel quel et la réponse arrive sous forme d'arbre, repliée à chaque fois ; je peux ainsi demander des statistiques, valider une collection, changer un paramètre du serveur ou poser un validateur sans ouvrir mongosh.
-
Refus et écritures partielles, avec leur motif
Si le serveur refuse la commande, l'avis porte son code et son nom, et une écriture acceptée à moitié répond ok: 1 avec le document refusé dans writeErrors.
-
L'étiquette d'environnement décide de ce qui écrit
Calíope tient une liste des commandes qui lisent et traite toute autre comme une écriture, même une qu'elle ne connaît pas : sous une étiquette en lecture, elle n'est pas envoyée, et sous une étiquette qui confirme, elle demande avant.
-
Chaque commande va au journal des requêtes
Ce que je tape et exécute ici est inscrit au journal des requêtes sur une ligne, avec la base, la durée et l'erreur s'il y en a eu une.
Profileur MongoDB
9 fonctions
-
Choisir la base dont je vois le profileur
Le menu de base de la barre choisit la base, car le niveau du profileur appartient à chaque base et non au serveur ; tout ce qui est lu et écrit se rapporte à la base choisie, et ce choix est le même que celui des autres outils MongoDB.
-
Voir le niveau, le seuil et l’échantillonnage de la base
Trois fiches montrent le niveau (éteint, opérations lentes ou toutes), le seuil en millisecondes et le taux d’échantillonnage tels que le serveur les publie, avec une note rappelant que le niveau est propre à chaque base et revient à la configuration de démarrage au redémarrage du serveur.
-
Changer le niveau, le seuil et l’échantillonnage
Le sélecteur de niveau, le champ du seuil avec ses boutons −50 et +50 et celui de l’échantillonnage entre 0 et 1 ne changent rien avant « Appliquer » ; Calíope écrit alors les trois ensemble et relit le profileur, car le serveur répond avec les valeurs précédentes.
-
Voir ce que le profileur a enregistré
La liste montre les 200 dernières opérations de system.profile, de la plus récente à la plus ancienne, avec l’heure, l’opération, l’espace de noms et les millisecondes et, quand le serveur les note, le plan, les documents et les clés examinés, les documents renvoyés et le client ; le pied indique quand le lot a atteint son plafond.
-
Relire le profileur automatiquement ou à la demande
L’interrupteur d’actualisation automatique relit l’état et la liste toutes les dix secondes, l’heure de la dernière lecture s’affiche à côté, et « Actualiser » relit tout, y compris la liste des bases.
-
Ouvrir le document enregistré en entier
Un double clic ou Retour sur le Mac, ailleurs un toucher sur la ligne, ou « Voir le document » dans le menu de la ligne, ouvre le document enregistré dans une feuille, sans édition, car les documents de system.profile n’ont pas d’_id.
-
Copier le document enregistré en JSON
« Copier le JSON », dans le menu de la ligne et dans la feuille du document, place le document enregistré en entier dans le presse-papiers en JSON.
-
Copier la commande et ouvrir Requête
« Copier et ouvrir Requête » ne copie que la commande de l’opération enregistrée et ouvre l’outil Requête, pour l’y coller et la relancer.
-
Vider ce que le profileur a enregistré
« Vider le profileur » demande d’abord, en nommant la base et le nombre de lignes concernées, puis supprime system.profile de cette base : Calíope éteint le profileur, supprime la collection et rétablit le niveau précédent, même si la suppression échoue.
Explorateur de clés
20 fonctions
-
Parcourir les clés par lots
Je demande les clés au serveur avec SCAN, par lots et jamais avec KEYS, et le pied indique combien j’en ai parcouru et si le parcours est terminé.
-
Charger plus de clés
Tant qu’il reste des clés à parcourir, Charger plus de clés demande le lot suivant et l’ajoute à la liste sans tout recommencer.
-
Filtrer par motif
Le champ au-dessus de la liste est un motif MATCH, comme app:*, que le serveur applique dès que vous cessez de taper ; ce n’est pas une recherche dans le contenu.
-
Clés groupées par préfixe
Je construis moi-même les groupes en découpant les noms des clés, chaque groupe indique combien de clés en dépendent, et les flèches parcourent la liste tandis que → et ← ouvrent et ferment un groupe.
-
Choisir le séparateur
Le menu Séparateur de la barre choisit le caractère qui découpe les noms en groupes, et je reconstruis l’arbre sans interroger à nouveau le serveur.
-
Type et expiration dans la liste
Chaque clé affiche son type avec un glyphe et un nom, et son expiration, en distinguant Sans expiration de N’existe plus.
-
Parcourir un cluster
Dans un cluster je parcours chaque nœud primaire, le pied indique combien ont répondu, et celui qui ne l’a pas fait est nommé avec sa raison sans arrêter les autres.
-
Actualiser
Actualiser recommence le parcours avec le motif et la base actuels.
-
Détail de la clé
Le panneau de droite affiche la clé choisie avec son type, une expiration qui continue de décompter, sa taille, son encodage interne et sa mémoire.
-
Lire la valeur
J’affiche la valeur selon son type et je lis une grande valeur par morceaux avec un bouton pour le suivant, en indiquant toujours combien sur combien est à l’écran.
-
Un stream et ses groupes de consommateurs
Un stream affiche d’abord ses données, puis ses groupes de consommateurs avec leurs entrées en attente et leur retard, et enfin ses entrées.
-
Copier une ligne de la valeur
Le menu contextuel d’une ligne de la valeur la copie, à côté de la modifier et de la retirer.
-
Définir ou retirer l’expiration
Expiration… ouvre une feuille avec l’expiration actuelle où je définis une nouvelle en secondes ou, si la clé expire, Retirer l’expiration.
-
Renommer une clé
Renommer… prévient si le nouveau nom existe déjà et n’écrase cette autre clé qu’avec Remplacer ; la ligne garde sa place et reste choisie.
-
Supprimer une clé
Supprimer la clé… demande toujours avant, en nommant la clé, son type et sa taille lus à l’instant, et la clé quitte la liste sans la recharger.
-
Modifier un string
Modifier la valeur… change un string et conserve son expiration ; une valeur binaire ou de plus de 64 Kio ne se modifie pas ici, et le panneau dit pourquoi.
-
Ajouter et modifier des éléments
Dans un hash, une liste, un ensemble ou un ensemble trié j’ajoute ou modifie un élément depuis sa ligne ou depuis le bouton d’ajout, et la ligne change sur place sans recharger ce qui était chargé.
-
Retirer un élément
Retirer enlève un champ ou un membre après confirmation, et prévient quand c’est le dernier, car Redis supprime une clé dès qu’elle est vide.
-
Garde de l’étiquette d’environnement
Avec une étiquette en lecture je ne propose ni expiration, ni renommage, ni suppression, ni modification, ni ajout, ni retrait ; avec une étiquette qui confirme les écritures, chaque changement demande d’abord avec l’étiquette sous les yeux.
-
Les changements vont au journal des commandes
Chaque commande envoyée par l’explorateur, en lecture comme en écriture, est inscrite au journal de ce que Calíope a exécuté.
Panneau du serveur
12 fonctions
-
Lire le serveur toutes les deux secondes
Tant que le panneau est à l’écran, je relis INFO toutes les deux secondes ; Actualiser le relit aussitôt, et la barre indique l’heure de la dernière lecture.
-
Mémoire utilisée
J’affiche used_memory avec sa limite maxmemory et le pourcentage, ou l’absence de limite, ainsi que la politique d’éviction et le pic.
-
Fragmentation
J’affiche mem_fragmentation_ratio avec la mémoire que le processus occupe dans le système, et j’explique ce que veut dire une valeur au-dessus ou au-dessous de 1.
-
Taux de succès
J’affiche la part des lectures qui ont trouvé leur clé, comptée depuis le démarrage du serveur et présentée comme telle, avec les succès et les échecs ; sans aucune lecture encore, je le dis au lieu d’afficher 0 %.
-
Clés expirées
J’affiche les clés expirées depuis le démarrage du serveur, avec en dessous les clés évincées faute de mémoire.
-
Clients connectés
J’affiche les clients connectés par rapport à maxclients, quand le serveur me laisse le lire, et les clients bloqués.
-
Opérations par seconde
J’affiche les opérations par seconde telles que le serveur en fait la moyenne (instantaneous_ops_per_sec), jamais comme une différence de mon cru, avec le total des commandes traitées.
-
Proche de la limite
Quand la mémoire ou les clients dépassent 90 % de leur limite, la carte l’indique par un glyphe et un mot, en plus de la couleur.
-
Persistance
J’indique si AOF est activé, quelles sauvegardes RDB sont programmées, quand a eu lieu la dernière avec son fuseau horaire et combien de modifications restent à sauvegarder ; une sauvegarde échouée, un chargement en cours ou un serveur sans aucune persistance passent en premier.
-
Pub/sub
Je prends un instantané des canaux qui ont des abonnés, avec leur nombre, et des abonnements par motif, sans m’abonner à rien ; si le serveur refuse PUBSUB, je le dis.
-
Identité du serveur
Le pied donne la version, le mode, le rôle, le protocole et la durée de fonctionnement, et dans un cluster il nomme le nœud que lit le panneau.
-
Garder la dernière lecture quand une échoue
Si une lecture échoue après une lecture réussie, je continue d’afficher les chiffres précédents sous un bandeau qui donne l’erreur et précise qu’ils ne sont pas actuels ; sans lecture antérieure, j’affiche l’erreur avec un bouton pour réessayer.
Analyseur de mémoire
10 fonctions
-
Analyser la mémoire par préfixe
Analyser parcourt les clés de la base avec SCAN, mesure chacune avec MEMORY USAGE et additionne ce qui a été mesuré par préfixe, en découpant les noms avec le même séparateur que l’explorateur de clés.
-
Plafond de clés
Avant l’analyse, je laisse choisir combien de clés sont mesurées au plus, de 10 000 à 5 000 000, avec 500 000 si on ne le change pas.
-
Arrêter l’analyse
Pendant l’exécution, Analyser devient Arrêter, qui est aussi dans le panneau Activité, et fermer l’onglet ou la session l’arrête de même.
-
Progression de l’analyse
J’affiche les clés mesurées sur le nombre que permettent DBSIZE ou le plafond, avec une barre s’il y a une fraction et le temps écoulé sinon, et jusqu’à la fin l’analyse précédente reste visible.
-
De quoi parle le chiffre
Au-dessus de la grille, je dis combien occupent les clés mesurées, si ce sont toutes celles de la base selon DBSIZE, combien occupe le serveur entier selon used_memory, qu’une collection se mesure par échantillonnage, et combien de clés avaient disparu ou n’ont pas été mesurées par le serveur.
-
Signaler qu’il s’agit d’un échantillon
Si l’analyse s’est arrêtée au plafond, a été arrêtée ou si un nœud du cluster n’a pas répondu, je signale avec un glyphe et le texte qu’il s’agit d’un échantillon et que les pourcentages portent sur ce qui a été mesuré, pas sur la base.
-
La grille par préfixe
Chaque préfixe porte sa mémoire, ses clés et sa part de ce qui a été mesuré, les groupes s’ouvrent avec le chevron ou les touches → et ←, une branche non mesurée n’apparaît pas, et sans clés je dis qu’il n’y a rien à mesurer.
-
Trier par mémoire ou par clés
Le menu de tri de la barre trie par mémoire ou par clés, du plus grand au plus petit, et quand la grille a la place pour ses colonnes l’en-tête de colonne fait de même.
-
Analyser un cluster
Dans un cluster, je parcours chaque primaire avec sa propre connexion et je les additionne, DBSIZE et used_memory compris, et je dis combien de nœuds ont répondu.
-
Quand une analyse échoue
Si une analyse échoue après une analyse réussie, je continue d’afficher le résultat précédent sous un bandeau avec l’erreur, et sans résultat antérieur j’affiche l’erreur avec un bouton pour réessayer.
Commandes lentes
15 fonctions
-
Lire le journal toutes les cinq secondes
Tant que l’onglet est à l’écran, je relis le SLOWLOG du serveur toutes les cinq secondes ; Actualiser le relit aussitôt, et la barre indique l’heure de la dernière lecture.
-
Le seuil et la taille du journal en une phrase
Une carte indique ce que le serveur a maintenant : le seuil en microsecondes, s’il note toutes les commandes ou s’il est désactivé, et combien d’entrées il garde.
-
Quel nœud dans un cluster
Dans un cluster, chaque nœud tient son propre journal ; la carte nomme le nœud que je lis, celui du profil.
-
Modifier le seuil et la taille
Modifier les réglages… ouvre une feuille pour noter les commandes plus lentes qu’un nombre de microsecondes, toutes les noter ou désactiver le journal, et pour fixer combien d’entrées il garde ; j’écris avec CONFIG SET et j’affiche ce que le serveur relit.
-
Les commandes notées
J’affiche ce que le serveur a noté : quand cela a commencé selon l’horloge du serveur, avec son fuseau, combien de temps cela a duré, la commande sur une ligne avec un AUTH masqué, et le client quand le serveur l’envoie.
-
Pourquoi la liste est vide
Un journal vide dit si aucune commande n’a dépassé le seuil ou si le journal est désactivé et que personne ne note rien.
-
Trier par heure ou durée
Sur le Mac, je trie en cliquant sur l’en-tête d’une colonne ; en dehors du Mac, le menu de tri de la barre choisit Plus récentes ou Plus lentes.
-
Filtrer ce qui a été lu
Le champ filtre par commande ou client sur ce qui a déjà été lu, sans retourner au serveur, et le pied indique combien sont affichées sur le total.
-
Quand le serveur garde plus que ce que je lis
Je lis au plus 1 024 entrées ; si le serveur en garde davantage, le pied indique combien j’en ai lu et combien il en garde.
-
Une entrée en entier
En choisissant une entrée, on voit la commande entière, l’heure avec son fuseau, la durée en ms et en µs, l’adresse et le nom du client, le numéro de l’entrée et combien d’arguments le serveur a coupés ; sur le Mac sous la grille, en dehors du Mac dans une feuille.
-
Copier la commande
Copier la commande place la commande dans le presse-papiers, depuis le détail ou le menu contextuel.
-
Porter la commande dans la console
Ouvrir dans la console laisse la commande écrite dans la console Redis, sans l’exécuter ; sur le Mac, un double clic ou Retour font de même.
-
Vider le journal
Vider le journal efface toutes les entrées du serveur avec SLOWLOG RESET ; il demande d’abord en disant combien partent, comptées à ce moment-là, et si une arrive entre-temps, je dis qu’elle est restée.
-
Respecter l’étiquette d’environnement
Avec une étiquette en lecture, je ne propose ni de modifier les réglages ni de vider le journal ; avec une étiquette qui confirme les écritures, les deux demandent d’abord avec l’étiquette sous les yeux.
-
Quand une lecture échoue
Si une lecture échoue après une lecture réussie, je continue d’afficher les entrées précédentes sous un bandeau qui donne l’erreur et précise qu’elles ne sont pas actuelles ; sans lecture antérieure, j’affiche l’erreur avec un bouton pour réessayer.
Clients connectés
12 fonctions
-
Lire la liste des clients toutes les cinq secondes
Tant que l’onglet est à l’écran, je relis CLIENT LIST toutes les cinq secondes ; Actualiser la relit aussitôt, et la barre indique l’heure de la dernière lecture.
-
Filtrer ce qui a été lu
Le champ de filtre restreint la liste par nom, adresse, dernière commande, utilisateur, bibliothèque ou id sans revenir au serveur ; si rien ne correspond, la liste le dit.
-
Chaque connexion avec ses données
Chaque connexion ouverte affiche son nom, son id, son adresse, le temps connecté, le temps inactif, la base, la dernière commande, les drapeaux et la mémoire. Sur le Mac, c’est une grille ; en dehors du Mac, chaque client est une ligne avec ces données étiquetées, empilées aux tailles d’accessibilité.
-
Utilisateur et bibliothèque quand le serveur les envoie
L’utilisateur ACL (Redis 6 et suivants) et la bibliothèque annoncée par le client (Redis 7.2 et suivants) n’apparaissent que si une connexion les fournit ; une colonne que personne ne remplit n’est pas dessinée.
-
Trier la liste
Sur le Mac, la grille se trie en cliquant sur l’en-tête d’une colonne ; en dehors du Mac, un menu de la barre trie par id, plus inactifs, plus récents ou plus de mémoire.
-
Les connexions de Calíope, signalées
Les connexions de cette session portent un glyphe et l’étiquette Cette session, sont reconnues par id et non par nom, et ne peuvent pas être déconnectées d’ici ; le pied de page le dit.
-
Déconnecter un client
Déconnecter… ferme la connexion choisie (CLIENT KILL ID) après une question qui nomme le client, son adresse, son id et sa dernière commande ; ensuite la ligne quitte la liste sur place. Avec une étiquette d’environnement en lecture, ce n’est pas proposé, et une étiquette qui confirme les écritures est nommée dans la question.
-
Un client déjà parti
Si le client est parti entre la lecture et la confirmation, le serveur ferme zéro connexion : ce n’est pas une erreur, je dis qu’il n’était plus connecté et je retire la ligne.
-
Copier l’adresse d’un client
Le menu contextuel d’une ligne copie son adresse, y compris celle des connexions propres.
-
Dans un cluster, les clients d’un nœud
Dans un cluster, la liste est celle du nœud du profil, et un avis le nomme : chaque nœud a ses propres clients.
-
Garder la dernière lecture quand une échoue
Si une relecture échoue après une bonne, la liste précédente reste à l’écran sous un avis qui dit qu’elle n’est pas l’actuelle et pourquoi ; avant la première lecture, l’erreur vient avec réessayer.
Console de commandes
15 fonctions
-
Écrire une commande et l’exécuter
Exécuter —ou Retour— envoie la ligne à Redis par la même session que les autres onglets ; sur le Mac, Option+Retour coupe la ligne sans l’exécuter, et en dehors du Mac la touche Retour exécute toujours.
-
Découper la ligne comme redis-cli
Les arguments sont séparés par des espaces, les guillemets simples ou doubles regroupent ce qui contient des espaces, et entre guillemets doubles \n, \t et \xHH fonctionnent ; un guillemet non fermé n’est pas envoyé, et la sortie dit pourquoi.
-
Historique des commandes
La flèche haut sur la première ligne rappelle la commande précédente et la flèche bas sur la dernière la suivante, comme les deux boutons d’historique ; il garde les 200 dernières lignes, y compris celles non exécutées, sans deux identiques à la suite.
-
Effacer la sortie
Effacer vide la sortie et laisse l’historique tel quel.
-
Tout garder en changeant d’onglet
La sortie, l’historique et ce qui est saisi restent là quand je change d’onglet et reviens ; la sortie garde ses 200 dernières entrées.
-
Chaque type de réponse affiché tel qu’il est
L’entier porte son étiquette, la liste est numérotée, le dictionnaire va par paires, l’ensemble est marqué sans ordre, l’erreur vient avec son glyphe et son préfixe serveur, le binaire en hexadécimal avec sa longueur, et le nul n’est pas la chaîne vide.
-
Couper une réponse très longue
Une réponse de plus de 2000 lignes est coupée, et l’avis renvoie à Clés, qui parcourt les clés par pages.
-
Qui a répondu dans un cluster
Dans un cluster, sous chaque réponse je dis qui a répondu : le primaire du slot de la première clé ou, si la commande n’a pas de clé, le nœud du profil, qui ne compte que ses propres données.
-
Refuser ce qui nuit au serveur ou à la session
KEYS, MONITOR, les abonnements, SHUTDOWN, DEBUG, les changements de protocole, SELECT et les transactions ne sont pas envoyés : la sortie donne le motif de chacun, et dessous Ce qu’il ne faut pas faire ouvre la rubrique du Manuel du DBA.
-
Plafonner l’attente d’une commande bloquante
BLPOP, BRPOP, BLMOVE, XREAD BLOCK, WAIT et les autres commandes bloquantes s’exécutent avec une attente de moins de 10 secondes ; avec 0 ou davantage, elles sont refusées, car elles retiendraient une connexion qu’utilisent tous les outils de la session.
-
Écrire le nom avant d’effacer ou de changer la topologie
FLUSHDB, FLUSHALL, REPLICAOF, SLAVEOF, CLUSTER RESET et CLUSTER FAILOVER affichent une bande qui nomme le serveur et la base, et ne s’exécutent qu’après avoir écrit le nom de la commande ; Annuler la laisse non envoyée, et la sortie le dit.
-
Respecter l’étiquette d’environnement
Si l’étiquette du profil protège la session, je demande au serveur quelles commandes écrivent : en lecture, elles ne sont pas envoyées et la sortie nomme l’étiquette, et en confirmation elles ne s’exécutent qu’après avoir écrit leur nom.
-
Dire quand aucune réponse n’est arrivée
Si la connexion tombe avant la réponse, la ligne reste dans la sortie avec le texte de l’erreur et la coupure arrive aussi au bus d’erreurs ; un -ERR du serveur n’est pas cela, c’est une réponse.
-
Enregistrer ce qui s’exécute
Toute commande qui atteint le serveur reste dans le journal des commandes, avec le mot de passe d’AUTH masqué.
-
Recevoir une commande des Commandes lentes
Ouvrir dans la console des Commandes lentes laisse la commande écrite dans le champ, sans l’exécuter, pour la vérifier avant d’appuyer sur Retour.
Topologie des nœuds
13 fonctions
-
Relire la topologie toutes les cinq secondes
Tant que l’onglet est à l’écran, je relis la topologie toutes les cinq secondes ; Actualiser la relit aussitôt, et la barre indique l’heure de la dernière lecture.
-
Cluster ou nœud autonome, selon la session
Le même écran prend la forme de la session : avec un cluster il montre les fragments et les slots ; avec un nœud autonome, le nœud et ses répliques, sans la colonne des slots ni l’état du cluster.
-
Résumé : qui répond et qui ne répond pas
En haut, combien de nœuds répondent sur combien ont été interrogés ; dans un cluster aussi combien de primaires, avec un nœud autonome combien de répliques. Ceux qui n’ont pas répondu sont nommés par leur adresse, pas juste comptés.
-
État du cluster et slots attribués
Dans un cluster, le résumé indique cluster_state, avec son glyphe, et combien des 16384 slots ont un propriétaire ; un état en échec ou des slots sans propriétaire sont signalés.
-
Diagramme par fragment
Diagramme dessine une boîte par nœud, regroupées par fragment : le primaire en haut avec sa plage de slots, une flèche, et ses répliques en dessous avec leur retard. Un nœud qui ne dépend d’aucun primaire connu est placé à part, sans deviner qui il suit.
-
Tableau des nœuds
Nœuds donne la même chose dans un tableau : nœud, rôle, slots, lien, retard en octets et état avec son motif. Une colonne qui ne s’applique pas n’est pas dessinée : pas de slots hors d’un cluster, ni lien ni retard sans répliques.
-
Retard des répliques en octets
Le retard de chaque réplique est la position du primaire moins la sienne, en octets, pas en secondes. Je lis le primaire deux fois ; en dessous de ce qu’il a avancé entre les deux lectures la réplique est à jour, et elle n’est signalée en retard qu’au-dessus.
-
Réplique sur un autre flux ou avec le lien coupé
Quand un primaire redémarre il commence un nouveau flux de réplication, et sa réplique n’a pas de retard mesurable jusqu’à la resynchronisation : le tableau le dit au lieu d’afficher 0 octet. Une réplique qui a perdu le lien avec son primaire est signalée comme telle.
-
État de chaque nœud, avec glyphe et nom
Chaque boîte et chaque ligne portent leur état avec un glyphe et un mot, car la couleur ne suffit jamais : a répondu, n’a pas répondu (avec l’erreur technique à côté), a refusé, vu par un autre nœud sans être interrogé, sans adresse, ou pas en ligne selon la carte du cluster. D’un nœud qui n’a pas répondu, rien d’autre n’est affirmé.
-
Sentinel n’a pas de topologie ici, et dit pourquoi
Une session ouverte sur Sentinel ne montre pas de topologie : l’onglet explique que Sentinel surveille les primaires et décide du failover mais ne stocke pas de données, et qu’un profil pointant vers le primaire le montre avec ses répliques. Actualiser est désactivé.
-
Le tableau comme alternative au diagramme
Avec VoiceOver, chaque boîte et chaque ligne du tableau sont lues une fois, avec le nom de chaque colonne avant sa valeur, de sorte que le tableau dit tout ce que le diagramme dessine.
-
Garder la dernière lecture quand une lecture échoue
Si une lecture échoue après une bonne, l’onglet continue de montrer la topologie précédente sous un avertissement avec le motif, en disant que ce n’est pas celle d’en ce moment ; sans lecture antérieure, il montre l’erreur avec Réessayer.
-
Carte du cluster de l’ouverture, signalée comme peut-être ancienne
Si aucun nœud ne fournit la carte du cluster, l’onglet dessine celle que la session a lue à l’ouverture et prévient qu’elle n’est peut-être plus à jour.
Connexions et tunnels
32 fonctions
-
Liste des connexions
La barre latérale liste les profils enregistrés par groupe et selon leur fréquence d’usage, avec la pastille de leur étiquette d’environnement, un clic choisit un profil et un double clic connecte.
-
Filtrer les connexions
Un champ au-dessus de la liste garde les connexions dont le nom, l’hôte, la base, l’utilisateur, le produit ou le groupe correspondent à ce que vous tapez, et annonce combien il en reste.
-
Créer un profil de connexion
Le bouton + crée un profil avec nom, famille, produit, hôte, port, utilisateur, mot de passe et base par défaut, et le mot de passe va dans le trousseau.
-
Modifier une connexion
Choisir un profil charge ses données dans le formulaire, et chaque modification s’enregistre aussitôt, sans bouton d’enregistrement.
-
Dupliquer un profil
Dupliquer fait une copie du profil choisi nommée « Copie de … », avec son mot de passe, pour créer un serveur semblable en changeant deux ou trois champs.
-
Supprimer une connexion
Supprimer un profil demande d’abord et nomme ce qui part avec lui, son mot de passe enregistré, son historique de requêtes et son SQL conservé, car c’est irréversible.
-
Famille et produit
Le formulaire demande la famille, le protocole que parle Calíope, et le produit à l’intérieur, et quand le serveur se présente comme un autre produit de la même famille il propose de passer à celui-ci.
-
Hôte alternatif
Quand l’hôte principal ne répond pas, l’adresse alternative est essayée avec le même port et les mêmes identifiants, et la session indique qu’elle est passée par là.
-
Chaîne de connexion MongoDB
Dans un profil MongoDB, une chaîne de connexion facultative, mongodb:// ou mongodb+srv://, couvre les jeux de réplicas, authSource et Atlas et prime sur les champs au-dessus.
-
Charger les données du serveur
Charger les données du serveur lui demande ses bases, jeux de caractères et collations pour les choisir dans une liste, et signale une base par défaut que le serveur n’a pas.
-
SSL/TLS
Le commutateur SSL / TLS chiffre la connexion, vérifie le serveur auprès des autorités du système ou d’un fichier de CA, et accepte un certificat et une clé client facultatifs.
-
Fichiers choisis sur un autre appareil
Certificats et clés privées restent sur l’appareil où ils ont été choisis, donc un profil synchronisé indique lesquels de ses fichiers manquent ici et permet de les choisir à nouveau.
-
Tunnel SSH
Le commutateur Tunnel SSH atteint une base derrière un bastion avec le client SSH propre à Calíope, et l’hôte et le port du profil deviennent la base vue depuis le bastion.
-
Authentification SSH
Le tunnel se connecte au bastion avec un mot de passe ou avec une clé privée ED25519 ou ECDSA au format OpenSSH, avec ou sans phrase de passe.
-
Vérifier la clé du serveur SSH
Avant de faire confiance à un bastion, Calíope affiche son empreinte SHA256, dit si elle est nouvelle ou a changé depuis la dernière fois, et attend que vous l’acceptiez ou la mettiez à jour.
-
Erreurs du tunnel SSH
Chaque façon d’échouer du tunnel, d’un mot de passe refusé à une clé non prise en charge ou un bastion qui coupe avant de montrer sa clé, revient en message propre qui dit quoi vérifier.
-
Notifications du tunnel SSH
Avec le tunnel et la reconnexion automatique actifs, une notification locale dit quand le tunnel est tombé et quand la reconnexion l’a rétabli, au plus une fois par minute et par hôte.
-
Tester la connexion
Tester la connexion ouvre une vraie connexion avec les données du formulaire, tunnel compris, et dit si elle a marché, la version du serveur et quelle adresse a répondu.
-
Se connecter au serveur
Connecter ouvre la session avec le pilote propre au moteur, charge l’arbre du schéma et entre dans l’espace de travail, et un échec ouvre une feuille qui dit ce qui s’est passé.
-
Reconnexion automatique
Avec ce commutateur actif, changer la base active sur une connexion coupée rouvre la session entière, tunnel SSH compris, et refait le changement.
-
Biométrie avant de se connecter
Avec le commutateur des Réglages actif, Connecter demande d’abord Touch ID, Face ID ou Optic ID, et en cas d’échec la connexion ne continue pas.
-
Groupes de connexions
Les profils se rangent dans des groupes nommés que l’on crée, renomme, réordonne et supprime, et un profil change de groupe depuis son menu ou son formulaire.
-
Étiquettes d’environnement
Un catalogue d’étiquettes avec le nom et la couleur de votre choix, à partir de Local, Préproduction ou Production si vous voulez, marque chaque connexion avec son environnement.
-
Bandeau d’environnement
Un bandeau avec le nom et la couleur de l’étiquette surmonte chaque outil d’une session étiquetée, et le menu du serveur le répète en toutes lettres.
-
Niveaux de protection
Chaque étiquette porte une protection, aucune, confirmer ce qui écrit ou lecture, que la garde de la session applique à toute instruction qui écrit, quel que soit l’outil qui l’envoie.
-
Importer des connexions en déposant un fichier
Déposer sur la barre latérale un fichier de connexions exporté de Calíope le vérifie, indique combien de connexions il apporte et les ajoute sans en remplacer aucune.
-
iCloud sur l’écran des connexions
Quand un autre de vos appareils synchronise déjà, la liste propose d’activer la synchronisation ici aussi, et au-dessus indique pendant que les connexions se téléchargent et quand elle est active.
-
Ouvrir hors ligne
Ouvrir hors ligne entre dans l’espace de travail sans serveur, avec l’éditeur SQL et les outils qui travaillent sur des fichiers locaux.
-
Changer la base de données active
Définir comme base de données active dans le panneau du schéma fait passer la session à cette base sans se reconnecter, et le menu du serveur affiche son nom.
-
Plusieurs serveurs à la fois
Chaque connexion est une session à part avec ses onglets, son arbre et son historique, et le menu du serveur en haut de l’espace de travail passe de l’une à l’autre et signale celle qui est occupée.
-
Ajouter un serveur depuis l’espace de travail
Ajouter un serveur dans le menu du serveur ouvre le gestionnaire de connexions, et s’y connecter ajoute une session sans fermer celles déjà ouvertes.
-
Déconnecter un serveur
Se déconnecter ferme le pool de la session active, passe à la dernière session encore ouverte, et revient au gestionnaire de connexions si c’était la dernière.
L’espace de travail
24 fonctions
-
Disposition de l’espace de travail
Une fois connecté, l’espace de travail montre la barre latérale Outils, la barre des onglets ouverts et la barre d’état, et sans rien d’ouvert il indique comment commencer.
-
Replier les groupes d’outils
Toucher l’en-tête d’un groupe le replie et laisse à côté de son nom le nombre d’outils masqués, et Calíope s’en souvient à la fermeture.
-
Filtrer les outils
Le champ en haut de la barre latérale garde les outils dont le nom, le nom du catalogue, le résumé ou le groupe correspondent à ce que je tape, sans tenir compte des accents, et ouvre tout groupe qui correspond.
-
Outils selon la session
La barre latérale propose ce que cette session peut faire et masque le reste, selon la famille de base de données, ce que la connexion sait faire et une étiquette d’environnement en lecture.
-
Catalogue des outils
L’aide contient une grille avec tous les outils de Calíope, leur icône et la phrase qui dit ce qu’ils font.
-
Barre d’outils en bas
Sur un écran étroit, les premiers outils de mon ordre vont dans la barre système en bas, et le reste sous « Plus ».
-
Barres dans des ornements
Sur Apple Vision Pro, le navigateur d’outils, les onglets ouverts et la barre de chaque outil flottent hors de la fenêtre dans leur propre verre, et toute la fenêtre reste au contenu.
-
Onglets
Chaque outil s’ouvre dans son onglet, j’ajoute un onglet d’éditeur SQL avec +, je passe de l’un à l’autre au clavier et j’en ferme un avec sa ×.
-
Centre d’activité
Un panneau montre ce qui tourne dans chaque session, les modes actifs et les dernières opérations terminées, avec Aller à et, quand l’opération le permet, Arrêter.
-
Barre d’état
La barre du bas indique le résultat de la dernière opération, sa progression et le nombre d’onglets, et un double clic ou double toucher copie son message.
-
Rester actif
Le bouton de la tasse garde le Mac éveillé jusqu’à ce que je l’éteigne ou ferme Calíope, si je veux avec l’écran allumé, et ne se rallume jamais au lancement suivant.
-
Rouvrir les onglets à la reconnexion
À la fermeture, Calíope enregistre les onglets ouverts de chaque serveur, et ils reviennent quand je me reconnecte à ce profil, elle ne se reconnecte jamais d’elle-même.
-
Sessions indépendantes
Chaque serveur auquel je me connecte garde ses onglets, sa base active et son historique de requêtes, et changer de session ne reconnecte pas et ne rouvre pas son tunnel SSH.
-
Une fenêtre par session
Chaque fenêtre regarde sa propre session et son propre onglet actif, si bien que deux fenêtres peuvent montrer deux serveurs côte à côte.
-
Se connecter depuis un espace de travail vide
Sans serveur, l’espace de travail propose Se connecter, qui ouvre le gestionnaire de connexions pour choisir ou créer un profil.
-
Avis de connexion perdue
Si la connexion de la session tombe, un avis le signale et propose de revenir au début ou de rester où je suis.
-
Bande d’outils hors connexion
L’espace de travail sans serveur montre un bandeau et une bande avec ce qui marche sans connexion, et le dit quand un outil en a besoin.
-
Panneaux latéraux
Le panneau latéral d’un outil s’affiche, se masque et se redimensionne en faisant glisser son séparateur, et garde la proportion que je lui ai donnée.
-
Zoom du canevas
Un canevas zoome, dézoome et s’ajuste à la fenêtre avec ses boutons comme avec le pincement, et annonce son niveau à VoiceOver.
-
Aide contextuelle
Le bouton d’aide de l’en-tête de chaque outil ouvre l’aide directement sur la rubrique de cet outil.
-
Capture d’écran
Je capture la fenêtre de Calíope à une taille prédéfinie ou personnalisée, en ajustant ou remplissant un autre rapport, avec minuteur, et je l’enregistre ou la copie.
Préférences et confidentialité
21 fonctions
-
Fenêtre Réglages
Réglages rassemble en onglets tout ce que Calíope permet de régler —Général, Éditeur de texte, Connexions, Assistant IA, Widget et, hors du Mac, À propos— et je l’ouvre depuis le gestionnaire de connexions ou depuis l’espace de travail.
-
Langue de l’interface
Général indique dans laquelle des cinq langues est Calíope et m’emmène au réglage du système où je la choisis par application, car il n’y a pas de sélecteur dans l’app.
-
Réglages du journal des requêtes
J’active ou je désactive le journal des instructions réussies et celui des erreurs d’instruction, je choisis combien de jours ils sont gardés (30, 90, 180, 365 ou sans limite) et j’ouvre d’ici le Journal SQL quand il est accessible.
-
Réglages du journal des erreurs de l’app
Je décide si Calíope note ses propres pannes, pendant combien de jours, et si ce journal monte dans mon iCloud, ce qui commence désactivé et se demande à part.
-
Désactiver un canal iCloud
Quand je désactive ce qu’un journal envoie dans iCloud, Calíope demande si je garde ou supprime la copie déjà en ligne, et la garder est ce qu’elle propose car supprimer est la chose qu’on ne peut pas annuler.
-
Conseils d’utilisation
J’active ou je désactive les bulles d’aide —au plus une chaque fois que j’entre dans un outil— et avec « Afficher à nouveau les conseils » elles sont redistribuées depuis le début sur-le-champ.
-
Maintenir en arrière-plan
Sur le Mac, fermer la dernière fenêtre peut laisser Calíope tourner dans la barre des menus sans icône dans le Dock, pour que les sauvegardes programmées et la surveillance continuent.
-
Ouvrir à la connexion
Sur le Mac, Calíope s’inscrit comme élément d’ouverture pour démarrer quand j’ouvre ma session, et si le système refuse elle dit pourquoi à côté du commutateur.
-
Rapport d’utilisation local
Calíope ne note rien tant que je n’active pas « Conserver un rapport d'utilisation sur cet appareil », puis compte événements, erreurs et ouvertures d’outils dans un fichier qui reste ici et que je peux vider.
-
Exporter la configuration
« Exporter… » écrit un fichier JSON avec ce que je choisis —connexions, état de l’éditeur, préférences, historique— et n’y met les mots de passe que si je les coche, chiffrés avec une clé que je tape.
-
Importer la configuration
« Importer… » montre d’abord ce que le fichier apporte et ce qu’il changerait, et je le restaure en le fusionnant avec l’existant ou en le remplaçant, avec un point de restauration juste avant.
-
Sauvegardes automatiques de la configuration
Calíope copie ma configuration chaque jour ou chaque semaine dans iCloud —ou en local sans lui—, garde entre 3 et 50 copies en n’élaguant que celles de cet appareil, et « Sauvegarder maintenant » en fait une sur-le-champ.
-
Points de restauration
Avant d’activer ou de désactiver iCloud, d’effacer mes données, de restaurer une sauvegarde ou la première modification de chaque session, Calíope garde une copie locale que je peux restaurer ou supprimer depuis sa ligne.
-
Occupation des préférences synchronisées
Je vois combien de l’espace des préférences iCloud Calíope occupe, avec un avertissement quand elle approche de la limite et la valeur qui ne tient pas.
-
Supprimer toutes mes données
« Supprimer toutes mes données » demande d’abord, efface ce que Calíope garde sur cet appareil, dans le trousseau et dans iCloud, puis montre lieu par lieu ce qui a été supprimé et ce qui a échoué.
-
Synchroniser avec iCloud
« Synchroniser Calíope avec iCloud » envoie dans iCloud mes connexions, les onglets de l’éditeur, la surveillance, les rapports, les fragments et les préférences après avoir demandé, et la désactiver demande aussi.
-
Mots de passe dans le trousseau
Les mots de passe, les phrases secrètes SSH et les clés d’API vivent dans le trousseau, jamais dans un fichier, et ne vont au trousseau iCloud que si j’active ce commutateur à part.
-
Notifications
Je choisis quelles notifications locales Calíope m’envoie —une requête longue, le tunnel SSH, une sauvegarde manuelle, une panne iCloud, un résultat inhabituel, la fin de l’essai— avec leurs seuils, et « Envoyer un test » montre comment le système les affiche.
-
Réglages de l’éditeur de texte
Dans Éditeur de texte je règle la taille de police et de tabulation, le plafond de lignes et les lignes par page des résultats, et j’active ou je désactive l’indentation automatique, la saisie semi-automatique, les mots-clés en majuscules, les numéros de ligne, le retour à la ligne, la minimap et la suppression des espaces finaux.
-
Connexions enregistrées
L’onglet Connexions liste tous les profils enregistrés, groupés et triés, et depuis une ligne je le teste, je le déplace vers un autre groupe ou je le supprime après confirmation, et depuis le pied je les exporte ou les importe en JSON.
Menus, clavier et gestes
23 fonctions
-
Ouvrir un fichier SQL
Charge un fichier .sql dans l’éditeur SQL, depuis le menu Fichier avec ⌘O ou en ouvrant le fichier depuis le Finder ou Fichiers.
-
Fichiers récents
Liste les fichiers SQL ouverts auparavant, en rouvre un dans l’éditeur et vide la liste avec Effacer l'historique.
-
Commandes d’onglets
Ouvre, ferme et rouvre des onglets, passe au suivant ou au précédent et saute aux onglets 1 à 9 depuis la barre des menus et le clavier.
-
Se déconnecter depuis le menu
Ferme la session au premier plan depuis le menu Fichier avec ⇧⌘D, comme le bouton de la barre de la fenêtre.
-
Imprimer…
Imprime avec ⌘P ce que l’outil au premier plan propose comme document, et l’élément s’estompe quand aucun ne le permet.
-
Capturer l'écran…
Ouvre la feuille de capture depuis la barre des menus avec ⌥⌘P.
-
Rechercher, suivant et précédent
Déclare ⌘F, ⌘G et ⇧⌘G une fois dans le menu Édition, et la vue au premier plan qui sait chercher y répond : l’éditeur SQL, l’aperçu de fichiers ou l’aide.
-
Filtrer les outils
Place le curseur dans le filtre de la barre latérale des outils avec ⌥⌘F, le chemin jusqu’à lui sans pointeur.
-
Afficher ou masquer la barre latérale
Affiche ou masque la barre latérale des outils depuis le menu Présentation avec ⌃⌘S, et l’élément dit lequel des deux il fera.
-
Raccourcis clavier dans l’éditeur SQL
Répond aux touches tapées dans le texte de l’éditeur : complétion, commentaire, repli, guillemets d’identifiant, aller à la définition, curseurs supplémentaires et historique des requêtes.
-
Pincer pour zoomer
Modifie d’un pincement à deux doigts le texte de l’éditeur, la police de la grille de résultats et l’image d’une cellule, chacun avec ses limites et sa préférence enregistrée.
-
Déplacer et zoomer les canevas
Déplace les canevas du diagramme ER et de Visual EXPLAIN en faisant glisser le fond et les agrandit par pincement ou, sur le Mac, avec la molette.
-
Faire glisser un séparateur de panneaux
Modifie le partage entre deux panneaux en faisant glisser le séparateur, et le double clic ou le double toucher rétablit le partage par défaut de l’outil.
-
Gestes sur la grille de résultats
Répond au clic, au double clic, à l’appui long ou au clic droit sur une cellule ou un en-tête de colonne par sa propre action : voir la valeur, générer l’UPDATE, le menu de la cellule, trier ou redimensionner.
-
Balayer dans les listes
Révèle Supprimer, Déplacer vers un groupe ou Déconnecter en balayant une ligne dans les listes qui le proposent, et demande avant d’agir.
-
Regarder et pincer
Met en évidence la commande regardée et l’active d’un pincement sur Apple Vision Pro, avec pincer et maintenir pour le menu contextuel et pincer et déplacer pour faire glisser.
Siri et Raccourcis
7 fonctions
-
Se connecter au serveur
Ouvre Calíope et se connecte au profil de connexion enregistré que tu nommes à Siri ou que tu choisis dans Raccourcis, avec le mot de passe lu dans le trousseau.
-
Exécuter une requête SQL
Exécute une instruction SQL sur la session relationnelle active et renvoie le résultat en texte séparé par des tabulations, ou les lignes affectées déclarées par le serveur.
-
Lister les bases de données
Renvoie les noms des bases de données de la session relationnelle active, un par ligne, prêts pour une étape suivante du raccourci.
-
Ouvrir un panneau dans Calíope
Met Calíope au premier plan et ouvre l’un des neuf outils de l’espace de travail dans la session relationnelle active.
-
Raccourcis Calíope intégrés dans Spotlight et Raccourcis
Les quatre actions sont prêtes à l’emploi, sans construire de raccourci : Siri reconnaît leurs phrases dans chaque langue, et Spotlight et l’app Raccourcis les suggèrent.
-
Créer un raccourci enchaîné
Les actions renvoient leur résultat comme une valeur, si bien qu’un raccourci peut les enchaîner entre elles et avec des actions du système, comme se connecter puis ouvrir le tableau de bord.
-
Trouver une connexion dans Spotlight
Calíope publie chaque connexion enregistrée dans Spotlight par son alias et son hôte, et ouvrir le résultat s’y connecte.
Serveur MCP
14 fonctions
-
Autoriser un client IA de ce Mac à interroger Calíope
Un interrupteur des Réglages démarre ou arrête le serveur MCP sur-le-champ ; il est éteint au départ et, tant qu’il reste allumé, redémarre avec Calíope.
-
Serveur local sur 127.0.0.1
Le serveur répond en MCP sur HTTP à 127.0.0.1, l’adresse de ce Mac lui-même : rien n’est exposé à ton réseau ni à internet.
-
Port
Le serveur écoute sur le port 41500 sauf si tu en choisis un autre ; le changer redémarre le serveur, et un port déjà pris est signalé au lieu de démarrer.
-
Clé d’accès
Le serveur ne répond pas sans sa clé d’accès, que Calíope crée d’elle-même, garde dans le trousseau de ce Mac et affiche tronquée dans les Réglages.
-
Générer une nouvelle clé
Remplace la clé d’accès sur-le-champ, si bien que l’ancienne ne sert plus même si quelqu’un l’avait, et rappelle qu’il faut recopier la configuration.
-
Copier la configuration
Copie dans le presse-papiers deux blocs prêts, un pour Cursor et un pour Claude Desktop via mcp-remote, avec ton port et ta clé déjà dedans.
-
Connexions que le client peut voir
Tu coches les connexions enregistrées que le client peut voir ; ce que tu ne coches pas n’existe pas pour lui, et les connexions MongoDB et Redis ne sont pas proposées.
-
list_connections
Donne au client l’id, le nom, le moteur et l’hôte de chaque connexion que tu as exposée.
-
list_databases
Donne au client les noms des bases d’une connexion exposée, en ouvrant la session si elle ne l’était pas.
-
list_tables
Donne au client les tables et les vues d’une base d’une connexion exposée.
-
describe_table
Donne au client les colonnes, les clés étrangères et les index d’une table, avec pour chaque colonne le type, l’acceptation des nuls et la clé primaire.
-
run_query
Exécute une instruction de lecture sur une connexion exposée et donne au client les colonnes et jusqu’à 200 lignes, en indiquant quand le résultat a été coupé.
-
Barrière de lecture
Avant de toucher le serveur, run_query refuse tout ce qui n’est pas une instruction de lecture, ainsi que SELECT … FOR UPDATE et LOCK IN SHARE MODE.
-
Ce que reçoit le client
Les lignes d’une requête vont au client sur ce même Mac, Calíope ne les envoie pas sur internet, et tout ce qui s’exécute par MCP reste dans le Journal des requêtes comme client MCP.
Apple Watch, Apple TV et widgets
24 fonctions
-
Widget des métriques d’un serveur
Affiche les connexions, le débit, la durée de fonctionnement, les threads, les requêtes lentes et le taux de cache d’un serveur sur le bureau, l’écran d’accueil ou un mur, en quatre tailles et trois pour l’écran verrouillé.
-
Choisir le serveur de chaque widget
Chaque widget placé a son paramètre Serveur, rempli par un catalogue minimal de profils que Calíope écrit dans le conteneur partagé, si bien que plusieurs widgets peuvent suivre des serveurs différents.
-
Toucher le widget ouvre son serveur
Toucher ou cliquer sur le widget des métriques ouvre Calíope sur le tableau de bord du serveur choisi par ce widget, en se connectant d’abord s’il n’y avait pas de session.
-
Le widget dit quand ses données sont anciennes
Un badge vert, rouge ou ambre, chacun avec son symbole, dit si la donnée est actuelle, si le serveur a cessé de répondre ou si plus de trois fois la cadence d’écriture s’est écoulée, avec un plancher de 90 secondes.
-
Le tableau de bord alimente le widget
Tant que le tableau de bord échantillonne un serveur, chaque lecture écrit ses métriques et sa cadence dans le conteneur partagé, et le fermer laisse la dernière lecture en place.
-
Actualiser le widget en arrière-plan
Réglages › Widget garde à jour un profil épinglé sans le tableau de bord ouvert, toutes les 30 secondes ou toutes les 1, 5 ou 15 minutes, en ouvrant une brève connexion à chaque tour.
-
Ce que partagent les widgets, et ce qu’ils ne partagent pas
L’app et l’extension du widget partagent un conteneur du système, jamais synchronisé avec iCloud, avec les métriques, les horodatages, le catalogue de profils et l’état de la ferme, sans mot de passe, clé ni résultat de requête.
-
Widget de santé de la ferme
Affiche le pire état des serveurs que surveille le moniteur de santé et combien demandent de l’attention, en trois tailles, et ouvre le moniteur de santé quand on le touche.
-
Le moniteur de santé publie la ferme
Chaque échantillon du moniteur de santé, ou chaque serveur qui ne répond pas, est écrit dans le widget de la ferme de cet appareil et, si son interrupteur est activé, dans iCloud pour l’Apple TV.
-
Publier dans iCloud l’état des serveurs pour l’Apple TV
Un interrupteur propre dans Réglages › Général › Apple TV, éteint au départ, publie l’alias, l’hôte, le port, le moteur, la version et les métriques de chaque serveur surveillé, et l’éteindre retire ce qui était publié.
-
Enregistrer les messages du système
Garde sur cet appareil la trace de ce qui arrive sans personne devant, dix-sept sortes d’avis en sept groupes avec leur gravité et leur chiffre, pendant 30, 90, 180 ou 365 jours ou sans limite.
-
Synchroniser les messages du système avec iCloud
Un second interrupteur, éteint au départ et disponible avec l’enregistrement activé, envoie les messages pour Calíope sur la montre, affiche la file en attente et le dernier échec, et élague iCloud avec la même rétention.
-
Lire les messages du système sur l’Apple Watch
Calíope sur la montre lit dans iCloud les messages que publient vos appareils, avec une liste et un détail, fonctionne sans iPhone à proximité et n’écrit rien nulle part.
-
Autoriser la montre à lire iCloud
La montre a sa propre autorisation de lecture iCloud, éteinte au départ et rédigée comme une déclaration de confidentialité, et sans elle l’app n’a rien à montrer.
-
Notifications sur la montre
Une autorisation distincte de la lecture laisse la montre sonner, à partir de la gravité choisie et au plus tôt toutes les 1, 5, 15, 30 ou 60 minutes, en livrant tout ce qui dépasse le dernier message déjà notifié.
-
Filtrer la montre par groupe
Sept interrupteurs, un par groupe d’avis au lieu d’un par sorte, décident de ce que la montre affiche et notifie, et une sorte nouvelle tombe dans un groupe déjà décidé.
-
La montre dit pourquoi elle est vide
Chaque écran vide de la montre nomme sa cause et l’appareil où elle se corrige, et distingue une boîte vide d’un canal qui n’a jamais publié.
-
Mode démonstration de la montre
Un interrupteur des réglages de la montre remplit la liste de messages d’exemple, et ajoute une galerie des écrans vides et une notification de test.
-
Panneau de la ferme sur l’Apple TV
Calíope sur l’Apple TV affiche en tuiles les serveurs que publient vos appareils, avec un résumé par gravité et chaque état avec sa forme, et n’ouvre aucune connexion ni n’exécute aucune requête.
-
Détail d’un serveur sur l’Apple TV
Choisir une tuile ouvre les métriques de ce serveur, ses motifs et la provenance de la donnée, quand elle a été recueillie, publiée et à quelle cadence.
-
L’Apple TV signale la donnée ancienne
Le téléviseur calcule lui-même la fraîcheur, et un serveur non renouvelé depuis plus de trois fois sa cadence, au moins 90 secondes, cesse de s’afficher comme actuel sur sa tuile et dans son détail.
-
L’Apple TV dit pourquoi il est vide
Un panneau vide nomme l’une de six causes et l’appareil où elle se corrige, et propose toujours une démonstration.
-
Réglages de l’Apple TV
Trois réglages appartiennent à ce téléviseur et n’en sortent pas, la démonstration, garder l’écran éveillé et la langue.
-
Calíope dans la rangée du haut de l’Apple TV
Avec Calíope dans la rangée du haut, son icône affiche jusqu’à 12 serveurs publiés, les plus urgents d’abord, et les vidéos de démonstration de caliope.org, et choisir une carte ouvre ce serveur.
L’achat
11 fonctions
-
Vérification de l’achat
Au démarrage et chaque fois que l’app revient au premier plan, Calíope lit sur l’appareil l’achat et l’essai liés à l’identifiant Apple et ouvre l’espace de travail ou l’écran d’achat.
-
Ce que comprend l’achat
L’écran d’achat énumère ce que l’achat débloque —les moteurs, les connexions illimitées, SSH et TLS, l’éditeur, l’assistant, les sauvegardes, la supervision et les diagrammes— avec le « ? » qui ouvre son sujet d’aide.
-
Acheter Calíope
Un achat ponctuel sur l’App Store, avec le montant que donne la boutique dans ma devise, confirmé dans la feuille d’Apple' ; il débloque Calíope sur tous les appareils du même identifiant Apple, sans renouvellement.
-
Acheter depuis la fiche de l’App Store
Toucher la carte d’achat intégré sous les captures de la fiche de l’App Store ouvre Calíope —en la téléchargeant d’abord si besoin— et affiche la feuille de confirmation d’Apple pour cet achat.
-
Commencer l’essai
Commence l’essai avec tout débloqué sur tous les appareils du même identifiant Apple' ; il ne demande pas de carte, ne devient jamais un prélèvement et ne peut commencer qu’une fois par identifiant Apple.
-
Quand l’essai se termine
À la fin de l’essai, Calíope revient à l’écran d’achat, désormais sans le bouton d’essai et avec l’achat comme chemin, et les connexions et réglages restent sur l’appareil.
-
Rappels avant la fin de l’essai
Quinze et cinq jours avant la fin de l’essai, Calíope programme une notification système qui arrive même app fermée' ; elle se désactive dans les Réglages.
-
Écran d’achat depuis le rappel
Toucher le rappel de l’essai ouvre l’écran d’achat dans une feuille au-dessus de l’espace de travail, avec « Pas maintenant » pour revenir où j’étais.
-
Restaurer l'achat
Demande à l’App Store les achats de l’identifiant Apple connecté sur l’appareil et débloque Calíope s’il trouve l’achat fait sur un autre appareil ou avant la réinstallation.
-
Quand la boutique ne répond pas
Sans connexion à l’App Store, l’écran d’achat indique qu’il n’a pas pu vérifier l’achat et propose « Réessayer », et la restauration reste disponible.
-
Achat en attente ou Demander l’autorisation
Quand un achat attend l’approbation de l’organisateur du partage familial ou un problème de paiement, Calíope le signale et se débloque d’elle-même dès qu’Apple l’approuve, sans relancer.
Aide, nouveautés et À propos
15 fonctions
-
Aide de Calíope
L’aide s’ouvre avec son index par section, une page d’accueil avec des cartes d’accès rapide et toutes les rubriques dans les cinq langues : dans sa propre fenêtre sur le Mac, et en feuille ailleurs.
-
Rechercher dans l’aide
Dès la deuxième lettre, le champ de recherche liste les rubriques dont le titre, le résumé, le corps ou les mots-clés correspondent, les plus pertinentes d’abord.
-
Filtrer l’aide par moteur
Le menu « Tous les moteurs » en haut de l’index ne garde que les rubriques d’un moteur et celles qui valent pour tous, et retient le choix.
-
Aller à l’endroit décrit par une rubrique
Une rubrique qui indique où se trouve sa fonction affiche ce chemin avec un bouton « Aller » qui ferme l’aide et ouvre cet outil ou les réglages.
-
Envoyer un exemple SQL à l’éditeur
Chaque bloc SQL du Manuel du DBA a un bouton « Ouvrir dans l’éditeur » qui charge l’exemple dans l’éditeur SQL de la session ouverte ; hors du Mac, il ferme aussi l’aide.
-
Ouvrir une rubrique depuis l’extérieur de l’aide
Un bouton d’aide, le « Voir la solution » d’une erreur et les liens « Ouvrir dans Calíope » de l’aide publiée sur caliope.org (caliope://help/…) ouvrent l’aide directement sur leur rubrique.
-
Me dire ce qui manque à l’aide
En bas de la page d’accueil de l’aide, un bouton ouvre un e-mail déjà rédigé à support@caliope.org avec la version, la plateforme et la langue en pied, et l’adresse est toujours affichée et peut être copiée.
-
Nouveautés
La première fois qu’une nouvelle version s’ouvre, la fenêtre des nouveautés liste ce qu’elle apporte et les versions précédentes ; sur le Mac elle se rouvre depuis le menu Aide, et partout depuis sa rubrique d’aide.
-
À propos de Calíope
Affiche la version, le build, le système minimal et les liens vers la politique de confidentialité et l’assistance : dans sa propre fenêtre depuis le menu Calíope sur le Mac, et dans le dernier onglet des réglages ailleurs.
-
Remerciements
Dans À propos, la liste de chaque composant tiers avec sa version, sa licence et le titulaire du copyright, générée à partir des dépendances de la build, et un bouton ouvre le texte juridique fourni dans l’application.
-
Évaluer Calíope
Un lien ouvre la fiche de l’App Store avec le formulaire prêt, depuis le menu Aide sur le Mac ou depuis À propos ; et la fenêtre d’évaluation du système apparaît au plus une fois par an, après une sauvegarde réussie, une fois l’application achetée.
-
Conseils d’utilisation
Chaque fois que j’ouvre un outil, au plus une bulle d’aide apparaît à côté de la commande qu’elle explique, dans un ordre qui met d’abord celles qui évitent une erreur ; une fois affichée, elle est consommée.
-
VoiceOver et Contrôle vocal
Chaque commande actionnable a un nom prononçable, chaque cellule de résultat annonce sa colonne et sa valeur et propose ses actions dans le rotor, et la connexion, le résultat d’un lot et une sauvegarde terminée sont annoncés d’eux-mêmes.
-
Texte plus grand
L’application suit la taille du texte du système jusqu’aux tailles d’accessibilité, grille de résultats comprise, et les formulaires empilent libellé et champ quand ils ne tiennent plus côte à côte.
-
Réduire les animations et la transparence
Avec « Réduire les animations », aucune animation de l’application ne bouge et les bandeaux apparaissent sans glisser ; avec « Réduire la transparence », les fonds translucides deviennent opaques ; et aucun état ne se distingue par la couleur sans autre repère.