• Introduzione
◦ FAQ PostgreSQL
◦ la riga di comando psql e l'uso di interfacce grafiche di terze parti (p.e. Dbeaver)
◦ come PostgreSQL implementa ruole e schemi, il search_path
• Cenni all’amministrazione
◦ inizializzazione con initdb
◦ start/stop con systemctl
◦ i file di configurazione postgresql.conf e pg_hba.conf
• Il linguaggio SQL di PostgreSQL
◦ oggetti: schema, table, sequenze, view, index ◦ comandi DDL (CREATE, DROP, ALTER)
◦ tipi di dati
◦ comandi DML, (INSERT, UPDATE, DELETE, il comando non-standard COPY)
◦ interrogazioni (SELECT)
◦ il linguaggio PL/PgSQL con cenni a altri linguaggi procedurali disponibili
◦ trigger
• Performance
◦ indici Btree semplici e composti
◦ il query planner
◦ l'aggiornamento delle statistiche (ANALYZE)
◦ partizionamento dichiarativo delle tabelle
• Best practice sicurezza
◦ ruoli e privilegi (GRANT e REVOKE)
• Best practice su come accedere a PostgreSQL da un applicativo (esempi in Java)
◦ gestire transazioni
◦ gestire cursori / fetch size nelle interrogazioni
◦ usare prepared statement per evitare SQL injection