.NET

Creazione di utenti e connessioni

Accesso come utente admin

OmniDB viene fornito solo con l’utente admin. Se stai usando la versione server, la prima cosa da fare è accedere come admin con la password casuale monouso che omnidb-server ha stampato nel suo output di log alla creazione di un nuovo database dell’applicazione (la riga che contiene initial login: admin / …), e poi cambiarla in Impostazioni. Se la password va persa, puoi reimpostarla con omnidb-server --set-password admin. Dopo 10 tentativi di accesso falliti per lo stesso nome utente o lo stesso indirizzo IP del client, l’accesso viene bloccato per 15 minuti. L’applicazione desktop non prevede alcun accesso: gira come unico utente locale, quindi tutto ciò che riguarda la gestione degli utenti descritta qui sotto lì semplicemente non c’è.

Orientarsi nell’interfaccia

L’intero spazio di lavoro si comanda dalla barra verticale di icone sul bordo sinistro della finestra: Benvenuto, Connessioni (l’icona della spina), Database, Monitoraggio, Notifiche, Permessi, Utenti connessi e Snippet in alto, e Per iniziare, Account (solo nella versione server) e Impostazioni (l’ingranaggio) in basso. Passando il mouse su un’icona ne compare il nome. Vedi Gestione dei database per come le sezioni lavorano insieme, e Impostazioni e lingue per la lingua dell’interfaccia e le altre preferenze.

Creazione di un altro utente

Apri Impostazioni in fondo alla barra, scegli la categoria Account e fai clic su Gestisci utenti. Quel pulsante lo vede solo un superutente: nelle impostazioni di un utente normale la sezione Account non compare affatto.

La finestra Gestione utenti elenca gli utenti esistenti. Fai clic su Aggiungi nuovo utente (l’icona della persona con il più) per inserire una nuova riga utente vuota, mostrata come (informazioni in sospeso) finché non la compili. Inserisci Nome utente e Nuova password, attiva Superutente? se il nuovo utente deve esserlo, quindi fai clic su Salva. Puoi creare tutti gli utenti che vuoi, modificare quelli esistenti ed eliminarne uno facendo clic sulla croce rossa nella colonna delle azioni.

Per disconnetterti fai clic sull’icona Account (la persona in fondo alla barra) e poi su Disconnetti.

L’eliminazione di un utente, o la revoca dello stato di superutente, ha effetto immediato, anche per le sessioni di quell’utente già aperte.

La sezione Connessioni

Fai clic sull’icona della spina nella barra. Le connessioni sono una sezione a tutti gli effetti dello spazio di lavoro, non una finestra a comparsa: una vista divisa con l’elenco delle connessioni salvate nella barra laterale a sinistra e, a destra, il modulo e i pulsanti della connessione selezionata.

Ogni riga dell’elenco mostra l’icona del motore di database, il nome della connessione e sotto l’utente@server:porta a cui punta (oppure la stringa di connessione, o la destinazione SSH per una connessione di tipo terminale). Un pallino colorato indica l’ambiente della connessione e un’icona a forma di chiave segnala una connessione che passa da un tunnel SSH.

Creazione di connessioni

OmniDB supporta PostgreSQL, MySQL, MariaDB, Oracle, MS SQL Server, Firebird e SQLite, oltre a un tipo di connessione Terminale che apre una shell SSH invece di un database. L’elenco Tipo di connessione mostra prima PostgreSQL, poi gli altri in ordine alfabetico e infine Terminale.

Per SQLite, la connessione punta a un file di database (sulla macchina su cui gira omnidb-server); se il file non esiste ancora, Prova connessione lo segnala e il file viene creato al primo utilizzo della connessione. Su un server multiutente le connessioni SQLite sono riservate ai superutenti, e alcuni parametri della stringa di connessione PostgreSQL che leggono file sul server vengono rifiutati — vedi Sicurezza e server multiutente.

Il pulsante + sotto l’elenco crea una connessione. Scrivi il nome nell’intestazione del modulo a destra, scegli il Tipo di connessione e compila la scheda Informazioni di connessione al server: Server, Porta, Database, Utente e, facoltativamente, Password utente. Al posto dei singoli campi puoi compilare una sola Stringa di connessione (ad esempio postgresql://postgres@localhost:5432/postgres) e lasciare vuoto il resto. Al termine fai clic su Salva in alto a destra nel modulo.

The Connections section with the connection form

Prova connessione, accanto, prova la connessione senza aprirla e riporta Connessione riuscita. oppure l’errore esatto restituito dal database. Il pulsante − sotto l’elenco elimina la connessione selezionata; resta disattivato per una connessione attualmente aperta in una scheda.

Password

Il campo Password utente è facoltativo e le due possibilità si comportano in modo diverso:

Per PostgreSQL, al momento della connessione OmniDB cerca inoltre la password nel tuo file .pgpass, scegliendo la stessa voce che userebbe libpq: una connessione senza password salvata può quindi aprirsi senza alcuna richiesta. Nell’applicazione macOS in sandbox la finestra della password offre Concedi accesso a .pgpass…: indichi il file una volta e da lì in poi ogni connessione ricava da sé la propria password.

Se il database rifiuta il tentativo, la finestra resta a schermo mostrando l’errore ricevuto da OmniDB (fe_sendauth: no password supplied, un errore di autenticazione, un server non raggiungibile e così via), così puoi correggere la password e riprovare.

Importare connessioni da .pgpass

L’icona di importazione file, accanto ai pulsanti + e −, legge un file .pgpass e crea una connessione PostgreSQL per ogni riga concreta che contiene, come semplice stringa postgresql://utente@host:porta/db senza password salvata: l’idea è continuare ad autenticarsi da quel file invece di copiare password dentro OmniDB. Le righe con caratteri jolly (*) vengono saltate, così come quelle che corrispondono già a una connessione esistente.

Organizzare l’elenco

Aprire una connessione

Fai clic su Connetti nel modulo, oppure semplicemente doppio clic su una riga dell’elenco, e OmniDB la apre in una nuova scheda esterna di connessione (Connection Outer Tab), come vedremo nel prossimo capitolo. Il clic destro su una riga apre un menu contestuale (Connetti/Modifica/Elimina — Elimina non compare per una connessione già aperta), mentre il clic destro su uno spazio vuoto dell’elenco propone Nuova connessione/Aggiorna.

Uso dei tunnel SSH

OmniDB consente di connettersi a qualsiasi database remoto attraverso tunnel SSH. Spunta Usa tunnel SSH nel modulo della connessione: questo abilita i campi sottostanti:

Tutto ciò che salvi qui — password SSH, frase di accesso e testo della chiave — finisce nello stesso database di configurazione locale di OmniDB delle password dei database, cifrato allo stesso modo.

Quando usi i tunnel SSH devi compilare di conseguenza anche tutti i campi del database. Ma invece di essere relativi al server OmniDB, saranno relativi al server SSH. Questo può avvenire in 2 scenari, spiegati di seguito.

Se il database si trova sullo stesso server a cui ti connetti via SSH, la situazione è questa:

In questo scenario il Server del database sarà 127.0.0.1, perché il database è sulla stessa macchina del Server SSH.

Ma il database può trovarsi fuori dal server SSH, così:

Qui il Server del database deve essere 192.168.0.10, perché è l’indirizzo con cui il server SSH raggiunge il server di database.