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

Started by zh1029about 10 years ago3 messagesgeneral
Jump to latest
#1zh1029
zh1029@sina.com

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.

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

In reply to: zh1029 (#1)
Re: Doesn't PostgreSQL clean data in data file after delete records form table?

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/

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#3zh1029
zh1029@sina.com
In reply to: hubert depesz lubaczewski (#2)
Re: Doesn't PostgreSQL clean data in data file after delete records form table?

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.

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general