Senior
Ինչ է տեղի ունենում ֆիզիկապես հեռացված գրառումների հետ PostgreSQL-ում: Երբ նրանք հեռացվում են?
sobes.tech AI
Պատասխան AI-ից
PostgreSQL-ում, երբ դուք ջնջում եք գրառում, այն անմիջապես ֆիզիկապես չի ջնջվում աղյուսակից։ Փոխարենը, գրառումը նշվում է որպես ջնջված (մահացած տուփ), բայց մնում է աղյուսակում՝ ապահովելու համար գործարքների համահունչությունը և վերականգնման հնարավորությունը։
Իրական ջնջումը տեղի է ունենում vacuuming (VACUUM) գործընթացի ժամանակ, որը ազատում է այդ «մահացած» տուփերի զբաղեցրած տարածքը և դարձնում այն հասանելի նոր օգտագործման համար։
Այսպիսով, ջնջված գրառումները գոյություն ունեն աղյուսակում մինչև VACUUM-ի կատարմանը։ Սա օգնում է խուսափել մրցակցային մուտքի խնդիրներից և ապահովում է MVCC (բազմամեկնային մուտքի վերահսկում):
Օրինակ հրամանը vacuum գործարկելու համար՝
VACUUM;
Կամ ավելի ագրեսիվ տարածք ազատելու համար՝
VACUUM FULL;