PostGreSQL Ver.12 e 9.6

Verranno trattate differenti versioni di PostgreSQL, con particolare riferimento alla versione 12 nonché la precedente versione 9.6. Saranno mostrate le maggiori differenze fra le varie versioni e le modalità possibili per l’aggiornamento e la migrazione da una versione ad un’altra.
La piattaforma di riferimento sarà Unix, in particolare FreeBSD e Fedora Linux.

Saranno forniti cenni a vari tools utili per la gestione del cluster, nonché all’interfacciamento con lo stesso.

Obiettivo

Il corso, oltre ad affrontare gli aspetti teorici, prevede l’analisi approfondita di interessanti casi di studio e di esercitazioni pratiche mirate al raggiungimento di una completa padronanza degli argomenti e di una piena autonomia nell’operatività.

Durata

4 giornate

Materiali

Saranno rilasciate slide a cura del docente. Le slide saranno disponibile all’inizio del corso. Gli esempi pratici saranno tutti eseguiti mediante terminale interattivo psql, ove possibile. Il docente preparerà le macchine virtuali necessarie a mostrare gli esempi e i concetti illustrati nel corso. Sarà, inoltre, erogato un test, a fine corso, basato su una serie di domande di valutazione a risposta singola e/o multipla.

Programma del corso

  • Introduzione alla configurazione di PostgreSQL, file e viste (cataloghi) relativi.
  • Tecniche per l’individuazione degli errori di configurazione.
  • Principali parametri di configurazione e loro significato, nonché dimensionamento in base alla dimensione (attesa o misurata) del cluster.
  • Saranno presentati i concetti di ruolo come utente e gruppo, nonché la configurazione necessaria alla gestione dei permessi a livello di database e di singolo oggetto.
  • Si discuterà dei meccanismi di gestione degli account.
  • Saranno mostrati i principali cataloghi di sistema per tenere traccia delle attività del cluster.
  • Verranno illustrati alcuni tool utili per l’analisi a posteriori e dinamica del sistema in esecuzione, con esempi di query per ricavare le informazioni di eventuali processi bloccati, lock, e anomalie.
  • Verrà mostrato il funzionamento del query planner, con particolare riferimento all’eventuale utilizzo di indici.
  • Dopo aver classificato e illustrato i vari tipi di indici messi a disposizione, nonché il loro contesto di utilizzo, si passerà all’analisi di alcune query per comprendere come individuare eventuali punti critici e tuning da operare sulle query “lente”.
  • Si mostreranno i cataloghi di sistema relativi all’individuazione di indici non utilizzati e/o mancanti.
  • Saranno illustrate le principali opzioni di backup e restore native, nonché la possibilità di utilizzare strumenti di backup esterni con particolare riferimento a pgBackRest e BarMan.
  • Si spiegherà il funzionamento dei Write Ahead Logs (WALs), il loro utilizzo in caso di crash-recovery e la configurazione relativa nel cluster.
  • Si mostrerà il funzionamento del Multi Version Concurrency Control (MVCC) e come questo possa impattare su un database attivo.
  • Da ultimo si valuterà come risolvere i problemi causati da un eccessivo “bloat” di tabelle ed indici mediante VACUUM manuale e automatico, nonché la configurazione delle soglie e l’analisi del funzionamento.

Verranno mostrate le due tipologie correntemente supportate da PostgreSQL:

  • replica fisica
  • replica logica

Per ciascuna saranno fornite configurazioni ed esempi, nonché si discuterà delle casistiche di utilizzo.

Si introdurranno tools esterni quali:

  • pgbouncer per la gestione delle connessioni rimbalzate su più host
  • PL/Proxy per lo sharding mediante codice installato sul server
  • partizionamento dichiarativo per realizzare lo sharding fra più istanze PostgreSQL fra loro collegabili.
  • Differenza fra auditing e logging.
  • Parametri di configurazione per il logging e loro utilizzo.
  • Verrà trattato e discusso il meccanismo di auditing, con particolare riferimento all’estensione pgaudit che consente una con gurazione molto granulare per l’auditing delle sessioni utente/applicazione.
  • Verranno illustrati concetti relativi alla definizione di funzioni e procedure, con particolare riferimento al linguaggio plpgSQL, ma saranno anche mostrati esempi didattici in altri linguaggi.
  • Si discuteranno casi particolari di istruzioni SQL come UPSERT, query RETURNING, alcuni cenni a Common Table Expressions.
  • Sarà discusso approfonditamente l’aspetto delle viste, normali e materializzate, nonché i trigger tradizionali e quelli ad eventi.

PostGreSQL Ver.12 e 9.6

Questo corso è disponibile su richiesta

CLICCA QUI PER INFORMAZIONI

Descrizione

Durata

4 giornate

Informazioni

    Acconsento all'uso dei mie dati ai fini indicati dalla Privacy Policy

    Vorrei essere aggiornato sulle offerte e le novità dei vostri corsi.