เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบ—เปˆเบฒเบ™เบญเปˆเบฒเบ™เบšเบปเบ”เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบ‚เบญเบ‡ 2016 เป‚เบ”เบ Andrey Salnikov "เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql"

เปƒเบ™เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบงเบดเป€เบ„เบฒเบฐเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ•เบปเป‰เบ™เบ•เปเปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบญเบญเบเปเบšเบšเปเบฅเบฐเบเบฒเบ™เบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ. เปเบฅเบฐเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเป€เบญเบปเบฒเบžเบฝเบ‡เปเบ•เปˆเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ Postgresql. เบ•เบฒเบกเบเบปเบ”เบฅเบฐเบšเบฝเบš, เบ™เบตเป‰เปเบกเปˆเบ™เบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เบชเบดเป‰เบ™เบชเบธเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบšเปเปˆเบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰เป€เบซเบฑเบ™เป„เบ”เป‰.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบเบดเบ™เบ”เบตเบ—เบตเปˆเป„เบ”เป‰เบ•เป‰เบญเบ™เบฎเบฑเบšเบ—เบธเบเบ„เบปเบ™! เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ™เบตเป‰เบšเปเปˆเป€เบ›เบฑเบ™เบ—เบฒเบ‡เบงเบดเบŠเบฒเบเบฒเบ™เบ„เบทเบเบฑเบšเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเบˆเบฒเบเป€เบžเบทเปˆเบญเบ™เบฎเปˆเบงเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ. เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ™เบตเป‰เบชเปˆเบงเบ™เปƒเบซเบเปˆเปเบกเปˆเบ™เปเบ™เปƒเบชเปˆเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบฅเบฐเบšเบปเบš backend เป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบˆเปเบฒเบ™เบงเบ™เบฅเบนเบเบ„เป‰เบฒเบซเบผเบฒเบเบžเปเบชเบปเบกเบ„เบงเบ™. เปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒเบ—เบธเบเบ„เบปเบ™เป€เบฎเบฑเบ”เบœเบดเบ”เบžเบฒเบ”เบ„เบทเบเบฑเบ™. เบ‚เป‰เบญเบเบˆเบฐเบšเบญเบเป€เบˆเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบžเบงเบเบกเบฑเบ™. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบญเบฐเบ—เบดเบšเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบฎเป‰เบฒเบเปเบฎเบ‡เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบœเบดเบ”เบžเบฒเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบˆเบดเปˆเบ‡เป€เบฎเบฑเบ”เบœเบดเบ”? เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ–เบทเบเป€เบฎเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบชเบญเบ‡เป€เบซเบ”เบœเบปเบ™: เบขเบนเปˆ Random, เบšเบฒเบ‡เบ—เบตเบกเบฑเบ™เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบญเบญเบเปเบฅเบฐเบเป‰เบญเบ™เบ„เบงเบฒเบกเบšเปเปˆเบฎเบนเป‰เบ‚เบญเบ‡เบเบปเบ™เป„เบเบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เบฅเบฐเบ”เบฑเบšเบฅเบฐเบซเบงเปˆเบฒเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡.

เบ‚เป‰เบญเบเบˆเบฐเบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡เบชเบฒเบกเบญเบฑเบ™เปƒเบซเป‰เบเบฑเบšเป€เบˆเบปเป‰เบฒเบ”เป‰เบงเบเบฎเบนเบšเบ‚เบตเป‰เบฎเป‰เบฒเบเบ‚เบญเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเบ”เบตเบกเบฒเปƒเบซเป‰. เบ‚เป‰เบญเบเบˆเบฐเบšเบญเบเบ—เปˆเบฒเบ™เบชเบฑเป‰เบ™เป†เบเปˆเบฝเบงเบเบฑเบšเบเบปเบ™เป„เบเบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒ, เป€เบกเบทเปˆเบญเบžเบงเบเป€เบ‚เบปเบฒเป€เบเบตเบ”เบ‚เบถเป‰เบ™, เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”. เบ‚เป‰เบญเบเบˆเบฐเบšเบญเบเป€เบˆเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบŠเปˆเบงเบเปเบฅเบฐเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบ‚เป‰เบญเบเปƒเบŠเป‰เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบตเปˆเบ‚เป‰เบญเบเบกเบตเบชเบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡. เปเบœเปˆเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบกเบตเบšเบฑเบ™เบŠเบตเบฅเบนเบเบ„เป‰เบฒ, เบญเบตเบเบญเบฑเบ™เบซเบ™เบถเปˆเบ‡เบกเบตเบ—เบธเบฅเบฐเบเปเบฒเปƒเบ™เบšเบฑเบ™เบŠเบตเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เปเบฅเบฐเบ”เป‰เบงเบเบ„เบงเบฒเบกเบ–เบตเปˆเบšเบฒเบ‡เบขเปˆเบฒเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ›เบฑเบšเบ›เบธเบ‡เบเบญเบ”เป€เบ‡เบดเบ™เปƒเบ™เบšเบฑเบ™เบŠเบตเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบ‚เปเป‰เบกเบนเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡เปเบœเปˆเบ™: เบกเบฑเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ™เป‰เบญเบ, 2 MB. เป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเปเบกเปˆเบ™เบเบฑเบ‡เบ”เบตเบซเบผเบฒเบ. เปเบฅเบฐเบเบฒเบ™เป‚เบซเบผเบ”เบ—เบตเปˆเบ”เบตเบžเปเบชเบปเบกเบ„เบงเบ™ - 2 เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ•เปเปˆเบงเบดเบ™เบฒเบ—เบตเบญเบตเบ‡เบ•เบฒเบกเปเบœเปˆเบ™.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เปเบฅเบฐเป‚เบ”เบเบœเปˆเบฒเบ™เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ™เบตเป‰เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบซเบฑเบ™เบเบฒเบŸเป€เบžเบทเปˆเบญเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเปƒเบˆเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เบเปˆเบฝเบงเบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™. เบชเบฐเป€เบซเบกเบตเบˆเบฐเบกเบต 2 เบชเบฐเป„เบฅเป‰เบ—เบตเปˆเบกเบตเบเบฒเบŸ. เบชเบฐเป„เบฅเป‰เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ.

เปเบฅเบฐเปƒเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบเปเปˆเบกเบตเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเบ™เป‰เบญเบเป†. เบ”เบฑเบ”เบŠเบฐเบ™เบตเปเบกเปˆเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบขเบนเปˆเบ—เบตเปˆ 2 MB. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบ—เบณเบญเบดเบ”เบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบŠเป‰เบฒเบ.

เป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐ เปœเบญเบ‡ เป‚เบ”เบเบชเบฐเป€เบฅเปˆเบเปƒเบ™เป€เบŠเบตเบšเป€เบงเบตเปเบกเปˆเบ™เบเบฑเบ‡เบ„เบปเบ‡เบ—เบตเปˆเปเบฅเบฐเบชเบฑเป‰เบ™. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบ”เป‰เบฒเบ™เบ‚เบงเบฒเป€เบ—เบดเบ‡.

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบŠเป‰เบฒเบเบฅเบธเปˆเบกเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบเบฒเบงเบ—เบตเปˆเบชเบธเบ”. เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบงเปˆเบฒเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเปเบกเปˆเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบขเปˆเบฒเบ‡เป„เบงเบงเบฒ. เปเบฅเบฐ autovacuum เบเบฑเบ‡เบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰, เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบกเบฑเบ™เบˆเบฐเบชเบทเบšเบ•เปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเปเบฅเบฐเบˆเบฐเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ•เปเปˆเบžเบงเบเป€เบฎเบปเบฒ.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบชเบฐเป„เบฅเป‰เบ—เบตเบชเบญเบ‡เบชเบฐเป€เบซเบกเบตเบˆเบฐเบญเบธเบ—เบดเบ”เบ•เบปเบ™เป€เบžเบทเปˆเบญเปเบœเปˆเบ™เบ—เบตเปˆเบ–เบทเบเบ—เบปเบ”เบชเบญเบš. เปƒเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบ›เบฑเบšเบ›เบธเบ‡เบเบญเบ”เป€เบ‡เบดเบ™เบšเบฑเบ™เบŠเบตเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบงเปˆเบฒเป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบชเบฐเป€เบฅเปˆเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ”เบต, เบซเบ™เป‰เบญเบเบเบงเปˆเบฒ millisecond. เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบงเปˆเบฒเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบต (เบ™เบตเป‰เปเบกเปˆเบ™เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบ”เป‰เบฒเบ™เบ‚เบงเบฒเป€เบ—เบดเบ‡) เบเบฑเบ‡เบ–เบทเบเบšเปเบฅเบดเป‚เบžเบเบขเปˆเบฒเบ‡เป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™เปเบฅเบฐเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ™เป‰เบญเบ.

เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบ”เป‰เบฒเบ™เบ‚เบงเบฒเบฅเบธเปˆเบกเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เปเบฅเบฐเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เปเบœเปˆเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบœเปˆเบฒเบ™เปƒเบ™เบเบฒเบ™เบŠเบญเบเบซเบฒเป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เบกเบฑเบ™. เปเบฅเบฐเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ•เบฒเบกเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเปเบกเปˆเบ™ 2 เบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป€เบงเบปเป‰เบฒเปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เปเบฅเบฐเบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ„เบงเบฒเบกเป‚เบชเบเป€เบชเบปเป‰เบฒ. เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบกเบตเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบฅเบทเบกเบเบฒเบง. เป€เบซเบ”เบœเบปเบ™เปเบกเปˆเบ™เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบง banal เบ—เบฑเบ‡เบซเบกเบปเบ”:

  • เบซเบ™เบถเปˆเบ‡เปƒเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบปเบšเป€เบฅเบทเป‰เบญเบเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบžเบฒเบเบ™เบญเบเปƒเบ™เบฅเบฐเบซเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ. เปเบฅเบฐเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เบ•เบญเบšเบžเบงเบเป€เบฎเบปเบฒ. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบ›เบตเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ, เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเป„เบ›เบˆเบฒเบเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบžเบทเปˆเบญเบญเปˆเบฒเบ™เบญเบตเป€เบกเบฅเปŒเบซเบผเบทเบšเปเบฅเบดเบเบฒเบ™เบญเบทเปˆเบ™เบžเบฒเบเปƒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เปเบฅเบฐเบ”เป‰เบงเบเป€เบซเบ”เบœเบปเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบกเบฑเบ™เบšเปเปˆเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ. เปเบฅเบฐเบเบญเบ‡เบ›เบฐเบŠเบธเบกเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เบ•เบดเบ”เบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเบ—เบตเปˆเบกเบฑเบ™เบšเปเปˆเบฎเบนเป‰เบงเปˆเบฒเบกเบฑเบ™เบˆเบฐเปเบเป‰เป„เบ‚เป„เบ”เป‰เป€เบกเบทเปˆเบญเปƒเบ”.
  • เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเบชเบญเบ‡เปเบกเปˆเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบเบปเบเป€เบงเบฑเป‰เบ™เปƒเบ™เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡. เปเบฅเบฐเปƒเบ™เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ›เบดเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เบ”เป‰เบงเบเบเบญเบ‡เบ›เบฐเบŠเบธเบกเบ—เบตเปˆเบซเป‰เบญเบเบ”เป‰เบงเบเบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเป€เบ›เบตเบ”.
  • เปเบฅเบฐเบญเบฑเบ™เบชเบธเบ”เบ—เป‰เบฒเบเบเบฑเบ‡เป€เบ›เบฑเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบžเบปเบšเป€เบฅเบทเป‰เบญเบ. เบ™เบตเป‰เปเบกเปˆเบ™เบฅเบฐเบซเบฑเบ”เบ„เบธเบ™เบ™เบฐเบžเบฒเบšเบ•เปเปˆเบฒ. เบšเบฒเบ‡เบเบญเบšเป€เบ›เบตเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ. เบกเบฑเบ™ hangs, เปเบฅเบฐเบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบšเปเปˆเบฎเบนเป‰เบงเปˆเบฒเบขเบนเปˆเปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ—เปˆเบฒเบ™เบกเบตเบกเบฑเบ™เบซเป‰เบญเบ.

เบชเบดเปˆเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ™เปเบฒเป„เบ›เปƒเบช?

เป€เบ–เบดเบ‡เบˆเบธเบ”เบ—เบตเปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบฅเบฐเบ”เบฑเบ”เบŠเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบšเบงเบกเบ•เบปเบงเบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ. เบ™เบตเป‰เปเบกเปˆเบ™เบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เบญเบ‡ bloat เบ„เบทเบเบฑเบ™. เบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เบ™เบตเป‰เบˆเบฐเบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบˆเบฐเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเปเบฅเบฐเบเบฒเบ™เป‚เบซเบผเบ”เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบˆเบฐเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™. เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ—เบปเบ™เบ—เบธเบ. เป€เบžเบฒเบฐเบงเปˆเบฒเบ–เป‰เบฒเบ—เปˆเบฒเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒ 10 milliseconds เปƒเบ™เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปƒเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, 10 milliseconds เบเปˆเบฝเบงเบเบฑเบšเป€เบซเบ”เบœเบปเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบŸเบฑเบ‡เบŠเบฑเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒ 20 milliseconds เป€เบžเบทเปˆเบญเบชเปเบฒเป€เบฅเบฑเบ”. เปเบฅเบฐเบ•เบญเบ™เบ™เบตเป‰เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบˆเบฐเป‚เบชเบเป€เบชเบปเป‰เบฒเบซเบผเบฒเบ.

เปเบฅเบฐเปƒเบซเป‰เป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบกเบตเบซเบเบฑเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™. เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบŠเป‰เบฒเบเบฅเบธเปˆเบกเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบเบฒเบงเบ™เบฒเบ™. เปเบฅเบฐเบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เป€เบ—เบดเบ‡เบŠเป‰เบฒเบ, เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบงเปˆเบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเบฐเบ—เบฑเบ™เบซเบฑเบ™เบˆเบฒเบเบชเบญเบ‡ megabytes เป€เบ›เบฑเบ™ 300 megabytes. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบˆเปเบฒเบ™เบงเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบšเปเปˆเป„เบ”เป‰เบ›เปˆเบฝเบ™เปเบ›เบ‡, i.e. เบกเบตเบˆเปเบฒเบ™เบงเบ™เบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเบซเบผเบฒเบเบžเปเบชเบปเบกเบ„เบงเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบปเปˆเบงเป„เบ›เบเปˆเบฝเบงเบเบฑเบšเป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบชเบฐเป€เบฅเปˆเบเบเบฑเบ‡เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป‚เบ”เบเบ„เปเบฒเบชเบฑเปˆเบ‡เบซเบผเบฒเบเบ‚เบฐเบซเบ™เบฒเบ”. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบฅเบตเปˆเบกเบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™. เปเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบ‚เบฐเบšเบงเบ™เบเบฒเบ™ Postgres เบžเบฒเบเปƒเบ™เป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบงเปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡ autovacuum, เป€เบŠเบดเปˆเบ‡เบžเบฐเบเบฒเบเบฒเบกเป€เบฎเบฑเบ”เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปเบฅเบฐเบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบกเบตเบซเบเบฑเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ? เบ„เบทโ€‹เบเบฑเบ™. เป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐ เปœเบญเบ‡ เป‚เบ”เบเบชเบฐเป€เบฅเปˆเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ•เบฒเบกเบชเบฑเบ™เบเบฒเบ™เป„เบ”เป‰เป‚เบ”เบ”เบ‚เบถเป‰เบ™เบซเบผเบฒเบ เบ„เบณ เบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบ‚เบฐ เปœเบฒเบ”. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเปƒเบ™เปเบ‡เปˆเบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบšเปเบฅเบดเป‚เบžเบ, เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบงเปˆเบฒเบเบฒเบ™เป‚เบซเบผเบ”เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเป„เบ”เป‰เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบ”เป‰เบฒเบ™เบ‚เบงเบฒเป€เบ—เบดเบ‡. เปเบฅเบฐเบกเบฑเบ™เป„เบ”เป‰เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบเป‰เบญเบ™เบงเปˆเบฒเป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบ•เป‰เบญเบ‡เป„เบ”เป‰เบˆเบฑเบ”เบฅเบฝเบ‡เบœเปˆเบฒเบ™เบŠเปเปˆเบ‚เบญเบ‡เบชเบฒเบเบ—เบตเปˆเบšเปเปˆเบกเบตเบ›เบฐเป‚เบซเบเบ”เปƒเบ™เบเบฒเบ™เบŠเบญเบเบซเบฒเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบŸเบ‚เบงเบฒเบฅเบธเปˆเบก. เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป‚เบ—เบ•เปเปˆเบงเบดเบ™เบฒเบ—เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ, เป€เบžเบฒเบฐเบงเปˆเบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบšเปเปˆเบกเบตเป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบˆเปเบฒเบ™เบงเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ”เบฝเบงเบเบฑเบ™.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบเบฑเบšเบ„เบทเบ™เบชเบนเปˆเบŠเบตเบงเบดเบ”. เบžเบงเบเป€เบฎเบปเบฒเป„เบ›เบญเบญเบ™เป„เบฅเบ™เปŒเปเบฅเบฐเบŠเบญเบเบซเบฒเบงเปˆเบฒเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบเบฒเบงเบ™เบฒเบ™เบ™เปเบฒเป„เบ›เบชเบนเปˆเบšเบฑเบ™เบซเบฒ. เบžเบงเบเป€เบฎเบปเบฒเบŠเบญเบเบซเบฒเปเบฅเบฐเบ‚เป‰เบฒเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ™เบตเป‰. เปเบฅเบฐเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ›เบปเบเบเบฐเบ•เบดเบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ. เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบ•เบฒเบกเบ—เบตเปˆเบกเบฑเบ™เบ„เบงเบ™.

เบžเบงเบเป€เบฎเบปเบฒเบชเบฐเบซเบ‡เบปเบšเบฅเบปเบ‡, เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบงเปˆเบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบเปˆเบญเบ™เบเบฒเบ™เบชเบธเบเป€เบชเบตเบ™. เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปเบกเปˆเบ™เบเบฑเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบŠเป‰เบฒเบฅเบปเบ‡, เปเบฅเบฐเบŠเป‰เบฒเบฅเบปเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ. เบซเบ™เบถเปˆเบ‡เปเบฅเบฐเป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบซเบฒเบชเบญเบ‡เป€เบ—เบทเปˆเบญเบŠเป‰เบฒเบฅเบปเบ‡เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบ‚เป‰เบญเบ. เบเบฒเบ™เป‚เบซเบผเบ”เบขเบนเปˆเปƒเบ™เป€เบŠเบตเบšเป€เบงเบตเบเบฑเบ‡เบชเบนเบ‡เบเบงเปˆเบฒเบ—เบตเปˆเบกเบฑเบ™เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบเปˆเบญเบ™เบญเบธเบ›เบฐเบ•เบดเป€เบซเบ”.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เปเบฅเบฐเบ„เปเบฒเบ–เบฒเบก: "เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบเบฑเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰?" เปเบฅเบฐเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰เป€เบเบตเบ”เบ‚เบทเป‰เบ™เบเบฑเบšเบžเบทเป‰เบ™เบ–เบฒเบ™. เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เบงเปˆเบฒเบกเบฑเบ™เป„เบ”เป‰เบขเบธเบ”เป€เบŠเบปเบฒเปเบฅเบฐเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเปƒเบ™เป„เบฅเบเบฐเบเบฒเบงเบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡. เปเบ•เปˆเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ›เป‰เบฒเบเป„เบ”เป‰เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เป€เบ–เบดเบ‡เบ•เบฒเบเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบญเบธเบ›เบฐเบ•เบดเป€เบซเบ”. เปเบฅเบฐเบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ™เบฑเป‰เบ™เบกเบฒเบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเป„เบ”เป‰เบซเบผเบธเบ”เบฅเบปเบ‡. เป€เบงเบฅเบฒเบชเบฐเป€เบฅเปˆเบเบขเบนเปˆเปƒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เป„เบ”เป‰เบชเบฐเบ–เบฝเบ™เบฅเบฐเบžเบฒเบš. เปเบฅเบฐเบ„เปเบฒเบ•เบญเบšเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบˆเบฐเบกเบฒเบขเปˆเบฒเบ‡เบžเบฝเบ‡เบžเปเปƒเบ™เบ„เบงเบฒเบกเป„เบงเบ—เบตเปˆเบเบญเบกเบฎเบฑเบšเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ. autovacuum เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบซเบผเบฒเบเบ‚เบถเป‰เบ™เปเบฅเบฐเป€เบฅเบตเปˆเบกเป€เบฎเบฑเบ”เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบกเบตเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบ, เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™เบซเบผเบฒเบเบ‚เบถเป‰เบ™.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบญเบตเบ‡เบ•เบฒเบกเปเบœเปˆเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฑเบšเบšเบฑเบ™เบŠเบต, เบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ›เปˆเบฝเบ™เบเบญเบ”เป€เบ‡เบดเบ™: เป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเป„เบ”เป‰เบเบฑเบšเบ„เบทเบ™เบชเบนเปˆเบ›เบปเบเบเบฐเบ•เบด. เปเบ•เปˆโ€‹เปƒเบ™โ€‹เบ„เบงเบฒเบกโ€‹เป€เบ›เบฑเบ™โ€‹เบˆเบดเบ‡โ€‹เบกเบฑเบ™โ€‹เปเบกเปˆเบ™โ€‹เบชเบนเบ‡โ€‹เบเบงเปˆเบฒโ€‹เบซเบ™เบถเปˆเบ‡โ€‹เปเบฅเบฐโ€‹เป€เบ„เบดเปˆเบ‡โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เป€เบ—เบปเปˆเบฒโ€‹.

เปเบฅเบฐเบˆเบฒเบเบเบฒเบ™เป‚เบซเบผเบ”เปƒเบ™เป‚เบ›เป€เบŠเบ”เป€เบŠเบต, เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบงเปˆเบฒเบเบฒเบ™เป‚เบซเบผเบ”เบขเบนเปˆเปƒเบ™เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบšเปเปˆเป„เบ”เป‰เบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒเบ„เปˆเบฒเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเป€เบเบตเบ”เบญเบธเบ›เบฐเบ•เบดเป€เบซเบ”. เปเบฅเบฐเป€เบซเบ”เบœเบปเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบŠเบฑเบ”เป€เบˆเบ™เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบฅเบธเปˆเบกเบ‚เบงเบฒ. เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เบงเปˆเบฒเบˆเปเบฒเบ™เบงเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบ„เบปเป‰เบ™เบซเบฒเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒเป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™, เบžเบงเบเป€เบฎเบปเบฒเป€เบชเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบˆเบฑเบ”เบฎเบฝเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบ›เบฐเป‚เบซเบเบ”. เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบตเบกเบตเบชเบฐเบ–เบฝเบ™เบฅเบฐเบžเบฒเบš.

เป‚เบ”เบเบฅเบงเบกเบ”เบต, เปเบ•เปˆเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เปเบกเปˆเบ™เบฎเป‰เบฒเบเปเบฎเบ‡เบเบงเปˆเบฒเป€เบเบปเปˆเบฒ. เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบŠเบกเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เป€เบ›เบฑเบ™เบœเบปเบ™เบกเบฒเบˆเบฒเบเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ™เบตเป‰.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เปเบฅเบฐเป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเป„เบ”เป‰เบขเบนเปˆเปƒเบ™เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ—เบดเบ”เบชเบฐเบ”เบตเป€เบฅเบฑเบเบ™เป‰เบญเบ. เบ—เบดเบ”เบชเบฐเบ”เบตเบเปˆเบฝเบงเบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบžเบฒเบเปƒเบ™. เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เป€เบ„เบทเปˆเบญเบ‡เบ”เบนเบ”เบเบธเปˆเบ™เปƒเบ™เบฅเบปเบ” เปเบฅเบฐเบกเบฑเบ™เป€เบฎเบฑเบ”เบซเบเบฑเบ‡?

เบฎเบนเป‰เบซเบ™เบฑเบ‡เบชเบทเบชเบฑเป‰เบ™เป†เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆ. เปƒเบ™เบšเบฒเบ‡เป€เบงเบฅเบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ•เบฒเบ•เบฐเบฅเบฒเบ‡. เบžเบงเบเป€เบฎเบปเบฒเบกเบตเปเบ–เบงเบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡. เบชเบฒเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบง, เบกเบตเบŠเบตเบงเบดเบ”เบŠเบตเบงเบฒ, เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ–เบทเบเบซเบกเบฒเบเป€เบ›เบฑเบ™เบชเบตเบ‚เบฝเบงเปƒเบ™เบฎเบนเบš. เปเบฅเบฐเบกเบตเป€เบชเบฑเป‰เบ™เบ•เบฒเบเบ—เบตเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเปเบฅเป‰เบง, เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡, เปเบฅเบฐเบฅเบฒเบเบเบฒเบ™เปƒเบซเบกเปˆเป„เบ”เป‰เบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เบžเบงเบเบกเบฑเบ™. เปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเบซเบกเบฒเบเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบญเบตเบเบ•เปเปˆเป„เบ›. เปเบ•เปˆเบžเบงเบเป€เบ‚เบปเบฒเบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ” Postgres.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบนเบ™เบเบฒเบเบฒเบ”เบฅเบปเบ”? เปƒเบ™เบšเบฒเบ‡เบˆเบธเบ”, autovacuum เบกเบฒ, เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบ–เบฒเบกเบกเบฑเบ™: "เบเบฐเบฅเบธเบ™เบฒเปƒเบซเป‰เบ‚เป‰เบญเบเบกเบต id เบ‚เบญเบ‡เบ—เบธเบฅเบฐเบเปเบฒเป€เบเบปเปˆเบฒเปเบเปˆเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเป€เบ›เบตเบ”เบขเบนเปˆเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™." เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบปเปˆเบ‡เบ„เบทเบ™ id เบ™เบตเป‰. เปเบฅเบฐ autovacuum, เบญเบตเบ‡เปƒเบชเปˆเบกเบฑเบ™, เบˆเบฑเบ”เบฅเบฝเบ‡เบ•เบฒเบกเป€เบชเบฑเป‰เบ™เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡. เปเบฅเบฐเบ–เป‰เบฒเบฅเบฒเบงเป€เบซเบฑเบ™เบงเปˆเบฒเบšเบฒเบ‡เป€เบชเบฑเป‰เบ™เบ–เบทเบเบ›เปˆเบฝเบ™เปเบ›เบ‡เป‚เบ”เบเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเป€เบเบปเปˆเบฒเบซเบผเบฒเบ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบฅเบฒเบงเบกเบตเบชเบดเบ”เบ—เบตเปˆเบˆเบฐเบซเบกเบฒเบเบžเบงเบเบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ„เบทเบ™เปƒเบซเบกเปˆเปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เป‚เบ”เบเบเบฒเบ™เบ‚เบฝเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบซเบกเปˆเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™.

เปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบชเบทเบšเบ•เปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบชเบทเบšเบ•เปเปˆเป€เบฎเบฑเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡. เปเบฅเบฐเปƒเบ™เป€เบชเบฑเป‰เบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ„เบทเบ™เปƒเบซเบกเปˆ, เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบซเบกเปˆ. เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบงเบปเบ‡เบˆเบญเบ™, i.e. เบ•เบฐเบซเบผเบญเบ”เป€เบงเบฅเบฒเบšเบฒเบ‡เป€เบชเบฑเป‰เบ™เป€เบเบปเปˆเบฒเบ—เบตเปˆเบ•เบฒเบเปเบฅเป‰เบงเบ›เบฒเบเบปเบ”เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เปเบ—เบ™เบ—เบตเปˆเบžเบงเบเบกเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เบฅเบปเบ‡เปƒเบซเบกเปˆเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™. เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ–เบฒเบ™เบฐเบ›เบปเบเบเบฐเบ•เบดเบชเปเบฒเบฅเบฑเบš PostgreSQL เป€เบฎเบฑเบ”เบงเบฝเบ.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบญเบธเบ›เบฐเบ•เบดเป€เบซเบ”? เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ™เบตเป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™เป„เบ”เป‰เปเบ™เบงเปƒเบ”?

เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เบกเบตโ€‹เบชเบฑเบ™โ€‹เบเบฒเบ™โ€‹เปƒเบ™โ€‹เบชเบฐโ€‹เบžเบฒเบšโ€‹เบเบฒเบ™โ€‹เบšเบฒเบ‡โ€‹เบขเปˆเบฒเบ‡, เบšเบฒเบ‡โ€‹เบ„เบปเบ™โ€‹เบกเบตโ€‹เบŠเบตโ€‹เบงเบดเบ”, เบšเบฒเบ‡โ€‹เป€เบชเบฑเป‰เบ™โ€‹เบ•เบฒเบ. เป€เบ„เบทเปˆเบญเบ‡เบชเบนเบ™เบเบฒเบเบฒเบ”เบฅเบปเบ”เบกเบฒเบฎเบญเบ”เปเบฅเป‰เบง. เบฅเบฒเบงเป„เบ”เป‰เบ–เบฒเบกเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบงเปˆเบฒเบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเป€เบเบปเปˆเบฒเปเบเปˆเบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เบซเบเบฑเบ‡เปเบฅเบฐ id เบ‚เบญเบ‡เบกเบฑเบ™เปเบกเปˆเบ™เบซเบเบฑเบ‡. เบ‚เป‰เบญเบเป„เบ”เป‰เบฎเบฑเบš id เบ™เบตเป‰, เป€เบŠเบดเปˆเบ‡เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบซเบผเบฒเบเบŠเบปเปˆเบงเป‚เบกเบ‡เบเปˆเบญเบ™, เบšเบฒเบ‡เบ—เบตเบชเบดเบšเบ™เบฒเบ—เบตเบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰. เบกเบฑเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบเบฒเบ™เป‚เบซเบผเบ”เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบกเบตเบขเบนเปˆเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเปœเบฑเบเป€เบ—เบปเปˆเบฒเปƒเบ”. เปเบฅเบฐเบฅเบฒเบงเป„เบ”เป‰เบŠเบญเบเบซเบฒเป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบฅเบฒเบงเบชเบฒเบกเบฒเบ”เบซเบกเบฒเบเบงเปˆเบฒเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบ„เบทเบ™เปƒเบซเบกเปˆ. เปเบฅเบฐเบ‚เป‰เบญเบเบšเปเปˆเบžเบปเบšเป€เบชเบฑเป‰เบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.

เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเบทเบšเบ•เปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡. เบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบ™เบกเบฑเบ™, เบ›เบฑเบšเบ›เบธเบ‡เบกเบฑเบ™, เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เปเป‰เบกเบนเบ™. เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ„เบงเบ™เป€เบฎเบฑเบ”เบซเบเบฑเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰? เบ™เบฒเบ‡เบšเปเปˆเบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบเบฒเบ™เป€เบžเบตเปˆเบกเบชเบฒเบเปƒเบซเบกเปˆเปƒเบชเปˆเปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง. เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบšเบงเบก.

เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบชเบฑเป‰เบ™เบชเบตเบ‚เบฝเบงเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบ. เปเบ•เปˆเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบšเบฑเบ™เบซเบฒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบกเบฑเบ™ turns เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบชเบตเบ‚เบฝเบงเปเบกเปˆเบ™เบ•เปเปˆเบฒเบ—เบตเปˆเบชเบธเบ”เปƒเบ™เบ—เบปเปˆเบงเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”.

เปเบฅเบฐเป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบก, เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ•เป‰เบญเบ‡เบœเปˆเบฒเบ™เป€เบชเบฑเป‰เบ™เบ—เบฑเบ‡เบซเบกเบปเบ”: เบ—เบฑเบ‡เบชเบตเปเบ”เบ‡เปเบฅเบฐเบชเบตเบ‚เบฝเบง, เป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒเป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™. เปเบฅเบฐเบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เบญเบ‡ bloating เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบ›เบฐเป‚เบซเบเบ”เปเบกเปˆเบ™เป€เบญเบตเป‰เบ™เบงเปˆเบฒ "bloat", เป€เบŠเบดเปˆเบ‡เบเบดเบ™เป€เบ–เบดเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบดเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบˆเบทเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™, เบกเบฑเบ™เปเบกเปˆเบ™ 2 MB, เบกเบฑเบ™เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™ 300 MB? เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ›เปˆเบฝเบ™ megabytes เป€เบ›เบฑเบ™ gigabyte เปเบฅเบฐเบ—เปˆเบฒเบ™เบˆเบฐเบชเบนเบ™เป€เบชเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปเบœเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบขเปˆเบฒเบ‡เป„เบงเบงเบฒ.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบœเบปเบ™โ€‹เบชเบฐโ€‹เบ—เป‰เบญเบ™โ€‹เบญเบฑเบ™โ€‹เปƒเบ”โ€‹เบ—เบตเปˆโ€‹เบญเบฒเบ”โ€‹เบˆเบฐโ€‹เบกเบตโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒ?

  • เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบฅเบฐเบ”เบฑเบ”เบŠเบฐเบ™เบตเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™ 150 เป€เบ—เบปเปˆเบฒ. เบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เบ„เบปเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเป€เบชเบเบŠเบตเบงเบดเบ”เบซเบผเบฒเบเบ‚เบถเป‰เบ™เป€เบกเบทเปˆเบญเบžเบงเบเป€เบ‚เบปเบฒเป€เบฅเบตเปˆเบกเปเบปเบ”เบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบดเบชเบเปŒ.
  • เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบˆเบฐเบšเปเปˆเบซเบผเบธเบ”เบฅเบปเบ‡. Autovacuum เปƒเบ™เบšเบฒเบ‡เบเปเบฅเบฐเบ™เบตเบชเบฒเบกเบฒเบ”เบ•เบฑเบ”เบซเบฒเบ‡เบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป„เบ”เป‰เบ–เป‰เบฒเบกเบตเบžเบฝเบ‡เปเบ•เปˆเป€เบชเบฑเป‰เบ™เบ•เบฒเบ. เปเบ•เปˆเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบกเบตเบเบฒเบ™เบซเบกเบนเบ™เบงเบฝเบ™เบ„เบปเบ‡เบ—เบตเปˆ, เป€เบชเบฑเป‰เบ™เบชเบตเบ‚เบฝเบงเบซเบ™เบถเปˆเบ‡เบญเบฒเบ”เบˆเบฐ freeze เปƒเบ™เบ—เป‰เบฒเบเปเบฅเบฐเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบญเบทเปˆเบ™เป†เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบ–เบทเบเบ‚เบฝเบ™เบฅเบปเบ‡เบขเบนเปˆเบšเปˆเบญเบ™เปƒเบ”เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบ‚เบญเบ‡เปเบœเปˆเบ™. เปเบ•เปˆเบ™เบตเป‰เปเบกเปˆเบ™เป€เบซเบ”เบเบฒเบ™เบ—เบตเปˆเบšเปเปˆเบซเบ™เป‰เบฒเบˆเบฐเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเป€เบญเบ‡เบˆเบฐเบซเบผเบธเบ”เบฅเบปเบ‡เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ”, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบšเปเปˆเบ„เบงเบ™เบซเบงเบฑเบ‡เบเบฑเบšเบกเบฑเบ™.
  • เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบˆเบฑเบ”เบฅเบฝเบ‡เบœเปˆเบฒเบ™เบŠเปเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบ›เบฐเป‚เบซเบเบ”. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเป€เบชเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปเบœเปˆเบ™, เบžเบงเบเป€เบฎเบปเบฒเป€เบชเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เป‚เบฎเบ‡เบ‡เบฒเบ™เบœเบฐเบฅเบดเบ”เปเบฅเบฐเป„เบŸเบŸเป‰เบฒ.
  • เปเบฅเบฐเบ™เบตเป‰เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเป‚เบ”เบเบเบปเบ‡เบ•เปเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เป€เบžเบฒเบฐเบงเปˆเบฒเบ–เป‰เบฒเปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เป€เบงเบฅเบฒ 10 milliseconds เปƒเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป, 10 milliseconds เปƒเบ™เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบ™เป„เบฅเบเบฐ crash เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบ™เบถเปˆเบ‡เบงเบดเบ™เบฒเบ—เบตเปƒเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปเบฅเบฐ 10 milliseconds เบเปˆเบฝเบงเบเบฑเบšเบฅเบฐเบซเบฑเบ”, i.e. เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡. เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบซเบผเบธเบ”เบฅเบปเบ‡. เปเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบญเบธเบ›เบฐเบ•เบดเป€เบซเบ”เป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚, เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเปƒเบŠเป‰เป€เบงเบฅเบฒ 20 milliseconds เปƒเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป, 10 milliseconds เบเปˆเบฝเบงเบเบฑเบšเบฅเบฐเบซเบฑเบ”. เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบซเบผเบธเบ”เบฅเบปเบ‡เบซเบ™เบถเปˆเบ‡เป€เบ—เบปเปˆเบฒเปเบฅเบฐเป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบœเบปเบ™เบœเบฐเบฅเบดเบ”. เปเบฅเบฐเบญเบฑเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบเป‰เบญเบ™เบ—เบธเบฅเบฐเบเบณเบญเบฑเบ™เปœเบถเปˆเบ‡เบ—เบตเปˆเบขเบธเบ”, เบšเบฒเบ‡เบ—เบตเบญเบฒเบ”เบœเปˆเบฒเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.
  • เปเบฅเบฐเบ„เปเบฒเบ–เบฒเบก: "เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบญเบปเบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ„เบทเบ™เบกเบฒเป„เบ”เป‰เปเบ™เบงเปƒเบ”?" เป€เบžเบทเปˆเบญเปƒเบซเป‰เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ”เบตเบเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเปเบฅเบฐเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป€เบ‚เบปเป‰เบฒเบกเบฒเป„เบงเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบเบตเบ”เบเปˆเบญเบ™เบญเบธเบ›เบฐเบ•เบดเป€เบซเบ”.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบชเปเบฒเบฅเบฑเบšเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ™เบตเป‰เบกเบตเบงเบปเบ‡เบˆเบญเบ™เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™.

เบ—เปเบฒเบญเบดเบ”เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบŠเบญเบเบซเบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบšเบฑเบ™เบซเบฒเบ—เบตเปˆ bloated. เบžเบงเบเป€เบฎเบปเบฒเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเปƒเบ™เบšเบฒเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบซเบผเบฒเบเบเบงเปˆเบฒ, เปƒเบ™เบšเบฒเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบซเบ™เป‰เบญเบ. เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ pgstattuple. เป‚เบ”เบเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบŠเบญเบเบซเบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡ bloated.

เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบžเบปเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบšเบตเบšเบญเบฑเบ”เบžเบงเบเบกเบฑเบ™. เบกเบตเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰เปเบฅเป‰เบง. เปƒเบ™เบšเปเบฅเบดเบชเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบชเบฒเบกเป€เบ„เบทเปˆเบญเบ‡เบกเบท. เบญเบฑเบ™เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™ VACUUM เป€เบ•เบฑเบกเปƒเบ™เบ•เบปเบง. เบฅเบฒเบงเป€เบ›เบฑเบ™เบ„เบปเบ™เป‚เบซเบ”เบฎเป‰เบฒเบ, เป‚เบซเบ”เบฎเป‰เบฒเบเปเบฅเบฐเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเป€เบกเบ”เบ•เบฒ, เปเบ•เปˆเบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบฅเบฒเบงเบกเบตเบ›เบฐเป‚เบซเบเบ”เบซเบผเบฒเบ. Pg_repack ะธ pgcompactable - เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบญเปเบฒเบ™เบงเบเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเบ‚เบญเบ‡เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡. เปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบขเปˆเบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡.

เบžเบงเบเบกเบฑเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบ‚เบถเป‰เบ™เบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบชเบฐเบ”เบงเบเบเบงเปˆเบฒเบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™. เปเบ•เปˆเบ‚เป‰เบญเบเบˆเบฐเบšเบญเบเป€เบˆเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบ. เบชเบดเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เบงเปˆเบฒเบกเบตเบชเบฒเบกเป€เบ„เบทเปˆเบญเบ‡เบกเบท. เบกเบตเบซเบผเบฒเบเบ—เบตเปˆเบˆเบฐเป€เบฅเบทเบญเบเป€เบญเบปเบฒเบˆเบฒเบ.

เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเปเบเป‰เป„เบ‚เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบฅเบฐเปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบ—เบธเบเบขเปˆเบฒเบ‡เบ”เบต, เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบฎเบนเป‰เบˆเบฑเบเบงเบดเบ—เบตเบ›เป‰เบญเบ‡เบเบฑเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”:

  • เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ›เป‰เบญเบ‡เบเบฑเบ™เป„เบ”เป‰เบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ. เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ•เบดเบ”เบ•เบฒเบกเป„เบฅเบเบฐเป€เบงเบฅเบฒเบ‚เบญเบ‡เป€เบŠเบ”เบŠเบฑเบ™เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปเบกเปˆเบšเบปเบ”. เป€เบŠเบ”เบŠเบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเปƒเบ™เบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบชเบฐเบ–เบฒเบ™เบฐเบ—เบธเบฅเบฐเบเปเบฒ. เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบœเบนเป‰เบ—เบตเปˆเบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบตเบ”เบ—เบธเบฅเบฐเบเปเบฒ, เป€เบฎเบฑเบ”เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปเบฅเบฐเบ›เบฐเป„เบงเป‰, เบซเบผเบทเบžเบฝเบ‡เปเบ•เปˆ hung, เป„เบ”เป‰เบชเบนเบ™เป€เบชเบเบฅเบฐเบซเบฑเบ”.
  • เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™, เปƒเบ™เบ–เบฒเบ™เบฐเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบ—เบปเบ”เบชเบญเบšเบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบกเบทเปˆเบญเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบเบตเบ”เบ‚เบทเป‰เบ™. เบกเบฑเบ™เบšเปเปˆเบเบฒเบเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”. เบ™เบตเป‰เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”. เบ—เปˆเบฒเบ™เบˆเบฐเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบšเบฑเบ™เบซเบฒ "เป€เบ”เบฑเบเบ™เป‰เบญเบ" เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบเบฒเบงเบ™เบฒเบ™.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เปƒเบ™เบเบฒเบŸเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เบ—เปˆเบฒเบ™เบฎเบนเป‰เบงเปˆเบฒเบญเบฒเบเบฒเบ™เปเบฅเบฐเบžเบถเบ”เบ•เบดเบเปเบฒเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปเบ™เบงเปƒเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบ‚เป‰เบญเบเป„เบ”เป‰เบœเปˆเบฒเบ™เป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเบ—เบตเปˆเบกเบต VACUUM FULL เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰. เบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”เบชเปเบฒเบฅเบฑเบšเบ‚เป‰เบญเบ.

เบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป„เบ”เป‰เบเบฑเบšเบ„เบทเบ™เบชเบนเปˆเบชเบฐเบžเบฒเบšเบ›เบปเบเบเบฐเบ•เบดเบ‚เบญเบ‡เบชเบญเบ‡เบชเบฒเบกเป€เบกเบเบฒเป„เบšเปƒเบ™เบ—เบฑเบ™เบ—เบต. เบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเบ•เปเปˆเป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบชเบฐเป€เบฅเปˆเบเบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เปเบ•เปˆเป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ›เบฑเบšเบ›เบธเบ‡เบเบญเบ”เป€เบ‡เบดเบ™เปƒเบ™เบšเบฑเบ™เบŠเบต, เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบงเปˆเบฒเป€เบงเบฅเบฒเบ•เบญเบšเป‚เบ•เป‰เป‚เบ”เบเบชเบฐเป€เบฅเปˆเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเป„เบ”เป‰เบ–เบทเบเบซเบผเบธเบ”เบฅเบปเบ‡เปƒเบ™เบฅเบฐเบ”เบฑเบšเบเปˆเบญเบ™เบเบฒเบ™เบชเบธเบเป€เบชเบตเบ™. เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบšเปเบฅเบดเป‚เบžเบเป‚เบ”เบเป‚เบ›เป€เบŠเบ”เป€เบŠเบตเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเปเบฒเป€เบฅเบฑเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ™เบตเป‰เบเบฑเบ‡เบซเบผเบธเบ”เบฅเบปเบ‡เปƒเบ™เบฅเบฐเบ”เบฑเบšเบเปˆเบญเบ™เบเบฒเบ™เบ‚เบฑเบ”เบ‚เป‰เบญเบ‡. เปเบฅเบฐเป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบ‚เบงเบฒเบฅเบธเปˆเบกเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบŠเบญเบเบซเบฒเป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบฑเบ™เบ—เบต, เป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เบœเปˆเบฒเบ™เป€เบชเบฑเป‰เบ™เบ•เบฒเบเบ—เบตเปˆเบกเบตเบเปˆเบญเบ™เบ—เบตเปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบˆเบฐเบ–เบทเบเบšเบตเบšเบญเบฑเบ”. เปเบฅเบฐเป€เบงเบฅเบฒเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบชเบฐเป€เบฅเปˆเบเบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ”เบฝเบงเบเบฑเบ™. เปเบ•เปˆเปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบ‚เป‰เบญเบเบกเบตเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบฎเบฒเบ”เปเบงเบ‚เบญเบ‡เบ‚เป‰เบญเบ.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเป€เบฅเบทเปˆเบญเบ‡เบ—เปเบฒเบญเบดเบ”เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡. เบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบธเบ”. เปเบฅเบฐเบกเบฑเบ™เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบเบฑเบšเบ—เบธเบเบ„เบปเบ™, เป‚เบ”เบเบšเปเปˆเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเปเบฅเบฐเบ™เบฑเบเบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เปเบ™เบงเปƒเบ”. เบšเปเปˆเป„เบงเบซเบผเบทเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ™เบตเป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™.

เป€เบฅเบทเปˆเบญเบ‡เบ—เบตเบชเบญเบ‡, เปƒเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเปเบˆเบเบขเบฒเบเบเบฒเบ™เป‚เบซเบผเบ”เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

  • เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เปƒเบซเบเปˆโ€‹เบ‚เบถเป‰เบ™โ€‹เปเบฅเป‰เบงโ€‹เปเบฅเบฐโ€‹เบเบฒเบโ€‹เป€เบ›เบฑเบ™ guys เบ—เบตเปˆโ€‹เบฎเป‰เบฒเบโ€‹เปเบฎเบ‡. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบต replica เปเบฅเบฐเบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบ”เบตเบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเบ—เบตเปˆเบˆเบฐเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”: เบ‚เบฝเบ™เป„เบ›เบซเบฒเบญเบฒเบˆเบฒเบ™, เปเบฅเบฐเบญเปˆเบฒเบ™เบˆเบฒเบ replica. เปเบฅเบฐเบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰เป€เบเบตเบ”เบ‚เบทเป‰เบ™เป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฐเบเบฝเบกเบšเบฒเบ‡เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบซเบผเบท ETL. เปเบฅเบฐเบ—เบธเบฅเบฐเบเบดเบ”เบกเบตเบ„เบงเบฒเบกเบชเบธเบเบซเบผเบฒเบเบเปˆเบฝเบงเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰. เบฅเบฒเบงเบ•เป‰เบญเบ‡เบเบฒเบ™เบซเบผเบฒเบเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบ.
  • เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเบŠเบปเปˆเบงเป‚เบกเบ‡, เป€เบžเบฒเบฐเบงเปˆเบฒเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ„เบดเบ”เป„เบฅเปˆเป€เบ›เบฑเบ™ milliseconds. เบžเบงเบเป€เบฎเบปเบฒ, เบ„เบทเบเบฑเบšเบœเบนเป‰เบŠเบฒเบเบ—เบตเปˆเบเป‰เบฒเบซเบฒเบ™, เบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”. เปƒเบ™โ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เปเบŠเบโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบเบฒเบ™โ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบžเบฃเบฐโ€‹เบญเบฒโ€‹เบˆเบฒเบ™โ€‹, เปเบฅเบฐโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบฅเบฒเบโ€‹เบ‡เบฒเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบˆเปเบฒโ€‹เบฅเบญเบ‡โ€‹เป„เบ”เป‰โ€‹.
  • เบเบฒเบ™เปเบˆเบเบขเบฒเบเบเบฒเบ™เป‚เบซเบผเบ”.
  • เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™. เบžเบงเบเป€เบฎเบปเบฒเบเบดเปˆเบ‡เปƒเบซเบเปˆ.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เปเบฅเบฐเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰เบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเปเบ™เบงเปƒเบ”? เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเปƒเบ™เบเบฒเบŸเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบเบฑเบ‡เป„เบ”เป‰เป€เบžเบตเปˆเบกเป„เบฅเบเบฐเป€เบงเบฅเบฒเบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบˆเบฒเบ replica เบชเปเบฒเบฅเบฑเบšเป„เบฅเบเบฐเป€เบงเบฅเบฒเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ. เบเบฃเบฒเบšเบญเบทเปˆเบ™เป†เบ—เบฑเบ‡เปเบปเบ”เบญเป‰เบฒเบ‡เบญเบตเบ‡เปƒเบชเปˆเป€เบŠเบตเบšเป€เบงเบตเปเบกเปˆเบšเบปเบ”เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™.

เปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰, เบเบฐเบ”เบฒเบ™เบฅเบฒเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเป„เบ”เป‰เป€เบ•เบตเบšเปƒเบซเบเปˆเบ‚เบถเป‰เบ™. เบกเบตเบซเบผเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบงเปˆเบฒเป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบชเบฐเป€เบฅเปˆเบเปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡. เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบงเปˆเบฒเปƒเบ™ replica เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบเบฒเบงเบ™เบฒเบ™เบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบชเปเบฒเบฅเบฑเบš 2 เบŠเบปเปˆเบงเป‚เบกเบ‡. เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบตเปˆเบ‡เบฝเบšเบชเบฐเบซเบ‡เบปเบšเบ‚เบญเบ‡ autovacuum, เป€เบŠเบดเปˆเบ‡เบ›เบฐเบกเบงเบ™เบœเบปเบ™เป€เบชเบฑเป‰เบ™เบ•เบฒเบ. เปเบฅเบฐเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ”เบตเบเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบญเบตเบ‡เบ•เบฒเบกเปเบœเปˆเบ™เบ—เบตเปˆเบ—เบปเบ”เบชเบญเบš, เบžเบงเบเป€เบฎเบปเบฒเบชเบทเบšเบ•เปเปˆเบ›เบฑเบšเบ›เบธเบ‡เบเบญเบ”เป€เบ‡เบดเบ™เปƒเบ™เบšเบฑเบ™เบŠเบตเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบกเบตเป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ—เบตเปˆเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป, เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡. เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ”เบตเบเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ”เบตเบˆเบปเบ™เบเปˆเบงเบฒเบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบฅเบตเปˆเบกเป„เบŸเป„เบซเบกเป‰เบเป‰เบญเบ™เบเบฒเบ™เบ‚เบฑเบ”เปเบเป‰เบ‡เบเบฑเบšเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡. เปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒเบเบดเบ‡เบ„เบทเบ™เปƒเบ™เป„เบฅเบเบฐเบ›เบปเบเบเบฐเบ•เบด.

เบžเบงเบเป€เบฎเบปเบฒเป„เบ›เบญเบญเบ™เป„เบฅเบ™เปŒเปเบฅเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบญเปˆเบฒเบ™เบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ™เบตเป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบŠเบญเบเบซเบฒเบงเบดเบ—เบตเปเบเป‰เป„เบ‚.

เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เบ„เบฑเป‰เบ‡โ€‹เบ—เปเบฒโ€‹เบญเบดเบ”โ€‹เปเบกเปˆเบ™โ€‹เป€เบžเบทเปˆเบญโ€‹เป€เบžเบตเปˆเบกโ€‹เบ—เบฐโ€‹เบงเบตโ€‹เบเบฒเบ™ latency เบเบฒเบ™โ€‹เบˆเปเบฒโ€‹เบฅเบญเบ‡โ€‹. เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบงเปˆเบฒเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบ›เบฑเบ™เป€เบงเบฅเบฒ 3 เบŠเบปเปˆเบงเป‚เบกเบ‡. เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เป€เบ›เบฑเบ™ 3 เบŠเบปเปˆเบงเป‚เบกเบ‡. เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เป€เบ›เบตเบ”เบ•เบปเบงเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡, เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบชเบทเบšเบ•เปเปˆเบกเบตเบšเบฑเบ™เบซเบฒเบเบฑเบšเบฅเบฒเบเบ‡เบฒเบ™เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบ–เบทเบเบเบปเบเป€เบฅเบตเบ.

เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เปเบšเบš. เบžเบงเบเป€เบฎเบปเบฒเบ›เบตเบ™เบ‚เบถเป‰เบ™เบ•เบทเปˆเบกเบญเบตเบ. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบปเบšเป€เบซเบฑเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบขเบฑเบ™เปƒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ” - hot_standby_feedback . เปƒเบซเป‰เป€เบ›เบตเบ”เบกเบฑเบ™. Hot_standby_feedback เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบเบถเบ”เป€เบญเบปเบฒ autovacuum เบขเบนเปˆเปƒเบ™เปเบกเปˆเบšเบปเบ”. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบˆเบฑเบ”เบ„เบงเบฒเบกเบ‚เบฑเบ”เปเบเป‰เบ‡เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™. เปเบฅเบฐเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ”เบตเบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเบ—เบตเปˆเบกเบตเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปเบกเปˆเบšเบปเบ”เปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰? เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบขเบนเปˆเปƒเบ™เบšเบฑเบ™เบซเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปเบกเปˆเบšเบปเบ”. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เป€เบซเบฑเบ™เบเบฒเบŸเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ‚เป‰เบญเบเป„เบ”เป‰เป€เบ›เบตเบ”เปƒเบŠเป‰เบ—เบฑเบ‡เบชเบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ™เบตเป‰. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบงเปˆเบฒเบเบญเบ‡เบ›เบฐเบŠเบธเบกเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™ replica เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ somehow เป€เบฅเบตเปˆเบกเบกเบตเบญเบดเบ”เบ—เบดเบžเบปเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปเบกเปˆเบšเบปเบ”. เบ™เบฒเบ‡เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเป€เบžเบฒเบฐเบงเปˆเบฒเบ™เบฒเบ‡เป„เบ”เป‰เบขเบธเบ” autovacuum, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเบ•เบฒเบเปเบฅเป‰เบงเบญเบญเบ. เบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™ skyrocketed เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡. เป€เบงเบฅเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบชเบฐเป€เบฅเปˆเบเปƒเบ™เบ—เบปเปˆเบงเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบเปเปˆเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™ skyrocketed. autovacuums เป„เบ”เป‰ tightened เบ‚เบถเป‰เบ™เป€เบฅเบฑเบเบ™เป‰เบญเบ.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบˆเบฒเบเปเบœเปˆเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบงเปˆเบฒเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบกเบฑเบ™เบเบฑเบ‡เป‚เบ”เบ”เบ‚เบถเป‰เบ™เป€เบ—เบดเบ‡เบ—เป‰เบญเบ‡เบŸเป‰เบฒ. เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบ CPU เป„เบ”เป‰เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™. เบญเบตเบเป€เบ—เบทเปˆเบญ เปœเบถเปˆเบ‡ เบžเบงเบเป€เบฎเบปเบฒ เบเบณ เบฅเบฑเบ‡เบˆเบฐเบœเปˆเบฒเบ™เป€เบชเบฑเป‰เบ™เบ•เบฒเบเป€เบ›เบฑเบ™ เบˆเบณ เบ™เบงเบ™เบซเบผเบงเบ‡เบซเบผเบฒเบ, เป„เบฎเป‰เบ›เบฐเป‚เบซเบเบ”. เปเบฅเบฐเป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเบ™เบตเป‰เปเบฅเบฐเบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเป„เบ”เป‰เบซเบผเบธเบ”เบฅเบปเบ‡.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบˆเบฐโ€‹เป€เบ›เบฑเบ™โ€‹เปเบ™เบงโ€‹เปƒเบ”โ€‹เบ–เป‰เบฒโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบšเปเปˆโ€‹เบฎเบนเป‰โ€‹เบงเปˆเบฒโ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป„เบ”เป‰โ€‹เป€เบงเบปเป‰เบฒโ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบเปˆเบญเบ™โ€‹เบซเบ™เป‰เบฒโ€‹เบ™เบตเป‰?

  • เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบŠเบญเบเบซเบฒเบšเบฑเบ™เบซเบฒ. เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบžเบปเบšเบšเบฑเบ™เบซเบฒเปƒเบ™เบžเบฒเบเบ—เปเบฒเบญเบดเบ”, เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบงเปˆเบฒเบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบเป‰เบญเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบเบฒเบงเบ™เบฒเบ™เปเบฅเบฐเป„เบ›เบซเบฒ Master. เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบšเบฑเบ™เบซเบฒเบเปˆเบฝเบงเบเบฑเบšเบžเบฃเบฐเบญเบฒเบˆเบฒเบ™. เป„เบชเป‰เบเบญเบเป€เบ‚เบปเบฒ. เบกเบฑเบ™เบฎเป‰เบญเบ™เบ‚เบถเป‰เบ™, เบชเบฐเป€เบฅเปˆเบเบเบฒเบ™เป‚เบซเบผเบ”เบ‚เบญเบ‡เบกเบฑเบ™เปเบกเปˆเบ™เบ›เบฐเบกเบฒเบ™เบซเบ™เบถเปˆเบ‡เบฎเป‰เบญเบ.
  • เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบกเบตเบŠเป‰เบฒ, เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป€เบซเบฑเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบเบฒเบงเบ™เบฒเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเปเบกเปˆเบ™เบซเบเบฑเบ‡. เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป€เบ‚เบปเป‰เบฒเปƒเบˆเบšเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเป€เบšเบดเปˆเบ‡.
  • เบžเบงเบเป€เบฎเบปเบฒเบเบงเบ”เบชเบญเบšเบญเบธเบ›เบฐเบเบญเบ™เป€เบŠเบตเบšเป€เบงเบต. เบšเบฒเบ‡เบ—เบตเบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ crashed. เบšเบฒเบ‡เบ—เบตเปเบœเปˆเบ™เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ–เบทเบเป„เบŸเป„เบซเบกเป‰. เปเบกเปˆเบ™เปเบฅเป‰เบง, เบ—เบธเบเบขเปˆเบฒเบ‡เบชเบฒเบกเบฒเบ”เป€เบเบตเบ”เบ‚เบถเป‰เบ™เป„เบ”เป‰. เปเบ•เปˆเบšเปเปˆ, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปเบกเปˆเบ™เปƒเบซเบกเปˆ, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบ”เบต.
  • เบ—เบธเบเป†เบ„เบปเบ™เบเปเบฒเบฅเบฑเบ‡เปเบฅเปˆเบ™: เบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™, เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเบœเบนเป‰เบญเปเบฒเบ™เบงเบเบเบฒเบ™. เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบŠเปˆเบงเบเป„เบ”เป‰.
  • เปเบฅเบฐเปƒเบ™เบšเบฒเบ‡เบˆเบธเบ”, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบเปเปˆเป€เบฅเบตเปˆเบกเปเบเป‰เป„เบ‚เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰, เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ‚เบญเบ‡ replica เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ–เบทเบเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปเบฅเบฐเบ›เบฐเป„เบงเป‰. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™. เบ—เบธเบฅเบฐเบเบดเบ”เบเบฑเบ‡เบกเบตเบ„เบงเบฒเบกเบชเบธเบ. เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเป€เบซเบฑเบ™เป„เบ”เป‰, เบชเบฑเบ™เบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบ•เบตเบšเปƒเบซเบเปˆเบ‚เบถเป‰เบ™เบญเบตเบเปเบฅเบฐเบˆเบฐเบšเปเปˆเบซเบผเบธเบ”เบฅเบปเบ‡. เปƒเบ™เบเบฒเบŸเบ—เบตเปˆเบกเบตเบเบญเบ‡เบ›เบฐเบŠเบธเบก, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ›เบฐเป„เบงเป‰เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบเบฒเบงเบ™เบตเป‰เบˆเบฒเบ replica เป€เบžเบทเปˆเบญเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ„เบฒเบ”เบ„เบฐเป€เบ™เบงเปˆเบฒเบกเบฑเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒเบ”เบปเบ™เบ›เบฒเบ™เปƒเบ”เบˆเบปเบ™เบเปˆเบงเบฒเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบˆเบฐเบชเบฐเบ–เบฝเบ™เบฅเบฐเบžเบฒเบš.

เบเบญเบ‡เบ›เบฐเบŠเบธเบกเปเบกเปˆเบ™เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡. เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเบšเบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบกเบฒเบซเบผเบฒเบเบซเบผเบทเบซเบ™เป‰เบญเบเปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡. เปเบฅเบฐเป€เบงเบฅเบฒเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบชเบฐเป€เบฅเปˆเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปเบกเปˆเบšเบปเบ”เบเบฑเบšเบ„เบทเบ™เบชเบนเปˆเบ›เบปเบเบเบฐเบ•เบด. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ, เบชเบธเบ”เบ—เป‰เบฒเบ, autovacuum เบกเบตเป‚เบญเบเบฒเบ”เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ”เบญเบญเบเปเบฅเบฐเบซเบกเบฒเบเป€เบชเบฑเป‰เบ™เบ•เบฒเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เปเบฅเบฐเบฅเบฒเบงเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบฅเบฒเบง. เปเบฅเบฐโ€‹เป€เบ‚เบปเบฒโ€‹เป€เบฎเบฑเบ”โ€‹เปเบ™เบงโ€‹เปƒเบ”โ€‹เป„เบงโ€‹เบ›เบฒเบ™โ€‹เปƒเบ”โ€‹, เบ”เบฑเปˆเบ‡โ€‹เบ™เบฑเป‰เบ™โ€‹เบขเปˆเบฒเบ‡โ€‹เบงเปˆเบญเบ‡โ€‹เป„เบงโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เปƒเบ™โ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบญเบตเบ‡เบ•เบฒเบกเปเบ—เบฑเบšเป€เบฅเบฑเบ”เบ—เบตเปˆเบ—เบปเบ”เบชเบญเบš, เบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ›เบฑเบšเบ›เบธเบ‡เบเบญเบ”เป€เบ‡เบดเบ™เปƒเบ™เบšเบฑเบ™เบŠเบต, เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบฎเบนเบšเบ”เบฝเบงเบเบฑเบ™เปเบ™เปˆเบ™เบญเบ™. เป€เบงเบฅเบฒเบ›เบฑเบšเบ›เบธเบ‡เบšเบฑเบ™เบŠเบตเป‚เบ”เบเบชเบฐเป€เบฅเปˆเบเปเบกเปˆเบ™เบ„เปˆเบญเบเป†เป€เบ›เบฑเบ™เบ›เบปเบเบเบฐเบ•เบด. เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบšเปเบฅเบดเป‚เบžเบเป‚เบ”เบเป‚เบฎเบ‡เบ‡เบฒเบ™เบœเบฐเบฅเบดเบ”เปเบกเปˆเบ™เบเบฑเบ‡เบซเบผเบธเบ”เบฅเบปเบ‡. เปเบฅเบฐเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบตเบเบฑเบšเบ„เบทเบ™เบชเบนเปˆเบ›เบปเบเบเบฐเบ•เบด. เปเบ•เปˆโ€‹เบญเบตเบโ€‹เป€เบ—เบทเปˆเบญโ€‹เบซเบ™เบถเปˆเบ‡โ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบเบฑเบšโ€‹เบ„เบทเบ™โ€‹เบกเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบ›เบปเบโ€‹เบเบฐโ€‹เบ•เบดโ€‹, เบšเปเปˆโ€‹เบ„เบทโ€‹เบเบฑเบšโ€‹เบ—เบตเปˆโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบเปˆเบญเบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบเบตเบ”โ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เป€เบซเบ”โ€‹.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เปƒเบ™เบเปเบฅเบฐเบ™เบตเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบšเบเปเบฅเบฐเบ™เบตเบ—เปเบฒเบญเบดเบ”, เป‚เบ”เบเบซเบ™เบถเปˆเบ‡เปเบฅเบฐเป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เป€เบ›เบฑเบ™เบชเบญเบ‡เป€เบ—เบทเปˆเบญ, เปเบฅเบฐเบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบซเบผเบฒเบ.

เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบ—เบธเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เปเบฅเป‰เบง. เปเบˆเบเบขเบฒเบเบเบฒเบ™เป‚เบซเบผเบ”. เบญเบธเบ›เบฐเบเบญเบ™เบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ. เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เปเบšเปˆเบ‡โ€‹เบเบฒเบ™โ€‹เบฎเป‰เบญเบ‡โ€‹เบ‚เปโ€‹เบ•เบฒเบกโ€‹เบˆเบดเบ”โ€‹เปƒเบˆโ€‹เบ‚เบญเบ‡โ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒ, เปเบ•เปˆโ€‹เบงเปˆเบฒโ€‹เบ—เบธเบโ€‹เบชเบดเปˆเบ‡โ€‹เบ—เบธเบโ€‹เบขเปˆเบฒเบ‡โ€‹เป„เบ”เป‰โ€‹เบซเบฑเบ™โ€‹เบญเบญเบโ€‹เบšเปเปˆโ€‹เบ”เบต.

  • เบšเปเปˆเป€เบ›เบตเบ”เปƒเบŠเป‰ hot_standby_feedback เบšเป? เปเบกเปˆเบ™เปเบฅเป‰เบง, เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เป€เบ›เบตเบ”เบกเบฑเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเป€เบ‚เบฑเป‰เบกเปเบ‚เบ‡เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบเบฒเบ™เบšเบดเบ”เบ™เบตเป‰เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเป‚เบ”เบเบเบปเบ‡เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เปเบกเปˆเบšเบปเบ”เปเบฅเบฐเบขเบธเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ autovacuum เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. เป‚เบ”เบเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบšเบฒเบ‡ replica เปเบฅเบฐเบฅเบทเบกเบเปˆเบฝเบงเบเบฑเบšเบกเบฑเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เป‰เบฒ Master เปเบฅเบฐเบกเบตเบšเบฑเบ™เบซเบฒเปƒเบซเบเปˆเบเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ.
  • เป€เบžเบตเปˆเบก max_standby_streaming_delay? เปเบกเปˆเบ™เปเบฅเป‰เบง, เบชเปเบฒเบฅเบฑเบšเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบชเบฒเบกเบŠเบปเปˆเบงเป‚เบกเบ‡เปเบฅเบฐเบ—เปˆเบฒเบ™เบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบกเบฑเบ™เบ‚เบฑเบ”เบ‚เป‰เบญเบ‡เบเป‰เบญเบ™เบ„เบงเบฒเบกเบ‚เบฑเบ”เปเบเป‰เบ‡เบ‚เบญเบ‡เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบฝเบ‡เปเบ•เปˆเป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒ. เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เป„เบฅเบเบฐเบเบฒเบงเบšเปเปˆเป€เบ„เบตเบเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบชเบฒเบกเบŠเบปเปˆเบงเป‚เบกเบ‡, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เปเบฅเปˆเบ™เบกเบฑเบ™เบชเปเบฒเบฅเบฑเบšเป„เบฅเบเบฐเป€เบงเบฅเบฒเบ‚เปเป‰เบกเบนเบ™เป€เบเบปเปˆเบฒ. เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™, เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒเบชเบฒเบกเบŠเบปเปˆเบงเป‚เบกเบ‡เบซเบผเบทเบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒเบซเบปเบเบŠเบปเปˆเบงเป‚เบกเบ‡เบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบตเบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡, เปเบ•เปˆเบ—เปˆเบฒเบ™เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เปเบฅเบฐเบˆเบฐเบšเปเปˆเบกเบตเบšเบฑเบ™เบซเบฒเปƒเบ”เป†เบเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒเบซเบผเบธเบ”เบฅเบปเบ‡.
  • เบ•เบฒเบกเบ—เปเบฒเบกเบฐเบŠเบฒเบ”, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ„เบงเบšเบ„เบธเบกเบเบญเบ‡เบ›เบฐเบŠเบธเบกเบ—เบตเปˆเบเบฒเบงเบ™เบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเป€เบ›เบตเบ”เปƒเบŠเป‰ hot_standby_feedback เบขเบนเปˆเปƒเบ™ replicas. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบชเบดเปˆเบ‡เปƒเบ”เบชเบฒเบกเบฒเบ”เป€เบเบตเบ”เบ‚เบถเป‰เบ™เป„เบ”เป‰. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบกเบญเบšเบชเบดเปˆเบ‡เบˆเปเบฒเบฅเบญเบ‡เบ™เบตเป‰เปƒเบซเป‰เบเบฑเบšเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบžเบทเปˆเบญเปƒเบซเป‰เบฅเบฒเบงเบชเบฒเบกเบฒเบ”เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเป„เบ”เป‰. เบฅเบฒเบงเบ‚เบฝเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป Crazy. เบฅเบฒเบงโ€‹เป€เบ›เบตเบ”โ€‹เบกเบฑเบ™โ€‹เบญเบญเบโ€‹เป„เบ›โ€‹เบ”เบทเปˆเบกโ€‹เบŠเบฒ, เปเบฅเบฐโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบžเบฃเบฐโ€‹เบญเบฒโ€‹เบˆเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบ•เบฑเป‰เบ‡โ€‹เบ‚เบถเป‰เบ™. เบซเบผเบทเบšเบฒเบ‡เบ—เบตเบžเบงเบเป€เบฎเบปเบฒเป€เบญเบปเบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เบ™เบฑเป‰เบ™. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เปเบกเปˆเบ™เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบเบญเบ‡เบ›เบฐเบŠเบธเบกเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบขเปˆเบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เบ„เบทเบเบฑเบšเปƒเบ™ Master.
  • เปเบฅเบฐเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเป„เบงเปเบฅเบฐเบเบฒเบงเบขเบนเปˆเปƒเบ™ replicas, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰เบกเบฑเบ™เบเปเปˆเบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเปเบšเปˆเบ‡เบ›เบฑเบ™เบžเบงเบเบกเบฑเบ™เป€เบžเบทเปˆเบญเปเบˆเบเบขเบฒเบเบเบฒเบ™เป‚เบซเบผเบ”. เบ™เบตเป‰เปเบกเปˆเบ™เบฅเบดเป‰เบ‡เป„เบ›เบซเบฒ streaming_delay. เบชเปเบฒเบฅเบฑเบšเป„เบง, เปƒเบซเป‰เบกเบตเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เปเบšเบšเบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบกเบตเบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบ. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบฅเบฒเบเบ‡เบฒเบ™เป„เบฅเบเบฐเบเบฒเบง, เบกเบต replica เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบŠเบฑเบเบŠเป‰เบฒ 6 เบŠเบปเปˆเบงเป‚เบกเบ‡เบซเบผเบทเบ•เปเปˆเบกเบทเป‰. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ›เบปเบเบเบฐเบ•เบดเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™.

เบžเบงเบเป€เบฎเบปเบฒ เบเบณ เบˆเบฑเบ”เบœเบปเบ™เบชเบฐเบ—เป‰เบญเบ™เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™:

  • เบžเบงเบเป€เบฎเบปเบฒเบŠเบญเบเบซเบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ bloated.
  • เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบšเบตเบšเบญเบฑเบ”เบกเบฑเบ™เบ”เป‰เบงเบเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบชเบฐเบ”เบงเบเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ.

เป€เบฅเบทเปˆเบญเบ‡เบ—เบตเบชเบญเบ‡เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰. เบ‚เปเปƒเบซเป‰เบเป‰เบฒเบงเป„เบ›เบชเบนเปˆเป€เบฅเบทเปˆเบญเบ‡เบ—เบตเบชเบฒเบก.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰เบเบฑเบ‡เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ—เบปเปˆเบงเป„เบ›เบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบ.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

  • เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบŠเบญเบšเปเบงเปƒเบ”เบเปเปˆเป€เบ•เบตเบšเปƒเบซเบเปˆ. เบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡. เปƒเบ™เบเปเบฅเบฐเบ™เบตเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบžเบฑเบ”เบ—เบฐเบ™เบฒ. เปเบฅเบฐเบกเบฑเบ™เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบ›เบฑเบšเบ›เบธเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡, เบ„เบทเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปƒเบ™เบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบ‚เบญเบ‡เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบชเปเบฒเบฅเบฑเบšเบซเบ™เป‰เบฒเบ—เบตเปˆเปƒเบซเบกเปˆเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เปเบ™เบฐเบ™เปเบฒเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.
  • เบฎเบนเบšเปเบšเบšเบ‚เปเป‰เบกเบนเบ™เป€เบเบปเปˆเบฒเบšเปเปˆเป€เบ›เบฑเบ™เบ—เบตเปˆเบžเปเปƒเบˆ. เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบซเบฑเบ™เป„เบ›เบซเบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเบชเบญเบ‡, เบšเปˆเบญเบ™เบ—เบตเปˆเบ‚เป‰เบญเบเบกเบตเบ—เบธเบฅเบฐเบเปเบฒเปƒเบ™เบšเบฑเบ™เบŠเบตเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เปเบฅเบฐเปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบขเบนเปˆเปƒเบ™เบฎเบนเป€เบšเบตเบ™, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เปเบฅเบฐเป€เบฎเบฑเบ”เปƒเบ™ kopecks. เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบ›เบฑเบšเบ›เบธเบ‡: เบ„เบนเบ™เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบ—เบตเปˆเบกเบตเบˆเปเบฒเบ™เบงเบ™เบ—เบธเบฅเบฐเบเปเบฒเบซเบ™เบถเปˆเบ‡เบฎเป‰เบญเบ.
  • เปƒเบ™เป‚เบฅเบเบกเบทเป‰เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ„เบงเบšเบ„เบธเบกเบชเบฐเบšเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”. เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒ Liquibase. เบžเบงเบเป€เบฎเบปเบฒเบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. เบžเบงเบเป€เบฎเบปเบฒเบ—เบปเบ”เบชเบญเบšเบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ”เบต. เบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เบเบณเบฅเบฑเบ‡เบˆเบฐเบœเปˆเบฒเบ™. เบกเบฑเบ™เบšเบฅเบฑเบญเบเป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เป„เบฅเบเบฐเปœเบถเปˆเบ‡, เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เบ‚เปเป‰เบกเบนเบ™. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบ›เบตเบ”เบ•เบปเบงเบŸเบฑเบ‡เบŠเบฑเบ™เปƒเบซเบกเปˆเปƒเบ™เป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰. เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป„เบ”เป‰เบ–เบทเบเบ—เบปเบ”เบชเบญเบšเปเบฅเบฐเบเบงเบ”เบชเบญเบš. เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™.
  • เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบงเบฒเบ‡เปเบœเบ™เป„เบงเป‰เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบ.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ—เบตเปˆเบกเบตเบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เบ—เบตเปˆเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเบขเบนเปˆเบ—เบฒเบ‡เบซเบ™เป‰เบฒเบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ—เบธเบฅเบฐเบเปเบฒเบšเบฑเบ™เบŠเบตเบ‚เบญเบ‡เบ‚เป‰เบญเบ, เปเบœเปˆเบ™เปเบกเปˆเบ™ 15 GB. เปเบฅเบฐเบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบ›เบฑเบšเบ›เบธเบ‡เบ—เบธเบเปเบ–เบง, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบžเบตเปˆเบกเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป€เบ›เบฑเบ™เบชเบญเบ‡เป€เบ—เบปเปˆเบฒเบ”เป‰เบงเบเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡, เป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เบ„เบทเบ™เปƒเบซเบกเปˆเบ—เบธเบเป†เปเบ–เบง.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบเป‰เบฒเบเบ–เบดเปˆเบ™เบ–เบฒเบ™, เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบซเบเบฑเบ‡เบเบฑเบšเปเบœเปˆเบ™เบ™เบตเป‰, เป€เบžเบฒเบฐเบงเปˆเบฒเบ—เบธเบเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบเบฑเบšเบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบ„เบดเบง เปเบฅเบฐเบฅเปเบ–เป‰เบฒเบˆเบปเบ™เบเปˆเบงเบฒเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ™เบตเป‰เบชเปเบฒเป€เบฅเบฑเบ”. เปเบ•เปˆเปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบ”เบถเบ‡เบ”เบนเบ”เบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบเบฑเบšเบ•เบปเบงเป€เบฅเบเบ—เบตเปˆเบขเบนเปˆเปƒเบ™เปเบเบ™เบ•เบฑเป‰เบ‡. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบžเบงเบเป€เบฎเบปเบฒเบกเบตเป€เบงเบฅเบฒเบฎเป‰เบญเบ‡เบ‚เปเป‚เบ”เบเบชเบฐเป€เบฅเปˆเบเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ›เบฐเบกเบฒเบ™ 5 เบกเบดเบ™เบฅเบดเบงเบดเบ™เบฒเบ—เบตเปเบฅเบฐเบเบฒเบ™เป‚เบซเบผเบ”เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบต, เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡เบšเบฅเบฑเบญเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบญเปˆเบฒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เปเบœเปˆเบ™เปเบกเปˆเบ™เบซเบ™เป‰เบญเบเบเบงเปˆเบฒ 7,5.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบเบฒเบ™โ€‹เป€เบ„เบทเปˆเบญเบ™โ€‹เบเป‰เบฒเบโ€‹เปเบฅเบฐโ€‹เบกเบตโ€‹เบšเบฑเบ™โ€‹เบซเบฒโ€‹เบญเบตเบโ€‹เป€เบ—เบทเปˆเบญโ€‹เบซเบ™เบถเปˆเบ‡.

เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเป„เบ”เป‰เบ›เบฐเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”, เปเบ•เปˆ:

  • เบŸเบฑเบ‡เบŠเบฑเบ™เป€เบเบปเปˆเบฒเบ•เบญเบ™เบ™เบตเป‰เปƒเบŠเป‰เป€เบงเบฅเบฒเบ”เบปเบ™เบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบชเปเบฒเป€เบฅเบฑเบ”.
  • เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡.
  • เบเบฒเบ™เป‚เบซเบผเบ”เบขเบนเปˆเปƒเบ™เป€เบŠเบตเบšเป€เบงเบตเบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบซเบผเบฒเบเบเบงเปˆเบฒเป€เบเบปเปˆเบฒ.
  • เปเบฅเบฐ, เปเบ™เปˆเบ™เบญเบ™, เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡ tinkering เบเบฑเบšเบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ”เบต, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ›เบฑเบšเบ›เบธเบ‡เบกเบฑเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบ.

เปเบฅเบฐโ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบญเบตเบโ€‹เป€เบ—เบทเปˆเบญโ€‹เบซเบ™เบถเปˆเบ‡ bloat, เป€เบŠเบดเปˆเบ‡โ€‹เบญเบตเบโ€‹เป€เบ—เบทเปˆเบญโ€‹เบซเบ™เบถเปˆเบ‡โ€‹เบ—เปเบฒโ€‹เบฅเบฒเบโ€‹เบŠเบตโ€‹เบงเบดเบ”โ€‹เบ‚เบญเบ‡โ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒ.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบšเบชเบญเบ‡เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, เบˆเบฐเบšเปเปˆเบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ. เบเบฒเบ™เป‚เบซเบผเบ”เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบชเบฐเป€เบฅเปˆเบเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบžเบฝเบ‡เบžเป.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เปเบฅเบฐเบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบซเบฑเบ™เป„เบ›เบซเบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบšเบฑเบ™เบŠเบต, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบซเบฑเบ™เบงเปˆเบฒเป€เบงเบฅเบฒเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบชเบฐเป€เบฅเปˆเบเป„เบ”เป‰เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบชเบญเบ‡เป€เบ—เบปเปˆเบฒเบชเปเบฒเบฅเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ™เบตเป‰. เบเบฒเบ™เป‚เบซเบผเบ”เบขเบนเปˆเปƒเบ™เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเปเบฅเบฐเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบชเบฒเบเบ—เบตเปˆเบˆเบฑเบ”เบฎเบฝเบ‡เปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป„เบ”เป‰เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡ 7,5, เปเบ•เปˆเบ•เปˆเปเบฒเบเบงเปˆเบฒ. เปเบฅเบฐเบกเบฑเบ™เบเบฐเป‚เบ”เบ” 2 เป€เบ—เบทเปˆเบญเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบต, 1,5 เป€เบ—เบทเปˆเบญเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบšเบฅเบฑเบญเบ, i.e. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบชเบทเปˆเบญเบกเป‚เบŠเบกเปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ. เปเบฅเบฐเป€เบ›เบฑเบ™เบœเบปเบ™เบกเบฒเบˆเบฒเบ - เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบŠเบกเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เปƒเบ™เบ‚เบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™, เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป‚เบ—เบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ”เบฝเบงเบเบฑเบ™.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡. เปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เป€เบฎเบฑเบ”. เบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ›เบปเบเบเบฐเบ•เบด.

  • เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบšเปเปˆเป„เบ”เป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”. เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบ•เป‰เบญเบ‡เบขเบนเปˆเบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบชเบฐเป€เปเบต.
  • เบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เบเบงเบ”เบเบฒเป‚เบ”เบเบœเบนเป‰เบกเบตเบ„เบงเบฒเบกเบฎเบนเป‰. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบต DBA เปƒเบ™เบ—เบตเบกเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบซเป‰ DBA เป€เบฎเบฑเบ”เบกเบฑเบ™. เบกเบฑเบ™เป€เบ›เบฑเบ™เบงเบฝเบเบ‚เบญเบ‡เบฅเบฒเบง. เบ–เป‰เบฒเบšเปเปˆ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบซเป‰เบœเบนเป‰เบ—เบตเปˆเบกเบตเบ›เบฐเบชเบปเบšเบเบฒเบ™เบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”เป€เบฎเบฑเบ”เบกเบฑเบ™, เบœเบนเป‰เบ—เบตเปˆเบฎเบนเป‰เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™.
  • เปเบœเบ™เบœเบฑเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบซเบกเปˆ, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เบ–เบฑเบ™เบซเบ™เบถเปˆเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบชเบฐเป€เบซเบกเบตเบเบฐเบเบฝเบกเปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™, i.e. เบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒเบเปˆเบญเบ™เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบฎเบธเปˆเบ™เปƒเบซเบกเปˆเบˆเบฐเป€เบ›เบตเบ”เบ•เบปเบง:
  • เบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบซเบกเปˆเบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเบฑเบ™เบ—เบถเบเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ›เบฑเบšเบ›เบธเบ‡.
  • เบžเบงเบเป€เบฎเบปเบฒเป‚เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเป€เบเบปเปˆเบฒเป„เบ›เบซเบฒเบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเปƒเบซเบกเปˆเปƒเบ™เบชเปˆเบงเบ™เบ™เป‰เบญเบเป†. เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบถเปˆเบ‡เป€เบฎเบฑเบ”เบญเบฑเบ™เบ™เบตเป‰? เบ—เปเบฒเบญเบดเบ”, เบžเบงเบเป€เบฎเบปเบฒเบชเบฐเป€เบซเบกเบตเบ„เบงเบšเบ„เบธเบกเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ™เบตเป‰. เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบฎเบนเป‰โ€‹เบงเปˆเบฒโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เบเบปเบโ€‹เบเป‰เบฒเบโ€‹เบซเบผเบฒเบ batch เปเบฅเป‰เบงโ€‹เปเบฅเบฐโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบเบฑเบ‡โ€‹เบกเบตโ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบซเบผเบฒเบโ€‹เบ”เบฑเปˆเบ‡โ€‹เบ™เบฑเป‰เบ™โ€‹.
  • เปเบฅเบฐเบœเบปเบ™เบเบฐเบ—เบปเบšเบ—เบฒเบ‡เบšเบงเบเบ—เบตเปˆเบชเบญเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบฅเบฐเบซเบงเปˆเบฒเบ‡เปเบ•เปˆเบฅเบฐเบŠเบธเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบžเบงเบเป€เบฎเบปเบฒเบ›เบดเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ, เป€เบ›เบตเบ”เปƒเบซเบกเปˆ, เปเบฅเบฐเบ™เบตเป‰เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ autovacuum เป€เบฎเบฑเบ”เบงเบฝเบเบ•เบฒเบกเปเบœเปˆเบ™, เบซเบกเบฒเบเป€เบชเบฑเป‰เบ™เบ•เบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ„เบทเบ™เปƒเบซเบกเปˆ.
  • เบชเปเบฒเบฅเบฑเบšเป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบˆเบฐเบ›เบฒเบเบปเบ”เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เบงเบฝเบ (เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบกเบตเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบเบปเปˆเบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆ), เบžเบงเบเป€เบฎเบปเบฒเป€เบžเบตเปˆเบกเบ•เบปเบงเบเบฐเบ•เบธเป‰เบ™เบ—เบตเปˆเบ‚เบฝเบ™เบ„เปˆเบฒเปƒเบซเบกเปˆเปƒเบซเป‰เบเบฑเบšเบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบซเบกเปˆ. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบ„เบนเบ™เบซเบ™เบถเปˆเบ‡เบฎเป‰เบญเบเบ‚เบญเบ‡เบกเบนเบ™เบ„เปˆเบฒเป€เบเบปเปˆเบฒ.
  • เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเปเบ‚เบ‡เบเบฐเบ”เป‰เบฒเบ‡เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™เปเบฅเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบ”เบฝเบงเบเบฑเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบกเบทเปˆเบญเบชเปเบฒเป€เบฅเบฑเบ”เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบตเบ”เบ•เบปเบงเป€เบงเบตเบŠเบฑเบ™เปƒเบซเบกเปˆเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™, เบžเบงเบเป€เบฎเบปเบฒเบžเบฝเบ‡เปเบ•เปˆเบ›เปˆเบฝเบ™เบŠเบทเปˆเบžเบฒเบเบชเบฐเบซเบ™เบฒเบก. เป€เบเบปเปˆเบฒเปเบกเปˆเบ™เปƒเบซเป‰เบŠเบทเปˆเบ›เบฐเบ”เบดเบ”เบชเป‰เบฒเบ‡, เปเบฅเบฐเบ—เบปเปˆเบ‡เบ™เบฒเปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเบ›เปˆเบฝเบ™เบŠเบทเปˆเป€เบ›เบฑเบ™เบญเบฑเบ™เป€เบเบปเปˆเบฒ.
  • เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเป€เบ›เบตเบ”เบ•เบปเบงเป€เบงเบตเบŠเบฑเบ™เปƒเบซเบกเปˆเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™.

เปเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™ bloat เปเบฅเบฐเบˆเบฐเบšเปเปˆเบ—เบปเบ™เบ—เบธเบเปƒเบ™เปเบ‡เปˆเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.

เบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเป€เบฅเบทเปˆเบญเบ‡เบ—เบตเบชเบฒเบกเบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

https://github.com/dataegret/pg-utils/blob/master/sql/table_bloat.sql

https://github.com/dataegret/pg-utils/blob/master/sql/table_bloat_approx.sql

เปเบฅเบฐเบ•เบญเบ™เบ™เบตเป‰เบกเบตเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบฅเบฑเบเบ™เป‰เบญเบเบเปˆเบฝเบงเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบเปˆเบฒเบงเป€เบ–เบดเบ‡เปƒเบ™เป€เบฅเบทเปˆเบญเบ‡เบ—เปเบฒเบญเบดเบ”.

เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบŠเบญเบเบซเบฒ bloat, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ pgstattuple.

เป€เบžเบทเปˆเบญเบงเปˆเบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบ•เป‰เบญเบ‡เบกเบฒเบชเบญเบšเบ–เบฒเบก, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ‚เบฝเบ™เบ„เปเบฒเบ–เบฒเบกเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบขเบนเปˆเปƒเบ™เบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบฅเป‰เบง. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เป„เบ”เป‰. เบกเบตเบชเบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰.

  • เบญเบฑเบ™เบ—เปเบฒเบญเบดเบ”เปƒเบŠเป‰เป€เบงเบฅเบฒเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบเบฒเบงเปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ, เปเบ•เปˆเบกเบฑเบ™เบˆเบฐเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบซเบฑเบ™เบ„เปˆเบฒ bloat เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบˆเบฒเบเบ•เบฒเบ•เบฐเบฅเบฒเบ‡.
  • เบญเบฑเบ™เบ—เบตเบชเบญเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เป„เบงเบ‚เบถเป‰เบ™เปเบฅเบฐเบกเบตเบ›เบฐเบชเบดเบ”เบ•เบดเบœเบปเบ™เบซเบผเบฒเบเป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ›เบฐเป€เบกเบตเบ™เบขเปˆเบฒเบ‡เป„เบงเบงเบฒเบงเปˆเบฒเบกเบตเบญเบฒเบเบฒเบ™เบšเบงเบกเบซเบผเบทเบšเปเปˆเบ•เบฒเบกเบ•เบฒเบ•เบฐเบฅเบฒเบ‡. เปเบฅเบฐเบ—เปˆเบฒเบ™เบเปเปˆเบ„เบงเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒ bloat เปเบกเปˆเบ™เบกเบตเบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Postgres เบชเบฐเป€เบซเบกเบต. เบ™เบตเป‰เปเบกเปˆเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบ•เบปเบงเปเบšเบš MVCC เบ‚เบญเบ‡เบกเบฑเบ™.
  • เปเบฅเบฐ 20% bloat เปเบกเปˆเบ™เบ›เบปเบเบเบฐเบ•เบดเบชเปเบฒเบฅเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปƒเบ™เบเปเบฅเบฐเบ™เบตเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบ—เปˆเบฒเบ™เบšเปเปˆเบ„เบงเบ™เบเบฑเบ‡เบงเบปเบ™เปเบฅเบฐเบšเบตเบšเบญเบฑเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ™เบตเป‰.

เบžเบงเบเป€เบฎเบปเบฒเบŠเบญเบเบซเบฒเบงเบดเบ—เบตเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบญเบฒเบเบฒเบ™เบšเบงเบกเบ”เป‰เบงเบเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบ›เบฐเป‚เบซเบเบ”.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เปเบเป‰เป„เบ‚ bloat:

  • เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบตเปเบ—เบฑเบšเป€เบฅเบฑเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเปเบฅเบฐเปเบœเปˆเบ™เบ”เบต, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เปƒเบ™เปเบ—เบฑเบšเป€เบฅเบฑเบ”เบชเบนเบ‡เป€เบ–เบดเบ‡ gigabyte, เบกเบฑเบ™เบเปเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰ VACUUM FULL. เบฅเบฒเบงเบˆเบฐเป€เบญเบปเบฒ lock เบžเบดเป€เบชเบ”เบˆเบฒเบเป€เบˆเบปเป‰เบฒเบขเบนเปˆเป€เบ—เบดเบ‡เป‚เบ•เบฐเป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบชเบญเบ‡เบชเบฒเบกเบงเบดเบ™เบฒเบ—เบตเปเบฅเบฐเบ”เบต, เปเบ•เปˆเบฅเบฒเบงเบˆเบฐเป€เบฎเบฑเบ”เบ—เบธเบเบขเปˆเบฒเบ‡เบขเปˆเบฒเบ‡เป„เบงเบงเบฒเปเบฅเบฐเบฎเบธเบ™เปเบฎเบ‡. VACUUM FULL เป€เบฎเบฑเบ”เบซเบเบฑเบ‡? เบกเบฑเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒเบฅเบฑเบญเบเบชเบฐเป€เบžเบฒเบฐเบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบฅเบฐ rewrites เปเบ–เบงเบชเบปเบ”เบˆเบฒเบเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป€เบเบปเปˆเบฒเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปƒเบซเบกเปˆ. เปเบฅเบฐโ€‹เปƒเบ™โ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”โ€‹เบžเบฐเบญเบปเบ‡โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ—เบ™โ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒ. เบกเบฑเบ™เบฅเบถเบšเป„เบŸเบฅเปŒเป€เบเบปเปˆเบฒ เปเบฅเบฐเบ›เปˆเบฝเบ™เป„เบŸเบฅเปŒเป€เบเบปเปˆเบฒเบ”เป‰เบงเบเบญเบฑเบ™เปƒเปเปˆ. เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเป„เบฅเบเบฐเป€เบงเบฅเบฒเบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบกเบฑเบ™, เบกเบฑเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒเบฅเบฑเบญเบเบชเบฐเป€เบžเบฒเบฐเบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡. เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบซเบเบฑเบ‡เบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ™เบตเป‰: เบ—เบฑเบ‡เบ‚เบฝเบ™เปƒเบชเปˆเบกเบฑเบ™, เบซเบผเบทเบญเปˆเบฒเบ™เบกเบฑเบ™, เบซเบผเบทเบ”เบฑเบ”เปเบ›เบ‡เบกเบฑเบ™. เปเบฅเบฐ VACUUM FULL เบ•เป‰เบญเบ‡เบเบฒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบดเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเป€เบžเบทเปˆเบญเบ‚เบฝเบ™เบ‚เปเป‰เบกเบนเบ™.
  • เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ•เปเปˆเป„เบ› pg_repack. เปƒเบ™เบซเบผเบฑเบเบเบฒเบ™เบ‚เบญเบ‡เบกเบฑเบ™, เบกเบฑเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบš VACUUM FULL, เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เบเบฑเบ‡เบ‚เบฝเบ™เบ„เบทเบ™เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเป„เบŸเบฅเปŒเป€เบเบปเปˆเบฒเป„เบ›เบซเบฒเปƒเบซเบกเปˆเปเบฅเบฐเบ›เปˆเบฝเบ™เปเบ—เบ™เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡. เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เบเบฒเบ™เบฅเบฑเบญเบเบชเบฐเป€เบžเบฒเบฐเบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบกเบฑเบ™, เปเบ•เปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเบกเบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบกเบฑเบ™เบกเบตเบ‚เปเป‰เบกเบนเบ™เบžเป‰เบญเบกเปเบฅเป‰เบงเป€เบžเบทเปˆเบญเบ—เบปเบ”เปเบ—เบ™เป„เบŸเบฅเปŒ. เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡เปเบœเปˆเบ™เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบš VACUUM FULL. เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบดเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เปเบฅเบฐเบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบ™เบตเป‰เปเบกเปˆเบ™เบชเปเบฒเบ„เบฑเบ™เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ terabyte. เปเบฅเบฐเบกเบฑเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบซเบดเบงเป€เบžเบฒเบฐเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš I/O เบขเปˆเบฒเบ‡เบซเป‰เบฒเบงเบซเบฑเบ™.
  • เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเบชเบฒเบกเปเบกเปˆเบ™ pgcompactable. เบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เบซเบผเบฒเบเบเบฑเบšเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ•เบฒเบกเบซเบผเบฑเบเบเบฒเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบ. เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡ pgcompacttable เปเบกเปˆเบ™เบงเปˆเบฒเบกเบฑเบ™เบˆเบฐเบเป‰เบฒเบเปเบ–เบงเบ—เบตเปˆเบกเบตเบŠเบตเบงเบดเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ›เบซเบฒเบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป‚เบ”เบเปƒเบŠเป‰เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡. เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เปเบฅเปˆเบ™เบชเบนเบ™เบเบฒเบเบฒเบ”เบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ™เบตเป‰, เป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบตเปเบ–เบงเบ—เบตเปˆเบกเบตเบŠเบตเบงเบดเบ”เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เปเบฅเบฐเปเบ–เบงเบ•เบฒเบเปƒเบ™เบ—เป‰เบฒเบ. เปเบฅเบฐเบชเบนเบ™เบเบฒเบเบฒเบ”เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบ•เบฑเบ”เบซเบฒเบ‡เบ™เบตเป‰, i.e. เบกเบฑเบ™เบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบดเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เปเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบกเบฑเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบšเบตเบšเบ”เป‰เบงเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™.

เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเบกเบตเป€เบ„เบทเปˆเบญเบ‡เบกเบท.

เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบปเปˆเบงเป„เบ›เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ bloat เปƒเบ™ postgresql. Andrey Salnikov

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบŠเบญเบเบซเบฒเบซเบปเบงเบ‚เปเป‰ bloat เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเปƒเบ™เปเบ‡เปˆเบ‚เบญเบ‡เบเบฒเบ™ delving เบ•เบทเปˆเบกเบญเบตเบเบžเบฒเบเปƒเบ™, เบ™เบตเป‰เปเบกเปˆเบ™เบšเบฒเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”:

  • https://www.slideshare.net/alexius2Mb/where-is-the-space-postgres - เบ™เบตเป‰เปเบกเปˆเบ™เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบˆเบฒเบเป€เบžเบทเปˆเบญเบ™เบฎเปˆเบงเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ. เบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ—เบปเปˆเบงเป„เบ›เบเปˆเบฝเบงเบเบฑเบšเบšเปˆเบญเบ™เบ—เบตเปˆเบžเบทเป‰เบ™เบ—เบตเปˆเบ‚เบญเบ‡ Postgres เป„เบ›เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบฅเบฐเบŠเบตเบงเบดเบ”เบ‚เบญเบ‡เบกเบฑเบ™. เปเบฅเบฐเบกเบตเบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเปเบฅเบฐเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบš bloat.
  • https://github.com/dataegret/pg-utils โ€“ เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เบเบฑเบš repository เบ‚เบญเบ‡โ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒ, เบšเปˆเบญเบ™โ€‹เบ—เบตเปˆโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป€เบเบฑเบšโ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹เบŠเปเปˆโ€‹เบ‚เบญเบ‡ scripts เบ—เบตเปˆโ€‹เป€เบ›เบฑเบ™โ€‹เบ›เบฐโ€‹เป‚เบซเบเบ”โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบชเบฐโ€‹เบ–เบฒโ€‹เบ™เบฐโ€‹เบ‚เบญเบ‡โ€‹เบ–เบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™. เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™เป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเบชเบฐเบ„เบฃเบดเบšเป€เบžเบทเปˆเบญเบ„เบปเป‰เบ™เบซเบฒ bloat.
  • เบ—เบตเบชเบฒเบก ะธ เบ—เบตเบชเบตเปˆ เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบญเบฒเบเบฒเบ™.
  • http://blog.dataegret.com/2Mb018/03/postgresql-bloatbusters.html - เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบˆเบฒเบเป€เบžเบทเปˆเบญเบ™เบฎเปˆเบงเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ. เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เบฅเบฒเบงเป„เบ”เป‰เบงเบดเป€เบ„เบฒเบฐเบขเปˆเบฒเบ‡เบˆเบดเบ‡เบˆเบฑเบ‡เปเบฅเบฐเบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™เบขเปˆเบฒเบ‡เป€เบฅเบดเบเป€เบŠเบดเปˆเบ‡เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเปƒเบเป‰เบŠเบดเบ”เบเบฑเบšเบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™.

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบžเบฐเบเบฒเบเบฒเบกเบซเบผเบฒเบเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบชเบฐเปเบ”เบ‡เป€เบฅเบทเปˆเบญเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบขเป‰เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ, เป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเป€เบ›เบฑเบ™เบฅเบนเบเบ„เป‰เบฒเป‚เบ”เบเบเบปเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบ•เป‰เบญเบ‡เป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ”เปเบฅเบฐเบญเบฑเบ™เปƒเบ”เบ—เบตเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆ. เบ‚เป‰เบญเบเบซเบงเบฑเบ‡เบงเปˆเบฒเบ‚เป‰เบญเบเบ›เบฐเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”. เบ‚เบญเบšเปƒเบˆเบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™!

เบ„เปเบฒเบ–เบฒเบกเบ‚เบญเบ‡เบ—เปˆเบฒเบ™

เบ‚เบญเบšเปƒเบˆเบชเปเบฒเบฅเบฑเบšเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™! เบ—เปˆเบฒเบ™เป„เบ”เป‰เบชเบปเบ™เบ—เบฐเบ™เบฒเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบšเบฑเบ™เบซเบฒ. เบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เป€เบ•เบทเบญเบ™เป„เบ”เป‰เปเบ™เบงเปƒเบ”? เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบ‚เป‰เบญเบเบกเบตเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบซเป‰เบญเบเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบเป‰เบญเบ™เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบšเบฒเบ‡เบšเปเบฅเบดเบเบฒเบ™เบžเบฒเบเบ™เบญเบเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบšเบฒเบ‡เบชเปˆเบงเบ™เบฎเปˆเบงเบกเบ›เปˆเบฒเบ—เปเบฒเบกเบฐเบŠเบฒเบ”. เบกเบตเบšเบฒเบ‡เบ„เบณเบฎเป‰เบญเบ‡เบ‚เปเบ™เป‰เบญเบเป†เบ—เบตเปˆเบšเปเปˆเป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเบ—เบตเปˆเบ„เป‰เบฒเบ‡เบขเบนเปˆเบกเบฒเป€เบ›เบฑเบ™เป€เบงเบฅเบฒเปœเบถเปˆเบ‡เบกเบทเป‰, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเปเปˆเป€เบฅเบตเปˆเบกเป€เบฎเบฑเบ”เปเบšเบšเป„เบฎเป‰เบชเบฒเบฅเบฐ. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบญเบฐเบ—เบดเบšเบฒเบ. เบงเบดเบ—เบตเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบ™เบตเป‰? เบ™เบฑเปˆเบ‡เป€เบšเบดเปˆเบ‡เบขเบนเปˆเบชเบฐเป€เปเบตเบงเปˆเบฒเบ„เบณเบฎเป‰เบญเบ‡เบ‚เปเปƒเบ”เบ•เบดเบ”เบขเบนเปˆ? เบชเบดเปˆเบ‡เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ›เป‰เบญเบ‡เบเบฑเบ™เป„เบ”เป‰เปเบ™เบงเปƒเบ”?

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบ™เบตเป‰เปเบกเปˆเบ™เบงเบฝเบเบ‡เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™เบ‚เบญเบ‡เบšเปเบฅเบดเบชเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบš DBA.

เบ‚เป‰เบญเบเป€เบ›เบฑเบ™เบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™.

PostgreSQL เบกเบตเบกเบธเบกเป€เบšเบดเปˆเบ‡เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ pg_stat_activity เบ—เบตเปˆเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบก dangling. เปเบฅเบฐเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เบงเปˆเบฒเบกเบฑเบ™เบ„เป‰เบฒเบ‡เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™เบ”เบปเบ™เบ›เบฒเบ™เปƒเบ”.

เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เป€เบ‚เบปเป‰เบฒเบกเบฒเป€เบšเบดเปˆเบ‡เบ—เบธเบเป† 5 เบ™เบฒเบ—เบตเบšเป?

เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ cron เปเบฅเบฐเบเบงเบ”เบชเบญเบš. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเป„เบฅเบเบฐเบเบฒเบง, เบ‚เบฝเบ™เบˆเบปเบ”เบซเบกเบฒเบเปเบฅเบฐเบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบกเบฑเบ™. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบ—เปˆเบฒเบ™เบšเปเปˆ เบˆเบณ เป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบšเบดเปˆเบ‡เบ”เป‰เบงเบเบ•เบฒ, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป„เบ”เป‰. เบ—เปˆเบฒเบ™โ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบˆเบปเบ”โ€‹เบซเบกเบฒเบโ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹, เบ—เปˆเบฒเบ™ react เบเบฑเบšโ€‹เบกเบฑเบ™โ€‹. เบซเบผเบทเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบดเบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.

เบกเบตเป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบชเบดเปˆเบ‡เบ™เบตเป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™?

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบฅเบฐเบšเบธเป„เบงเป‰เบšเบฒเบ‡. เบ•เบปเบงเบขเปˆเบฒเบ‡เบญเบทเปˆเบ™เป†เบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบ. เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบกเบตเบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒเป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ”เบปเบ™เบ™เบฒเบ™.

เบ‚เบญเบšเปƒเบˆเบชเปเบฒเบฅเบฑเบšเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™! เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เบ„เบงเบฒเบกเบเบฐเบˆเปˆเบฒเบ‡เปเบˆเป‰เบ‡เบเปˆเบฝเบงเบเบฑเบšเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ” pg_repack. เบ–เป‰เบฒเบ™เบฒเบ‡เบšเปเปˆเป€เบฎเบฑเบ”เบเบฒเบ™เบฅเบฑเบญเบเบชเบฐเป€เบžเบฒเบฐ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ ...

เบ™เบฒเบ‡เป€เบฎเบฑเบ”เบเบฒเบ™เบฅเบฑเบญเบเบชเบฐเป€เบžเบฒเบฐ.

... เปเบฅเป‰เบงเบ‚เป‰เบญเบเบญเบฒเบ”เบˆเบฐเบชเบนเบ™เป€เบชเบเบ‚เปเป‰เบกเบนเบ™. เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเบšเปเปˆเบ„เบงเบ™เบšเบฑเบ™เบ—เบถเบเบซเบเบฑเบ‡เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ™เบตเป‰เบšเป?

เบšเปเปˆ, เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ”เบตเบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡, i.e. pg_repack เบ—เปเบฒเบญเบดเบ”เป‚เบญเบ™เบชเบฒเบเบชเบปเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบกเบตเบขเบนเปˆ. เบ•เบฒเบกเบ—เปเบฒเบกเบฐเบŠเบฒเบ”, เบšเบฒเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. เบฅเบฒเบงเบžเบฝเบ‡เปเบ•เปˆเบ–เบดเป‰เบกเบซเบฒเบ‡เบกเป‰เบฒเบ™เบตเป‰เบญเบญเบ.

เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบฅเบฒเบงเป€เบฎเบฑเบ”เบกเบฑเบ™เปƒเบ™เบ—เบตเปˆเบชเบธเบ”เบšเป?

เปƒเบ™เบ—เบตเปˆเบชเบธเบ”, เบฅเบฒเบงเปƒเบŠเป‰เบเบฒเบ™เบฅเบฑเบญเบเบชเบฐเป€เบžเบฒเบฐเป€เบžเบทเปˆเบญเปเบฅเบเบ›เปˆเบฝเบ™เป„เบŸเบฅเปŒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰.

เบกเบฑเบ™เบˆเบฐเป„เบงเบเบงเปˆเบฒ VACUUM FULL เบšเป?

VACUUM เป€เบ•เบฑเบก, เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบกเบฑเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบ—เบฑเบ™เบ—เบตเบ—เบฑเบ™เปƒเบ”เป„เบ”เป‰เบฅเบฑเบญเบเบžเบดเป€เบชเบ”. เปเบฅเบฐเบˆเบปเบ™เบเปˆเบงเบฒเบฅเบฒเบงเป€เบฎเบฑเบ”เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡, เบฅเบฒเบงเบˆเบฐเบšเปเปˆเบ›เปˆเบญเบเปƒเบซเป‰เบ™เบฒเบ‡เป„เบ›. เปเบฅเบฐ pg_repack เปƒเบŠเป‰เบเบฒเบ™เบฅเบฑเบญเบเบชเบฐเป€เบžเบฒเบฐเปƒเบ™เป€เบงเบฅเบฒเบ›เปˆเบฝเบ™เป„เบŸเบฅเปŒ. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เปˆเบฒเบ™เบˆเบฐเบšเปเปˆเบ‚เบฝเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เปเบ•เปˆเบ‚เปเป‰เบกเบนเบ™เบˆเบฐเบšเปเปˆเบชเบนเบ™เป€เบชเบ, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบˆเบฐเบ”เบต.

เบชเบฐเบšเบฒเบเบ”เบต! เบ—เปˆเบฒเบ™เป„เบ”เป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡เบชเบนเบ™เบเบฒเบเบฒเบ”เบฅเบปเบ”. เบกเบตเป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบ—เบตเปˆเบกเบตเบ•เบฒเบฅเบฒเบ‡เบšเบฑเบ™เบ—เบถเบเบชเบตเปเบ”เบ‡, เบชเบตเป€เบซเบผเบทเบญเบ‡ เปเบฅเบฐเบชเบตเบ‚เบฝเบง. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบชเบตเป€เบซเบผเบทเบญเบ‡ - เบฅเบฒเบงเป„เบ”เป‰เบซเบกเบฒเบเปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเบฅเบถเบšเบ–เบดเป‰เบก. เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบซเบกเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบžเบงเบเบกเบฑเบ™เป„เบ”เป‰เบšเป?

เปเบกเปˆเบ™เปเบฅเป‰เบง. Postgres เบšเปเปˆเบฅเบถเบšเบชเบฒเบ. เบฅเบฒเบงเบกเบตเบ„เบงเบฒเบกเบชเบฐเป€เบžเบฒเบฐเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง. เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเบญเบฑเบšเป€เบ”เบ”เปเบ–เบง, เบžเบงเบเป€เบฎเบปเบฒเปเบฒเบเบญเบฑเบ™เป€เบเบปเปˆเบฒเบงเปˆเบฒเบ–เบทเบเบฅเบถเบšเปเบฅเป‰เบง. id เบ‚เบญเบ‡เบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ™เบตเป‰เบ›เบฒเบเบปเบ”เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เปเบ–เบงเปƒเบซเบกเปˆ. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบเบญเบ‡เบ›เบฐเบŠเบธเบกเบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเบญเปˆเบฒเบ™เบžเบงเบเบกเบฑเบ™เป„เบ”เป‰. เปƒเบ™เบšเบฒเบ‡เบˆเบธเบ”เบžเบงเบเป€เบ‚เบปเบฒเบเบฒเบเป€เบ›เบฑเบ™เบญเบฒเบเบธเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡. เปเบฅเบฐเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™ autovacuum เป€เบฎเบฑเบ”เบงเบฝเบเปเบกเปˆเบ™เบงเปˆเบฒเบกเบฑเบ™เบœเปˆเบฒเบ™เป€เบชเบฑเป‰เบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบฅเบฐเบซเบกเบฒเบเปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™. เปเบฅเบฐเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เบ—เบฑเบšเบ‚เปเป‰เบกเบนเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™.

เบ‚เป‰เบญเบโ€‹เป€เบ‚เบปเป‰เบฒโ€‹เปƒเบˆ. เปเบ•เปˆเบ™เบฑเป‰เบ™เบšเปเปˆเปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ„เปเบฒเบ–เบฒเบกเปเบกเปˆเบ™เบเปˆเบฝเบงเบเบฑเบš. เบ‚เป‰เบญเบเบšเปเปˆเป„เบ”เป‰เบˆเบปเบš. เปƒเบซเป‰เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ•เบฒเบ•เบฐเบฅเบฒเบ‡. เบกเบฑเบ™เบกเบตเบ‚เบฐ เปœเบฒเบ” เบ—เบตเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰. เปเบฅเบฐเบ–เป‰เบฒเบ‚เป‰เบญเบเบžเบฐเบเบฒเบเบฒเบกเปƒเบชเปˆเบชเบดเปˆเบ‡เปƒเบซเบกเปˆ, เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเบšเปเปˆเป€เบซเบกเบฒเบฐเบเบฑเบšเบซเป‰เบญเบ‡เป€เบเบปเปˆเบฒ.

เบšเปเปˆ, เปƒเบ™เบเปเบฅเบฐเบ™เบตเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบชเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. Postgres เบกเบตเบชเบญเบ‡เบฎเบนเบšเปเบšเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™. เบกเบฑเบ™เป€เบฅเบทเบญเบเบˆเบฒเบเบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™. เบกเบตเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เป‚เบ”เบเบเบปเบ‡เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡, เปเบฅเบฐเบเบฑเบ‡เบกเบตเบ‚เปเป‰เบกเบนเบ™ tos. เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ‚เปเป‰เบกเบนเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ: เบ‚เปเป‰เบ„เบงเบฒเบก, json. เบžเบงเบเบกเบฑเบ™เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เปเบœเปˆเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ. เปเบฅเบฐเบญเบตเบ‡เบ•เบฒเบกเป€เบกเบฑเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เป€เบฅเบทเปˆเบญเบ‡เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš bloat เป€เบเบตเบ”เบ‚เบถเป‰เบ™, i.e. เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ„เบทเบเบฑเบ™. เบžเบงเบเป€เบ‚เบปเบฒเบžเบฝเบ‡เปเบ•เปˆเบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.

เบ‚เบญเบšเปƒเบˆเบชเปเบฒเบฅเบฑเบšเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™! เบกเบฑเบ™เบเบญเบกเบฎเบฑเบšเป„เบ”เป‰เบšเปเบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบเบฒเบ™เปเบปเบ”เป€เบงเบฅเบฒเบ‚เบญเบ‡เบ–เบฐเปเบซเบผเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเบˆเบณเบเบฑเบ”เป„เบฅเบเบฐเป€เบงเบฅเบฒ?

เบเบญเบกเบฎเบฑเบšเบซเบผเบฒเบ. เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบญเบฑเบ™เบ™เบตเป‰เบขเบนเปˆเบ—เบปเปˆเบงเบ—เบธเบเปเบซเปˆเบ‡. เปเบฅเบฐเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบกเบตเบšเปเบฅเบดเบเบฒเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญเบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบ, เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเบซเบฅเบฒเบเบซเบฅเบฒเบ. เปเบฅเบฐเบ—เบธเบเบ„เบปเบ™เบžเปเปƒเบˆเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบงเบฝเบ cron เบ—เบตเปˆเบเบงเบ”เบชเบญเบš. เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ‚เบญเบ‡เบเบญเบ‡เบ›เบฐเบŠเบธเบกเปเบกเปˆเบ™เบ•เบปเบเบฅเบปเบ‡เบเบฑเบšเบฅเบนเบเบ„เป‰เบฒ, เบเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเป€เบซเบฑเบ™เบ”เบตเบ™เปเบฒ. เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ™เบฒเบ—เบต, เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™ 10 เบ™เบฒเบ—เบต. เบกเบฑเบ™เบ‚เบถเป‰เบ™เบขเบนเปˆเบเบฑเบšเบเบฒเบ™เป‚เบซเบผเบ”เบขเบนเปˆเป€เบ—เบดเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เปเบฅเบฐเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ‚เบญเบ‡เบกเบฑเบ™. เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบ—เบธเบเบ„เบปเบ™เปƒเบŠเป‰ pg_stat_activity.

เบ‚เบญเบšเปƒเบˆเบชเปเบฒเบฅเบฑเบšเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™! เบ‚เป‰เบญเบเบžเบฐเบเบฒเบเบฒเบกเปƒเบŠเป‰เบฅเบฒเบเบ‡เบฒเบ™เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบเบฑเบšเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ. เปเบฅเบฐเบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบธเบฅเบฐเบเปเบฒเบขเบนเปˆเบ—เบปเปˆเบงเบ—เบธเบเปเบซเปˆเบ‡, เปเบฅเบฐเบˆเบฐเปเบˆเป‰เบ‡เบกเบฑเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบขเบนเปˆเบ—เบปเปˆเบงเบ—เบธเบเปเบซเปˆเบ‡. เบ–เป‰เบฒเบกเบตเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฒเบ™เบเบฑเบšเบ„เบทเบ™เบเบฑเบ‡เป€เบเบตเบ”เบ‚เบทเป‰เบ™. เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ‚เป‰เบญเบเบเปเปˆเป€เบฅเบตเปˆเบกเบ„เบดเบ”. เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”, เบ—เบธเบฅเบฐเบเปเบฒเบญเบฒเบ”เบˆเบฐเบšเปเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™. เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเปเบฒเบฅเบฑเบšเป€เบ”เบฑเบเบเบดเบ‡. เบ–เป‰เบฒเบ‚เป‰เบญเบเบžเบฝเบ‡เปเบ•เปˆเบ›เบฑเบšเบ›เบธเบ‡เบšเบฑเบ™เบ—เบถเบ, เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบˆเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™ PostgreSQL เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเป€เบฅเบฑเบ”เป€เบกเบทเปˆเบญเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ–เบทเบเบ•เบฑเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ?

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบฅเบฐเบ”เบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ, เบกเบฑเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเป„เบ”เป€เบงเบตเบ—เบตเปˆเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰, เบเปˆเบฝเบงเบเบฑเบš ORM เบ—เบตเปˆเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰. เบกเบตเบซเบผเบฒเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบ—เปˆเบฒเบ™โ€‹เบกเบตโ€‹เบ„เปเบฒโ€‹เบซเบกเบฑเป‰เบ™โ€‹เบชเบฑเบ™โ€‹เบเบฒโ€‹เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹เป€เบ›เบตเบ”โ€‹เปƒเบซเป‰โ€‹เปƒเบŠเป‰โ€‹เบ‡เบฒเบ™โ€‹, เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™โ€‹เบเบฒเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบ—เบธโ€‹เบฅเบฐโ€‹เบเปเบฒโ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹เบ—เบตเปˆโ€‹เบ™เบฑเป‰เบ™โ€‹เปเบฅเบฐโ€‹เบ›เบดเบ”โ€‹เบ—เบฑเบ™โ€‹เบ—เบตโ€‹.

เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบกเบฑเบ™เบ›เบดเบ”เบ—เบฑเบ™เบ—เบตเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡?

เบกเบฑเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ. เบ‚เป‰เบญเบเบ•เบฑเป‰เบ‡เบŠเบทเปˆเบญเบฑเบ™เปœเบถเปˆเบ‡. เบ™เบตเป‰เปเบกเปˆเบ™ auto commit on. เบกเบฑเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ—เบปเปˆเบงเป„เบ›. เบ–เป‰เบฒเบกเบฑเบ™เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเป„เบ”เป‰เป€เบ›เบตเบ”เปเบฅเบฐเบ›เบดเบ”. เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบงเปˆเบฒเบ—เปˆเบฒเบ™เป€เบงเบปเป‰เบฒเบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒ "เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ" เปเบฅเบฐ "เบชเบดเป‰เบ™เบชเบธเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ", เปเบ•เปˆเบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบตเบ”เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบญเบ‡เบ›เบฐเบŠเบธเบก.

เบชเบฐเบšเบฒเบเบ”เบต! เบ‚เบญเบšเปƒเบˆเบชเปเบฒเบฅเบฑเบšเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™! เปƒเบซเป‰เบˆเบดเบ™เบ•เบฐเบ™เบฒเบเบฒเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบญเบฒเบเบฒเบ™เบšเบงเบกเปเบฅเบฐเบšเบงเบกเปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบทเป‰เบ™เบ—เบตเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบˆเบฐเบซเบกเบปเบ”เป„เบ›. เบกเบตเป€เบ„เบทเปˆเบญเบ‡เบกเบทเป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰เบšเป?

เบžเบทเป‰เบ™เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡.

เบ•เบปเบงเบขเปˆเบฒเบ‡, DBA เป„เบ”เป‰เป„เบ›เบซเบฒเบŠเบฒ, เบขเบนเปˆเบฃเบตเบชเบญเบ”, เปเบฅเบฐเบญเบทเปˆเบ™เป†.

เป€เบกเบทเปˆเบญเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™, เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบšเบฒเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบ‚เปเป‰เบกเบนเบ™เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ‚เบฝเบ™.

เบˆเบฐเป€เบ›เบฑเบ™เปเบ™เบงเปƒเบ”เบ–เป‰เบฒเบกเบฑเบ™เบ•เปเปˆเบฒเบเบงเปˆเบฒเบชเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”?

เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™เบกเบฑเบ™เบ–เบทเบเป€เบญเบตเป‰เบ™เบงเปˆเบฒเบžเบทเป‰เบ™เบ—เบตเปˆเบชเบฐเบซเบ‡เบงเบ™, i.e. เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ›เปˆเบญเบเบญเบญเบเบกเบฒเป„เบ”เป‰เปเบฅเบฐเบ‚เบถเป‰เบ™เบเบฑเบšเบงเปˆเบฒเบกเบฑเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ”, เบ—เปˆเบฒเบ™เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบžเบทเป‰เบ™เบ—เบตเปˆเบซเบงเปˆเบฒเบ‡. เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เป‰เบญเบเบšเปเปˆเบฎเบนเป‰เบงเปˆเบฒเบกเบตเบˆเปเบฒเบ™เบงเบ™เป€เบ—เบปเปˆเบฒเปƒเบ”. เปเบฅเบฐเปƒเบ™เบเปเบฅเบฐเบ™เบตเบญเบทเปˆเบ™, เบˆเบฑเบ”เบชเบปเปˆเบ‡เปเบœเปˆเบ™เป€เบžเบทเปˆเบญเปƒเบซเป‰เบ—เปˆเบฒเบ™เบกเบตเบšเปˆเบญเบ™เบซเบงเปˆเบฒเบ‡เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ„เบทเบ™เปƒเบซเบกเปˆ. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบถเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡.

เบกเบตเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบญเบทเปˆเบ™เบšเป?

เบกเบฑเบ™เป€เบฎเบฑเบ”เบ”เป‰เบงเบเบกเบทเบชเบฐเป€เปเบต. เปเบฅเบฐเบขเบนเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบกเบฑเบ™เบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเบญเบฑเบ™เปƒเบ”เบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เป€เบžเบฒเบฐเบงเปˆเบฒเบ‚เปเป‰เบกเบนเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบชเปเบฒเบ„เบฑเบ™เปเบฅเบฐเบšเบฒเบ‡เบ‚เปเป‰เบกเบนเบ™เปเบกเปˆเบ™เบšเปเปˆเบชเปเบฒเบ„เบฑเบ™. เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบกเบฑเบ™, เบกเบฑเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบ—เบธเบฅเบฐเบเบดเบ”. เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบขเบนเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบชเบฐ เป€เปเบต.

เบ‚เบญเบšเปƒเบˆเบชเปเบฒเบฅเบฑเบšเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™! เบ‚เป‰เบญเบเบกเบตเบชเบญเบ‡เบ„เปเบฒเบ–เบฒเบก. เบ—เปเบฒเบญเบดเบ”, เบ—เปˆเบฒเบ™เป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปเบœเปˆเบ™เบชเบฐเป„เบฅเป‰เบ—เบตเปˆเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเป€เบกเบทเปˆเบญเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบ•เบดเบ”เบขเบนเปˆ, เบ—เบฑเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ”เบ”เบฑเบ”เบชเบฐเบ™เบตเบˆเบฐเป€เบ•เบตเบšเป‚เบ•. เปเบฅเบฐเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปƒเบ™เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบกเบตเบŠเปเปˆเบ‚เบญเบ‡เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบซเบธเป‰เบกเบซเปเปˆเปเบ—เบฑเบšเป€เบฅเบฑเบ”. เปเบกเปˆเบ™เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบ”เบฑเบ”เบŠเบฐเบ™เบต?

เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบซเบธเป‰เบกเบซเปเปˆเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบ„เบทเบเบฑเบ™.

เปเบ•เปˆเบชเบนเบ™เบเบฒเบเบฒเบ”เบšเปเปˆเบกเบตเบœเบปเบ™เบ•เปเปˆเบ”เบฑเบ”เบŠเบฐเบ™เบตเบšเป?

เบšเบฒเบ‡เบ„เบปเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ”เบฑเบ”เบชเบฐเบ™เบต. เบ•เบปเบงเบขเปˆเบฒเบ‡, pg_rapack, pgcompacttable. เบชเบนเบ™เบเบฒเบเบฒเบ” recreates เบ”เบฑเบ”เบŠเบฐเบ™เบตเปเบฅเบฐเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ. เบ”เป‰เบงเบ VACUUM FULL เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบ‚เบฝเบ™เบ—เบฑเบšเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡, เป€เบŠเบฑเปˆเบ™เบงเปˆเบฒเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ—เบธเบเบ„เบปเบ™.

เปเบฅเบฐเบ„เปเบฒเบ–เบฒเบกเบ—เบตเบชเบญเบ‡. เบ‚เป‰เบญเบเบšเปเปˆเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบซเบผเบฒเบ. เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ‚เป‰เบญเบเบญเปˆเบฒเบ™เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™, เปเบฅเบฐเบเบฒเบ™เบชเปเบฒเป€เบ™เบปเบฒเปเบกเปˆเบ™เบ‚เบฝเบ™.

เปเบกเปˆเบ™เบซเบเบฑเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบ„เบงเบฒเบกเบ‚เบฑเบ”เปเบเป‰เบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡? เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบญเบฒเบˆเบฒเบ™เบ—เบตเปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบเบตเบ”เบ‚เบถเป‰เบ™. เบžเบงเบเป€เบฎเบปเบฒเบกเบตเป€เบ„เบทเปˆเบญเบ‡เบ”เบนเบ”เบเบธเปˆเบ™เปƒเบ™เบฅเบปเบ”. เบ•เบปเบงเบˆเบดเบ‡เปเบฅเป‰เบง autovacuum เป€เบฎเบฑเบ”เบซเบเบฑเบ‡เปเบ”เปˆ? เบฅเบฒเบงเบเปเบฒเบฅเบฑเบ‡เบ•เบฑเบ”เบชเบฒเบเป€เบเบปเปˆเบฒเบšเบฒเบ‡เบญเบฑเบ™. เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบเปˆเบฝเบงเบเบฑเบš replica เบ—เบตเปˆเบญเปˆเบฒเบ™เป€เบชเบฑเป‰เบ™เป€เบเบปเปˆเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เปเบฅเบฐเปƒเบ™ Master เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เป„เบ”เป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบ—เบตเปˆ autovacuum เบซเบกเบฒเบเป€เบชเบฑเป‰เบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฝเบ™เบ—เบฑเบš, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒ overwrite เปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบŠเบธเบ”เบ‚เปเป‰เบกเบนเบ™, เป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบฝเบ™เบ„เบทเบ™เป€เบชเบฑเป‰เบ™เป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ•เป‰เบญเบ‡เบเบฒเบ™เบขเบนเปˆเปƒเบ™ replica, เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบˆเบฐเบฅเปเบ–เป‰เบฒเป€เบงเบฅเบฒเบซเบกเบปเบ”เป€เบงเบฅเบฒเบ—เบตเปˆเบ—เปˆเบฒเบ™เบเปเบฒเบ™เบปเบ”. เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ PostgreSQL เบˆเบฐเบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบงเปˆเบฒเบญเบฑเบ™เปƒเบ”เบชเปเบฒเบ„เบฑเบ™เบเบงเปˆเบฒเบเบฑเบšเบกเบฑเบ™. เปเบฅเบฐเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบเบฑเบšเบฅเบฒเบงเบซเบผเบฒเบเบเบงเปˆเบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป, เปเบฅเบฐเบฅเบฒเบงเบˆเบฐเบเบดเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบขเบนเปˆเปƒเบ™เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡.

Andrey, เบ‚เป‰เบญเบเบกเบตเบ„เปเบฒเบ–เบฒเบก. เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบ—เบตเปˆเบเบญเบ”เบขเป‰เบฝเบกเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต, เบ™เบตเป‰เปเบกเปˆเบ™เบœเบปเบ™เบกเบฒเบˆเบฒเบเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบšเป? เบเบฃเบฒเบŸเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เปเบ™เบงเปƒเบ”?

เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ Okmeter.

เบ™เบตเป‰เปเบกเปˆเบ™เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบเบฒเบ™เบ„เป‰เบฒเบšเป?

เปเบกเปˆเบ™เปเบฅเป‰เบง. เบ™เบตเป‰เปเบกเปˆเบ™เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบเบฒเบ™เบ„เป‰เบฒ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™