La gestione dei database dalla riga di comando comporta una curva di apprendimento per trarne il massimo.
La riga di comando a volte può essere ardua e la visualizzazione potrebbe non essere ottimale per quello che stai facendo.
Sfogliare database e tabelle, controllare indici o privilegi utente, monitorare, gestire e persino codificare può diventare davvero complicato quando si tenta di gestirlo tramite la console.
Non è che non sia necessario gestire i comandi della riga di comando (è sicuramente un must), ma ci sono alcuni strumenti che possono aiutarti a velocizzare molte delle attività quotidiane di DBA.
Diamo un'occhiata a cosa trattano questi strumenti e ne esaminiamo alcuni.
Cos'è uno strumento GUI?
Una GUI o interfaccia utente grafica è un software che semplifica i compiti degli utenti attraverso icone grafiche e indicatori visivi. Le azioni vengono eseguite utilizzando elementi grafici.
Perché dovrei usare uno strumento GUI?
L'uso di una GUI non è un must, ma può essere utile. Uno dei principali vantaggi delle GUI è che, in generale, sono più facili da apprendere rispetto a molti comandi e probabilmente un'azione sulla GUI potrebbe generare alcuni comandi per eseguire l'attività.
Un altro vantaggio potrebbe essere che la GUI è più intuitiva della riga di comando e, nella maggior parte dei casi, non è necessaria alcuna conoscenza di programmazione o amministratore di sistema per utilizzarla.
Ma dovresti stare attento prima di eseguire un'attività dalla GUI, perché usando il pulsante sbagliato, potresti generare un grosso problema come eliminare una tabella; e per questo motivo, fai attenzione quando usi questo tipo di strumento.
I migliori strumenti GUI per PostgreSQL
Ora, vediamo alcuni degli strumenti GUI più comuni per PostgreSQL.
Nota che, per gli esempi di installazione, lo testeremo su Ubuntu 18.04 Bionic.
pgAdmin
pgAdmin è una delle piattaforme di sviluppo e amministrazione Open Source più popolari per PostgreSQL.
È progettato per soddisfare le esigenze sia degli utenti PostgreSQL principianti che esperti, fornendo una potente interfaccia grafica che semplifica la creazione, la manutenzione e l'uso di oggetti di database.
È supportato su Linux, Mac OS X e Windows. Supporta tutte le funzionalità di PostgreSQL, dalla scrittura di semplici query SQL allo sviluppo di database complessi. È progettato per eseguire query su un database attivo, consentendoti di rimanere aggiornato con modifiche e implementazioni. pgAdmin 4, la versione attuale, può gestire PostgreSQL 9.2 e versioni successive.
Caratteristiche
- Visualizzazione del piano di query grafico
- Assistente di concessione per aggiornamenti rapidi degli ACL
- Debugger del linguaggio procedurale
- Gestione dell'autovuoto
- Dashboard di monitoraggio
- Backup, ripristino, vuoto e analisi su richiesta
- Agente di pianificazione lavori SQL/shell/batch
- Rilevamento automatico e supporto per oggetti rilevati in fase di esecuzione
- Uno strumento di query SQL attivo con modifica diretta dei dati
- Supporto per richieste amministrative
- Un editor SQL per evidenziare la sintassi
- Interfacce grafiche ridisegnate
- Potenti finestre di dialogo e strumenti di gestione per attività comuni
- Comportamento reattivo e sensibile al contesto
- Messaggi di errore di supporto
- Suggerimenti utili
- Guida in linea e informazioni sull'utilizzo delle finestre di dialogo e degli strumenti di pgAdmin
Installazione
Per prima cosa, dobbiamo importare la chiave del repository.
$ sudo apt-get install curl ca-certificates
$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
E crea il file /etc/apt/sources.list.d/pgdg.list. Le distribuzioni sono chiamate codename-pgdg. Nel nostro esempio dovrebbe essere bionic-pgdg.
$ deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
Per determinare il nome in codice della tua distribuzione puoi eseguire il comando lsb_release -c.
Dopodiché, è necessario aggiornare gli elenchi dei pacchetti e installare il pacchetto pgadmin:
$ sudo apt-get update
$ sudo apt-get install pgadmin4
Quindi, devi solo eseguire il comando pgadmin4:
$ pgadmin4
Configurazione
L'installazione crea un server pgAdmin in ascolto su una porta specifica. Questa porta cambia ogni volta che esegui il comando pgadmin4. Dopo che il programma è in esecuzione, puoi gestire il tuo database da un'interfaccia web accedendo dall'icona pgAdmin sulla barra delle applicazioni.
Per connetterti al tuo database, devi scegliere l'opzione Aggiungi nuovo server e completare le informazioni di connessione.
Quindi, puoi gestire il tuo database usando pgAdmin 4.
Il design sembra buono ed è un'interfaccia intuitiva. I grafici nella schermata principale potrebbero aiutare a rilevare qualche problema sul tuo sistema.
L'installazione richiede l'aggiunta di un repository, quindi potrebbe richiedere alcune competenze aggiuntive.
Controllo cluster
ClusterControl supporta la distribuzione, la gestione, il monitoraggio e il ridimensionamento per PostgreSQL.
Ogni istanza PostgreSQL distribuita viene configurata automaticamente utilizzando l'interfaccia point-and-click facile da usare di ClusterControl.
Puoi gestire backup, eseguire query ed eseguire il monitoraggio avanzato di tutti i master e slave; il tutto con failover automatico se qualcosa va storto.
Le funzionalità di automazione all'interno di ClusterControl ti consentono di configurare facilmente un ambiente di replica PostgreSQL, in cui puoi aggiungere nuovi slave di replica da zero o utilizzare quelli già configurati.
Ti permette anche di promuovere i padroni e ricostruire gli schiavi.
Esistono due versioni: Community Edition o Enterprise Edition.
Caratteristiche
- Gestione backup
- Monitoraggio e avvisi
- Distribuzione e ridimensionamento
- Aggiornamenti e patch
- Sicurezza e conformità
- Rapporti operativi
- Gestione della configurazione
- Recupero e riparazione automatici
- Gestione delle prestazioni
- Consulenti di performance automatizzati
Installazione
Per l'installazione, puoi utilizzare l'installazione automatica, manuale o offline.
In questo esempio utilizzeremo l'installazione automatica.
È necessario scaricare il seguente script ed eseguirlo con i privilegi di root sul server ClusterControl:
$ wget http://www.severalnines.com/downloads/cmon/install-cc
$ chmod +x install-cc
$ sudo ./install-cc
Quindi, devi completare le informazioni come password o configurazione ed è fatto.
Configurazione
Al termine dell'installazione, dovresti essere in grado di aprire l'interfaccia utente ClusterControl sul browser web utilizzando il nome host o l'indirizzo IP del tuo server, ad esempio:http://192.168.100.191/clustercontrol/
Qui puoi eseguire diverse attività come distribuzione, importazione, monitoraggio e altro ancora.
Dopo aver importato o distribuito il cluster PostgreSQL da ClusterControl, puoi gestirlo da un'interfaccia web completa e intuitiva.
Funziona su un server, quindi puoi usarlo ovunque. Tutto il software viene installato da ClusterControl, quindi non è necessario eseguire alcuna installazione manualmente.
Amministratore
Adminer è uno strumento completo di gestione del database scritto in PHP.
Consiste in un unico file pronto per essere distribuito sul server di destinazione.
L'amministratore è disponibile per MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch e MongoDB. La versione attuale è la 4.7 ed è stata rilasciata a novembre.
Caratteristiche
- Connettiti a un server di database con nome utente e password
- Seleziona un database esistente o creane uno nuovo
- Elenca campi, indici, chiavi esterne e trigger di una tabella
- Cambia nome, motore, confronto, auto_incremento e commento della tabella
- Modifica nome, tipo, confronto, commento e valori predefiniti delle colonne
- Aggiungi e rilascia tabelle e colonne
- Crea, modifica, rilascia e cerca per indici incluso il testo completo
- Crea, modifica, elimina e collega elenchi tramite chiavi esterne
- Crea, modifica, rilascia e seleziona dalle viste
- Crea, modifica, elimina e chiama procedure e funzioni memorizzate
- Crea, modifica e rilascia attivatori
- Elenca i dati nelle tabelle con ricerca, aggrega, ordina e limita i risultati
- Inserisci nuovi record, aggiorna ed elimina quelli esistenti
- Supporta tutti i tipi di dati, BLOB tramite trasferimento di file
- Esegui qualsiasi comando SQL da un campo di testo o da un file
- Esportare la struttura della tabella, i dati, le viste, le routine, i database in SQL o CSV
- Stampa lo schema del database connesso da chiavi esterne
- Mostra i processi e uccidili
- Mostra utenti e diritti e modificali
- Visualizza variabili con collegamenti alla documentazione
- Gestisci eventi e partizioni di tabelle
- PostgreSQL
- Schemi, sequenze, tipi di utenti
- Ampie opzioni di personalizzazione
Installazione
Funziona in un server web, quindi prima devi installare i pacchetti Apache2, php, php-pdo e php-pgsql.
$ sudo apt install apache2 php php-pdo php-pgsql
Dobbiamo scaricare il file PHP dalla pagina Web dell'amministratore:
$ wget https://github.com/vrana/adminer/releases/download/v4.7.1/adminer-4.7.1.php
E dobbiamo spostare il file PHP nella nostra radice del documento apache:
$ sudo mv adminer-4.7.1.php /var/www/html/adminer.php
Quindi, se lo stai installando sul tuo computer locale, devi aprire l'URL http://localhost/adminer.php nel tuo browser web.
Configurazione
Per iniziare a utilizzare lo strumento, devi accedere al tuo database.
Dopo il login, puoi vedere la seguente pagina web.
L'installazione è davvero semplice perché devi solo inserire il file PHP nella root dei documenti del tuo server web, ma l'interfaccia sembra un po' antiquata.
È un'applicazione web, quindi puoi accedervi da qualsiasi luogo solo utilizzando un browser web.
SQL Workbench/J
SQL Workbench/J è uno strumento di query SQL multipiattaforma gratuito, indipendente da DBMS.
È scritto in Java e dovrebbe essere eseguito su qualsiasi sistema operativo che fornisce Java Runtime Environment.
Il suo obiettivo principale è l'esecuzione di script SQL e funzionalità di esportazione/importazione. La creazione di query grafiche o attività DBA più avanzate non sono al centro e non sono pianificate.
Caratteristiche
- Modifica, inserisci ed elimina i dati direttamente nel risultato della query
- Potente comando di esportazione per scrivere file di testo, XML, HTML o SQL.
- Tutte le tabelle utente possono essere esportate in una directory con un solo comando. I file di esportazione possono essere compressi "al volo".
- Potente importazione di testo, XML e fogli di calcolo. Un insieme di file può essere importato da una directory con un solo comando. Vengono rilevati vincoli di chiave esterna per inserire i dati nell'ordine corretto
- Confronta due schemi di database per le differenze. L'output XML può essere trasformato nelle istruzioni SQL ALTER appropriate utilizzando XSLT
- Confronta i dati di due database e genera le istruzioni SQL necessarie per migrare l'uno nell'altro.
- Supporta l'esecuzione di script SQL in modalità batch
- Supporta l'esecuzione in modalità console
- Cerca il testo nella procedura, nella vista e in altre fonti utilizzando un comando SQL o una GUI
- Cerca i dati in tutte le colonne in tutte le tabelle utilizzando un comando SQL o una GUI
- Riformattazione delle istruzioni SQL
- Seleziona le righe dalle tabelle correlate in base alle loro definizioni di chiave esterna
- Suggerimenti per le istruzioni INSERT per mostrare il valore o la colonna corrispondente
- Copia i dati direttamente tra i server di database utilizzando un comando SQL o una GUI
- Macro per istruzioni SQL usate di frequente
- Sostituzione di variabili nelle istruzioni SQL, inclusa la richiesta intelligente per i valori
- Completamento automatico per tabelle e colonne nelle istruzioni SQL
- Visualizza gli oggetti del database e le loro definizioni
- Visualizza sorgente tabella
- Visualizza codice sorgente, procedura e attivazione
- Visualizza i vincoli di chiave esterna tra le tabelle
- Supporto completo per i dati BLOB nei risultati di query, istruzioni SQL, esportazione e importazione.
Installazione
È scritto su Java, quindi è necessario questo software per eseguirlo.
Per prima cosa, devi controllare se hai Java installato sul tuo sistema:
$ java --version
Quindi, devi scaricare il pacchetto SQL Workbench:
$ wget https://www.sql-workbench.eu/Workbench-Build124.zip
$ unzip -d sqlworkbench Workbench-Build124.zip
Per eseguirlo, devi eseguire il file jar denominato sqlworkbench.jar usando il comando java con il flag jar:
$ java -jar sqlworkbench/sqlworkbench.jar
Configurazione
Per connetterti al tuo database PostgreSQL, devi scaricare il driver JDBC:
$ wget https://jdbc.postgresql.org/download/postgresql-42.2.5.jar
$ mv postgresql-42.2.5.jar sqlworkbench/
E configura il driver nel tuo SQL Workbench. Per questo, vai su File -> Gestisci driver -> Seleziona PostgreSQL e seleziona il driver.
Quindi, vai alla finestra File -> Connetti e completa le informazioni sul profilo di connessione.
Al termine della connessione, puoi gestire il tuo database utilizzandolo.
L'installazione è semplice ma è necessario scaricare il driver e configurarlo manualmente. Inoltre, l'interfaccia non è troppo amichevole.
Deaver
DBeaver è uno strumento di database universale gratuito e open source per sviluppatori e amministratori di database.
Supporta tutti i database più diffusi:MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Derby, ecc.
L'usabilità è l'obiettivo principale di questo progetto, l'interfaccia utente del programma è accuratamente progettata e implementata. Si basa su un framework opensource e consente la scrittura di varie estensioni (plugin). Supporta qualsiasi database con un driver JDBC. Sono disponibili due versioni:Community Edition ed Enterprise Edition.
Caratteristiche
- Gestione connessioni
- Browser di metadati
- Editor SQL
- Visualizzatore/editor di dati
- Ricerca di dati/metadati
- Confronto della struttura del database
- Trasferimento dati (esportazione/importazione)
- Diagrammi ER
- Gestione query
- Progetti
- Viste aggiuntive
- Gestione conducente
- Database relazionali supportati
- Database NoSQL supportati
- Sistemi operativi supportati
- PostgreSQL
- Spiegazione del piano di esecuzione
- Fonte delle stored procedure
- Visualizza DDL
- Sequenze
Installazione
Innanzitutto, devi scaricare il pacchetto e installarlo:
$ wget https://dbeaver.io/files/dbeaver-ce_latest_amd64.deb
$ dpkg -i dbeaver-ce_latest_amd64.deb
E quindi, esegui il seguente comando per aprire l'applicazione:
$ dbeaver
Configurazione
Quando esegui l'applicazione per la prima volta, devi configurare la connessione al database.
Quindi, devi selezionare PostgreSQL e completare le informazioni.
Quindi, selezionando Test Connection, è necessario scaricare i file del driver. Dovresti ricevere il seguente messaggio dopo il test.
Al termine della configurazione, puoi gestire il database utilizzando l'applicazione DBeaver.
L'installazione è, fondamentalmente, un gioco da ragazzi e l'interfaccia sembra amichevole e intuitiva.
Naviga
Navicat per PostgreSQL è uno strumento grafico facile da usare per lo sviluppo di database PostgreSQL.
Questo strumento si adatta a tutti, dai principianti agli anziani, e si adatta a tutte le attività, dalle semplici query allo sviluppo. Connettiti a server PostgreSQL locali/remoti e compatibile con database cloud come Amazon Redshift, Amazon Aurora, Amazon RDS, Google Cloud, Microsoft Azure, Alibaba Cloud, Tencent Cloud e Huawei Cloud e tutti gli oggetti di database PostgreSQL. È un'applicazione a pagamento ma puoi utilizzare la versione di prova per testarla.
Caratteristiche
- Supporta PostgreSQL 7.3 o versioni successive e servizi cloud come AWS, Google Cloud o Microsoft Azure, tra gli altri.
- Connessione sicura:SSH/HTTP/SSL
- Navicat Cloud
- Visualizzatore ed editor di dati
- Elaborazione SQL
- Modellazione dei dati
- Importa/esporta
- Manipolazione dei dati
- Backup/ripristino
- Automazione
- Gestisci utente
- Monitoraggio server
Installazione
Innanzitutto, dobbiamo scaricare il pacchetto Navicat e decomprimerlo.
$ wget http://download3.navicat.com/download/navicat121_pgsql_en_x64.tar.gz
$ tar zxvf navicat121_pgsql_en_x64.tar.gz
Quindi, dobbiamo eseguire lo script start_navicat per avviarlo.
$ cd navicat121_pgsql_en_x64
$ ./start_navicat
Questo utilizzerà Wine per eseguire l'applicazione Navicat e potrebbe chiederti di installare alcune dipendenze richieste durante l'inizializzazione.
Configurazione
Quando accedi all'applicazione, devi creare una nuova connessione.
Vai su Connessione -> PostgreSQL e completa le informazioni.
Successivamente, puoi iniziare a utilizzare l'applicazione per gestire il tuo database.
Il software funziona su Wine su Linux e la versione di prova è di 14 giorni. L'interfaccia sembra carina e amichevole.
Conclusione
In questo blog, abbiamo esaminato alcuni degli strumenti GUI più comuni per PostgreSQL.
Indipendentemente dal fatto che l'utilizzo di uno strumento GUI non sia obbligatorio, può aiutarti a semplificare alcune delle attività quotidiane del DBA fornendoti un modo più semplice di gestire le cose.
Questi strumenti non sostituiscono la riga di comando (come DBA devi padroneggiarlo), ma sono estremamente utili e ne trarrai davvero vantaggio.