Vous n'êtes pas identifié(e).

#1 30/12/2017 07:30:11

big1
Membre

VACUUM or NOT VACUUM

Bonjour,
en 9.6.6 en Win server 208

J'ai une table (facture):

    Table    |    Size    | External Size
-------------+------------+---------------
 facture     | 16 kB      | 8192 bytes
 facture_bis | 16 kB      | 8192 bytes
 facture     | 8192 bytes | 8192 bytes
(3 rows)

Je fais des INSERT et DELETE

(postgres@localhost:5432) [cave] > DELETE FROM FACTURE;
DELETE 1
(postgres@localhost:5432) [cave] > Insert into facture valu
INSERT 0 1
(postgres@localhost:5432) [cave] > DELETE FROM FACTURE;
DELETE 1
(postgres@localhost:5432) [cave] > Insert into facture valu
INSERT 0 1
(postgres@localhost:5432) [cave] > DELETE FROM FACTURE;
DELETE 1
(postgres@localhost:5432) [cave] > Insert into facture valu
INSERT 0 1

Je fais VACUUM sur la table :

    Table    |    Size    | External Size
-------------+------------+---------------
 facture     | 16 kB      | 8192 bytes
 facture_bis | 16 kB      | 8192 bytes
 facture     | 8192 bytes | 8192 bytes
(3 rows)


(postgres@localhost:5432) [cave] > VACUUM facture;
VACUUM
    Table    |    Size    | External Size
-------------+------------+---------------
 facture     | 48 kB      | 40 kB
 facture_bis | 16 kB      | 8192 bytes
 facture     | 8192 bytes | 8192 bytes

Je fais encore INSERT et DELETE et la table garde sa taille:

.
    Table    |    Size    | External Size
-------------+------------+---------------
 facture     | 48 kB      | 40 kB
 facture_bis | 16 kB      | 8192 bytes
 facture     | 8192 bytes | 8192 bytes


Pour quoi le VACUUM fait grossir la table?

D'avance merci.

Dernière modification par big1 (30/12/2017 07:40:01)

Hors ligne

#2 30/12/2017 09:31:33

Marc Cousin
Membre

Re : VACUUM or NOT VACUUM

À mon avis, c'est la freespace map et la visibility map qui ont été créées, mais je n'ai pas de pc sous la main pour vérifier (on a une table toast ici vu la taille externe initiale... Donc deux fsm et deux vm, chacune de 8 ko)


Marc.

Hors ligne

#3 30/12/2017 13:14:00

Re : VACUUM or NOT VACUUM

Salut
Peut être à cause du fait que VACUUM simple ne restitue pas l'espace mort à l'OS.
Essayer la même chose avec VACUUM FULL.
@+

Hors ligne

Pied de page des forums