¿Qué sucede físicamente con los registros eliminados en PostgreSQL? ¿Cuándo se eliminan?
sobes.tech AI
Respuesta de la IA
En PostgreSQL, al eliminar un registro, este no se elimina físicamente de la tabla de inmediato. En su lugar, el registro se marca como eliminado (tupla muerta), pero permanece en la tabla para garantizar la coherencia de las transacciones y la posibilidad de revertir.
La eliminación real ocurre durante el proceso de vacuuming (VACUUM), que libera el espacio ocupado por esas "tuplas muertas" y lo hace disponible para su reutilización.
Por lo tanto, los registros eliminados existen en la tabla hasta que se realiza el VACUUM. Esto ayuda a evitar problemas con el acceso concurrente y garantiza MVCC (control de concurrencia multiversión).
Ejemplo de comando para ejecutar vacuum:
VACUUM;
O para liberar espacio de manera más agresiva:
VACUUM FULL;