Sobes.tech
Middle+

Ի՞նչ է տեղի ունենում PostgreSQL աղյուսակի հետ տվյալների ջնջումից հետո, ինչ է VACUUM-ը։

sobes.tech AI

Պատասխան AI-ից

PostgreSQL-ի աղյուսակից տվյալներ ջնջելուց հետո, ֆայլի տարածքը անմիջապես չի ազատվում — ջնջված տողերը նշվում են որպես "մեռած" (dead tuples): Սա նշանակում է, որ դրանք այլևս չեն տեսանելի նոր գործարքների համար, բայց զբաղեցնում են տեղ սկավառակում:

VACUUM հրամանը օգտագործվում է այս մեռած տողերը մաքուրելու, տարածքը վերաօգտագործելի դարձնելու և աղյուսակի չափի աճը կանխելու համար:

Կան երկու հիմնական VACUUM տեսակներ՝

  • VACUUM (սովորական) — նշում է, որ մեռած տողերի կողմից զբաղեցրած տարածքը հասանելի է վերաօգտագործման համար աղյուսակի ներսում, բայց չի նվազեցնում ֆիզիկական ֆայլի չափը:
  • VACUUM FULL — իրականացնում է ավելի խորը մաքառում, սեղմում աղյուսակը և նվազեցնում ֆայլի չափը սկավառակում, բայց ժամանակավորապես բլոկավորում է աղյուսակն իր կատարման ժամանակ:

Օգտագործման օրինակ՝

VACUUM;
VACUUM FULL;

Կանոնավոր VACUUM-ի կատարումը կարևոր է կատարողականությունը պահպանելու և սկավառակի տարածքի գերօգտագործումը կանխելու համար։