<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>Database-SQL-RDBMS HOW-TO document for Linux (PostgreSQL Object Relational Database System): Strumenti di Gestione di PostgreSQL</TITLE> <LINK HREF="PostgreSQL-HOWTO-16.html" REL=next> <LINK HREF="PostgreSQL-HOWTO-14.html" REL=previous> <LINK HREF="PostgreSQL-HOWTO.html#toc15" REL=contents> </HEAD> <BODY> <A HREF="PostgreSQL-HOWTO-16.html">Avanti</A> <A HREF="PostgreSQL-HOWTO-14.html">Indietro</A> <A HREF="PostgreSQL-HOWTO.html#toc15">Indice</A> <HR> <H2><A NAME="s15">15. Strumenti di Gestione di PostgreSQL</A></H2> <P> <H2><A NAME="ss15.1">15.1 PGACCESS - Uno strumento Grafico (GUI) per la gestione di PostgreSQL</A> </H2> <P>PgAccess è un'interfaccia in Tcl/Tk a PostgreSQL. È già inclusa nella distribuzione di PostgreSQL. Potreste voler verificare la presenza di una nuova versione sul seguente sito: <UL> <LI> <A HREF="http://www.flex.ro/pgaccess">http://www.flex.ro/pgaccess</A></LI> <LI> Se volete fare dei commenti, o suggerire dei miglioramenti, mandate un'e-mail a: <A HREF="mailto:teo@flex.ro">teo@flex.ro</A></LI> </UL> Uso di pgaccess: <HR> <PRE> # man xhost # xhost + # su - postgres bash$ man pgaccess bash$ export DISPLAY=<nomehost>:0.0 bash$ pgaccess miodatabase </PRE> <HR> <P>Caratteristiche di PgAccess <P>Finestre di PgAccess: Finestra Principale, Crea nuova Tabella (Table Builder), Visualizzazione della Tabella (e della query), Costruttore visuale della query (Visual query designer). <P>Tabelle <UL> <LI>apertura tabelle in visualizzazione, per un massimo di 200 record (limite modificabile tramite menu Preferenze)</LI> <LI>ridimensionamento delle colonne, mediante il trascinamento della riga verticale della griglia (più facile da effettuare in spazio tabella, piuttosto che nella sua intestazione)</LI> <LI>A-capo automatico nelle celle; memorizzazione del layout per ogni tabella</LI> <LI>importazione/esportazione da e verso file esterni (SDF,CSV)</LI> <LI>uso di condizioni di filtro (inserite filtri come (prezzo>3.14))</LI> <LI>possibilità di ordinamenti (inserite manualmente il/i campo/i per l'ordinamento)</LI> <LI>possibilità di inserimento/modifica direttamente nelle celle</LI> <LI>l'assistente generatore di tabella è stato perfezionato</LI> <LI>l'editing del campo è stato migliorato</LI> </UL> <P>Interrogazioni <UL> <LI>definizione, modifica, e archiviazione di "interrogazioni definite dall'utente"</LI> <LI>archiviazione di interrogazioni come viste</LI> <LI>esecuzione di interrogazioni</LI> <LI>visualizzazione del risultato di interrogazioni di tipo select</LI> <LI>cancellazione e rinomina di query</LI> <LI>Funzionalità di drag & drop di Visual query builder. Per chiunque di voi abbia installato il plugin Tcl/Tk per Netscape Navigator, potete vederlo al lavoro facendo click qui <A HREF="file:/usr/doc/postgresql-tcl-6.5.3/qbtclet.html">file:/usr/doc/postgresql-tcl-6.5.3/qbtclet.html</A></LI> </UL> <P>Sequenze <UL> <LI>definizione, cancellazione e verifica di sequenze</LI> </UL> <P>Funzioni <UL> <LI>definizione, verifica e cancellazione di funzioni in linguaggio SQL</LI> </UL> <P>Le implementazioni future avranno <UL> <LI>progettazione di tabelle (aggiunta di nuovi campi, rinomina, ecc.)</LI> <LI>definizione di funzione</LI> <LI>generatore di report</LI> <LI>un elementare linguaggio di scripting</LI> </UL> <P>INFORMAZIONI SU LIBGTCL <P>Sarà necessaria la libreria libgtcl, che funge da interfaccia del Tcl al PostgreSQL; questa libreria è uno dei moduli caricabili del Tcl/Tk. La libreria e il sorgente sono situati nella directory /src/interfaces/libpgtcl di PostgreSQL. In particolare, vi servirà una libreria libpgtcl che sia caricabile da Tcl/Tk. Ciò è tecnicamente diverso dal tipico file oggetto caricabile di PostgreSQL, perché libpgtcl è una collezione di file oggetto. Sotto Linux questa libreria è denominata libpgtcl.so. Potete prelevare, dal sito sopra indicato, una versione già compilata per sistemi Linux su i386. È sufficiente copiare libpgtcl.so nella vostra directory delle librerie di sistema (/usr/lib). Una delle soluzioni possibili è quella di rimuovere, dal codice sorgente, la linea contenente "load libpgtcl.so", e caricare pgaccess.tcl non con wish, ma con pgwish (o wishpg), cioè quel wish che è stato linkato con la libreria libpgtcl. <P>Se, durante la compilazione dei sorgenti di pgaccess, crypt non dovesse funzionare, usate l'opzione -lcrypt. <P> <H2><A NAME="ss15.2">15.2 GtkSQL, Strumento Grafico di Query per PostgreSQL</A> </H2> <P>GtkSQL è uno strumento grafico per effettuare query (come il psql di PostgreSQL). È stato rilasciato sotto la licenza GNU GPL, ed è stato sviluppato utilizzando Gtk+ 1.2.3 e PostgreSQL 6.3. Il sito principale di GtkSQL è <A HREF="http://gtksql.sourceforge.net">http://gtksql.sourceforge.net</A><P>Le sue principali funzionalità sono: <OL> <LI> buffer SQL multipli</LI> <LI> parole chiave SQL, completamento automatico dei nomi di tabelle e di campi</LI> <LI> visualizzazione confortevole della definizione delle tabelle</LI> <LI> supporto per PostgreSQL e MySQL (e si può aggiungere facilmente anche il supporto per altri database)</LI> </OL> La versione attuale è GtkSQL v. 0.3. Potete reperire il sorgente presso <A HREF="https://sourceforge.net/project/?form_grp=533">https://sourceforge.net/project/?form_grp=533</A><P> <H2><A NAME="ss15.3">15.3 Strumento interattivo di Query in Windows per PostgreSQL (WISQL o MPSQL)</A> </H2> <P>MPSQL fornisce gli utenti di un interfaccia SQL grafica a PostgreSQL. MPSQL è simile a SQL Worksheet di Oracle, e allo strumento di interrogazione WISQL di Microsoft SQL Server. Ha una gradevole GUI, e lo storico dei comandi. È permesso anche il "copia e incolla", ed ha altre pregevoli funzionalità per migliorare la vostra produttività. <P> <UL> <LI> <A HREF="http://www.troubador.com/~keidav/index.html">http://www.troubador.com/~keidav/index.html</A></LI> <LI> Email: <A HREF="mailto:keidav@whidbey.com">keidav@whidbey.com</A></LI> <LI> <A HREF="http://www.ucolick.org/~de/">http://www.ucolick.org/~de/</A> nel file tcl_syb/wisql.html</LI> <LI> <A HREF="http://www.troubador.com/~keidav/index.html">http://www.troubador.com/~keidav/index.html</A></LI> <LI>Email: <A HREF="mailto:de@ucolick.org">de@ucolick.org</A></LI> </UL> <H2><A NAME="ss15.4">15.4 Strumento Interattivo di Query (ISQL) per PostgreSQL, denominato PSQL</A> </H2> <P>ISQL funziona su terminali a riga di comando. È incluso nella distribuzione, ed è chiamato "psql". È molto simile a Sybase ISQL, Oracle SQLplus. Dando il comando 'psql', dal prompt di unix passerete al prompt psql> . <BLOCKQUOTE><CODE> <PRE> bash# su - postgres bash$ man psql bash$ psql miodatabase Digitate \h per leggere l'help dei comandi. </PRE> </CODE></BLOCKQUOTE> È molto facile da usare, ed è alla portata di ogni utente. Si può accedere a psql anche da script di shell. <H2><A NAME="ss15.5">15.5 MPMGR - Uno strumento di gestione di database per PostgreSQL</A> </H2> <P>MPMGR fornirà un'interfaccia grafica per la gestione di database per PostgreSQL. Potete trovarlo presso <UL> <LI> <A HREF="http://www.mutinybaysoftware.com/">http://www.mutinybaysoftware.com/</A></LI> <LI> Email: <A HREF="mailto:keidav@mutinybaysoftware.com">keidav@mutinybaysoftware.com</A></LI> <LI> <A HREF="http://www.troubador.com/~keidav/index.html">http://www.troubador.com/~keidav/index.html</A></LI> <LI> Email: <A HREF="mailto:keidav@whidbey.com">keidav@whidbey.com</A></LI> <LI> <A HREF="http://www.ucolick.org/~de">http://www.ucolick.org/~de</A> nel file tcl_syb/wisql.html</LI> <LI> WISQL per PostgreSQL <A HREF="http://www.ucolick.org/~de/Tcl/pictures">http://www.ucolick.org/~de/Tcl/pictures</A></LI> <LI>Email: <A HREF="mailto:de@ucolick.org">de@ucolick.org</A></LI> </UL> <H2><A NAME="ss15.6">15.6 Gli strumenti PgAdmin, PhpPgAdmin</A> </H2> <P> <UL> <LI> Strumento PgAdmin per Windows 95/NT. Strumento di progettazione di database PostgreSQL per Windows 95/NT <A HREF="http://www.pgadmin.freeserve.co.uk">http://www.pgadmin.freeserve.co.uk</A></LI> <LI> Strumento di amministrazione basato su Web: PhpPgAdmin per Postgresql, si trova presso <A HREF="http://www.phpwizard.net/projects/phpPgAdmin">http://www.phpwizard.net/projects/phpPgAdmin</A></LI> </UL> <P> <H2><A NAME="ss15.7">15.7 PgBash - strumento SQL per la shell</A> </H2> <P>PgBash ha funzionalità simili a psql. Inoltre PgBash fornisce le utili funzionalità di bash, l'ambiente operativo interattivo e flessibile, come gli alias, le funzioni, l'elaborazione dello storico di riga di comando, ecc. <P>Il sito principale di PgBash è presso <A HREF="http://www.psn.co.jp/PostgreSQL/pgbash/index-e.html">http://www.psn.co.jp/PostgreSQL/pgbash/index-e.html</A><P>PgBash è una shell che ha incluso un "SQL diretto" o, in altri termini, ha l'interfaccia per PostgreSQL con "SQL incorporato"; è stata ottenuta mediante perfezionamento della shell bash (versione 2.03). PgBash può essere usata come shell di log-in, come sub-shell (la shell generata all'interno di un'altra shell), e come shell per esecuzione di programmi. <P>Le funzionalità di un "SQL Diretto" permettono di inviare immediatamente allo "standard output" i risultati delle query. Le funzionalità di "SQL Incorporato" permettono di memorizzare i valori, restituiti dalle query, in variabili di shell che possono essere gestite con il linguaggio di script della shell. <P>Un'istruzione SQL (il cui carattere finale è un punto e virgola), viene gestita come un comando della shell; è possibile mandare in esecuzione le istruzioni SQL con filtri (pipeline), ridirezione e opzioni per l'esecuzione sullo sfondo dei job. Inoltre, usando il comando exec_sql, è possibile far eseguire istruzioni SQL con svariate opzioni. L'esempio pratico di SQL è mostrato di seguito. <HR> <PRE> prompt> /usr/local/bin/pgbash .....Avvio di pgbash pgbash> connect to db2@xxx.com user sakaida; .....connessione al database pgbash> select * from test limit 100; | more .....con uso di filtro (pipeline) pgbash> select * from test; > /tmp/sel.dat & .....con redirezione e job sullo sfondo pgbash> addr='Osaka' pgbash> insert into test values( > 111,'name', .....potete scrivere su una nuova riga > '$addr' .....uso di variabile di shell > ); pgbash> connect to db3@yyy.com user postgres; pgbash> set connection db2; .....impostate l'attuale D/B a db2 pgbash> select * from test; .....select di test del db2 pgbash> exec_sql -d db3 "select * from test3".....cambiate la connessione a db3 pgbash> ls pgbash> begin; pgbash> declare cur cursor for select * from test; pgbash> fetch in cur into :AA,:BB; .....impostate i valori delle variabili di shell pgbash> echo "AA=$AA, BB=$BB" pgbash> end; pgbash> fc fetch .....utilizzate lo storico (history) dei comandi pgbash> !echo .....rieseguite echo pgbash> disconnect all .....interrompete tutte le connessioni pgbash> exit .....Uscita da pgbash </PRE> <HR> <H2><A NAME="ss15.8">15.8 Lo strumento Webmin per PostgreSQL</A> </H2> <P>Lo strumento webmin permette di amministrare una macchina Unix attraverso una pagina web, opzionalmente resa sicura. Nella sua ultima release (vers. 0.82), webmin ha un modulo PostgreSQL. Con questo modulo potete aggiungere utenti, gruppi, database, tabelle, viste di tabelle. <P>Potete trovare webmin presso <A HREF="http://www.webmin.com/webmin">http://www.webmin.com/webmin</A><P> <P> <HR> <A HREF="PostgreSQL-HOWTO-16.html">Avanti</A> <A HREF="PostgreSQL-HOWTO-14.html">Indietro</A> <A HREF="PostgreSQL-HOWTO.html#toc15">Indice</A> </BODY> </HTML>