PostgreSQL

Introduzione al più avanzato database Open Source

7 Incontri:

Martedi 03 Aprile 2018 - Orario: Dalle 21:00 alle 23:00
Martedi 10 Aprile 2018 - Orario: Dalle 21:00 alle 23:00
Martedi 17 Aprile 2018 - Orario: Dalle 21:00 alle 23:00
Martedi 24 Aprile 2018 - Orario: Dalle 21:00 alle 23:00
Martedi 08 Maggio 2018 - Orario: Dalle 21:00 alle 23:00
Martedi 15 Maggio 2018 - Orario: Dalle 21:00 alle 23:00
Martedi 22 Maggio 2018 - Orario: Dalle 21:00 alle 23:00

Livello:

Base / Intermedio

Conoscenze necessarie:

Conoscenze di base sui database

Cosa portare:

Il proprio portatile.

Cosa forniremo:

Le slide usate durante il corso.

Chiusura iscrizioni:

Martedi 10 Aprile 2018

Disponibilità posti:

Accettazione con riserva

Prezzo Iscrizione:

30,00 €

Location:

Locali di MakeItModena in Strada Barchetta, 77

Incontro 1

Martedi 03 Aprile 2018 - Orario: Dalle 21:00 alle 23:00

Introduzione ai database relazionali

- Scenari di utilizzo e introduzione ai sistemi relazionali
- Il linguaggio SQL di base: INSERT, UPDATE, DELETE, SELECT
- Tabelle e viste: definire i dati e gestirli
- Vincoli sui dati: chiavi primarie, condizioni di validità
- Relazioni fra tabelle, vincoli di integrità referenziale
- Reagire per mantenere i dati coerenti: triggers e stored procedures
- Cenni a sistemi NOSQL, CAP, Column-Store

Incontro 2

Martedi 10 Aprile 2018 - Orario: Dalle 21:00 alle 23:00

PostgreSQL

- Introduzione al progetto (storia, cultura, risorse, funzionalità)
- Concetti di base (cluster, utenti, permessi, ecc.)
- Installazione di un cluster PostgreSQL
- Connessione ad un database specifico (via riga di comando con psql)
- Creazione di oggetti (tabelle, indici, utenti, ecc.)
- Backup e Restore (logico)
- SQL PostgreSQL: comandi e istruzioni particolari
- Cenni ai cataloghi di sistema

Allegati
Link

Incontro 3

Martedi 17 Aprile 2018 - Orario: Dalle 21:00 alle 23:00

Server Side Programming (1)

- Transazioni: livelli di isolamento, MVCC, vacuum
- Stored Procedures: creare funzioni in linguaggio plpgsql e un altro linguaggio (es. plperl)
- Triggers: agganciare le funzioni agli eventi
- Viste e Rules
- Partitioning

Allegati

Esempio di funzioni per calcolo codice fiscale ( codice_fiscale.zip )

Link

Esempi vari

Incontro 4

Martedi 24 Aprile 2018 - Orario: Dalle 21:00 alle 23:00

Server Side Programming (2)

- Window Functions e Common Table Expressions
- Estendere PostgreSQL con le estensioni
- Foreign Data Wrappers
- Indici e l'ottimizzatore (cenni)
- Background workers (cenni)

Allegati

Esempio utilizzo CTE ( cte.zip )

Link

Incontro 5

Martedi 08 Maggio 2018 - Orario: Dalle 21:00 alle 23:00

Replication (1)

- Replication: concetti e terminologia, l'uso dei WAL
- Point in Time Recovery (esempio)
- Log Streaming Replication (esempio)
- altre tipologia di replica (sincrona, logica)

Allegati

Script di prova per PITR e replica ( repliaction.zip )

Link

Incontro 6

Martedi 15 Maggio 2018 - Orario: Dalle 21:00 alle 23:00

Replication (2)

- Streaming Replication (esempi)
- Logical Replication (esempi)

Incontro 7

Martedi 22 Maggio 2018 - Orario: 21:00 - 23:00

Bonus Track - Indici

Introduzione alle tipologie di indici disponibili, il comando EXPLAIN e le statistiche usate per il calcolo della selettività.

Allegati

Slide complete del corso (e molto altro) ( PostgreSQL-10-Slides-Luca-Ferrari.pdf )

Script SQL di esempio ( indexes.zip )

Link

La torta al cioccolato fatta da mia moglie e che vi siete persi se non avete partecipato all'ultima lezione!

pg_chocolate

Formatori

Ferrari Luca

Luca è un appassionato di informatica fin dal tempo del Commodore 64.
Ha ottenuto una laurea e successivamente un dottorato di ric...