PostgreSQL 9.2: Comando DROP INDEX CONCURRENTLY

Simon Riggs, leader del team 2ndQuadrant, ha introdotto in PostgreSQL 9.2 il comando SQL DROP INDEX CONCURRENTLY [IF EXISTS].

Questa nuova funzionalità permette di eliminare un indice evitando di acquisire un lock di tipo esclusivo sull’intera tabella, migliorando la disponibilità della base dati. In pratica, la cancellazione di un indice non bloccherà operazioni di UPDATE, DELETE, INSERT o SELECT sulla tabella, come avveniva con il comando DROP INDEX.

Nel dettaglio, il tipo di lock richiesto da DROP INDEX CONCURRENTLY è ShareUpdateExclusiveLock, mentre DROP INDEX richiede un lock di tipo AccessExclusiveLock.

Come descritto nella documentazione del comando DROP INDEX, la rimozione concorrente è atomica e non può avvenire all’interno di un blocco di transazione (pertanto non è possibile specificare più di un indice per volta).

This Post Has 0 Comments

Leave A Reply