Breve guida a PostgreSQL (versione per Linux) Gianluca Cima

Documenti analoghi
Per poter interagire con un database in rete mediante uno script php bisogna. innanzitutto cerare una connessione. Ciò si ottiene mediante la funzione

2011 Politecnico di Torino 1

SISTEMI OPERATIVI, RETI, INTERNET

Guida all uso della piattorma elearning QUICKPLACE

MySQL progettazione di un database per un mobilificio

Cosa è importante: pom.xml Goal Plug-in Repository

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1

LABORATORIO di INFORMATICA

TS-CNS Manuale Installazione Linux 2013

FUNZIONI DI BASE PANNELLO SMS

SQL Server Architettura Client-Server. SQL Server Introduzione all uso di SQL Server Dutto Riccardo.

EXCEL: FORMATTAZIONE E FORMULE

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto

HTH HIP - Healt In Prison Applicazione Mobile per la Gestione Carceri. Manuale Utente

Rete Sicura Plus. Guida d installazione ed attivazione del servizio

DATABASE PER IL WEB. Programmazione Web 1

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.

NUVOLA COMUNICAZIONI

Guida all utilizzo di Campaign Builder

Configurazione Posta Elettronica istituzionale con

testo Saveris Web Access Software Istruzioni per l'uso

Breve guida a MySQL. (versione per Windows)

L interfaccia a riga di comando di MySql

SQL - Sottointerrogazioni

VALORIZZAZIONE MOVIMENTI DI SCARICO E VALORIZZAZIONE TRASFERIMENTO COSTI DI ANALITICA

Installazione e uso di Document Distributor

HiProg3 Gestione Programmazione Triennale ed Elenco Annuale dei Lavori Pubblici. Manuale d installazione

Excel. I fogli di calcolo Le funzioni base Gli strumenti. 1

ISCRIZIONI E MAV ON-LINE

NOTA: NON PROVARE A INSTALLARE IL SOFTWARE PRIMA DI AVERE LETTO QUESTO DOCUMENTO.

Manuale d uso della Posta TBS. Oracle Collaboration Suite

Importazione dati. e/fiscali Spesometro - Rel con gestionale e/satto. Gestionale e/satto

CREAZIONE DI UN ACCOUNT UTENTE CON SISTEMA OPERATIVO WINDOWS 7

Compilazione rapporto di Audit in remoto

Aggiorna. La Funzione Aggiorna Listino Aggiornare Listino Pr7 / Le connessioni / Listino METEL. Aggiorna Lis no. Aggiornamento del listino

Questa è la finestra dei dettagli, è possibile selezionare anche da qui un modello o un pezzo per essere aperto.

Tutorial installazione Oracle e Sql Developer

Installazione DEMO - COMETA QUALITA

WINDOWS Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni

COME AGGIORNARE LA GALLERY DI SMART NOTEBOOK 10 SENZA ESSERE CONNESSI AD INTERNET

Servizio Conservazione No Problem

Come usare la piattaforma StartUp

Guida rapida di installazione e configurazione

Jclic Download e installazione

Breve guida a MySQL. (versione per Linux)

Manuale Sito Videotrend

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

GUIDA RAPIDA EDILCONNECT

Modulo 1 Information Communication Technology. ICT e computer... Pag. 6 Classificazione dei computer...» 8

Automatizzare le attività con le macro di Visual Basic

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO

Oggetto: Utility per la variazione massiva del codice IVA.

Manuale rapido agenda Zimbra. Per entrare nella propria agenda via web digitare il link

File Leggimi di Parallels Tools

Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A

NOTE OPERATIVE DI RELEASE. RELEASE Versione Applicativo: GECOM F24

Come avviare P-touch Editor

Esercitazione: Il DBMS MySQL

TUTORIAL LIBRI IN SIMBOLI

GALLERY. Album immagini

PG5 Starter Training Applicazione File System Daniel Ernst EN Stefano Peracchi IT

1. Come si accede a Magnacarta? 2. Come si modifica la password? 3. Ho dimenticato la password, come posso recuperarla? 4. Come si visualizzano le

Lavorare con MySQL Parte Prima.

Sesta parte: Come creare una lista di distribuzione e come gestirla dalla rubrica.

Moduli Bluetooth 03 - connessione seriale via BT

Installazione Plugin Agenzie delle Entrate - Spesometro - MyRent Installazione Locale

Sincronizzare file con Google Drive GUIDA PRATICA HELPDESK CO.GE.S. COOPERATIVA SOCIALE

IMPORTAZIONE PRESENZE DA RILEVATORI ELETTRONICI. tramite file tracciato

TUTORIAL LIBRI IN SIMBOLI

PRELIEVO LICENZE D USO PROGRAMMI TEAMSYSTEM ANNO 2016 FASE 1 PRELIEVO LICENZE DAL SITO

Come criptare un file PDF. FIMMG Palermo Dr. Francesco CIRRITO

NOTE PER IL CONTROLLO E L INVIO TRAMITE L APPLICATIVO ENTRATEL

EPOD.com MAGAZZINO RICAMBI MANUALE D USO. Aggiornamento 01/05/2010 pag.1

Guida a SacramentiWeb 1.2

Analisi Curve di Carico

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

DOCUMENTAZIONE WEB RAIN - ACCESSO CLIENTI

BASI DATI: algebra relazionale

Sommario. 1. Internet subito Le FAQ di Internet 13. Sommario vii

Formattare il testo con gli stili

Rilevazioni Integrative

DOCUMENTAZIONE OWNCLOUD

Lab. di Sistemi Operativi - Esercitazione - Comandi Shell

Argomenti Corso SAP Online ABAP Completo

MANUALE UTENTE PROCEDURA PLANET WEB INTERPRISE (II edizione)

Utilizzo collegamento remoto

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA

Video Scrittura (MS Word) Lezione 2 Tabelle e Immagini

Transcript:

Breve guida a PostgreSQL (versione per Linux) Gianluca Cima 13/07/2017

Indice 1 Introduzione 2 2 Installazione 3 3 Creare una base di dati 5 4 Gestione delle tabelle 7 4.1 Creare tabelle........................... 7 4.2 Eliminare tabelle......................... 8 5 Inserire tuple 9 6 Interrogare una base di dati 10 7 Eseguire comandi memorizzati su le 11 8 Supporto transazionale in PostgreSQL 13 1

Capitolo 1 Introduzione Per le esercitazioni del corso di basi di dati, si fa uso di un DBMS open-source, PostgreSQL 9.6 che gira sotto Windows, sotto Linux e sotto Mac OS X. Tale DBMS è disponibile gratuitamente su https://www.postgresql.org/ download/. Questa breve guida può essere utilizzata come introduzione ad un utilizzo base del sistema, per maggiori dettagli si faccia riferimento alla documentazione uciale https://www.postgresql.org/docs/9.6/static/index. html. 2

Capitolo 2 Installazione Una volta arrivati alla pagina https://www.postgresql.org/download/, si consiglia di scegliere uno tra i "pre-built binary packages" a seconda del proprio sistema operativo Linux. Tuttavia, l'installazione che andremo ad illustrare non fa riferimento a nessuna versione specica, e, come tale, va bene per una qualsiasi distribuzione Linux. Quindi, dalla pagina https://www.enterprisedb.com/downloads/postgrespostgresql-downloads#linux, selezionare una versione Postgres 9.6.x ed il proprio sistema operativo. Una volta concluso il download; è necessario aprire un terminale, recarsi nella directory dove è stato scaricato il le, e successivamente digitare: ˆ chmod +x lename ˆ sudo./lename Dopo aver inserito la password di root, dovrebbe iniziare il processo di installazione. Durante il processo di installazione, vi verrà chiesto di inserire una password (che va ricordata) per il superuser di PostgreSQL. D'ora in poi quando parleremo di password, ci riferiremo implicitamente alla password del super di PostgreSQL. Il superuser di PostgreSQL è un utente con particolari privilegi di amministrazione su tutti le basi di dati. Riguardo tutte le altre impostazioni, si consiglia di lasciare quelle di default. In particolare, l'installazione comprende: ˆ Il server PostgreSQL 9.6; ˆ pgadmin 4: un tool graco per gestire le varie basi di dati; 3

CAPITOLO 2. INSTALLAZIONE 4 ˆ StackBuilder: un pacchetto che può essere usato per scaricare ed installare driver e tool aggiuntivi per PostgreSQL. Se si sono lasciate invariate le impostazioni, la directory di installazione dovrebbe essere /opt/postgresql/9.6. Se per qualsiasi motivo la directory di installazione risulta dierente, nei prossimi passaggi bisogna cambiare /opt/postgresql/9.6 con la vostra directory di installazione. Inoltre, si assume di avere a disposizione l'editor di testo gedit, ma qualsiasi altro editor va comunque bene. Una volta terminata l'installazione, è necessario aprire un terminale ed eseguire i seguenti comandi: ˆ cd /home/user ˆ ls -a ˆ gedit.profile Se in questo le non è presente alcuna riga che inizia con PATH o export PATH, bisogna aggiungere alla ne del le la seguente stringa: PATH="/opt/PostgreSQL/9.6/stackbuilder/bin:/opt/PostgreSQL/9.6/bin: /opt/postgresql/9.6/pgadmin 4/bin"; altrimenti, concatenatare la stringa :/opt/postgresql/9.6/stackbuilder/bin:/opt/postgresql/9.6/bin:/opt/ PostgreSQL/9.6/pgAdmin 4/bin alla già presente stringa PATH o export PATH. Stessa cosa vale per la riga export LD_LIBRARY_PATH, se non vi è alcuna riga che inizia in questo modo, bisogna aggiungere alla ne del le la seguente stringa: export LD_LIBRARY_PATH="/opt/PostgreSQL/9.6/lib:/opt/PostgreSQL/ 9.6/stackbuilder/lib"; altrimenti, concatenare la stringa /opt/postgresql/9.6/lib:/opt/postgresql/9.6/stackbuilder/lib alla già presente stringa export LD_LIBRARY_PATH. A questo punto salvare il le e riavviare il PC, per far sì che le modiche eettuate abbiano eetto. In qualsiasi momento possiamo iniziare a lavorare con PostgreSQL utilizzando la utility psql per la linea di comando, oppure attraverso la GUI pgadmin. In questa guida, ci occuperemo soltanto della linea di comando, siccome la GUI ore un'interfaccia intuitiva e facilmente utilizzabile. I comandi da digitare per utilizzare la linea di comando e la GUI sono rispettivamente: ˆ psql -U postgres -W (ed inserire la password utilizzata nella procedura di installazione) ˆ pgadmin4 Per uscire dalla linea di comando basta digitare: \q

Capitolo 3 Creare una base di dati Ricolleghiamoci a PostgreSQL tramite: psql -U postgres -W (ed inserire la password utilizzata nella procedura di installazione). A questo punto avremo il seguente messaggio: postgres=# Ora creiamo la base di dati di nome primodb: postgres=# create database primodb; Dovrebbe apparire il messaggio: CREATE DATABASE Possiamo controllare tutte le nostre basi di dati tramite il comando: postgres=# \l Per cominciare ad usare la base di dati appena creata digitare: postgres=# \c primodb Dopodichè inserire la password, e avremo il seguente messaggio: You are now connected to database "primodb" as user "postgres". primodb=# Per eliminare una base di dati è necessario eseguire il comando: drop database nome-database ; 5

CAPITOLO 3. CREARE UNA BASE DI DATI 6 Ovviamente, il comando non va lanciato dalla stessa base di dati che si vuole eliminare, in questo caso apparirà il messaggio: ERROR: cannot drop the currently open database Invece, se l'eliminazione è andata a buon ne, apparirà il seguente messaggio: DROP DATABASE

Capitolo 4 Gestione delle tabelle 4.1 Creare tabelle In PostgreSQL possiamo eseguire qualsiasi comando SQL. Per creare una tabella si usa il comando SQL standard create table avente la forma seguente: create table nome-tabella (<lista di attributi e tipi ad essi associati>); Nello scrivere un comando si può andare a capo. Se il comando occupa più linee, ad ogni invio viene dato un nuovo prompt no a che non si digita il punto e virgola. Per esempio creiamo una tabella di nome lm all'interno della base di dati primodb con il seguente comando: primodb=# create table film ( primodb(# id integer, primodb(# titolo varchar(255) NOT NULL, primodb=# regista varchar(255), primodb=# data_produzione date, primodb=# CONSTRAINT pk PRIMARY KEY (id) primodb=# ); A questo punto dovrebbe comparire il seguente messaggio: CREATE TABLE. N.B.: Il punto e virgola serve ad indicare all'interprete dei comandi che il comando corrente è terminato. 7

CAPITOLO 4. GESTIONE DELLE TABELLE 8 Possiamo controllare tutte le tabelle all'interno di una base di dati tramite il comando: \dt Inoltre, per ciascuna tabella possiamo ottenere i suoi attributi (sia nome che tipo) attraverso il comando: \d nome-tabella 4.2 Eliminare tabelle Per eliminare una tabella dalla base di dati, si esegue il comando: drop table nome-tabella ; Se l'eliminazione è andata a buon ne, apparirà il seguente messaggio: DROP TABLE.

Capitolo 5 Inserire tuple Dopo aver creato una tabella possiamo inserirvi delle tuple utilizzando il comando insert. La maniera più semplice è inserire direttamente i valori: insert into nome-tabella values(<lista ordinata dei valori da inserire negli attributi>); Per esempio, scrivere: primodb=# insert into film values (1, '2001: Odissea nello spazio', 'Stanley Kubrick', '1968-04-04'); A questo punto dovrebbe comparire il seguente messaggio: INSERT 0 1. Analogamente, possiamo inserire altre tuple come ad esempio: primodb=# insert into film values (2, 'Otto e mezzo', 'Federico Fellini', '1963-02-14'); Si ricorda che SQL è case-insensitive, vale a dire che non distingue tra maiscuolo e minuscolo, tranne ovviamente nelle stringhe. Inne, per cancellare ed aggiornare tuple si utilizzano i comandi standard UPDATE e DELETE. 9

Capitolo 6 Interrogare una base di dati Interroghiamo la tabella lm, facendoci restituire ad esempio tutti i lm presenti in questa tabella girati dal regista Fellini select * from film where regista='federico Fellini'; A questo punto dovrebbe comparire una tabella che rappresenta il risultato della query, seguito da un'indicazione riguardo il numero di tuple restituite. 10

Capitolo 7 Eseguire comandi memorizzati su le Anzichè eseguire comandi SQL digitandoli su terminale è spesso più conveniente scriverli in un le di testo e poi richiamarli dall'interprete di comandi PostgreSQL. Il comando per far ciò è: \i percorso-file Usciamo (se già dentro psql) tramite il comando \q, e riaccediamo tramite il comando psql -U postgres -W. Supponiamo di avere un le di nome script.sql sul Desktop con le seguente istruzioni SQL: drop database if exists primodb; create database primodb; \c primodb; create table film ( id integer, titolo varchar(255) NOT NULL, regista varchar(255), data_produzione date, CONSTRAINT pk PRIMARY KEY (id) ); insert into film values (1, '2001: Odissea nello spazio', 'Stanley Kubrick', '1968-04-04'); insert into film values (2, 'Otto e mezzo', 'Federico Fellini', '1963-02-14'); 11

CAPITOLO 7. ESEGUIRE COMANDI MEMORIZZATI SU FILE 12 Possiamo caricare le seguenti istruzioni SQL direttamente da PostgreSQL con il comando: postgres=# \i /home/user /script.sql A questo punto dovrebbero comparire tutti i messaggi relativi alla creazione della base di dati, alla creazione delle tabella, e inne all'inserimento delle due tuple nella tabella.

Capitolo 8 Supporto transazionale in PostgreSQL Quando la variabile AUTOCOMMIT è settata a ON (lo è così di default) si rende permanente in modo automatico qualsiasi operazione viene eseguita. Ad esempio, creiamo una tabella di prova: primodb=# create table Customer (a integer, b varchar(20)); CREATE TABLE E disabilitiamo la variabile AUTOCOMMIT ponendola al valore OFF primodb=# \set AUTOCOMMIT OFF Ora inseriamo una tupla: primodb=# insert into Customer values (10, 'Heikki'); INSERT 0 1 e rendiamo la modica permanente in modo esplicito tramite il comando COMMIT: primodb=# COMMIT; COMMIT Inseriamo ora un'altra tupla: 13

CAPITOLO 8. SUPPORTO TRANSAZIONALE IN POSTGRESQL 14 insert into Customer values (15, 'John'); INSERT 0 1 Controllando tutte le tuple all'interno della tabella Customer: primodb=# select * from Customer; dovremmo avere come risposte alla query le seguenti tuple: 10, 'Heikki' 15, 'John' Tuttavia, le modiche eettuate dall'ultimo COMMIT non sono ancora permanenti. Difatti, dando l'istruzione di ROLLBACK: primodb=# ROLLBACK; ROLLBACK e ripondendo la stessa query: primodb=# select * from Customer; dovremmo avere come risposte alla query solamente la tupla: 10, 'Heikki' Inne, rimettiamo la variabile AUTOCOMMIT al suo valore di deafult: primodb=# \set AUTOCOMMIT ON In qualsiasi momento possiamo vericare il valore attuale di questa variabile digitando il comando: \echo :AUTOCOMMIT N.B. Il supporto transazionale di PostgreSQL aderisce in pieno allo standard SQL, dierentemente dallo store engine InnoDB, il quale ore il pieno supporto transazionale a MySQL. Infatti, ad esempio, in InnoDB quando si esegue un rollback non vengono ritratti gli statement create table e drop table (cosa che invece avviene in PostgreSQL).