Thread: Doesn't PostgreSQL clean data in data file after delete records form table?

Hi,
  we are using PostgreSQL 9.3.6 version and observe data file size is not
decreased after we deleted records from the table. It looks quite abnormal.
Is it as PostreSQL designed?

DBTestPostgres=# select count (*) from test_data ;
     0

# ls -l
total 788932
.............
-rw------- 1 _nokfssystestpostgres root *801067008* Mar 23 17:51 32768
-rw------- 1 _nokfssystestpostgres root    221184 Mar 23 17:47 32768_fsm
-rw------- 1 _nokfssystestpostgres root         0 Mar 23 17:44 32768_vm
-rw------- 1 _nokfssystestpostgres root         0 Mar 23 17:43 32771
-rw------- 1 _nokfssystestpostgres root      8192 Mar 23 17:43 32773
-rw------- 1 _nokfssystestpostgres root       512 Mar 23 13:57
pg_filenode.map
-rw------- 1 _nokfssystestpostgres root    116404 Mar 23 17:19
pg_internal.init
-rw------- 1 _nokfssystestpostgres root         4 Mar 23 13:57 PG_VERSION

Thanks!




--
View this message in context:
http://postgresql.nabble.com/Doesn-t-PostgreSQL-clean-data-in-data-file-after-delete-records-form-table-tp5894764.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.


Re: Doesn't PostgreSQL clean data in data file after delete records form table?

From
hubert depesz lubaczewski
Date:
On Wed, Mar 23, 2016 at 03:27:45AM -0700, zh1029 wrote:
> Hi,
>   we are using PostgreSQL 9.3.6 version and observe data file size is not
> decreased after we deleted records from the table. It looks quite abnormal.
> Is it as PostreSQL designed?
>
> DBTestPostgres=# select count (*) from test_data ;
>      0
>
> # ls -l
> total 788932
> .............
> -rw------- 1 _nokfssystestpostgres root *801067008* Mar 23 17:51 32768

Yes, that's perfectly OK. It is due to MVCC mechanisms.

subsequent vacuum (at least in your case) should free the disk space,
and if it doesn't, check other ways, described here:
http://www.depesz.com/2011/07/06/bloat-happens/

Best regards,

depesz

--
The best thing about modern society is how easy it is to avoid contact with it.
                                                             http://depesz.com/


Hi,
  Thank you very much. It help us a lot



--
View this message in context:
http://postgresql.nabble.com/Doesn-t-PostgreSQL-clean-data-in-data-file-after-delete-records-from-table-tp5894764p5894960.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.