Guide PostgreSQL

Approfondimenti brevi e pratici sulle parti di PostgreSQL che mordono in produzione. Niente fronzoli, comandi reali, compromessi onesti.

Performance

Come leggere EXPLAIN ANALYZE

Cosa significano i costi, perché tempi e righe effettivi sono medie per loop, cosa ti dice BUFFERS e le trappole che rendono i piani ingannevoli a prima vista.

Performance

Scegliere l'indice giusto

Il B-tree copre la maggior parte dei casi — ma GIN, GiST, BRIN e gli indici parziali e su espressione hanno ciascuno un momento in cui vincono di un ordine di grandezza.

Operations

VACUUM, autovacuum e bloat delle tabelle

MVCC non aggiorna mai una riga sul posto. Dove finiscono le versioni morte, come autovacuum decide quando fare pulizia e come capire quando è rimasto indietro.

Concurrency

Livelli di isolamento delle transazioni

Cosa garantisce davvero Read Committed (meno di quanto pensi), quando Repeatable Read e Serializable sollevano errori, e come ritentare correttamente.

Cheat sheet

Mostrare le query in esecuzione

La query su pg_stat_activity da incollare, cosa significano state e wait_event, e come scoprire chi blocca chi.

Cheat sheet

Terminare una query in sicurezza

pg_cancel_backend contro pg_terminate_backend, pulizia in blocco delle transazioni idle — e perché kill -9 trasforma una query in un'interruzione di servizio.

Cheat sheet

Dimensioni di tabelle e indici

La query per le tabelle più grandi, le tre funzioni di dimensione chiarite, e perché la dimensione su disco non è la stessa cosa dei dati vivi.

Riferimento

Cheat sheet PostgreSQL

I comandi di tutti i giorni su un foglio stampabile: psql, attività e lock, kill, dimensioni, vacuum, EXPLAIN, backup, privilegi, SQLSTATE.

Come sono scritte queste guide

Ogni guida si basa su come PostgreSQL si comporta davvero in produzione, verificato rispetto alla documentazione ufficiale. Si concentrano sulle domande che saltano fuori quando qualcosa è lento o bloccato alle 16 di un giorno feriale — non sulla completezza fine a se stessa. Dove un argomento ha uno strumento interattivo corrispondente su questo sito, la guida rimanda ad esso.