Questa pagina descrive Calíope 1.7, la versione che sto costruendo adesso. La 1.6 è sull'App Store per Mac, iPad, iPhone, Apple Watch, Apple TV e Apple Vision Pro. Il changelog dice in quale versione è arrivata ogni funzione.
Aggiunge a ogni argomento un pulsante «Apri in Calíope». Funziona solo con l'app installata.
Salva i dati di un server per connetterti rapidamente.
Dove si trova: Pannello laterale › Pulsante + (nuova connessione)
Nel Gestore connessioni, premi + nella barra laterale sinistra. Inserisci un nome descrittivo, la famiglia del server (il protocollo che parla) e il prodotto al suo interno, poi host, porta, utente e password. Il campo "Database predefinito" è opzionale.
La riga Ambiente assegna al profilo una delle tue etichette di ambiente —Nessuna per impostazione predefinita—, e Etichette di ambiente… apre il catalogo in cui crearle.
Nella sezione Opzioni del server puoi configurare il charset, la collation e attivare SSL/TLS. Se SSL è attivo appariranno campi per selezionare il certificato e la chiave del client.
ClickHouse
Con ClickHouse la sezione non ha né set di caratteri né collation, né certificato né chiave client, e spuntare SSL/TLS porta la porta da 8123 a 8443 se era quella predefinita, e viceversa togliendo la spunta.
Oracle
Con Oracle Database il campo del database si chiama Servizio e chiede il nome del servizio (SERVICE_NAME, FREEPDB1 in un’installazione Free), non un SID. La sezione non ha né set di caratteri né collation, né certificato né chiave client, e spuntare SSL/TLS porta la porta da 1521 a 2484 se era quella predefinita, e viceversa togliendo la spunta.
MySQLMariaDBAurora
Come si autentica. Calíope supporta i cinque metodi di MySQL e MariaDB: caching_sha2_password (quello predefinito da MySQL 8), mysql_native_password, client_ed25519 e parsec di MariaDB, e mysql_clear_password, che invia la password in chiaro e per questo si usa solo con SSL/TLS attivo: senza, Calíope non la invia e lo dice. È quello che chiedono PAM, LDAP e l'autenticazione IAM di Aurora. Il metodo lo decide l'account sul server, non il profilo.
PostgreSQL
Come si autentica. Calíope supporta i tre metodi di PostgreSQL che usano una password: SCRAM-SHA-256 (quello predefinito da PostgreSQL 14), md5, e la password in chiaro (password in pg_hba.conf), che viene inviata solo con SSL/TLS attivo: senza, Calíope non la invia e lo dice. È quella che chiedono LDAP, PAM, RADIUS e l'autenticazione IAM di RDS e Aurora. Kerberos (GSSAPI) e SSPI non ci sono: con un server che ammette solo quelli, la connessione non riesce e dice che Calíope non sa usare quel metodo.
Parole chiave: profilo, nuova connessione, salva server, host, configurare, autenticazione, caching_sha2_password, mysql_native_password, ed25519, parsec, mysql_clear_password, SCRAM-SHA-256, md5, PAM, LDAP, IAM
Dove si trova: Pannello laterale › Elenco dei profili
Seleziona il profilo nell'elenco della barra laterale. Il modulo a destra si carica con i suoi dati attuali e puoi modificare qualsiasi campo direttamente. Non c'è un pulsante Salva: ogni modifica si salva appena la fai.
Eliminare un profilo ha un tema tutto suo, perché non è reversibile e si porta via più di quanto sembri: vedi Eliminare una connessione.
Parole chiave: modifica profilo, modificare connessione, eliminare profilo
I tre punti da cui si elimina un profilo, che cosa se ne va con lui e perché non è reversibile.
Dove si trova: Pannello laterale › Pulsante − (elimina connessione)
Eliminare una connessione non cancella solo il suo indirizzo e il suo utente: si porta via tutto quello che Calíope aveva salvato di quel server. Per questo chiede prima, e per questo la domanda dice il nome della connessione — se non è quella che credevi, è il momento di accorgertene.
Da dove
- macOS: seleziona il profilo e premi − nella barra sotto l'elenco, accanto al +. Oppure fai clic destro sulla riga e scegli Elimina.
- iPad: seleziona il profilo e tocca − nella barra inferiore; oppure tieni premuta la riga e scegli Elimina; oppure scorri la riga da destra a sinistra. Lo scorrimento non elimina quando lasci: rivela il pulsante, e la domanda arriva lo stesso. Scorrere nell'altro senso — da sinistra a destra — è Sposta nel gruppo.
Che cosa se ne va con lei
- Il profilo, con tutti i suoi dati.
- La sua password nel portachiavi, e anche quella di SSH e la passphrase della sua chiave privata.
- La sua cronologia delle query, e le sue righe nel registro degli errori e in quello dei messaggi del server.
- L'SQL che aveva salvato nell'editor di quella connessione, e la sua cache dello schema.
Non è reversibile. Non c'è cestino né annulla: la conferma è l'unica occasione per tornare indietro.
Sugli altri dispositivi. Con la sincronizzazione iCloud attiva la cancellazione viaggia, e la connessione sparisce anche lì. Al contrario non succede nulla di strano: un profilo creato sull'altra macchina e che questa non ha ancora visto non viene letto come una cancellazione, quindi non sparisce da solo.
Un gruppo intero. Eliminare un gruppo elimina anche le connessioni che contiene, con la stessa domanda e la stessa portata; è spiegato in Organizzare i profili in gruppi.
Come usare l’host alternativo quando l’indirizzo del server dipende dal dispositivo da cui ti colleghi.
Dove si trova: Pannello laterale › Connessioni › Host alternativo
Il campo «Host alternativo» del profilo serve per un server raggiungibile a due indirizzi diversi. Il caso tipico è una macchina di sviluppo: dal computer stesso risponde su 127.0.0.1, mentre dall’iPad occorre usare il suo indirizzo nella rete locale. Poiché i profili si sincronizzano tra i tuoi dispositivi, un solo campo host non può essere corretto in entrambi i posti.
Alla connessione si prova prima l’host principale. Se non risponde, si prova quello alternativo con la stessa porta, lo stesso utente, la stessa password e le stesse opzioni: cambia solo l’indirizzo. Se ti serve anche un’altra porta, scrivi «indirizzo:porta» (per esempio, 10.0.0.20:3307).
Quando la sessione entra dall’indirizzo alternativo, compare un contrassegno accanto al nome del server e «Prova connessione» indica quale indirizzo ha risposto, così sai sempre su quale macchina stai lavorando.
Con un tunnel SSH il campo viene ignorato, ed è voluto: lì l’indirizzo del server lo risolve la macchina del tunnel, non il tuo dispositivo, quindi non cambia a seconda di dove ti colleghi.
Parole chiave: host alternativo, secondo indirizzo, ip locale, rete locale, failover, 127.0.0.1, ipad, due indirizzi
Quando serve scriverla, quali campi Calíope smette di usare in quel caso e dove finisce la password.
Dove si trova: Pannello laterale › Connessioni › Stringa di connessione
Il campo «Stringa di connessione» compare solo quando il motore del profilo è MongoDB, ed è facoltativo. Se lo lasci vuoto, Calíope costruisce la connessione con i campi qui sopra: indirizzo, porta, utente, password, TLS e database. Per un server normale è sufficiente.
Scrivila quando la connessione non si può descrivere con quei campi. I casi sono tre: un replica set, che richiede più indirizzi e il nome dell'insieme; un database di autenticazione diverso da quello abituale, che si indica con authSource; e un cluster Atlas, il cui indirizzo inizia con mongodb+srv:// e non ha una porta da digitare. Con mongodb+srv://, Calíope chiede i server del cluster al DNS del tuo sistema, lo stesso che usa il resto del dispositivo, VPN compresa.
Quando la scrivi, ciò che dice la stringa ha la precedenza sui campi qui sopra: gli indirizzi, l'utente, la password, l'uso di TLS e le opzioni. Ciò che non dice lo mette il profilo: se non contiene utente né password si usano quelli dei campi, e se non nomina alcun database si usa quello del profilo, o admin se non c'è nemmeno quello. Con più indirizzi e replicaSet, Calíope cerca il membro primario e lavora con lui. Due cose la stringa non le decide mai. Se il profilo usa un tunnel SSH, l'indirizzo lo mette il tunnel e non la stringa, perché il server che la stringa nomina è quello che vede la macchina del tunnel, non il tuo dispositivo. E i certificati vengono sempre dal profilo: la stringa può attivare o disattivare TLS e chiedere di non verificare il certificato, ma il Certificato CA (.pem) e il Certificato client (.pem) si scelgono in Certificati SSL.
Se la stringa non indica authSource, l'autenticazione avviene contro admin. È lì che vivono gli account amministrativi ed è ciò che presumono mongosh e Compass quando qualcuno digita soltanto utente e password; se le tue credenziali sono in un altro database, indicalo con authSource.
Alcune opzioni la stringa le accetta senza usarle. tlsCAFile e tlsCertificateKeyFile vengono ignorate: sono percorsi a un file, e Calíope apre solo i file che scegli tu, quindi il certificato va nel profilo. Le opzioni di lettura e scrittura, come readPreference, w o retryWrites, sono accettate perché una stringa copiata da Atlas funzioni così com'è, ma non cambiano nulla di ciò che fa Calíope.
Un avviso sulla password: quella del campo qui sopra viene salvata nel Portachiavi, una password scritta dentro la stringa no. La stringa viene salvata insieme al resto del profilo e, con la sincronizzazione iCloud attiva, viaggia con lui. Se la cosa ti interessa, lascia la password nel suo campo e usa la stringa solo per il resto.
Se la stringa è scritta male la connessione fallisce dicendolo: è un errore del modulo, quindi si corregge lì e non riprovando.
Parole chiave: stringa di connessione, mongodb, uri, srv, atlas, replica set, authSource, mongodb+srv
Dove si trova: Gestore connessioni › Testa la connessione
Premi Testa la connessione nel modulo del profilo. Calíope prova ad aprire una connessione reale con i dati inseriti e mostra il risultato in un banner verde (successo) o rosso (errore con descrizione).
La prova è particolarmente utile per convalidare credenziali SSL, firewall o configurazioni di host prima di salvare il profilo.
Parole chiave: test, provare, verificare, check connection
Una volta completati i dati del profilo, premi il pulsante Connetti (con icona a forma di fulmine). Calíope apre il pool di connessioni con il driver del motore e carica l'albero degli schemi.
Se la connessione non riesce si apre un foglio che dice che cosa è successo e che cosa controllare. Vedi soluzione, quando compare, porta all'argomento di questa guida che lo spiega, e Dettagli tecnici mostra il testo del server o della rete così com'è. Il modulo lo ripete nel riquadro dove compare il risultato di Testa la connessione, come «Errore di connessione: …». Controlla l'host, le credenziali e che il server sia attivo e accessibile dalla tua rete.
Parole chiave: connect, connettere, aprire workspace, pool
Cambia il database della sessione dal pannello dello schema.
Dove si trova: Editor SQL › Pannello dello schema › Usa come database attivo
Nel pannello dello schema dell'Editor SQL, fai clic destro su un database (su iPad, tienilo premuto) e scegli Usa come database attivo. La sessione passa a quello senza riconnettersi — equivale a eseguire USE nome_db — e il menu server mostra il suo nome accanto a quello del server. Il cambio riguarda solo la sessione corrente.
Oracle
Con Oracle l’albero elenca schemi, non database: uno schema è un utente, e il database è il servizio a cui ti sei connesso. Oracle non ha USE: lo schema che scegli è quello in cui l’editor risolve i nomi non qualificati, e ogni esecuzione lo imposta nella sessione, come ALTER SESSION SET CURRENT_SCHEMA. Il profilo non cambia: il suo servizio resta lo stesso.
Parole chiave: use database, cambiare db, selezionare database
Disconnette dal server e torna al Gestore connessioni.
Dove si trova: Workspace › Disconnetti
Premi il pulsante Disconnetti nell'intestazione del workspace. Calíope chiude il pool di connessioni e torna alla schermata del Gestore connessioni con un'animazione.
La disconnessione è automatica alla chiusura della finestra principale dell'applicazione.
Parole chiave: disconnettere, chiudere sessione, disconnect, uscire
Si riconnette automaticamente se il server chiude la sessione.
Dove si trova: Pannello laterale › Modulo del profilo › Riconnessione automatica
Nel modulo del profilo di connessione, attiva l'interruttore Riconnessione automatica. Calíope lo usa quando cambi il database attivo (Usa come database attivo nel pannello dello schema): se in quel momento la connessione è interrotta —il server l'ha chiusa per inattività o si è riavviato, oppure è caduto il tunnel SSH—, riapre l'intera sessione, tunnel compreso, e ripete il cambio.
Non ripete le query dell'editor né degli strumenti: l'interruzione si mostra come interruzione della connessione.
Con un tunnel SSH, è quello stesso momento a far partire le notifiche di tunnel caduto e riconnesso (vedi Notifiche del tunnel SSH).
Parole chiave: riconnessione, riconnessione automatica, timeout, inattività, ristabilire
Lavora con più server contemporaneamente senza perdere il contesto.
Dove si trova: Workspace › Menu server
Calíope supporta l'apertura di più connessioni a server attive contemporaneamente. Ogni server ha la propria sessione indipendente con il proprio albero degli schemi, i tab SQL aperti, la cronologia delle query e lo stato dell'assistente IA.
Come funziona:
Ogni volta che premi Connetti nel Gestore connessioni, si apre una nuova sessione senza chiudere le precedenti. Tutte le sessioni coesistono e puoi passare dall'una all'altra senza perdere nulla.
Stato di ogni sessione:
- I tab SQL e il loro contenuto si conservano al cambio di server.
- L'albero degli schemi mostra i database del server attivo.
- L'assistente IA mantiene la cronologia della conversazione per sessione.
Puoi aprire tutte le sessioni di cui hai bisogno, ad esempio per confrontare dati tra ambienti di sviluppo, staging e produzione contemporaneamente.
Parole chiave: multi-server, connessioni multiple, simultaneo, varie connessioni, sessioni, multiserver
Passa da un server connesso all'altro dal menu a discesa del workspace.
Dove si trova: Workspace › Menu server
Il menu selettore di server mostra il nome del server attivo e un indicatore di stato della connessione (punto verde = connesso, rosso = errore). Premendolo si apre un menu con tutte le sessioni aperte.
Su macOS: il selettore appare nella barra degli strumenti della finestra, nell'angolo in alto a sinistra. Mostra il nome del server, il database attivo e la freccia a discesa.
Su iPad: il selettore appare a sinistra della barra dei tab, sempre visibile nella parte superiore del workspace.
Su iPhone: si trova anche in cima all'elenco Strumenti, così puoi cambiare sessione, aggiungere un server o disconnetterti da qualsiasi schermata del workspace.
Opzioni del menu:
- Tocca o fai clic sul nome di qualsiasi server per attivare quella sessione.
- La sessione attiva appare contrassegnata con un ✓.
- Aggiungi server apre il Gestore connessioni sopra il workspace corrente per connettere un altro server senza perdere le sessioni aperte.
- Disconnetti chiude la sessione del server attivo.
Parole chiave: menu server, selettore, cambiare server, switcher, sessione attiva, indicatore connessione
Connettiti a un server aggiuntivo senza abbandonare il lavoro corrente.
Dove si trova: Workspace › Menu server › Aggiungi server
Per aggiungere una nuova connessione mentre stai già lavorando su un altro server:
1. Apri il menu selettore di server (nella barra della finestra su macOS, nella barra dei tab su iPad).
2. Scegli Aggiungi server.
3. Si apre il Gestore connessioni: in una finestra propria su macOS, come foglio su iPad.
4. Seleziona un profilo esistente o creane uno nuovo e premi Connetti.
5. Il Gestore connessioni si chiude da solo e la nuova sessione è disponibile nel selettore.
Le sessioni precedenti rimangono aperte e intatte durante tutto il processo.
Parole chiave: aggiungere server, nuova sessione, seconda connessione, aggiungi server, connettere un altro
Chiude la sessione di un server senza influire sulle altre connessioni attive.
Dove si trova: Workspace › Disconnetti
Quando hai più sessioni aperte, puoi chiuderne una qualsiasi in modo indipendente:
Server attivo:
- Apri il menu selettore di server e premi Disconnetti, oppure usa il pulsante rosso di disconnessione nella barra degli strumenti.
Qualsiasi sessione (per passarci prima):
1. Apri il menu selettore di server.
2. Seleziona il server che vuoi chiudere per attivarlo.
3. Premi Disconnetti.
Alla chiusura di una sessione, Calíope attiva automaticamente l'ultima sessione disponibile. Se era l'unica sessione aperta, torna al Gestore connessioni.
Parole chiave: disconnettere server, chiudere sessione, chiudere connessione, disconnect, rimuovere server
Cifra la connessione al server con certificati SSL.
Dove si trova: Pannello laterale › Modulo del profilo › SSL
Nel modulo del profilo di connessione, attiva l'interruttore SSL nella sezione Opzioni del server. Appaiono tre campi opzionali per i certificati del client:
- Certificato CA — file del certificato dell'Autorità di certificazione (.pem o .crt). Con questo file Calíope verifica l'identità del server.
- Certificato client — file del certificato del client per l'autenticazione reciproca.
- Chiave client — chiave privata corrispondente al certificato del client.
Se attivi SSL senza specificare il certificato CA, Calíope verifica il certificato del server rispetto alle autorità di certificazione del sistema (comportamento predefinito sicuro). Se il server usa un certificato autofirmato, la connessione non riuscirà a meno che tu non fornisca il CA corrispondente.
Accettare il certificato senza verifica (non sicuro): seleziona questa casella solo se ti connetti a un server di sviluppo con certificato autofirmato e non puoi fornire il CA. La connessione rimarrà cifrata ma sarà vulnerabile agli attacchi man-in-the-middle. Non attivarla per server di produzione.
Dove resta il file: quando scegli un CA, un certificato o una chiave client — o lo incolli, fuori dal Mac —, Calíope tiene una propria copia su questo dispositivo, mai in iCloud Drive, e il profilo punta a quella copia. Puoi spostare o eliminare l'originale dopo, e sul Mac continua a essere letto dopo il riavvio. Per rinnovare un certificato, sceglilo di nuovo, anche se ha lo stesso nome. Il file resta sul dispositivo dove l'hai scelto, e la sua posizione anche: un profilo configurato su un altro dispositivo arriva senza. Prima di connetterti, l'elenco delle connessioni mostra Scegli i suoi file su questo dispositivo e il modulo dice «Questo profilo usa un certificato scelto su un altro dispositivo: sceglilo qui.»; sceglilo lì, e da allora quel dispositivo tiene la propria copia.
Se un file non si può leggere, Calíope non si connette senza di esso: si ferma con «Impossibile leggere un file TLS», che nomina il file e quale dei tre è.
La connessione SSL viene testata premendo Testa la connessione; il banner verde confermerà se la cifratura è attiva.
ClickHouse
Con ClickHouse ci sono solo Certificato CA e la casella per accettare un certificato non verificato: ClickHouse entra con utente e password, quindi il modulo non disegna Certificato client né Chiave client, e un profilo che li contiene non si connette finché non vengono tolti. Attivare SSL porta la porta da 8123 a 8443 se era quella predefinita. Con un tunnel SSH, il certificato viene verificato rispetto all'host del profilo.
Oracle
Con Oracle ci sono solo Certificato CA e la casella per accettare un certificato non verificato: Oracle entra con utente e password su TLS in un solo senso (TCPS), quindi il modulo non disegna Certificato client né Chiave client. Attivare SSL porta la porta da 1521 a 2484 se era quella predefinita: il listener serve TCPS su un'altra porta. Il certificato viene verificato rispetto all'host del profilo, anche con un tunnel SSH e anche con una CA propria: il nome del server deve comparire nel certificato. Se un profilo contiene un certificato o una chiave client —importati, o ereditati da un’altra famiglia—, la connessione non si apre e l’errore lo dice: rimuovili dal profilo.
Parole chiave: ssl, tls, certificato, cifratura, ca, client, sicurezza, pem, crt, ssl_mode, mitm, verifica, autofirmato
Richiede Touch ID, Face ID o Optic ID prima di connetterti a qualsiasi server.
Dove si trova: Pannello laterale › Impostazioni › Generali › Sicurezza
Calíope può chiedere la biometria del dispositivo prima di aprire qualsiasi connessione: Touch ID sul Mac e sugli iPad che lo hanno, Face ID sull'iPhone e sugli altri iPad, e Optic ID su Apple Vision Pro. È un unico interruttore per tutta l'app, non un'impostazione di ciascun profilo.
Dove si attiva
- Impostazioni › Generali › Sicurezza › Richiedi Touch ID per connettersi (o Richiedi Face ID per connettersi, o Richiedi Optic ID per connettersi: l'interruttore nomina la biometria del dispositivo), allo stesso modo su tutte le piattaforme. Compare solo se il dispositivo dispone della biometria.
Con l'interruttore attivo, Connetti chiede prima, e se l'autenticazione non riesce la connessione non procede. Provare un profilo non chiede nulla. Controlla i permessi in Impostazioni di Sistema › Touch ID e password (Mac), Impostazioni › Face ID e codice o Impostazioni › Touch ID e codice (iPad e iPhone), o Impostazioni › Optic ID e codice (Apple Vision Pro).
Parole chiave: biometria, touch id, face id, optic id, autenticazione, sicurezza, impronta, biometric, richiedi biometria
Come raggruppare le tue connessioni (Produzione, Sviluppo, Cliente X, ecc.) e spostare profili tra gruppi su macOS, iPad, iPhone e Apple Vision Pro.
Dove si trova: Gestore connessioni › clic destro › Sposta nel gruppo
Quando l'elenco delle connessioni cresce, puoi raggrupparle per ambiente, cliente o qualsiasi altro criterio. I gruppi sono comprimibili e persistono in connections.json come collezioni ordinabili.
Creare un gruppo
- macOS: fai clic destro su un qualsiasi gruppo esistente (o sull'intestazione della barra laterale) e scegli Nuovo gruppo. Viene creato con il nome predefinito Nuovo gruppo ed entra direttamente in modalità di modifica per rinominarlo.
- iPad, iPhone e Apple Vision Pro: nel Gestore connessioni, tocca Gestisci gruppi (la cartella con l’ingranaggio nella barra in basso) e, nella scheda, Nuovo gruppo.
Rinominare / eliminare
- macOS: fai clic destro sul nome del gruppo → Rinomina gruppo o Elimina gruppo.
- iPad: per rinominare, tocca la matita della riga nella scheda Gestisci gruppi; per eliminare, scorri quella riga da destra a sinistra. Puoi anche tenere premuta l'intestazione del gruppo nell'elenco.
- Eliminare un gruppo elimina anche le connessioni che contiene, con la loro password salvata, la cronologia delle query e l'SQL che avevano salvato. Prima di eliminare qualcosa, Calíope chiede conferma e ti dice quante connessioni se ne vanno e come si chiamano. Non si può annullare: se vuoi solo disfare il raggruppamento, sposta prima i profili con Sposta nel gruppo ▸ Senza gruppo.
Spostare un profilo
- macOS: fai clic destro sul profilo → Sposta nel gruppo ▸ → scegli il gruppo di destinazione o Senza gruppo per toglierlo da qualsiasi raggruppamento.
- iPad: scorri il profilo da sinistra a destra per rivelare l'azione Sposta (icona a forma di cartella, colore indaco); si apre la scheda di selezione del gruppo.
Riordinare i gruppi (iPad)
- Apri Gestisci gruppi e trascina per la maniglia ☰ per riordinare. L'ordine persiste nel campo sortOrder di ogni gruppo.
Espandere/comprimere
- Ogni gruppo ha un ▸ per comprimere/espandere l'elenco dei profili. Lo stato viene salvato per gruppo.
Persistenza
- I gruppi e la loro assegnazione risiedono nel file connections.json sotto il dispositivo corrente. Se hai attivato la sincronizzazione con iCloud, vengono condivisi tra i tuoi dispositivi.
Filtrare
- Il campo sopra l'elenco lascia solo le connessioni che corrispondono; finché contiene del testo, tutti i gruppi vengono disegnati aperti senza cambiare ciò che hai salvato (vedi Filtrare l'elenco delle connessioni).
Parole chiave: gruppo, gruppi, organizzare, cartella, categoria, produzione, sviluppo, spostare profilo, trascinare, swipe, nuovo gruppo, rinominare, eliminare gruppo, senza gruppo, connections.json
Segna ogni connessione come locale, di collaudo, di produzione o come ti serve, con il nome e il colore che scegli, e vedila come una fascia sopra ogni strumento.
Dove si trova: Gestore connessioni › clic destro › Etichette di ambiente…
Un’etichetta di ambiente dice dove punta una connessione — locale, collaudo, produzione o quello che decidi tu — con un nome e un colore che scegli tu. Una volta connesso, l’etichetta appare come una fascia del suo colore sopra lo strumento, in tutti gli strumenti, e nel menu del server: prima di eseguire qualcosa vedi su quale server sei.
Il catalogo
- Le etichette stanno in un unico catalogo, Etichette di ambiente. Si apre con il pulsante Etichette di ambiente… del modulo del profilo, accanto ad Ambiente, oppure dal menu contestuale dell’intestazione Senza gruppo o di quella di qualsiasi gruppo: clic destro su macOS, tocco prolungato su iPad, iPhone e Apple Vision Pro.
- Il catalogo nasce vuoto. Nuova etichetta apre il modulo, e Parti da offre tre modelli con un tocco: Locale (verde, nessuna protezione), Collaudo (ambra, conferma le scritture) e Produzione (rosso, conferma le scritture). Poi cambi quello che vuoi: Nome dell’etichetta, Colore e Protezione.
- Trascina le righe per cambiare l’ordine in cui appaiono nel selettore; su iPad, iPhone e Apple Vision Pro, tocca prima Modifica.
- Elimina etichetta chiede prima e dice quante connessioni la usano. Quelle connessioni restano senza etichetta; non vengono eliminate.
Dare un’etichetta a un profilo
- Nel modulo del profilo, il selettore Ambiente offre Nessuna e le etichette del catalogo. Gli elenchi di connessioni del Gestore connessioni e delle Impostazioni mostrano davanti al nome un campione del colore.
Il livello è dell’etichetta, non del profilo
- Ogni etichetta ha un livello di Protezione: nessuna protezione, conferma le scritture o sola lettura. Venti connessioni con «Produzione» ne prendono nome, colore e livello, quindi cambiare l’etichetta le cambia tutte e venti. Se una connessione ha bisogno di un altro livello, crea un’altra etichetta. Cosa fa ogni livello lo spiega l’argomento «Livelli di protezione».
- Il gruppo non eredita nulla: gruppo ed etichetta sono indipendenti. Nel gruppo «Cliente X» possono esserci una connessione «Locale», una «Collaudo» e una «Produzione».
Dove si salva
- Il catalogo si salva in connections.json, insieme ai gruppi e ai profili: viaggia con loro su iCloud Drive quando la sincronizzazione è attiva, e l’esportazione di Impostazioni › Connessioni lo include.
Parole chiave: etichetta, etichette, ambiente, produzione, collaudo, locale, colore, fascia, protezione, sola lettura, conferma, catalogo, modello, connections.json
Che cosa fa il livello di protezione di ogni etichetta di ambiente: nessuno, confermare ciò che scrive o sola lettura.
Dove si trova: Gestore connessioni › clic destro › Etichette di ambiente…
Ogni etichetta di ambiente porta un livello di Protezione che scegli nel suo modulo, in Etichette di ambiente. Il livello è dell’etichetta: lo condividono tutte le connessioni che la portano.
I tre livelli
- Nessuna protezione: le istruzioni si eseguono come sempre; l’etichetta segna solo la connessione con la sua banda.
- Conferma le scritture: prima di eseguire qualcosa che scrive, Calíope chiede «Scrivere su …?», con l’origine e quante istruzioni, e prosegue solo se tocchi Esegui su … con il nome dell’etichetta. Chiede una volta per esecuzione: uno script di venti istruzioni è una sola domanda. Ciò che aveva già una propria conferma —eseguire lo script completo, ripristinare, eliminare un oggetto in Cataloghi, terminare un processo, eliminare un utente— porta il nome dell’etichetta nel titolo e non chiede due volte. Se è aperto un foglio, la domanda appare sopra. Annullare nell’editor SQL lascia la query fermata; altrove, un avviso dice che non è stata eseguita perché hai annullato, e non va nel registro degli errori.
- Sola lettura: ciò che scrive non viene inviato al server, e l’errore nomina l’etichetta. Inoltre, gli strumenti che scrivono soltanto —Costruttore di tabelle, Amministrazione utenti, Manutenzione tabelle e Migrazione dati— non vengono offerti, e negli altri non si disegna ciò che scrive: ripristinare, sostituire, importare, popolare, creare ed eliminare oggetti, terminare processi, modificare ed eliminare righe di un risultato.
Che cosa conta come scrittura
- Tutto ciò che non è una lettura né un controllo di transazione. Aprire, confermare o annullare una transazione e cambiare database (USE) non scrivono. SET sì, e anche il controllo di transazione che chiede READ WRITE: è ciò che userebbe una sessione per togliersi la sola lettura del server. Un blocco BEGIN … END conta come scrittura.
- Il controllo legge il testo, non ciò che farà il server: un SELECT che chiama una funzione con effetti, come SELECT nextval('s'), passa come lettura.
- Annullare o ripetere una modifica di cella sono scritture nuove, e con «conferma le scritture» chiedono ogni volta.
Dove si applica
- L’editor SQL —Esegui, il terminale e il SQL Player— e ciò che l’assistente IA lascia nell’editor passano per lo stesso controllo. L’assistente conosce anche il livello dell’etichetta e ne tiene conto quando propone.
- La Modalità sicura dell’editor SQL viene prima e non cambia: ciò che blocca non arriva mai alla domanda.
- Siri e Comandi Rapidi non possono mostrare la domanda: con un’etichetta che conferma le scritture, una scrittura tramite Siri non si esegue, e con una di sola lettura fallisce. Il server MCP è sempre stato di sola lettura.
- Un database collegato nell’editor e la destinazione di Migrazione dati li protegge l’etichetta del loro profilo.
- Report legge soltanto. Su una connessione di sola lettura, un report può creare le sue tabelle temporanee; nient’altro.
- Un avviso SQL la cui regola scrive non si esegue con un’etichetta che protegge, a nessuno dei due livelli.
Lo strato del server
In sola lettura, dove il motore sa mettersi in sola lettura per sessione, Calíope glielo chiede anche: ciò che sfugge al controllo, lo rifiuta il server.
MySQLMariaDBAurora
Ogni connessione lavora con SET SESSION TRANSACTION READ ONLY. Il server rifiuta con l’errore 1792 INSERT, UPDATE, DELETE, CREATE e DROP —anche di una tabella temporanea— e SELECT … FOR UPDATE. Lascia passare SET GLOBAL, KILL e FLUSH, che il controllo di Calíope rifiuta già prima, e ANALYZE TABLE, che neanche Calíope rifiuta perché non modifica righe.
PostgreSQL
Ogni connessione parte con default_transaction_read_only = on. Il server rifiuta con l’errore 25006 ciò che scrive, anche una tabella temporanea, SELECT nextval(…) e SELECT … FOR UPDATE: qui si ferma la funzione con effetti che il controllo lascia passare. Lascia passare ALTER SYSTEM, che Calíope rifiuta prima, e SELECT pg_terminate_backend(…), che nessuno dei due rifiuta. Un SET default_transaction_read_only = off spegnerebbe lo strato: per questo Calíope rifiuta SET.
ClickHouse
Ogni richiesta porta readonly=2. Il server rifiuta con il codice 164 INSERT, le mutazioni (ALTER TABLE … UPDATE), CREATE, DROP, TRUNCATE, OPTIMIZE e SYSTEM FLUSH LOGS. Lascia passare SET, la clausola SETTINGS, KILL QUERY —Arresta continua a funzionare— e le tabelle temporanee di un lotto. SET readonly = 0 non può spegnerlo.
SQL Server
Nessuno strato del server: T-SQL non ha uno stato di sola lettura per sessione, e ApplicationIntent=ReadOnly porta solo a una replica leggibile di un gruppo di disponibilità; contro un server singolo non impedisce nulla. Protegge il controllo di Calíope.
Oracle
Nessuno strato del server: SET TRANSACTION READ ONLY vale per una transazione e finisce al COMMIT o ROLLBACK successivo; non c’è un equivalente per sessione. Protegge il controllo di Calíope.
Redis
Nessuno strato del server: Redis non ha la sola lettura per connessione (READONLY è un’altra cosa: permette di leggere da una replica di un cluster). Nella console, Calíope chiede al server che cosa scrive, e ciò che è amministrativo e il server non segna —CONFIG SET, CLIENT KILL…— conta comunque come scrittura. I dettagli sono nell’argomento «La console dei comandi».
MongoDB
Nessuno strato del server: MongoDB non ha la sola lettura per connessione; ci sono i ruoli dell’account (read). Un comando in Comandi MongoDB si giudica con un elenco di quelli che leggono, e un’aggregazione con $out o $merge scrive. I dettagli sono nell’argomento «Inviare comandi al server».
Che cosa non è
È una protezione contro gli incidenti, non sicurezza. La sicurezza è un utente di sola lettura sul server.
Parole chiave: protezione, livello, sola lettura, conferma, scrivere, ambiente, etichetta, produzione
Scrivi nel campo sopra l'elenco per lasciare solo le connessioni che corrispondono, per nome, host o gruppo.
Con trenta o quaranta profili, aprire un gruppo non basta più. Il campo in alto nella barra laterale lascia solo le connessioni che corrispondono a quello che scrivi.
Cosa cerca: il nome del profilo, il suo host e il suo host alternativo, il database predefinito, il nome utente, il nome del motore e il nome del suo gruppo. Scrivere il nome di un gruppo lo mostra per intero — è il modo di dire mostrami produzione. Accenti e maiuscole non contano.
Mentre filtri, i gruppi si aprono da soli, anche quelli che avevi compresso, così niente di corrispondente resta nascosto dentro un gruppo chiuso. Quell'apertura non viene salvata: svuota il campo e ogni gruppo torna esattamente come lo avevi lasciato.
La selezione non si muove. Se il profilo che stavi modificando finisce fuori dal filtro, il modulo di destra continua a mostrarlo: perdere quello che stavi modificando per aver scritto in una ricerca sarebbe peggio del problema che la ricerca risolve.
Premi Esc o la × per svuotare il campo. Il filtro non viene ricordato alla chiusura dell'app.
Parole chiave: filtrare, cercare, connessioni, elenco, gruppo, host, trovare profilo
Che cos'è la famiglia, che cos'è il prodotto e come Calíope propone il prodotto che il server dichiara di essere quando provi la connessione.
Dove si trova: Pannello laterale › Gestore connessioni
Calíope raggruppa i server per famiglia, cioè il protocollo che parlano: MySQL / MariaDB, PostgreSQL, SQL Server, Oracle Database, ClickHouse, MongoDB e Redis. Dentro ogni famiglia scegli il prodotto: il nome preciso di quello che hai davanti.
Famiglie e prodotti
- MySQL / MariaDB: MySQL, MariaDB, Amazon Aurora MySQL e «Altro compatibile con MySQL».
- PostgreSQL: PostgreSQL, Amazon Aurora PostgreSQL e «Altro compatibile con PostgreSQL».
- SQL Server: Microsoft SQL Server.
- Oracle Database: Oracle Database.
- ClickHouse: ClickHouse.
- MongoDB: MongoDB e «Altro compatibile con MongoDB».
- Redis: Redis.
Che cosa decide ciascuno. La famiglia decide con quale motore Calíope si connette e quali strumenti vengono offerti. Il prodotto stabilisce il nome, il prompt del terminale e i frammenti precaricati; Aurora MySQL, per esempio, porta i suoi. Un prodotto che non è il riferimento della sua famiglia mostra un avviso nel modulo per ricordarlo; puoi nasconderlo con Non mostrare più.
Creare il profilo
1. In Server (Tipo su iPad e iPhone), scegli la famiglia.
2. In Prodotto, che sul Mac è il menu accanto, scegli il prodotto. Se il tuo non c'è, scegli «Altro compatibile con…». Una famiglia con un solo prodotto —SQL Server, Oracle Database, ClickHouse, Redis— non mostra il menu Prodotto.
3. Compila host, porta, utente e password come sempre. Con Aurora, incolla l'endpoint del cluster e attiva SSL/TLS.
Il server dice chi è. Quando premi Testa la connessione o carichi l'elenco dei database, Calíope chiede al server e, se si identifica come un altro prodotto della stessa famiglia, lo propone sotto il selettore: premi Usa … per correggere il profilo, oppure ignoralo. Non lo cambia mai da solo. A MongoDB non viene chiesto.
Nota
Le funzioni proprie di un prodotto (autenticazione IAM di Aurora, endpoint differenziati, metriche aurora_%) non ricevono un trattamento speciale: Calíope gestisce il server come un membro standard della sua famiglia. Per questo un token IAM entra come farebbe con MySQL 8 o PostgreSQL: come password in chiaro, che Calíope invia solo con SSL/TLS attivo. Il token lo genera chi si connette, non Calíope.
SQL Server si connette alla versione 2022 o successiva, sempre cifrato. Un profilo SQL Server sincronizzato su un dispositivo che ha ancora Calíope 1.4 appare lì come MariaDB, perché quella versione non conosce la famiglia; aprirlo lì non funzionerà finché quel dispositivo non si aggiorna.
ClickHouse si connette alla versione 25.3 o successiva tramite la sua interfaccia HTTP —la porta 8123, o la 8443 con TLS—, anche attraverso un tunnel SSH. Un profilo ClickHouse sincronizzato su un dispositivo con una versione precedente di Calíope appare lì come MariaDB; quando quel dispositivo si aggiorna, lo si recupera scegliendo di nuovo ClickHouse nel profilo.
Redis numera i suoi database invece di dar loro un nome, quindi il modulo chiede un Numero del database —da 0 a 15, salvo che il server sia configurato con più— e non ha codifica né collation. L’Utente è facoltativo: si accede con la sola password, e l’utente serve solo con utenti ACL (Redis 6 o successivo).
Oracle Database si connette a un servizio, non a un database: il modulo chiede il Servizio —il SERVICE_NAME, FREEPDB1 in un’installazione Free— sulla porta 1521, o 2484 con SSL/TLS. Un SID non va bene; scrivi il nome del servizio. Per saperlo, lsnrctl status sul server elenca i servizi che ascolta. Calíope si misura con Oracle AI Database 26ai, la versione Free che Docker scarica senza account; 19c e 23ai parlano lo stesso protocollo, ma non sono misurate. Si entra con utente e password, anche via TLS in una direzione; non ci sono l’autenticazione con token (OCI IAM, OAuth), Kerberos, quella del sistema operativo né il wallet con certificato client —con Autonomous si entra via TLS senza wallet—. Un profilo Oracle sincronizzato con un dispositivo che ha una versione precedente di Calíope lì appare come MariaDB; quando quel dispositivo si aggiorna, lo si recupera scegliendo di nuovo Oracle Database nel profilo.
Parole chiave: famiglia, prodotto, aurora, amazon aurora, aws, rds, mysql, mariadb, postgresql, mongodb, compatibile, protocollo, rilevare, tipo di server
Clona copia per intero il profilo scelto, con la sua password, e lascia il clone selezionato perché tu cambi ciò che serve.
Clona copia per intero il profilo scelto —campi, gruppo, etichetta d’ambiente, e i file TLS e la chiave SSH scelti su questo dispositivo— e la sua password. Il clone si chiama come l’originale con «Copia di» davanti, parte con il contatore d’uso a zero e resta selezionato perché tu cambi ciò che serve.
Si trova nella barra dell’elenco delle connessioni, nel menu contestuale di ogni riga e, fuori dal Mac, facendo scorrere la riga.
Parole chiave: clonare, copiare, duplicare, profilo, connessione
Caricare l’elenco di database, set di caratteri e collation
Carica dati del server chiede al server quali database, set di caratteri e collation ha, per sceglierli da un elenco invece di scriverli.
Il pulsante con la freccia circolare accanto al database e al set di caratteri, Carica dati del server, chiede al server quali database, set di caratteri e collation ha, perché tu li scelga da un elenco invece di scriverli. È disattivato finché mancano l’host o l’utente.
Se il database predefinito del profilo non è sul server, il modulo lo segnala. Il set di caratteri e la collation compaiono solo per i motori che li usano alla connessione: non per ClickHouse, Oracle né Redis. Se il profilo passa per un tunnel SSH, la chiave del bastione si chiede come alla connessione.
Parole chiave: database, set di caratteri, collation, server, caricare, profilo
Calíope avvisa quando il tunnel SSH cade e quando si ripristina automaticamente.
Dove si trova: Calíope › Impostazioni › Generali → Notifiche
Quando un profilo ha Tunnel SSH e Riconnessione automatica attivati, Calíope invia notifiche locali in due momenti:
- Caduta del tunnel — quando trova la connessione interrotta, prima di tentare la riconnessione.
- Riconnessione riuscita — quando la riconnessione ripristina il tunnel.
Entrambe nascono dalla riconnessione automatica, e Calíope la tenta quando cambi il database attivo: una query che trova il tunnel caduto non avvisa qui. Senza Riconnessione automatica non ne viene inviata nessuna.
Attivare o disattivare:
Vai su Impostazioni › Generali › Notifiche e usa l'interruttore Tunnel SSH caduto / riconnesso.
Se la riconnessione fallisce, la notifica di riconnessione non viene inviata; la caduta è già stata notificata. L'intervallo minimo tra le notifiche dello stesso host è di 60 s.
Parole chiave: notifica, ssh, tunnel, caduta, riconnessione, avviso, automatica