αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž“αŸ…αž–αŸαž›αž’αž“αžΆαž‚αžαžŠαŸαž†αŸ’αž„αžΆαž™ αž€αžΆαžšαžŠαž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž…αŸαž‰αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αžΉαž„αž€αŸ’αž›αžΆαž™αž‡αžΆαž€αž·αž…αŸ’αž…αž€αžΆαžšαžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™αž“αŸƒ DBMS [1] αŸ” αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ αž™αžΎαž„αžαŸ’αž›αž½αž“αž―αž„αžαŸ’αžšαžΌαžœαž™αž€αž…αž·αžαŸ’αžαž‘αž»αž€αžŠαžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž›αž»αž” αž¬αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαžαŸ„αž€αŸ” αž§αž”αž˜αžΆαžαžΆαž’αŸ’αž“αž€αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž›αž»αž”αž‡αž½αžšαž–αžΈαžšαž”αžΈαž›αžΆαž“αŸ” αž€αž·αž…αŸ’αž…αž€αžΆαžšαžŠαŸαžŸαžΆαž˜αž‰αŸ’αž‰αž˜αž½αž™ αž‡αžΆαž–αž·αžŸαŸαžŸαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž›αž€αŸ’αžαžαžŽαŸ’αžŒαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαžŸαŸ’αž‚αžΆαž›αŸ‹ αž αžΎαž™αž˜αžΆαž“αžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαžŸαž˜αžšαž˜αŸ’αž™αŸ” "αž›αž»αž”αž…αŸαž‰αž–αžΈαžαžΆαžšαžΆαž„αž‘αžΈ 1 αž€αž“αŸ’αž›αŸ‚αž„αžŽαžΆ col1 = : αžαž˜αŸ’αž›αŸƒ" - αžαžΎαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αžΆαž…αžŸαžΆαž˜αž‰αŸ’αž‰αž‡αžΆαž„αž“αŸαŸ‡αž˜αŸ‚αž“αž‘αŸ?

វីដេធូ:

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

  • αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž‚αžŽαŸˆαž€αž˜αŸ’αž˜αžΆαž’αž·αž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Highload αžαžΆαŸ†αž„αž–αžΈαž†αŸ’αž“αžΆαŸ†αžŠαŸ†αž”αžΌαž„ αž–αŸ„αž›αž‚αžΊαžαžΆαŸ†αž„αž–αžΈαž†αŸ’αž“αžΆαŸ† 2007αŸ”

  • αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž“αŸ…αž‡αžΆαž˜αž½αž™ Postgres αžαžΆαŸ†αž„αž–αžΈαž†αŸ’αž“αžΆαŸ† 2005 αŸ” αž”αžΆαž“αž”αŸ’αžšαžΎαžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”

  • αž€αŸ’αžšαž»αž˜αž‡αžΆαž˜αž½αž™ RuPostges αž•αž„αžŠαŸ‚αžšαž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž†αŸ’αž“αžΆαŸ† 2007 αŸ”

  • αž™αžΎαž„αž”αžΆαž“αž€αžΎαž“αž‘αžΎαž„αžŠαž›αŸ‹ 2100+ αž’αŸ’αž“αž€αž…αžΌαž›αžšαž½αž˜αž“αŸ… Meetup αŸ” αžœαžΆαžŸαŸ’αžαž·αžαž“αŸ…αž›αŸ†αžŠαžΆαž”αŸ‹αž‘αžΈ XNUMX αž“αŸ…αž›αžΎαž–αž·αž—αž–αž›αŸ„αž€αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž‘αžΈαž€αŸ’αžšαž»αž„αž‰αžΌαžœαž™αŸ‰αž€ αžŠαŸ‚αž›αžœαŸ‰αžΆαžŠαžΆαž…αŸ‹αžŸαžΆαž“αŸ‹αž αŸ’αžœαŸ’αžšαžΆαž“αŸ‹αžŸαŸŠαžΈαžŸαŸ’αž€αžΌαž’αžŸαŸ‹αžšαž™αŸˆαž–αŸαž›αž‡αžΆαž™αžΌαžšαŸ”

  • αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžšαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžšαžŠαŸ’αž‹αž€αžΆαž›αžΈαž αŸ’αžœαŸαžšαž‰αŸ‰αžΆαž’αžŸαŸ‹αžšαž™αŸˆαž–αŸαž›αž‡αžΆαž…αŸ’αžšαžΎαž“αž†αŸ’αž“αžΆαŸ†αŸ” αžαŸ’αž‰αž»αŸ†αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αž‡αžΆαž˜αž½αž™αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž’αžΆαž˜αŸαžšαž·αž€ αžšαž½αž˜αž‘αžΆαŸ†αž„αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž’αŸ†αŸ—αž•αž„αžŠαŸ‚αžšαŸ” αž–αž½αž€αž‚αŸαž‚αžΊαž‡αžΆαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαž€αž˜αŸ’αž˜αžšαž”αžŸαŸ‹ Postgres αŸ” αž αžΎαž™αž˜αžΆαž“αžšαžΏαž„αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž‚αŸ’αžšαž”αŸ‹αž”αŸ’αžšαž—αŸαž‘αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

https://postgres.ai/ αž‚αžΊαž‡αžΆαž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αŸ” αž™αžΎαž„αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αž“αŸƒαž€αž·αž…αŸ’αž…αž€αžΆαžšαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž›αž»αž”αž”αŸ†αž”αžΆαžαŸ‹αž€αžΆαžšαž™αžΊαžαž™αŸ‰αžΆαžœαž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž˜αž½αž™ αž“αŸ„αŸ‡αž‡αž½αž“αž€αžΆαž›αž˜αžΆαž“αž”αŸ’αžšαž—αŸαž‘αžŠαŸ„αžαž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸ…αž‡αž»αŸ†αžœαž·αž‰ PostgresαŸ” αž§αž”αž˜αžΆαžαžΆαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžšαž„αŸ‹αž…αžΆαŸ†αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŠαžΎαž˜αŸ’αž”αžΈαžšαŸ€αž”αž…αŸ†αž€αž“αŸ’αž›αŸ‚αž„αž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€ αž¬αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžšαž„αŸ‹αž…αžΆαŸ† DBA αž†αŸ’αž›αžΎαž™αžαž”αž˜αž€αž’αŸ’αž“αž€αŸ” αž αžΎαž™αž™αžΎαž„αžšαž€αžƒαžΎαž‰αž—αžΆαž–αž‡αžΆαž”αŸ‹αž‚αžΆαŸ†αž„αž”αŸ‚αž”αž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αž αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αž αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ αž αžΎαž™αž–αŸ’αž™αžΆαž™αžΆαž˜αž›αž»αž”αž”αŸ†αž”αžΆαžαŸ‹αž–αž½αž€αžœαžΆαžŠαŸ„αž™αž˜αžΆαž“αž‡αŸ†αž“αž½αž™αž–αžΈαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜ αž“αž·αž„αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžαŸ’αž˜αžΈαŸ—αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

https://www.seagate.com/files/www-content/our-story/trends/files/idc-seagate-dataage-whitepaper.pdf

αžαŸ’αž˜αžΈαŸ—αž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž“αŸ… VLDB αž€αŸ’αž“αž»αž„αž‘αžΈαž€αŸ’αžšαž»αž„ Los Angeles αŸ” αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αžŸαž“αŸ’αž“αž·αžŸαžΈαž‘β€‹αž’αŸ†β€‹αž”αŸ†αž•αž»αžβ€‹αž›αžΎβ€‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž αžΎαž™αž˜αžΆαž“αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž˜αž½αž™αžαžΆαž“αŸ…αž–αŸαž›αž’αž“αžΆαž‚αž DBMS αž“αžΉαž„αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ‚αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž›αž»αž”αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž‘αŸ€αžαž•αž„αŸ” αž“αŸαŸ‡αž‡αžΆαž”αŸ’αžšαž’αžΆαž“αž”αž‘αžαŸ’αž˜αžΈαŸ”

αž˜αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž·αž—αž–αž“αŸƒ zettabytes - αž“αŸ„αŸ‡αž‡αžΆ 1 petabytes αŸ” αž αžΎαž™αž₯αž‘αžΌαžœαž“αŸαŸ‡αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž”αŸ‰αžΆαž“αŸ‹αž”αŸ’αžšαž˜αžΆαžŽαžαžΆαž™αžΎαž„αž˜αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž…αŸ’αžšαžΎαž“αž‡αžΆαž„ 000 zettabytes αž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž·αž—αž–αž›αŸ„αž€αŸ” αž αžΎαž™αž˜αžΆαž“αž–αž½αž€αž‚αŸαž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αž‘αžΎαž„ αŸ— αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

https://vldb2019.github.io/files/VLDB19-keynote-2-slides.pdf

αž αžΎαž™αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž‡αžΆαž˜αž½αž™αžœαžΆ? αž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αžœαžΆαžαŸ’αžšαžΌαžœαž€αžΆαžšαžŠαž€αž…αŸαž‰αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž“αŸαŸ‡αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžšαž αžΌαžαž˜αž€αžŠαž›αŸ‹αž–αŸαž›αž“αŸαŸ‡αžœαžΆαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž€αŸ’αž“αž»αž„ DBMS αž‘αŸαŸ”

αž’αŸ’αž“αž€αžŠαŸ‚αž›αž’αžΆαž…αžšαžΆαž”αŸ‹αž›αž»αž™αž…αž„αŸ‹αž”αžΆαž“αžšαž”αžŸαŸ‹αž–αžΈαžšαŸ” αž‚αŸβ€‹αž…αž„αŸ‹β€‹αž²αŸ’αž™β€‹αž™αžΎαž„β€‹αž›αž»αž” αžŠαžΌαž…αŸ’αž“αŸαŸ‡β€‹αžαžΆαž˜β€‹αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸβ€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αžαŸ‚β€‹αž’αžΆαž…β€‹αž’αŸ’αžœαžΎβ€‹αž”αžΆαž“αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αžαŸ’αž‰αž»αŸ†β€‹αž“αžΉαž„β€‹αž”αŸ’αžšαžΆαž”αŸ‹β€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž‚αžΊβ€‹αžŸαŸ’αžαžΆαž“αž—αžΆαž–β€‹αž’αžšαžΌαž”αžΈβ€‹αž˜αž½αž™β€‹αž…αŸ†αž“αž½αž“β€‹αžŠαŸ‚αž›β€‹αžšαž½αž˜β€‹αž”αž‰αŸ’αž…αžΌαž›β€‹αž‘αžΆαŸ†αž„β€‹αžŸαŸ’αžαžΆαž“αž—αžΆαž–β€‹αž–αž·αžβ€‹αž˜αž½αž™β€‹αž…αŸ†αž“αž½αž“ αž–αŸ„αž›β€‹αž‚αžΊβ€‹αž‡αžΆβ€‹αž”αŸ’αžšαž—αŸαž‘β€‹αž“αŸƒβ€‹αž€αžΆαžšβ€‹αž…αž„αž€αŸ’αžšαž„β€‹αž“αžΌαžœβ€‹αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αž€αžΎαžβ€‹αž‘αžΎαž„β€‹αž…αŸ†αž–αŸ„αŸ‡β€‹αžαŸ’αž‰αž»αŸ† αž“αž·αž„β€‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™β€‹αž‡αž»αŸ†αžœαž·αž‰β€‹αž‡αžΆαž…αŸ’αžšαžΎαž“β€‹αžŠαž„β€‹αž…αŸ’αžšαžΎαž“β€‹αž†αŸ’αž“αžΆαŸ†αŸ” αžαž»αž„β€‹αž˜αžΆαž“β€‹αž“αŸ…β€‹αž‚αŸ’αžšαž”αŸ‹β€‹αž‘αžΈβ€‹αž€αž“αŸ’αž›αŸ‚αž„ αž αžΎαž™β€‹αž’αŸ’αž“αž€β€‹αžšαžΆαž›αŸ‹β€‹αž‚αŸ’αž“αžΆβ€‹αžŠαžΎαžšβ€‹αž›αžΎβ€‹αžœαžΆβ€‹αž‚αŸ’αžšαž”αŸ‹β€‹αž–αŸαž›αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž…αžΌαžšαž“αž·αž™αžΆαž™αžαžΆαž™αžΎαž„αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž¬αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžšαžΈαž€αž…αž˜αŸ’αžšαžΎαž“αŸ” αž αžΎαž™β€‹αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆβ€‹αžαŸ’αž›αŸ‡β€‹αž…αŸ’αž”αžΆαžŸαŸ‹β€‹αž‡αžΆβ€‹αžŸαŸ†αžšαžΆαž˜αŸ” αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž˜αž½αž™αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹αžœαžΆαž‘αŸαŸ” αž αžΎαž™β€‹αž€αŸ’αžšαŸ„αž™β€‹αž˜αž€β€‹αž™αžΎαž„β€‹αžŠαžΉαž„β€‹αžαžΆβ€‹αž˜αž·αž“β€‹αž‘αžΆαž“αŸ‹β€‹αž”αž‰αŸ’αž…αž”αŸ‹β€‹αž“αŸαŸ‡β€‹αž˜αž·αž“β€‹αž’αžΆαž…β€‹αžšαž€αŸ’αžŸαžΆβ€‹αž‘αž»αž€β€‹αž”αžΆαž“β€‹αž‘αŸ€αžβ€‹αž‘αŸαŸ” αž“αŸ„αŸ‡β€‹αž‚αžΊβ€‹αž™αžΎαž„β€‹αž…αž„αŸ‹β€‹αžŸαž˜αŸ’αž’αžΆαžβ€‹αžœαžαŸ’αžαž»β€‹αžŸαž˜αŸ’αžšαžΆαž˜β€‹αž˜αž½αž™β€‹αž…αŸ†αž“αž½αž“β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αžŸαž“αŸ’αžŸαŸ†β€‹αžŸαŸ†αž…αŸƒβ€‹αž€αž“αŸ’αž›αŸ‚αž„ αž”αž„αŸ’αž€αžΎαž“β€‹αž€αžΆαžšβ€‹αž’αž“αž»αžœαžαŸ’αžαŸ”αž›αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž‡αžΆαž‘αžΌαž‘αŸ… αž—αžΆαžšαž€αž·αž…αŸ’αž…αž‚αžΊαž’αŸ’αžœαžΎαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž€αžΆαžšαž›αž»αž”αžœαžαŸ’αžαž»αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹ αž”αž“αŸ’αž‘αžΆαžαŸ‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž αžΎαž™β€‹αž™αžΎαž„β€‹αž˜αžΆαž“β€‹αžŸαŸ†αžŽαžΎβ€‹αž”αŸ‚αž”β€‹αž“αŸαŸ‡ αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž“αžΉαž„β€‹αž“αž·αž™αžΆαž™β€‹αž“αŸ…β€‹αžαŸ’αž„αŸƒβ€‹αž“αŸαŸ‡ αž–αŸ„αž›β€‹αž‚αžΊβ€‹αž€αžΆαžšβ€‹αž™αž€β€‹αžŸαŸ†αžšαžΆαž˜β€‹αž…αŸαž‰αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž™αžΎαž„αž”αžΆαž“αžŸαž»αŸ†αž±αŸ’αž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŠαŸ‚αž›αž˜αžΆαž“αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž˜αŸ’αž“αžΆαž€αŸ‹αž’αŸ’αžœαžΎαžœαžΆαŸ” αž‚αžΆαžαŸ‹αž”αžΆαž“αž™αž€αžŸαŸ†αžŽαžΎαž“αŸαŸ‡αž–αž·αž“αž·αžαŸ’αž™αžœαžΆαžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„ - αž’αŸ’αžœαžΈαŸ—αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αžŸαžΆαž€αž›αŸ’αž”αž„αž“αŸ…αž›αžΎαž†αžΆαž€ - αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž›αŸ’αž’αŸ” αž”αžΆαž“αžŠαžΆαž€αŸ‹αž…αŸαž‰ - αž’αŸ’αžœαžΈαŸ—αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αž˜αž½αž™αžαŸ’αž„αŸƒαž™αžΎαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžœαžΆ - αž’αŸ’αžœαžΈαŸ—αž‚αžΊαž›αŸ’αž’αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαžΈαž€αž…αž˜αŸ’αžšαžΎαž“αž“αž·αž„αžšαžΈαž€αž…αž˜αŸ’αžšαžΎαž“αŸ” αž€αžΆαžš DELETE αž”αŸ’αžšαž…αžΆαŸ†αžαŸ’αž„αŸƒαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αžΊαžαž‡αžΆαž„αž”αž“αŸ’αžαž·αž…αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž™αžΎαž„αž™αž›αŸ‹αžαžΆαž₯αž‘αžΌαžœαž“αŸαŸ‡αž™αžΎαž„αž˜αžΆαž“αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž‘αžΈαž•αŸ’αžŸαžΆαžš αž αžΎαž™αž…αžšαžΆαž…αžšαžŽαŸαž“αžΉαž„αž˜αžΆαž“αž‘αŸ†αž αŸ†αž’αŸ†αž‡αžΆαž„αž˜αž»αž“αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαž„ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™αž™αžΎαž„αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž•αŸ’αž’αžΆαž€αž‡αžΆαž”αžŽαŸ’αžαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“αž“αžΌαžœαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αŸ” αž αžΎαž™αž—αŸ’αž›αŸαž…αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž–αžΈαžšαž”αžΈαžαŸ‚αž€αŸ’αžšαŸ„αž™αž˜αž€αž–αž½αž€αž‚αŸαž”αžΆαž“αž…αž„αž…αžΆαŸ†αŸ” αž αžΎαž™β€‹αž’αŸ’αž“αž€β€‹αž’αž—αž·αžœαžŒαŸ’αžαž“αŸβ€‹αž“αŸ„αŸ‡β€‹αž”αžΆαž“β€‹αžˆαž”αŸ‹ αž¬β€‹αžšαžœαž›αŸ‹β€‹αž‡αžΆαž˜αž½αž™β€‹αž’αŸ’αžœαžΈβ€‹αž•αŸ’αžŸαŸαž„β€‹αž‘αŸ€αž αžŠαŸ„αž™β€‹αžŽαŸ‚αž“αžΆαŸ†β€‹αž’αŸ’αž“αž€β€‹αž•αŸ’αžŸαŸαž„β€‹αž±αŸ’αž™β€‹αž”αŸ’αžšαž‚αž›αŸ‹β€‹αžœαžΆβ€‹αž˜αž€β€‹αžœαž·αž‰αŸ”

αž‚αžΆαžαŸ‹αž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αž›αžΎ dev αž“αŸ…αž›αžΎαž†αžΆαž€ - αž’αŸ’αžœαžΈαŸ—αž‚αžΊαž›αŸ’αž’αž αžΎαž™αŸ” αžαžΆαž˜αž’αž˜αŸ’αž˜αž‡αžΆαžαž· αž’αŸ’αž“αž€αž“αŸ…αžαŸ‚αžαŸ’αžšαžΌαžœαžŸαž˜αŸ’αž’αžΆαžαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαž˜αžΌαž›αž•αŸ’αžαž»αŸ†αŸ” αž‚αžΆαžαŸ‹αž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αž’αŸ’αžœαžΈαŸ—αž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„αž”αž“αŸ’αž‘αžΆαž”αŸ‹? αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ αž’αŸ’αžœαžΈαŸ—αž€αŸαž’αŸ’αž›αžΆαž€αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž™αžΎαž„αŸ” αžœαžΆαž’αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž“αŸ…αž…αŸ†αžŽαž»αž…αžαŸ’αž›αŸ‡αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž’αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡αŸ” αž‚αŸ’αžšαž”αŸ‹β€‹αž‚αŸ’αž“αžΆβ€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αžαž€αŸ‹αžŸαŸ’αž›αž»αž αž‚αŸ’αž˜αžΆαž“β€‹αž“αžšαžŽαžΆβ€‹αž™αž›αŸ‹β€‹αžαžΆβ€‹αž˜αžΆαž“β€‹αž’αŸ’αžœαžΈβ€‹αž€αžΎαžβ€‹αž‘αžΎαž„β€‹αž‘αžΎαž™αŸ” αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžœαžΆαž”αŸ’αžšαŸ‚αžαžΆαž”αž‰αŸ’αž αžΆαž‚αžΊαž“αŸ…αž€αŸ’αž“αž»αž„ DELETE αž“αŸαŸ‡αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž˜αžΆαž“β€‹αž’αŸ’αžœαžΈαž˜αž½αž™β€‹αž˜αž·αž“β€‹αž”αŸ’αžšαž€αŸ’αžšαžαžΈ? αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž”αž‰αŸ’αž‡αžΈαž“αŸƒαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αžΆαž…αžαž»αžŸαŸ” αžαžΎαž˜αž½αž™αžŽαžΆαžŸαŸ†αžαžΆαž“αŸ‹αž‡αžΆαž„αž‚αŸ?

  • αž§αž‘αžΆαž αžšαžŽαŸ αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰αž‘αŸ αž–αŸ„αž›αž‚αžΊαž’αŸ’αž“αž€αž‡αŸ†αž“αžΆαž‰ DBA αž˜αž·αž“αž”αžΆαž“αž˜αžΎαž›αžœαžΆαž‘αŸαŸ” αž‚αžΆαžαŸ‹αž“αžΉαž„αžšαž€αžƒαžΎαž‰αž”αž‰αŸ’αž αžΆαž—αŸ’αž›αžΆαž˜αŸ—αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž—αŸ’αž“αŸ‚αž€αžŠαŸ‚αž›αž˜αžΆαž“αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸ αž αžΎαž™αž€αŸ’αžšαŸ…αž–αžΈαž“αŸαŸ‡αž‚αžΆαžαŸ‹αž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎαž•αž›αž·αžαž•αž› αžŠαŸ‚αž›αžαŸ’αžŸαŸ‚αž‡αžΆαž…αŸ’αžšαžΎαž“αž›αžΆαž“αž”αžΆαž“αž”αŸ’αžšαž˜αžΌαž›αž•αŸ’αžαž»αŸ†αŸ”

  • αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž–αž½αž€αž‚αŸαž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αž’αŸ’αžœαžΈαž˜αž½αž™αžαž»αžŸαž αžΎαž™αŸ”

  • αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αž αž½αžŸαžŸαž˜αŸαž™αž αžΎαž™ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžŠαŸ†αž‘αžΎαž„αž€αŸ†αžŽαŸ‚αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž“αŸαŸ‡αŸ”

  • αž¬αž˜αžΆαž“αž’αŸ’αžœαžΈαžαž»αžŸαž‡αžΆαž˜αž½αž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αž›αž½αž“αž―αž„ αž αžΎαž™αž™αžΎαž„αžαŸ’αžšαžΌαžœαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž–αžΈ Postgres αž‘αŸ… MySQL αŸ”

  • αž¬αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αžΆαž“αž’αŸ’αžœαžΈαžαž»αžŸαž‡αžΆαž˜αž½αž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ”

  • αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αžΆαž“αž€αŸ†αž αž»αžŸαž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαŸ€αž”αž…αŸ†αž€αžΆαžšαž„αžΆαžš αž αžΎαž™αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαž”αžŽαŸ’αžαŸαž‰αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹ αž αžΎαž™αž‡αž½αž›αž˜αž“αž»αžŸαŸ’αžŸαž›αŸ’αž’αž”αŸ†αž•αž»αž?

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ DBA αž‘αŸαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΆαž“ DBA αž‚αžΆαžαŸ‹αž“αžΉαž„αžƒαžΎαž‰αž”αž“αŸ’αž‘αžΆαžαŸ‹αžšαžΆαž”αŸ‹αž›αžΆαž“αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž αžΎαž™αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸαžŽαžΆαž˜αž½αž™αž“αžΉαž„αž“αž·αž™αžΆαž™αžαžΆαŸ– "αž–αž½αž€αž‚αŸαž˜αž·αž“αž’αŸ’αžœαžΎαžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž‘αŸ"αŸ” αž§αž”αž˜αžΆαžαžΆαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΌαžŠαž“αŸαŸ‡αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„ GitLab, GitHub αž αžΎαž™αž“αžΉαž„αž˜αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž€αžΌαžŠ αž αžΎαž™αžœαžΆαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž‘αŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž™αž›αŸ‹αž–αŸ’αžšαž˜αž–αžΈ DBA αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸαŸ‡αž“αžΉαž„αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž›αžΎαž•αž›αž·αžαž•αž›αž“αŸ„αŸ‡ αž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹ DBA αž“αžΉαž„αž“αž·αž™αžΆαž™αžαžΆ β€œαžœαžΆαž˜αž·αž“αž’αžΆαž…αž’αŸ’αžœαžΎαž”αžΆαž“αž‘αŸαŸ” ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž αžΎαž™αž‚αžΆαžαŸ‹αž“αžΉαž„αž“αž·αž™αžΆαž™αžαžΆαž’αŸ’αž“αž€αž“αžΉαž„αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αžŒαžΈαžŸ IO αž αžΎαž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αžΉαž„αž†αŸ’αž€αž½αž αžœαžΆαž’αžΆαž…αž˜αžΆαž“αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαŸ„αžš αž αžΎαž™αž’αŸ’αž“αž€αž“αžΉαž„αž”αž·αž‘ autovacuum αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αž“αžΆαž‘αžΈ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžœαžΆαž˜αž·αž“αž›αŸ’αž’αž‘αŸαŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

http://bit.ly/nancy-hl2018-2

αž€αŸ†αž αž»αžŸαž‘αžΈαž–αžΈαžš - αž–αž½αž€αž‚αŸαž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžαž»αžŸαŸ” αž™αžΎαž„αž”αžΆαž“αžƒαžΎαž‰αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™αž₯αžαž”αžΆαž“αž€αžΆαžšαž‡αžΆαž…αŸ’αžšαžΎαž“αž”αžΆαž“αž”αŸ’αžšαž˜αžΌαž›αž•αŸ’αžαž»αŸ†αž“αŸ…αž›αžΎαž•αž›αž·αžαž•αž› αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž˜αž·αž“αž˜αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαž˜αžΌαž›αž•αŸ’αžαž»αŸ†αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸαŸ‡αž‘αŸ αž αžΎαž™αž‚αŸ’αž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž”αž„αŸ’αž€αžΎαžαžŸαžΆαžšαž’αžΆαžαž»αž₯αžαž”αžΆαž“αž€αžΆαžšαž“αŸαŸ‡αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ„αŸ‡αž‘αŸαŸ” αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αž˜αžΆαž“αžαŸ’αžŸαŸ‚αž…αŸ†αž“αž½αž“ 1 αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαŸ”

αž™αžΎαž„β€‹αž™αž›αŸ‹β€‹αžαžΆβ€‹αž€αžΆαžšβ€‹αž’αŸ’αžœαžΎβ€‹αžαŸαžŸαŸ’αžβ€‹αžšαž”αžŸαŸ‹β€‹αž™αžΎαž„β€‹αžαŸ’αžŸαŸ„αž™ αž–αŸ„αž›β€‹αž‚αžΊβ€‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšβ€‹αžŠαŸ‚αž›β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αž‘αžΎαž„β€‹αž˜αž·αž“β€‹αž˜αžΆαž“β€‹αž”αž‰αŸ’αž αžΆβ€‹αž‘αŸαŸ” αž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸ DB αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž‘αŸαŸ”

αž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸαžŠαŸαž›αŸ’αž’αž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž›αžΎαž§αž”αž€αžšαžŽαŸαžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ” αžœαžΆαž˜αž·αž“αžαŸ‚αž„αžαŸ‚αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž”αŸ‚αž”αž“αŸαŸ‡αž›αžΎαž§αž”αž€αžšαžŽαŸαžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αŸ„αŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αžαŸ’αž›αžΆαŸ†αž„αžŽαžΆαžŸαŸ‹αžŠαŸ‚αž›αžœαžΆαž‡αžΆαž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž‘αŸ†αž αŸ†αž–αŸαž‰αž›αŸαž‰αž“αŸƒαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž“αŸαŸ‡αž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž’αž’αž·αž”αŸ’αž”αžΆαž™αž‡αžΆαž…αŸ’αžšαžΎαž“αž†αŸ’αž“αžΆαŸ†αž˜αž€αž αžΎαž™αŸ” αž αžΎαž™αž€αžΆαž›αž–αžΈαž˜αž½αž™αž†αŸ’αž“αžΆαŸ†αž˜αž»αž“αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαžšαžΏαž„αž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΎαž›αžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž›αžΎ YouTube αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž§αž”αž€αžšαžŽαŸαžšαž”αžŸαŸ‹αž™αžΎαž„αž˜αž·αž“αž›αŸ’αž’? αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΎαž› αž“αŸ„αŸ‡αž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœαž”αžΆαž“αž›αŸ„αžαž‘αžΎαž„αŸ” αž™αžΎαž„αžƒαžΎαž‰αžαžΆαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‚αžΊ 100% αŸ” αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŠαŸ’αžšαžΆαž™ NVMe αž‘αŸ†αž“αžΎαž”αž“αŸ„αŸ‡αžœαžΆαž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž‡αžΆαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž™αžΎαž„αŸ” αž αžΎαž™αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž™αžΎαž„αž“αžΉαž„αž˜αž·αž“αž…αž»αŸ‡αž…αŸαž‰αž–αžΈαžœαžΆαž‘αŸαŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“αž–αž–αž€ αž“αŸ„αŸ‡αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž‚αžΊαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž’αŸ’αžœαžΎαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž“αž€αžΆαžšαž…αž˜αŸ’αž›αž„αžαŸ’αž˜αžΈαž“αŸ…αž›αžΎαž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αžαŸ’αž˜αžΈαŸ” αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαŸ” αž αžΎαž™αž’αŸ’αžœαžΈαŸ—αž‚αžΊαž›αŸ’αž’αŸ” αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŽαžΆαžŸαŸ‹αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αžαžΎβ€‹αžœαžΆβ€‹αž’αžΆαž…β€‹αž’αŸ’αžœαžΎβ€‹αž‘αŸ…β€‹αž”αžΆαž“β€‹αžŠαŸ„αž™β€‹αžšαž”αŸ€αž”β€‹αžŽαžΆβ€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž”αŸ‰αŸ‡β€‹αžαžΆαžŸβ€‹αžαžΌαž…β€‹αž‡αžΆαž„β€‹αž“αŸαŸ‡? αž αžΎαž™αž“αŸ…αž‘αžΈαž“αŸαŸ‡ αžŠαŸ„αž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž˜αžΆαž“αž‡αŸ†αž“αž½αž™αž–αžΈ DBA αž™αžΎαž„αž”αžΆαž“αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αž αŸ…αžαžΆ αž€αžΆαžšαž›αŸƒαžαž˜αŸ’αžšαžΌαžœαž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αŸ” αžœαžΆαž”αŸ’αžšαŸ‚αžαžΆαž™αžΎαž„αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž‘αŸαŸ”

αžαžΎαž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž‚αžΊαž‡αžΆαž’αŸ’αžœαžΈ? αžœαžΆαžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„ DBMS αžŽαžΆαž˜αž½αž™αŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αž˜αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαŸ‚αž›αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αžœαžΆαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž—αŸ’αž›αžΆαž˜αŸ—αž‘αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžŸαž‘αŸαŸ” αž–αŸαžαŸŒαž˜αžΆαž“β€‹αžŠαŸ‚αž›β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™β€‹αž”αžΆαž“β€‹αž•αŸ’αž›αžΆαžŸαŸ‹β€‹αž”αŸ’αžαžΌβ€‹αžšβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αžŸαžšαžŸαŸαžšβ€‹αž‡αžΆβ€‹αž›αžΎαž€β€‹αžŠαŸ†αž”αžΌαž„β€‹αž‘αŸ…β€‹αž€αŸ’αž“αž»αž„β€‹αž€αŸ†αžŽαžαŸ‹β€‹αž αŸαžαž»β€‹αžŸαžšαžŸαŸαžšβ€‹αž˜αž»αž“β€‹αŸ” αž αžΎαž™αž“αŸ…αž…αŸ†αžŽαž»αž…αžαŸ’αž›αŸ‡ DBMS αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžαžΆαžœαžΆαžŠαž›αŸ‹αž–αŸαž›αžαŸ’αžšαžΌαžœαž”αŸ„αŸ‡αž‘αŸ†αž–αŸαžšαž–αž·αžαž‘αŸ…αžαžΆαžŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž˜αžΆαž“αž€αžΆαžšαž”αžšαžΆαž‡αŸαž™ αž™αžΎαž„αž’αžΆαž…αž’αŸ’αžœαžΎαž€αžΆαžš REDO αžαž·αž…αž‡αžΆαž„αž˜αž»αž“αŸ” αžœαžΆαžŠαžΌαž…αž‡αžΆαž”αŸ’αžšαžŠαžΆαž”αŸ‹αž€αŸ’αž˜αŸαž„αž›αŸαž„αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎβ€‹αž™αžΎαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž‚αŸβ€‹αžŸαž˜αŸ’αž›αžΆαž”αŸ‹ αž™αžΎαž„β€‹αž“αžΉαž„β€‹αž…αžΆαž”αŸ‹β€‹αž•αŸ’αžαžΎαž˜β€‹αž€αžΆαžšβ€‹αž”αŸ’αžšαž€αž½αžβ€‹αž–αžΈβ€‹αž”αŸ‰αž»αžŸαŸ’αžαž·αŸβ€‹αžαŸ’αžšαž½αžβ€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αž…αž»αž„β€‹αž€αŸ’αžšαŸ„αž™αŸ” αž αžΎαž™ DBMS αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž’αž“αž»αžœαžαŸ’αžαžœαžΆαŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ Postgres αž˜αžΆαž“αž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœαŸ” αž–αž½αž€αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αŸ†αž αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αž’αžΆαž™αž» 10-15 αž†αŸ’αž“αžΆαŸ†αŸ” αž αžΎαž™αž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž‚αžΊαž˜αž·αž“αž˜αžΆαž“αž€αžšαžŽαžΈαž›αžΎαž€αž›αŸ‚αž„αž“αŸ„αŸ‡αž‘αŸαŸ”

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž–αŸαžαŸŒαž˜αžΆαž“αž–αžΈαžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž–αž·αž“αž·αžαŸ’αž™αžŸαž»αžαž—αžΆαž– Postgres αžšαž”αžŸαŸ‹αž™αžΎαž„ αž–αŸ„αž›αž‚αžΊαž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αžŸαž»αžαž—αžΆαž–αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αž αžΎαž™αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸƒ terabytes αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ” αž αžΎαž™β€‹αžœαžΆβ€‹αž’αžΆαž…β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž‚αŸβ€‹αž˜αžΎαž›β€‹αžƒαžΎαž‰β€‹αž™αŸ‰αžΆαž„β€‹αž…αŸ’αž”αžΆαžŸαŸ‹β€‹αžαžΆβ€‹αž€αžΆαžšβ€‹αž”αž„αŸ’αžαŸ†β€‹αž±αŸ’αž™β€‹αž˜αžΆαž“β€‹αž”αŸ‰αž»αžŸαŸ’αžαž·αŸβ€‹αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™β€‹αžŸαŸ’αž‘αžΎαžšαžαŸ‚ 90% αž“αŸƒβ€‹αž€αžšαžŽαžΈαŸ”

αžαžΎβ€‹αžœαžΆβ€‹αž˜αžΆαž“αž“αŸαž™β€‹αž™αŸ‰αžΆαž„β€‹αžŠαžΌαž…αž˜αŸ’αžαŸαž…? αž˜αžΆαž“αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž–αžΈαžšαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” αž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž’αžΆαž…αž˜αž€αžŠαŸ„αž™αž’αžŸαŸ‹αž–αŸαž› αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αž“αŸ… 10 αž“αžΆαž‘αžΈαŸ” αž¬αžœαžΆαž’αžΆαž…αž˜αž€αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž…αŸ’αžšαžΎαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž–αŸαž‰αŸ”

αž αžΎαž™αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ max_wal_saze αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž‘αŸ… 1 αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒαŸ” αžαžΆαž˜αž€αžΆαžšαž–αž·αž αž“αŸαŸ‡αž–αž·αžαž‡αžΆαž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„ Postgres αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ 300-400 αž˜αŸαž€αžΆαž”αŸƒαŸ” αž’αŸ’αž“αž€αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž™αŸ‰αžΆαž„αž…αŸ’αžšαžΎαž“ αž αžΎαž™αž…αŸ†αžŽαž»αž…αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž€αžΎαžαž‘αžΎαž„αŸ”

αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‚αŸ’αž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž›αŸƒαžαž˜αŸ’αžšαžΌαžœαžœαžΆαž‘αŸαž αžΎαž™αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž€αžΎαž“αž‘αžΎαž„αž αžΎαž™αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αžšαž€αž”αŸ’αžšαžΆαž€αŸ‹αž”αžΆαž“αž…αŸ’αžšαžΎαž“αžœαžΆαž˜αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž…αŸ’αžšαžΎαž“αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž˜αž€αž˜αŸ’αžαž„αž€αŸ’αž“αž»αž„αž˜αž½αž™αž“αžΆαž‘αžΈαž‡αž½αž“αž€αžΆαž›αžšαŸ€αž„αžšαžΆαž›αŸ‹ 30 αžœαž·αž“αžΆαž‘αžΈαž αžΎαž™αž‡αž½αž“αž€αžΆαž›αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αžαŸ’αžšαž½αžαž›αžΎαž‚αŸ’αž“αžΆαŸ” αž“αŸαŸ‡αž‚αžΊαž’αžΆαž€αŸ’αžšαž€αŸ‹αžŽαžΆαžŸαŸ‹αŸ”

αž αžΎαž™β€‹αž™αžΎαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž’αŸ’αžœαžΎβ€‹αž±αŸ’αž™β€‹αž”αŸ’αžšαžΆαž€αžŠβ€‹αžαžΆβ€‹αžœαžΆβ€‹αž˜αž€β€‹αžαž·αž…β€‹αžαž½αž…αŸ” αž“αŸ„αŸ‡αž‚αžΊαž™αžΎαž„αž’αžΆαž…αž”αž„αŸ’αž€αžΎαž“αž‘αŸ†αž αŸ† max_wal_size αŸ” αž αžΎαž™αžœαžΆαž“αžΉαž„αž˜αž€αžαž·αž…αž‡αžΆαž‰αžΉαž€αž‰αžΆαž”αŸ‹αŸ”

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž‘αžΆαŸ†αž„αž˜αžΌαž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž”αŸ€αž”αž’αŸ’αžœαžΎαžœαžΆαž±αŸ’αž™αž€αžΆαž“αŸ‹αžαŸ‚αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ αž“αŸ„αŸ‡αž‚αžΊαžšαž”αŸ€αž”αž’αŸ’αžœαžΎαž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž’αŸ†αž–αžΈαž€αžΆαžšαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αž™αžΎαž„αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸαž–αžΈαžšαžŸαŸŠαŸαžšαžΈαž›αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ”

αžŸαŸŠαŸαžšαžΈαž‘αžΈαž˜αž½αž™ - αž™αžΎαž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ†αž αŸ† max_wal_size αŸ” αž αžΎαž™αž™αžΎαž„αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸαž’αŸ†αž˜αž½αž™αŸ” αžŠαŸ†αž”αžΌαž„αž™αžΎαž„αž’αŸ’αžœαžΎαžœαžΆαž“αŸ…αž›αžΎαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž“αŸƒ 1 αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒαŸ” αž αžΎαž™αž™αžΎαž„αž’αŸ’αžœαžΎαž€αžΆαžšαž›αž»αž”αžŠαŸαž’αŸ†αž“αŸƒαž”αž“αŸ’αž‘αžΆαžαŸ‹αžšαžΆαž”αŸ‹αž›αžΆαž“αŸ”

αž’αŸ’αž“αž€β€‹αž’αžΆαž…β€‹αžƒαžΎαž‰β€‹αžαžΆβ€‹αžœαžΆβ€‹αž›αŸ†αž”αžΆαž€β€‹αž”αŸ‰αž»αžŽαŸ’αžŽαžΆβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž™αžΎαž„αŸ” αž™αžΎαž„αžƒαžΎαž‰αžαžΆαžŒαžΈαžŸ IO αž‚αžΊαž’αžΆαž€αŸ’αžšαž€αŸ‹αžŽαžΆαžŸαŸ‹αŸ” αž™αžΎαž„αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αžαžΆαžαžΎ WAL αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αžŠαŸ‚αž›αž™αžΎαž„αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αžαŸ’αž›αžΆαŸ†αž„αžŽαžΆαžŸαŸ‹αŸ” αž…αžΆαŸ†αž˜αžΎαž›αžαžΆαžαžΎαž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αžŠαž„αŸ” αž αžΎαž™αž™αžΎαž„αžƒαžΎαž‰αžαžΆαžœαžΆαž˜αž·αž“αž›αŸ’αž’αž‘αŸαŸ”

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž™αžΎαž„αž”αž„αŸ’αž€αžΎαž“αž‘αŸ†αž αŸ† max_wal_size αŸ” αž™αžΎαž„αž’αŸ’αžœαžΎαž˜αŸ’αžαž„αž‘αŸ€αžαŸ” αž™αžΎαž„αž€αžΎαž“αž‘αžΎαž„ αž™αžΎαž„αž’αŸ’αžœαžΎαž˜αŸ’αžαž„αž‘αŸ€αžαŸ” αž αžΎαž™αž…αŸ’αžšαžΎαž“αžŠαž„αŸ” αž‡αžΆαž‚αŸ„αž›αž€αžΆαžšαžŽαŸ 10 αž–αž·αž“αŸ’αž‘αž»αž‚αžΊαž›αŸ’αž’αžŠαŸ‚αž› 1, 2, 4, 8 αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒαŸ” αž αžΎαž™αž™αžΎαž„αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž₯αžšαž·αž™αžΆαž”αžαž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ” αžœαžΆαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αžαžΆαž“αŸ…αž‘αžΈαž“αŸαŸ‡αž§αž”αž€αžšαžŽαŸαž‚αž½αžšαžαŸ‚αžŠαžΌαž…αž“αŸ…αž›αžΎαž•αž›αž·αžαž•αž›αŸ” αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžαŸ‚αž˜αžΆαž“αžαžΆαžŸαžŠαžΌαž…αž‚αŸ’αž“αžΆ αž”αžšαž·αž˜αžΆαžŽαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαžΌαž…αž‚αŸ’αž“αžΆ αž“αž·αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ Postgres αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ”

αž αžΎαž™αžαžΆαž˜αžšαž”αŸ€αž”αž“αŸαŸ‡ αž™αžΎαž„αž“αžΉαž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αž™αžΎαž„ αž αžΎαž™αž™αžΎαž„αžŠαžΉαž„αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž› DBMS αž“αžΉαž„αž˜αžΆαž“αž₯αžšαž·αž™αžΆαž”αž‘αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž˜αžΆαž“αž€αžΆαžš DELETE αžŠαŸαž’αžΆαž€αŸ’αžšαž€αŸ‹ αžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž“αžΉαž„αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αŸ”

αž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž‡αžΆαž—αžΆαžŸαžΆαžšαž»αžŸαŸ’αžŸαžΈαž‚αžΊαž‡αžΆαž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αŸ”

αž§αž‘αžΆαž αžšαžŽαŸαŸ– αž›αž»αž”αž‡αž½αžšαž‡αžΆαž…αŸ’αžšαžΎαž“αž›αžΆαž“αžαžΆαž˜αž›αž·αž”αž·αž€αŸ’αžšαž˜ αž‡αž½αžšαžŠαŸαž€αžαŸ’αžšαžΌαžœαž”αžΆαž“ "αžαŸ’αž…αžΆαžαŸ‹αžαŸ’αž…αžΆαž™" αž“αŸ…αž‘αžΌαž‘αžΆαŸ†αž„αž‘αŸ†αž–αŸαžšαŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαž˜αž½αž™αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ” αž αžΎαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž“αŸƒ 1 gigabyte αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ max_wal_size αžœαžΆαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αžαžΆαžαžΆαžŸαžšαž”αžŸαŸ‹αž™αžΎαž„αž‘αŸ…αž’αŸ’αž“αžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαžαŸ” αžšαžΌαž”αž—αžΆαž–αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžšαŸ„αž‚αžŸαž‰αŸ’αž‰αžΆαž’αž˜αŸ’αž˜αžαžΆαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‡αŸ†αž„αžΊαžŠαŸ‚αž›αžˆαžΊαžαŸ’αž›αžΆαŸ†αž„ αž–αŸ„αž›αž‚αžΊαž‚αžΆαžαŸ‹αž–αž·αžαž‡αžΆαž˜αžΆαž“αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž˜αž·αž“αž›αŸ’αž’αŸ” αž αžΎαž™β€‹αž˜αžΆαž“β€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšβ€‹αžαŸ‚β€‹αž˜αž½αž™β€‹αž‚αžΊβ€‹αž‚αŸ’αžšαžΆαž“αŸ‹β€‹αžαŸ‚β€‹αž‡αžΆβ€‹αž€αžΆαžšβ€‹αž›αž»αž”β€‹αž“αŸƒβ€‹αž”αž“αŸ’αž‘αžΆαžαŸ‹β€‹αž‡αžΆβ€‹αž…αŸ’αžšαžΎαž“β€‹αž›αžΆαž“β€‹αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž”αŸ‚αž”αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αž›αž·αž αž“αŸ„αŸ‡αž™αžΎαž„αž“αžΉαž„αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αžŠαŸαž€αž…αž»αŸ‡ αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αžαžΆ DELETE αžŸαž˜αŸ’αž›αžΆαž”αŸ‹αž™αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž’αŸ’αž“αžΎαŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αžαžŠαŸ‚αž›αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž› 16 αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒαžœαžΆαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αžαžΆαž’αŸ’αž˜αŸαž‰αž”αžΆαž“αž‘αŸ…αž αžΎαž™αŸ” αž’αŸ’αž˜αŸαž‰β€‹αž‚αžΊβ€‹αž›αŸ’αž’β€‹αžšαž½αž…β€‹αž‘αŸ…β€‹αž αžΎαž™ αž–αŸ„αž›β€‹αž‚αžΊβ€‹αž™αžΎαž„β€‹αž‚αŸ„αŸ‡β€‹αž›αžΎβ€‹αž–αž·αžŠαžΆαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž˜αž·αž“β€‹αž’αžΆαž€αŸ’αžšαž€αŸ‹β€‹αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“β€‹αž‘αŸαŸ” αž˜αžΆαž“αžŸαŸαžšαžΈαž—αžΆαž–αžαŸ’αž›αŸ‡αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” αž“αŸ…αžαžΆαž„αžŸαŸ’αžαžΆαŸ†αž‚αžΊαž‡αžΆαž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαŸ” αž“αž·αž„αž…αŸ†αž“αž½αž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš - αž€αŸ’αžšαžΆαž αŸ’αžœαž‘αžΈαž–αžΈαžšαŸ” αž αžΎαž™αžœαžΆαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αžαžΆαž™αžΎαž„αžŠαž€αžŠαž„αŸ’αž αžΎαž˜αž”αžΆαž“αžŸαŸ’αžšαž½αž›αž”αž“αŸ’αžαž·αž…αž αžΎαž™αž“αŸ…αž–αŸαž›αžŠαŸ‚αž› 16 αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒαŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž αžΎαž™αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž› 64 αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž˜αžΎαž›αžƒαžΎαž‰αžαžΆαžœαžΆαž”αžΆαž“αž€αŸ’αž›αžΆαž™αž‘αŸ…αž‡αžΆαž›αŸ’αž’αž”αŸ’αžšαžŸαžΎαžšαž‡αžΆαž„αž˜αž»αž“αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αŸ” αž’αŸ’αž˜αŸαž‰αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸαžšαž½αž…αž αžΎαž™ αž˜αžΆαž“αž±αž€αžΆαžŸαž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αžŠαžΎαž˜αŸ’αž”αžΈαžšαžŸαŸ‹αžšαžΆαž“αž˜αžΆαž“αž‡αžΈαžœαž·αžαž–αžΈαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž“αž·αž„αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž˜αž½αž™αž‡αžΆαž˜αž½αž™αžαžΆαžŸαŸ”

αž αŸαžαž»αž’αŸ’αžœαžΈαž’αž‰αŸ’αž…αžΉαž„αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžŸαŸαž…αž€αŸ’αžαžΈαž›αž˜αŸ’αž’αž·αžαž”αž“αŸ’αžαž·αž… αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž“αŸαŸ‡ αžšαž”αŸ€αž”αž’αŸ’αžœαžΎαž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž”αŸ‰αž»αžŸαŸ’αžαž·αŸ αž’αžΆαž…αž•αŸ’αžαž›αŸ‹αž›αž‘αŸ’αž’αž•αž›αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž‘αžΆαŸ†αž„αž˜αžΌαž› αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž˜αž·αž“αž•αŸ’αž‘αž»αž€αž…αŸ’αžšαžΎαž“αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž‚αžΌαžŸαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž”αž“αŸ’αžαž·αž…αžαžΆαžαžΎαž˜αžΆαž“αž€αžΆαžšαž›αŸ†αž”αžΆαž€αž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎ checkpoint αž€αžΎαžαž‘αžΎαž„αž‰αžΉαž€αž‰αžΆαž”αŸ‹αž–αŸαž€ αž αžΎαž™αž™αžΎαž„αž’αžΆαž”αŸ‹αžŠαŸαžαž”αž“αŸ’αž‘αžΆαžαŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„αž˜αž·αž“αž‡αžΆαž”αŸ‹αŸ—αž‚αŸ’αž“αžΆ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžšαž€αžαžΆαž˜αž›αž·αž”αž·αž€αŸ’αžšαž˜ αžŠαŸ‚αž›αž‡αžΆαž€αžΆαžšαž›αŸ’αž’ αž–αŸ’αžšαŸ„αŸ‡αž™αžΎαž„αž˜αž·αž“αž›αž»αž”αžαžΆαžšαžΆαž„αž‘αžΆαŸ†αž„αž˜αžΌαž›αž‘αŸ αž“αŸ„αŸ‡αžœαžΆαž’αžΆαž…αž€αžΎαžαž‘αžΎαž„αžαžΆαžŠαŸ†αž”αžΌαž„αž™αžΎαž„αž”αŸ‰αŸ‡αž‘αŸ†αž–αŸαžšαž‘αžΈαž˜αž½αž™ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž›αŸαžαž˜αž½αž™αž–αžΆαž“αŸ‹αŸ” αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžαŸ’αžšαž‘αž”αŸ‹αž‘αŸ…αžŠαŸ†αž”αžΌαž„αŸ” αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžšαžœαžΆαž„αž€αžΆαžšαž…αžΌαž›αž˜αžΎαž›αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‘αŸ…αž€αžΆαž“αŸ‹αž‘αŸ†αž–αŸαžšαž‘αžΈαž˜αž½αž™ αž…αŸ†αžŽαž»αž…αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžœαžΆαž‘αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžŸαžšαž½αž…αž αžΎαž™ αž“αŸ„αŸ‡αžœαžΆαž“αžΉαž„αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžœαžΆαž˜αŸ’αžαž„αž‘αŸ€αž αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αžœαžΆαž€αžαŸ’αžœαž€αŸ‹αž‡αžΆαž›αžΎαž€αž‘αžΈαž–αžΈαžšαŸ”

αž αžΎαž™β€‹αž™αžΎαž„β€‹αž“αžΉαž„β€‹αž”αž„αŸ’αžαŸ†β€‹αž”αŸ‰αž»αžŸαŸ’αžαž·αŸβ€‹αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αžšαž€αŸ’αžŸαžΆαž‘αž»αž€β€‹αžœαžΆβ€‹αž…αŸ’αžšαžΎαž“β€‹αžŠαž„αŸ” αžαžΎβ€‹αž˜αžΆαž“β€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšβ€‹αžŠαžŠαŸ‚αž›αŸ—β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž‚αžΆαžαŸ‹β€‹αžŠαŸ„αž™β€‹αžšαž”αŸ€αž”β€‹αžŽαžΆ?

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ„αŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ„αŸ‡αž‘αŸαŸ” αž‘αŸ†αž–αŸαžšαž˜αžΆαž“ 8 αž‚αžΈαž‘αžΌαž”αŸƒαž“αŸ…αž€αŸ’αž“αž»αž„ Postgres αž“αž·αž„ 4 αž‚αžΈαž‘αžΌαž”αŸƒαž“αŸ…αž€αŸ’αž“αž»αž„αž›αžΈαž“αž»αž…αŸ” αž αžΎαž™αž˜αžΆαž“αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž–αŸαž‰_page_writesαŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αŸ” αž αžΎαž™αž“αŸαŸ‡αž‡αžΆαž€αžΆαžšαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž–αŸ’αžšαŸ„αŸ‡αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž”αž·αž‘αžœαžΆαž“αŸ„αŸ‡αž˜αžΆαž“αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹αžŠαŸ‚αž›αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž–αžΆαž€αŸ‹αž€αžŽαŸ’αžαžΆαž›αž“αŸƒαž‘αŸ†αž–αŸαžšαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαžΆαž‚αžΆαŸ†αž„αŸ”

αž₯αžšαž·αž™αžΆαž”αžαž“αŸƒαž€αžΆαžšαžŸαžšαžŸαŸαžšαž‘αŸ…αž€αžΆαž“αŸ‹ WAL αž“αŸƒαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αž‰αŸ’αž‡αžΌαž“αž”αž“αŸ’αž αž‚αžΊαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αž˜αžΆαž“αž…αŸ†αžŽαž»αž…αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ αž αžΎαž™αž™αžΎαž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ†αž–αŸαžšαž‡αžΆαž›αžΎαž€αžŠαŸ†αž”αžΌαž„ αž‘αŸ†αž–αŸαžšαž‘αžΆαŸ†αž„αž˜αžΌαž› αž–αŸ„αž›αž‚αžΊ αž‘αžΆαŸ†αž„ 8 αž‚αžΈαž‘αžΌαž”αŸƒ αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžαžΆαž„αž˜αž»αž αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž™αžΎαž„αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ†αž–αŸαžšαž€αŸαžŠαŸ„αž™αŸ” αž”αž“αŸ’αž‘αžΆαžαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž‘αž˜αŸ’αž„αž“αŸ‹ 100 αž”αŸƒαŸ” αž αžΎαž™αž™αžΎαž„αžαŸ’αžšαžΌαžœαžŸαžšαžŸαŸαžšαž‘αŸ†αž–αŸαžšαž‘αžΆαŸ†αž„αž˜αžΌαž›αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž“αžΉαž„αž˜αžΆαž“αžαŸ‚ tuple αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαž›αžΎαž€αžŠαŸ†αž”αžΌαž„αžŠαŸ‚αž›αž™αžΎαž„αžŸαžšαžŸαŸαžšαž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αŸ”

αž αžΎαž™αžαžΆαž˜αž“αŸ„αŸ‡ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αž˜αŸ’αžαž„αž‘αŸ€αž αž“αŸ„αŸ‡αž™αžΎαž„αžαŸ’αžšαžΌαžœαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αŸ’αžœαžΈαŸ—αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž–αžΈαžŠαŸ†αž”αžΌαž„αž˜αŸ’αžαž„αž‘αŸ€αž αž αžΎαž™αžšαž»αž‰αž‘αŸ†αž–αŸαžšαž‘αžΆαŸ†αž„αž˜αžΌαž›αŸ” αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž†αŸ‚αž€αž†αŸαžšαž‰αžΉαž€αž‰αžΆαž”αŸ‹ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αžŠαžΎαžšαž€αžΆαžαŸ‹αž‘αŸ†αž–αŸαžšαžŠαžΌαž…αž‚αŸ’αž“αžΆ full_page_writes = on αž“αžΉαž„αž˜αžΆαž“αž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžœαžΆαž’αžΆαž…αž˜αžΆαž“ αž–αŸ„αž›αž‚αžΊαž™αžΎαž„αž”αž„αŸ’αž€αžΎαž WAL αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αŸ” αž…αŸ’αžšαžΎαž“αž‘αŸ€αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‰αžΎαž‘αŸ…αž€αžΆαžšαž…αž˜αŸ’αž›αž„ αž‘αŸ…αž”αŸαžŽαŸ’αžŽαžŸαžΆαžš αž‘αŸ…αžαžΆαžŸαŸ”

αž αžΎαž™β€‹αžαžΆαž˜β€‹αž“αŸ„αŸ‡ αž™αžΎαž„β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž˜αž·αž“β€‹αž”αžšαž·αž…αŸ’αž…αžΆαž€β€‹αž–αžΈαžšαŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž”αž„αŸ’αž€αžΎαž“αž‘αŸ†αž αŸ† max_wal_size αžœαžΆαž”αŸ’αžšαŸ‚αžαžΆαž™αžΎαž„αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αžΆαŸ†αž„ checkpoint αž“αž·αž„ wal writer αŸ” αž αžΎαž™αž“αŸ„αŸ‡αž–αž·αžαž‡αžΆαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αžŽαžΆαžŸαŸ‹αŸ”

αž…αžΌαžšαž™αžΎαž„αžŠαžΆαž€αŸ‹αž€αŸ’αž“αž»αž„ terabyte αž αžΎαž™αžšαžŸαŸ‹αž“αŸ…αž‡αžΆαž˜αž½αž™αžœαžΆαŸ” αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž’αžΆαž€αŸ’αžšαž€αŸ‹αž’αŸ†αž–αžΈαžœαžΆ? αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αžšαžΏαž„β€‹αž’αžΆαž€αŸ’αžšαž€αŸ‹β€‹αž–αŸ’αžšαŸ„αŸ‡β€‹αž”αžΎβ€‹αž”αžšαžΆαž‡αŸαž™β€‹αž™αžΎαž„β€‹αž“αžΉαž„β€‹αž‘αžΎαž„β€‹αžšαžΆαž”αŸ‹β€‹αž˜αŸ‰αŸ„αž„β€‹αž–αŸ’αžšαŸ„αŸ‡β€‹αž”αŸ‰αž»αžŸαŸ’αžαž·αŸβ€‹αžαŸ’αžšαž½αžβ€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αž™αžΌαžšβ€‹αž˜αž€β€‹αž αžΎαž™β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž”αŸ’αžšαŸ‚αž”αŸ’αžšαž½αž›β€‹αž…αŸ’αžšαžΎαž“β€‹αž αžΎαž™αŸ” αž αžΎαž™αž™αžΎαž„αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎ REDO αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™ αž™αžΎαž„αž’αŸ’αžœαžΎαž–αž·αžŸαŸ„αž’αž“αŸαžŸαŸŠαŸαžšαžΈαž‘αžΈαž–αžΈαžšαŸ”

αž™αžΎαž„β€‹αž’αŸ’αžœαžΎβ€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšβ€‹αž˜αž½αž™β€‹αž αžΎαž™β€‹αž˜αžΎαž›β€‹αžƒαžΎαž‰β€‹αžαžΆβ€‹αžαžΎβ€‹αž–αŸαž›β€‹αžŽαžΆβ€‹αž”αŸ‰αž»αžŸαŸ’αžαž·αŸβ€‹αžαŸ’αžšαž½αžβ€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αž‡αž·αžβ€‹αž“αžΉαž„β€‹αž”αž‰αŸ’αž…αž”αŸ‹ αž™αžΎαž„β€‹αž”αžΆαž“β€‹αžŸαž˜αŸ’αž›αžΆαž”αŸ‹ -9 Postgres αžŠαŸ„αž™β€‹αž…αŸαžαž“αžΆαŸ”

αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸ„αŸ‡ αž™αžΎαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžœαžΆαž˜αŸ’αžαž„αž‘αŸ€αž αž αžΎαž™αž˜αžΎαž›αžαžΆαžαžΎαžšαž™αŸˆαž–αŸαž›αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αžŠαŸ‚αž›αžœαžΆαž“αžΉαž„αž€αžΎαž“αž‘αžΎαž„αž“αŸ…αž›αžΎαž§αž”αž€αžšαžŽαŸαž“αŸαŸ‡ αž–αŸ„αž›αž‚αžΊαžαžΆαžαžΎαžœαžΆαž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΎαž„αžœαž·αž‰αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž’αžΆαž€αŸ’αžšαž€αŸ‹αž“αŸαŸ‡αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αŸ”

αž–αžΈαžšαžŠαž„αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžαžΆαžŸαŸ’αžαžΆαž“αž—αžΆαž–αž‚αžΊαž’αžΆαž€αŸ’αžšαž€αŸ‹αŸ” αžŠαŸ†αž”αžΌαž„β€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž”αž»αž€β€‹αž—αŸ’αž›αžΆαž˜β€‹αŸ—β€‹αž˜αž»αž“β€‹αž–αŸαž›β€‹αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™β€‹αž…αž”αŸ‹ αžŠαžΌαž…αŸ’αž“αŸαŸ‡β€‹αž™αžΎαž„β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αžαžΆαžβ€‹αž”αž„αŸ‹β€‹αž…αŸ’αžšαžΎαž“αŸ” αž αžΎαž™αž‘αžΈαž–αžΈαžš αž™αžΎαž„αž˜αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸαž’αŸ†αž˜αž½αž™αŸ” αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžαŸ’αžšαžΌαžœαž’αžŸαŸ‹αž–αŸαž› αž“αŸ„αŸ‡αž‘αŸ†αž“αž„αž‡αžΆ WAL αžαž·αž…αž‡αžΆαž„αž˜αž»αž“αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž…αž»αž„αž€αŸ’αžšαŸ„αž™αŸ” αž“αŸ„αŸ‡β€‹αž‚αžΊβ€‹αž‡αžΆβ€‹αž’αŸ’αž“αž€β€‹αž…αžΆαž‰αŸ‹β€‹αž–αžΈαžšαŸ”

αž™αžΎαž„αžœαžΆαžŸαŸ‹αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž”αŸ‚αž”αž“αŸαŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αŸ†αž αŸ† max_wal_size αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆ αž αžΎαž™αž™αž›αŸ‹αžαžΆαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‘αŸ†αž αŸ† max_wal_size αž‚αžΊ 64 αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒ αž“αŸ„αŸ‡αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžŠαŸ‚αž›αž’αžΆαž€αŸ’αžšαž€αŸ‹αž”αŸ†αž•αž»αžαž–αžΈαžšαžŠαž„αž™αžΎαž„αž“αžΉαž„αž€αžΎαž“αž‘αžΎαž„ 10 αž“αžΆαž‘αžΈαŸ” αž αžΎαž™β€‹αž™αžΎαž„β€‹αž‚αž·αžβ€‹αžαžΆβ€‹αžœαžΆβ€‹αžŸαŸαž€αŸ’αžαž·αžŸαž˜β€‹αž¬β€‹αž’αžαŸ‹αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŸαŸ†αžŽαž½αžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αŸ” αž™αžΎαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αž„αŸ’αž αžΆαž‰β€‹αžšαžΌαž”αž—αžΆαž–β€‹αž“αŸαŸ‡β€‹αžŠαž›αŸ‹β€‹αž’αŸ’αž“αž€β€‹αžŠαŸ‚αž›β€‹αž‘αž‘αž½αž›β€‹αžαž»αžŸβ€‹αžαŸ’αžšαžΌαžœβ€‹αž›αžΎβ€‹αž€αžΆαžšβ€‹αžŸαž˜αŸ’αžšαŸαž…β€‹αž…αž·αžαŸ’αžβ€‹αž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜ αž αžΎαž™β€‹αžŸαž½αžšβ€‹αžαžΆ β€œαžαžΎβ€‹αž™αžΎαž„β€‹αž’αžΆαž…β€‹αžŠαŸαž€β€‹αž”αžΆαž“β€‹αž™αžΌαžšβ€‹αž”αŸ‰αž»αžŽαŸ’αžŽαžΆβ€‹αž€αŸ’αž“αž»αž„β€‹αž€αžšαžŽαžΈβ€‹αž˜αžΆαž“β€‹αž”αž‰αŸ’αž αžΆ? αžαžΎαž™αžΎαž„αž’αžΆαž…αžŠαŸαž€αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž’αžΆαž€αŸ’αžšαž€αŸ‹αž”αŸ†αž•αž»αžαžšαž™αŸˆαž–αŸαž› 3-5 αž“αžΆαž‘αžΈαž”αžΆαž“αž‘αŸ? αž αžΎαž™αž’αŸ’αž“αž€αž’αŸ’αžœαžΎαž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαŸ”

αž αžΎαž™αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž…αŸ†αžŽαž»αž…αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž˜αž½αž™αŸ” αž™αžΎαž„αž˜αžΆαž“αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž–αžΈαžšαž”αžΈαž’αŸ†αž–αžΈ Patroni αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαž“αŸ’αž“αž·αžŸαžΈαž‘αŸ” αž αžΎαž™αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž”αŸ’αžšαžΎαžœαžΆαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαž”αžšαžΆαž‡αŸαž™αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Postgres αŸ” GitLab αž“αž·αž„ Data Egret αž”αžΆαž“αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαžšαžΏαž„αž“αŸαŸ‡αŸ”

αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“ autofailover αžŠαŸ‚αž›αž˜αž€αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž› 30 αžœαž·αž“αžΆαž‘αžΈ αž“αŸ„αŸ‡αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž™αžΎαž„αž’αžΆαž…αžŠαŸαž€αž”αžΆαž“ 10 αž“αžΆαž‘αžΈ? αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž™αžΎαž„αž“αžΉαž„αž”αŸ’αžαžΌαžšαž‘αŸ…αž€αžΆαžšαž…αž˜αŸ’αž›αž„αžŠαŸ„αž™αž…αŸ†αžŽαž»αž…αž“αŸαŸ‡αž αžΎαž™αž’αŸ’αžœαžΈαŸ—αž“αžΉαž„αž›αŸ’αž’αŸ” αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αž…αŸ†αžŽαž»αž…β€‹αžšαžŸαžΎαž”αŸ” αžαŸ’αž‰αž»αŸ†β€‹αž˜αž·αž“β€‹αžŠαžΉαž„β€‹αž…αž˜αŸ’αž›αžΎαž™β€‹αž…αŸ’αž”αžΆαžŸαŸ‹β€‹αž›αžΆαžŸαŸ‹β€‹αž‘αŸαŸ” αžαŸ’αž‰αž»αŸ†β€‹αž‚αŸ’αžšαžΆαž“αŸ‹β€‹αžαŸ‚β€‹αž˜αžΆαž“β€‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸβ€‹αžαžΆβ€‹αž”αŸ’αžšαž’αžΆαž“β€‹αž”αž‘β€‹αž“αŸαŸ‡β€‹αž˜αž·αž“β€‹αžαŸ’αžšαžΉαž˜β€‹αžαŸ‚β€‹αž‡αž»αŸ†αžœαž·αž‰β€‹αž€αžΆαžšβ€‹αžŸαž„αŸ’αž‚αŸ’αžšαŸ„αŸ‡β€‹αž€αžΆαžšβ€‹αž‚αžΆαŸ†αž„β€‹αž‘αŸαŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž˜αžΆαž“αž€αžΆαžšαž„αžΎαž”αž‘αžΎαž„αžœαž·αž‰αž™αžΌαžšαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž”αžšαžΆαž‡αŸαž™ αž“αŸ„αŸ‡αž™αžΎαž„αž“αžΉαž„αž˜αž·αž“αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž‡αžΆαž…αŸ’αžšαžΎαž“αž‘αŸ€αžαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸαžŠαžΌαž…αž‚αŸ’αž“αžΆ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž˜αž½αž™ αž αžΎαž™αž–αŸαž›αžαŸ’αž›αŸ‡αžαŸ’αžšαžΌαžœαžšαž„αŸ‹αž…αžΆαŸ† 10 αž“αžΆαž‘αžΈαŸ”

αžαŸ’αž‰αž»αŸ†αž“αŸ…αžαŸ‚αž˜αž·αž“αž‘αŸ…αž†αŸ’αž„αžΆαž™αž‘αŸ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž™αžΎαž„αž˜αžΆαž“ autofailover αž€αŸαžŠαŸ„αž™αŸ” αžαžΆαž˜αž€αŸ’αž”αž½αž“αžαž˜αŸ’αž›αŸƒαžŠαžΌαž…αž‡αžΆ 64, 100 αž‡αžΈαž αŸ’αž‚αžΆαž”αŸƒαž‚αžΊαž‡αžΆαžαž˜αŸ’αž›αŸƒαžŠαŸαž›αŸ’αž’αŸ” αž–αŸαž›αžαŸ’αž›αŸ‡αžœαžΆαž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžαž·αž…αŸ” αž‡αžΆαž‘αžΌαž‘αŸ…αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαžŠαŸαž€αž˜αŸ’αžšαž˜αž½αž™αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž˜αŸ’αžαž„αž‘αŸ€αžαž§αž‘αžΆαž αžšαžŽαŸ max_wal_size =1, 8 αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž˜αŸ‰αžΆαžŸαŸ‹αž˜αŸ’αžαž„αž‘αŸ€αžαž…αŸ’αžšαžΎαž“αžŠαž„αŸ” αž’αŸ’αž“αž€αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžœαžΆαŸ” αž αžΎαž™αž“αŸ…αž›αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŠαžΌαž…αž‚αŸ’αž“αžΆαž’αŸ’αž“αž€αž…αž„αŸ‹αž’αŸ’αžœαžΎαžœαžΆαž˜αŸ’αžαž„αž‘αŸ€αž αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αŸ’αž“αž€αž”αžΆαž“αž›αž»αž”αž’αŸ’αžœαžΈαŸ—αž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžšαž½αž…αž αžΎαž™αŸ” αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎ?

αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž“αž·αž™αžΆαž™αž“αŸ…αž–αŸαž›αž€αŸ’αžšαŸ„αž™αž’αŸ†αž–αžΈαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžšαž”αžŸαŸ‹αž™αžΎαž„ αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αž’αŸ’αžœαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž“αž·αž™αžΆαž™αž‘αžΎαž„αžœαž·αž‰αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž”αŸ‚αž”αž“αŸαŸ‡αŸ” αž αžΎαž™αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŠαŸαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž”αŸ†αž•αž»αžαŸ”

αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž“αŸ…β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžšαžŽαžΈβ€‹αž“αŸαŸ‡ αž™αžΎαž„β€‹αž˜αžΆαž“β€‹αžŸαŸ†αžŽαžΆαž„αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžŠαžΌαž…αžŠαŸ‚αž›αžœαžΆαž“αž·αž™αžΆαž™αž“αŸ…αž‘αžΈαž“αŸαŸ‡ "BEGIN, DELETE, ROLLBACK" αž“αŸ„αŸ‡αž™αžΎαž„αž’αžΆαž… DELETE αž˜αŸ’αžαž„αž‘αŸ€αžαŸ” αž“αŸ„αŸ‡αž‚αžΊαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž›αž»αž”αž…αŸ„αž›αžœαžΆαžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αž“αŸ„αŸ‡αž™αžΎαž„αž’αžΆαž…αž’αŸ’αžœαžΎαžœαžΆαž‘αžΎαž„αžœαž·αž‰αž”αžΆαž“αŸ” αž αžΎαž™αžŠαŸ„αž™αžšαžΆαž„αž€αžΆαž™αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αžΉαž„αžŸαŸ’αžαž·αžαž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžαŸ‚αž˜αž½αž™αŸ” αž’αŸ’αž“αž€β€‹αž€αŸβ€‹αž˜αž·αž“β€‹αž”αžΆαž“β€‹αž αžΎαž˜β€‹αž–αŸ„αŸ‡β€‹αžŠαŸ‚αžšαŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαž˜αŸ’αžαž„αž‘αŸ€αžαž›αžΎαž€αžΆαžš DELETE αž”αŸ‚αž”αž“αŸαŸ‡αŸ”

αž€αžΆαžšαž›αž»αž”αž‡αžΆαž˜αž½αž™ ROLLBACK αž“αŸαŸ‡αž‚αžΊαž›αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž›αŸƒαžαž˜αŸ’αžšαžΌαžœαž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž’αŸ’αž“αž€αž˜αž·αž“αž˜αžΆαž“αž”αž“αŸ’αž‘αž”αŸ‹αž–αž·αžŸαŸ„αž’αž“αŸαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αžŠαžΆαž€αŸ‹αž±αŸ’αž™αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž€αŸαžŠαŸ„αž™αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž™αžΎαž„αž’αŸ’αžœαžΎαž…αžΆαž“αžŠαŸ‚αž›αž˜αžΆαž“αž‡αž½αžšαžˆαžšαž˜αž½αž™ "i" αŸ” Postgres αž˜αžΆαž“αž‡αž½αžšαžˆαžšαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ” αž–αž½αž€αžœαžΆαž˜αžΎαž›αž˜αž·αž“αžƒαžΎαž‰ αž›αž»αŸ‡αžαŸ’αžšαžΆαžαŸ‚αž˜αžΆαž“αž€αžΆαžšαžŸαŸ’αž“αžΎαžŸαž»αŸ†αž‡αžΆαž–αž·αžŸαŸαžŸαŸ” αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαŸ– ctid, xmid, xmax αŸ”

Ctid αž‚αžΊαž‡αžΆαž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αžšαžΌαž”αžœαž“αŸ’αžαŸ” αž‘αŸ†αž–αŸαžšαžŸαžΌαž“αŸ’αž™αžŠαŸ‚αž›αž‡αžΆ tuple αžŠαŸ†αž”αžΌαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αŸ†αž–αŸαžšαŸ”

αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž˜αžΎαž›αžƒαžΎαž‰αžαžΆαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ ROOLBACK tuple αž“αŸ…αžαŸ‚αž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžŠαžŠαŸ‚αž›αŸ” αž“αŸ„αŸ‡αž‚αžΊαž™αžΎαž„αž’αžΆαž…αž–αŸ’αž™αžΆαž™αžΆαž˜αž˜αŸ’αžαž„αž‘αŸ€αžαžœαžΆαž“αžΉαž„αž˜αžΆαž“αž₯αžšαž·αž™αžΆαž”αž‘αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžšαžΏαž„αžŸαŸ†αžαžΆαž“αŸ‹αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

Xmax αž‚αžΊαž‡αžΆαž–αŸαž›αžœαŸαž›αžΆαž“αŸƒαž€αžΆαžšαžŸαŸ’αž›αžΆαž”αŸ‹αžšαž”αžŸαŸ‹ tuple αŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ„αŸ‡αžαŸ’αžšαžΆ αž”αŸ‰αž»αž“αŸ’αžαŸ‚ Postgres αžŠαžΉαž„αžαžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αžœαž·αž›αž˜αž€αžœαž·αž‰ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžœαžΆαž˜αž·αž“αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαžαžΆαžαžΎαžœαžΆαž‡αžΆ 0 αž¬αžœαžΆαž‡αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžœαž·αž›αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰αž“αŸ„αŸ‡αž‘αŸαŸ” αž“αŸαŸ‡αž”αž„αŸ’αž αžΆαž‰αžαžΆαžœαžΆαž’αžΆαž…αž‘αŸ…αžšαž½αž…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αŸ’αžαž„αž‘αŸ€αžαž›αžΎ DELETE αž“αž·αž„αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž“αŸƒαž₯αžšαž·αž™αžΆαž”αž‘αžšαž”αžŸαŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαž˜αž“αŸ’αž‘αžΈαžšαž–αž·αžŸαŸ„αž’αž“αŸαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž€αŸ’αžšαžΈαž€αŸ’αžšαŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž“αŸαŸ‡αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ” αž’αŸ†αž–αžΈ DBA αž•αž„αžŠαŸ‚αžš αž–αž½αž€αž‚αŸαžαŸ‚αž„αžαŸ‚αžŸαŸ’αžαžΈαž”αž“αŸ’αž‘αŸ„αžŸαž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαžΏαž„αž“αŸαŸ‡αŸ– "αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž’αŸ’αž“αž€αž’αŸ’αžœαžΎαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸαžœαŸ‚αž„ αž“αž·αž„αž–αž·αž”αžΆαž€αž”αŸ‚αž”αž“αŸαŸ‡?" αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž”αŸ’αžšαž’αžΆαž“αž”αž‘αž€αžΆαžαŸ‹αž€αŸ‚αž„αžαž»αžŸαž‚αŸ’αž“αžΆαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αŸ” αž’αŸ’αž›αžΆαž”αŸ‹αž˜αžΆαž“αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ αž αžΎαž™αž₯αž‘αžΌαžœαž“αŸαŸ‡αž“αžΉαž„αž˜αžΆαž“αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ”

αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„ αž™αžΎαž„β€‹αž˜αž·αž“β€‹αž”αžΆαž“β€‹αž”αŸ†αž”αŸ‚αž€β€‹αž‡αžΆβ€‹αžŠαž»αŸ†αŸ—β€‹αž‘αŸαŸ” αžœαžΆαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αŸ” αžœαžΆαž˜αž·αž“αž’αžΆαž…αž‘αŸ…αžšαž½αž…αž‘αŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€ DELETE αž”αŸ‚αž”αž“αŸαŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αžŽαŸ’αžαž»αŸ†αžšαžΆαž”αŸ‹αž›αžΆαž“αž”αž“αŸ’αž‘αžΆαžαŸ‹αž‘αŸ…αž‡αžΆαž•αŸ’αž“αŸ‚αž€αŸ” αžœαžΆαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž™αŸˆαž–αŸαž› 20 αž“αžΆαž‘αžΈαž αžΎαž™αž’αŸ’αžœαžΈαŸ—αž“αžΉαž„αžŠαŸαž€αž›αž€αŸ‹αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαž’αž€αž»αžŸαž› αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŠαŸ‚αž›αž˜αžΆαž“αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž€αŸαž’αŸ’αžœαžΎαžαž»αžŸ αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž’αŸ†αŸ—αž€αŸαžŠαŸ„αž™αŸ”

αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαžœαžΆαžŸαŸ†αžαžΆαž“αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€?

  • αž”αžΎβ€‹αž™αžΎαž„β€‹αžƒαžΎαž‰β€‹αžαžΆβ€‹αžαžΆαžŸβ€‹αžšαžΉαž„β€‹αž αžΎαž™β€‹αž“αŸ„αŸ‡ αž…αžΌαžšβ€‹αž”αž“αŸ’αžαž™β€‹αž›αŸ’αž”αžΏαž“β€‹αž…αž»αŸ‡αŸ” αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αžαžΌαž… αž“αŸ„αŸ‡αž™αžΎαž„αž’αžΆαž…αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž•αŸ’αž’αžΆαž€ αž™αžΎαž„αž’αžΆαž…αž”αž“αŸ’αžαž™αž›αŸ’αž”αžΏαž“αž”αž·αž‘αž”αžΎαž€αž”αžΆαž“αŸ”

  • αž αžΎαž™αž™αžΎαž„αž“αžΉαž„αž˜αž·αž“αžšαžΆαžšαžΆαŸ†αž„αž’αŸ’αž“αž€αžŠαž‘αŸƒαž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αž™αžΌαžšαž‘αŸαŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžαŸ’αž›αŸ‡αžœαžΆαž˜αž·αž“αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‘αŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž›αž»αž”αžŸαŸ†αžšαžΆαž˜αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαžŠαŸ‚αž›αž‚αŸ’αž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αŸ„αŸ‡αž‘αŸ†αž“αž„αž‡αžΆαž’αŸ’αž“αž€αž“αžΉαž„αž˜αž·αž“αžšαžΆαžšαžΆαŸ†αž„αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž‘αŸ αž›αžΎαž€αž›αŸ‚αž„αžαŸ‚αž€αžΆαžšαž„αžΆαžšαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž“αžΉαž„αžšαž„αŸ‹αž…αžΆαŸ†αž±αŸ’αž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž”αž‰αŸ’αž…αž”αŸ‹αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžŠαž€αž’αŸ’αžœαžΈαž˜αž½αž™αžŠαŸ‚αž›αž’αŸ’αž“αž€αž•αŸ’αžŸαŸαž„αž’αžΆαž…αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž”αžΆαž“ αž“αŸ„αŸ‡αž–αž½αž€αž‚αŸαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαžΆαžšαžΆαŸ†αž„ αžœαžΆαž“αžΉαž„αž˜αžΆαž“αž”αŸ’αžšαžαž·αž€αž˜αŸ’αž˜αžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ” αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž™αžΌαžšαž‚αž½αžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ€αžŸαžœαžΆαž„αž“αŸ…αž›αžΎαž‚αŸαž αž‘αŸ†αž–αŸαžš αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

https://postgres.ai/products/joe/

αž“αŸαŸ‡αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαŸ” αž‡αžΆαžšαžΏαž™αŸ—αžαŸ’αž‰αž»αŸ†αžƒαžΎαž‰αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŸαž½αžšαžαžΆ "αžαžΎαžαŸ’αž‰αž»αŸ†αž‚αž½αžšαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž‘αŸ†αž αŸ†αž€αž‰αŸ’αž…αž”αŸ‹αž’αŸ’αžœαžΈ?"αŸ”

αžœαžΆαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αžαžΆαž‘αŸ†αž αŸ†αž€αž‰αŸ’αž…αž”αŸ‹αž’αŸ†αž‡αžΆαž„ αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžαžΌαž…αž‡αžΆαž„αž“αŸαŸ‡ ឧ. αž€αžΆαžšαž…αŸ†αžŽαžΆαž™αž”αž“αŸ’αžαŸ‚αž˜αž–αžΈαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡αž–αŸαž›αžœαŸαž›αžΆαž€αžΎαž“αž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸαŸ‡αŸ”

αžαŸ’αž‰αž»αŸ†αž˜αžΆαž“αž…αŸ’αž”αžΆαž”αŸ‹αžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αžαŸ– αž™αž€αž…αŸ’αžšαžΎαž“αžαžΆαž˜αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαž”αžΆαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αž»αŸ†αž›αžΎαžŸαž–αžΈαž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αŸ’αž“αž»αž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈαŸ”

αž αŸαžαž»αž’αŸ’αžœαžΈαž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈ? αž€αžΆαžšαž–αž“αŸ’αž™αž›αŸ‹αž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰αžŽαžΆαžŸαŸ‹ αž αžΎαž™αž’αžΆαž…αž™αž›αŸ‹αž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž“αž»αžŸαŸ’αžŸαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆ αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž˜αž“αž»αžŸαŸ’αžŸαž˜αž·αž“αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαž€αŸαžŠαŸ„αž™αŸ” αž™αžΎαž„αžƒαžΎαž‰αž”αŸ’αžšαžαž·αž€αž˜αŸ’αž˜αŸ” αž…αžΌαžšαž™αžΎαž„αž™αž€ 50 αž˜αžΈαž›αžΈαžœαž·αž“αžΆαž‘αžΈαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž˜αž½αž™αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αŸ„αŸ‡αž—αŸ’αž“αŸ‚αž€αžšαž”αžŸαŸ‹αž™αžΎαž„αž“αžΉαž„αž˜αžΆαž“αž”αŸ’αžšαžαž·αž€αž˜αŸ’αž˜αŸ” αž”αžΎαžαž·αž… αž–αž·αž”αžΆαž€αž‡αžΆαž„αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αžœαžΈαž˜αž½αž™αž†αŸ’αž›αžΎαž™αžαž”αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ 100 αž˜αž·αž›αŸ’αž›αžΈαžœαž·αž“αžΆαž‘αžΈ αž§αž‘αžΆαž αžšαžŽαŸ αž’αŸ’αž“αž€αž”αžΆαž“αž…αž»αž…αž€αžŽαŸ’αžŠαž»αžš αž αžΎαž™αžœαžΆαž†αŸ’αž›αžΎαž™αžαž”αž’αŸ’αž“αž€αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈ 100 αž˜αžΈαž›αžΈαžœαž·αž“αžΆαž‘αžΈ αž’αŸ’αž“αž€αž˜αžΆαž“αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžαžΆαž˜αžΆαž“αž€αžΆαžšαž–αž“αŸ’αž™αžΆαžšαž–αŸαž›αž”αž“αŸ’αžαž·αž…αž αžΎαž™αŸ” αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαžŠαžΉαž„αžαžΆαž‡αžΆαž αŸ’αžœαŸ’αžšαžΆαŸ†αž„αŸ”

αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž”αŸ†αž”αŸ‚αž€αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸαž’αŸ†αžšαž”αžŸαŸ‹αž™αžΎαž„αž‘αŸ…αž‡αžΆαž€αžΆαžšαž•αŸ’αž‘αž»αŸ‡ 10 αžœαž·αž“αžΆαž‘αžΈ αž“αŸ„αŸ‡αž™αžΎαž„αž˜αžΆαž“αž αžΆαž“αž·αž—αŸαž™αžŠαŸ‚αž›αž™αžΎαž„αž“αžΉαž„αžšαžΆαžšαžΆαŸ†αž„αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αŸ” αž αžΎαž™αžœαžΆαž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αž–αžΈαžšαž”αžΈαžœαž·αž“αžΆαž‘αžΈ αž αžΎαž™αž˜αž“αž»αžŸαŸ’αžŸαž“αžΉαž„αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžƒαžΎαž‰αžœαžΆαžšαž½αž…αž αžΎαž™αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ†β€‹αž˜αž·αž“β€‹αž…αžΌαž›αž…αž·αžαŸ’αžβ€‹αž’αŸ’αžœαžΎβ€‹αž›αžΎαžŸβ€‹αž–αžΈβ€‹αž˜αž½αž™β€‹αžœαž·αž“αžΆαž‘αžΈβ€‹αž‘αŸαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡αž€αž»αŸ†αž”αŸ†αž”αŸ‚αž€αžœαžΆαž±αŸ’αž™αž›αŸ’αž’αž·αžαž›αŸ’αž’αž“αŸ‹αž–αŸ’αžšαŸ„αŸ‡αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž›αžΎαžŸαž“αžΉαž„αž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αŸ” αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž“αžΉαž„αž€αžΆαž“αŸ‹αžαŸ‚αž–αž·αž”αžΆαž€ αž αžΎαž™αž”αž‰αŸ’αž αžΆαž•αŸ’αžŸαŸαž„αŸ—αž’αžΆαž…αž€αžΎαžαž‘αžΎαž„αŸ”

αž™αžΎαž„αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž‘αŸ†αž αŸ†αž€αž‰αŸ’αž…αž”αŸ‹αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αžΈαž˜αž½αž™αŸ—αž™αžΎαž„αž’αžΆαž…αž’αŸ’αžœαžΎαžœαžΆαžαž»αžŸαž‚αŸ’αž“αžΆαŸ” αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αž αžΎαž™αž™αžΎαž„αž‡αžΏαž‡αžΆαž€αŸ‹αž›αžΎαž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž€αž‰αŸ’αž…αž”αŸ‹αž˜αž½αž™αŸ” αž“αŸ„αŸ‡αž‚αžΊαž™αžΎαž„αž›αž»αž”αž€αž‰αŸ’αž…αž”αŸ‹αž˜αž½αž™ ឬ UPDATE αŸ”

αž“αž·αž™αžΆαž™αž’αžΈαž‰αŸ’αž…αžΉαž„ αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž€αŸ†αž–αž»αž„αž“αž·αž™αžΆαž™αž‚αžΊαž˜αž·αž“αž˜αŸ‚αž“αžαŸ’αžšαžΉαž˜αžαŸ‚ DELETE αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αž‘αŸαŸ” αžŠαžΌαž…αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αžΆαž“αž‘αžΆαž™ αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž›αžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ”

αž αžΎαž™αž™αžΎαž„αžƒαžΎαž‰αžαžΆαž•αŸ‚αž“αž€αžΆαžšαž‚αžΊαž›αŸ’αž’αžŽαžΆαžŸαŸ‹αŸ” αž’αŸ’αž“αž€β€‹αž’αžΆαž…β€‹αž˜αžΎαž›β€‹αžƒαžΎαž‰β€‹αž›αž·αž”αž·αž€αŸ’αžšαž˜β€‹αžŸαŸ’αž€αŸαž“ αž›αž·αž”αž·αž€αŸ’αžšαž˜β€‹αžŸαŸ’αž€αŸ‚αž“β€‹αžαŸ‚β€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡β€‹αž‚αžΊβ€‹αž€αžΆαž“αŸ‹β€‹αžαŸ‚β€‹αž›αŸ’αž’β€‹αŸ” αž αžΎαž™αž™αžΎαž„αž˜αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαž·αž…αžαž½αž…αžŠαŸ‚αž›αž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αŸ” αž αžΎαž™αžαž·αž…αž‡αžΆαž„αž˜αž½αž™αžœαž·αž“αžΆαž‘αžΈαž”αŸ†αž–αŸαž‰αŸ” αž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αŸ”

αž αžΎαž™β€‹αž™αžΎαž„β€‹αž“αŸ…β€‹αžαŸ‚β€‹αžαŸ’αžšαžΌαžœβ€‹αž’αŸ’αžœαžΎβ€‹αž±αŸ’αž™β€‹αž”αŸ’αžšαžΆαž€αžŠβ€‹αžαžΆβ€‹αž˜αž·αž“β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αžšαž·αž…αžšαž·αž›β€‹αž‘αžΎαž™αŸ” αžœαžΆαž€αžΎαžαž‘αžΎαž„αžαžΆαž€αž‰αŸ’αž…αž”αŸ‹αžŠαŸ†αž”αžΌαž„αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž’αžΆαž€αŸ’αžšαž€αŸ‹ αž€αžΆαž“αŸ‹αžαŸ‚αž’αžΆαž€αŸ’αžšαž€αŸ‹αž‘αŸ…αŸ—αŸ” αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‚αžΊαž”αŸ‚αž”αž“αŸαŸ‡αžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž…αŸ’αžšαžΎαž“αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž˜αž“αŸ’αž‘αžΈαžšαž–αž·αžŸαŸ„αž’αž“αŸαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‚αžΊαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αŸ”

αž αžΎαž™β€‹αž™αžΎαž„β€‹αž“αŸ…β€‹αžαŸ‚β€‹αžαŸ’αžšαžΌαžœβ€‹αžšαŸ€αž”αž…αŸ†β€‹αž’αŸ’αžœαžΈβ€‹αž˜αž½αž™β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž±αŸ’αž™β€‹αžœαžΆβ€‹αž’αžΆαž…β€‹αž±αŸ’αž™β€‹αž™αžΎαž„β€‹αž’αŸ’αžœαžΎβ€‹αžαžΆαž˜β€‹αž“αŸαŸ‡β€‹αž”αžΆαž“β€‹αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœβ€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αž•αž›αž·αžαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž™αžΎαž„αž’αžΆαž…αžŸαžšαžŸαŸαžšαž–αŸαž›αžœαŸαž›αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž» αž™αžΎαž„αž’αžΆαž…αžŸαžšαžŸαŸαžšαžαžΆαž™αžΎαž„αž“αŸ…αž‘αžΈαžŽαžΆαž₯αž‘αžΌαžœαž“αŸαŸ‡ αž αžΎαž™αž’αŸ’αž“αž€αžŽαžΆαžŠαŸ‚αž›αž™αžΎαž„αž”αžΆαž“αž›αž»αž”αž₯αž‘αžΌαžœαž“αŸαŸ‡αŸ” αž αžΎαž™αž“αŸαŸ‡αž“αžΉαž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž™αžΎαž„αž™αž›αŸ‹αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž–αŸαž›αž€αŸ’αžšαŸ„αž™αŸ” αž αžΎαž™β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžšαžŽαžΈβ€‹αž˜αžΆαž“β€‹αž’αŸ’αžœαžΈβ€‹αžαž»αžŸβ€‹αž”αŸ’αžšαž€αŸ’αžšαžαžΈ αž…αžΌαžšβ€‹αžŸαŸ’αžœαŸ‚αž„β€‹αžšαž€β€‹αž”αž‰αŸ’αž αžΆβ€‹αž²αŸ’αž™β€‹αž”αžΆαž“β€‹αž›αžΏαž“αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αžαŸ’αžšαžΌαžœαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž“αŸƒαžŸαŸ†αžŽαžΎ αž αžΎαž™αž™αžΎαž„αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž˜αŸ’αžαž„αž‘αŸ€αžαž…αŸ’αžšαžΎαž“αžŠαž„ αž“αŸ„αŸ‡αž˜αžΆαž“αžšαžΏαž„αžŠαžΌαž…αž‡αžΆ bot αž˜αž·αžαŸ’αžαŸ” αž‚αžΆαžαŸ‹αžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αžšαž½αž…αžšαžΆαž›αŸ‹αž αžΎαž™αŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαŸ„αž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžšαžΆαž”αŸ‹αžŸαž·αž”αž“αžΆαž€αŸ‹αž‡αžΆαžšαŸ€αž„αžšαžΆαž›αŸ‹αžαŸ’αž„αŸƒαŸ” αž αžΎαž™αž‚αžΆαžαŸ‹αžŠαžΉαž„αž–αžΈαžšαž”αŸ€αž”αž•αŸ’αžαž›αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ terabyte αžŠαŸαž’αŸ†αž˜αž½αž™αžαžΆαž˜αž€αžΆαžšαžŸαŸ’αž“αžΎαžŸαž»αŸ†αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž› 30 αžœαž·αž“αžΆαž‘αžΈ αžŠαŸ‚αž›αž‡αžΆαž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αž αžΎαž™αž’αŸ’αž“αž€αž’αžΆαž…αž›αž»αž”αž’αŸ’αžœαžΈαž˜αž½αž™αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αž αžΎαž™αž“αž·αž™αžΆαž™αžαžΆ RESET αž αžΎαž™αž›αž»αž”αžœαžΆαž˜αŸ’αžαž„αž‘αŸ€αžαŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž–αž·αžŸαŸ„αž’αž“αŸαž‡αžΆαž˜αž½αž™αžœαžΆαžαžΆαž˜αžœαž·αž’αžΈαž“αŸαŸ‡αŸ” αžαŸ’αž‰αž»αŸ†αž˜αžΎαž›αžƒαžΎαž‰αž’αž“αžΆαž‚αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαžΏαž„αž“αŸαŸ‡αŸ” αž αžΎαž™αž™αžΎαž„αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαžœαžΆαžšαž½αž…αž αžΎαž™αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

https://docs.gitlab.com/ee/development/background_migrations.html

αžαžΎβ€‹αž’αŸ’αžœαžΈβ€‹αž‘αŸ…β€‹αž‡αžΆβ€‹αž™αž»αž‘αŸ’αž’β€‹αžŸαžΆβ€‹αžŸαŸ’αžšαŸ’αžβ€‹αž…αŸ‚αž€β€‹αžšαŸ†αž›αŸ‚αž€? αžαŸ’αž‰αž»αŸ†αžƒαžΎαž‰αž™αž»αž‘αŸ’αž’αžŸαžΆαžŸαŸ’αžαŸ’αžšαž”αŸ‚αž„αž…αŸ‚αž€ 3 αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαž€αž‰αŸ’αž…αž”αŸ‹αž€αŸ†αž–αž»αž„αž”αŸ’αžšαžΎαŸ”

αž‘αžΈαž˜αž½αž™αž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰αžŽαžΆαžŸαŸ‹αŸ” αž™αžΎαž„αž˜αžΆαž“αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αŸ” αž αžΎαž™β€‹αžŸαžΌαž˜β€‹αž”αŸ†αž”αŸ‚αž€β€‹αžœαžΆβ€‹αž‘αŸ…αž‡αžΆβ€‹αž…αž“αŸ’αž›αŸ„αŸ‡αž–αŸαž›β€‹αž•αŸ’αžŸαŸαž„β€‹αž‚αŸ’αž“αžΆ αž αžΎαž™β€‹αž’αŸ’αžœαžΎαž€αžΆαžšβ€‹αž‡αžΆαž˜αž½αž™β€‹αž“αŸ„αŸ‡αŸ” αž‚αž»αžŽαžœαž·αž”αžαŸ’αžαž·αž‚αžΊαž…αŸ’αž”αžΆαžŸαŸ‹αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 100 αž™αžΎαž„αž’αžΆαž…αž˜αžΆαž“ 5 αž”αž“αŸ’αž‘αžΆαžαŸ‹αž“αŸƒαžŸαŸ†αžšαžΆαž˜αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαž“αŸ…αž€αŸ’αž“αž»αž„ 1 αž‡αž½αžšαž‘αžΈαž–αžΈαžšαž¬αž˜αž·αž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž¬ 000 αž”αž“αŸ’αž‘αžΆαžαŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αžΉαž„αž€αŸ’αž›αžΆαž™αž‘αŸ…αž‡αžΆαžŸαŸ†αžšαžΆαž˜αŸ” αž€αžΆαžšαž„αžΆαžšαž˜αž·αž“αžŸαŸ’αž˜αžΎαž‚αŸ’αž“αžΆαžαŸ’αž›αžΆαŸ†αž„αžŽαžΆαžŸαŸ‹αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αŸ” αž–αž½αž€αž‚αŸαž”αžΆαž“αž™αž€αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž’αžαž·αž”αžšαž·αž˜αžΆ αž αžΎαž™αžœαžΆαž™αž€αž˜αŸ’αž‘αŸαž…αž…αŸ„αž› αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž†αŸ„αžαž›αŸ’αž„αž„αŸ‹αŸ”

αž™αž»αž‘αŸ’αž’αžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αžΈαž–αžΈαžš αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŠαŸ‚αž›αž˜αžΆαž“αžαž»αž›αŸ’αž™αž—αžΆαž–αŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž€αŸ’αž“αž»αž„ Gitlab αŸ” αž–αž½αž€αž‚αŸαž”αžΆαž“αž™αž€αž“αž·αž„αžŸαŸ’αž€αŸαž“αžαž»αŸ” αž™αžΎαž„αž”αžΆαž“αžšαž€αžƒαžΎαž‰αž–αŸ’αžšαŸ†αžŠαŸ‚αž“αž“αŸƒαž€αž‰αŸ’αž…αž”αŸ‹ ID αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž€αž‰αŸ’αž…αž”αŸ‹αž“αžΈαž˜αž½αž™αŸ—αž˜αžΆαž“αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆ 10 αž™αŸ‰αžΆαž„αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαŸ” αž αžΎαž™αžŠαžΆαž€αŸ‹αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž‡αž½αžšαž˜αž½αž™αŸ” αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž™αžΎαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αž’αŸ’αž“αž€β€‹αž’αžΆαž…β€‹αž’αŸ’αžœαžΎβ€‹αžœαžΆβ€‹αž”αžΆαž“β€‹αž‡αžΆβ€‹αž…αŸ’αžšαžΎαž“β€‹αžαŸ’αžŸαŸ‚αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž™αž»αž‘αŸ’αž’αžŸαžΆαžŸαŸ’αžαŸ’αžšαžŠαŸ†αž”αžΌαž„αž•αž„αžŠαŸ‚αžš αžŠαŸ„αž™αžœαž·αž’αžΈαž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαžœαžΆαž”αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž›αžΆαž™αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ” αžœαžΆαž˜αž·αž“αž–αž·αž”αžΆαž€αž‘αŸαŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

https://medium.com/@samokhvalov/how-partial-indexes-affect-update-performance-in-postgres-d05e0052abc

αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž˜αžΆαž“β€‹αžœαž·αž’αžΈβ€‹αžŸαžΆαžŸαŸ’αžαŸ’αžšβ€‹αž›αŸ’αž’β€‹αž‡αžΆαž„β€‹αž“αž·αž„β€‹αžαŸ’αžšαž‡αžΆαž€αŸ‹β€‹αž‡αžΆαž„αŸ” αž“αŸαŸ‡αž‡αžΆαž™αž»αž‘αŸ’αž’αžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αžΈαž”αžΈαŸ” αž αžΎαž™αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“ αžœαžΆαž‡αžΆαž€αžΆαžšαž”αŸ’αžšαžŸαžΎαžšαž€αŸ’αž“αž»αž„αž€αžΆαžšαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžœαžΆαŸ” αž™αžΎαž„αž’αŸ’αžœαžΎαž“αŸαŸ‡αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαž–αž·αžŸαŸαžŸαŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡ αžœαžΆαž“αžΉαž„αž‘αŸ†αž“αž„αž‡αžΆαžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαž™αŸ„αž„αž‘αŸ…αžαžΆαž˜αž›αž€αŸ’αžαžαžŽαŸ’αžŒαžŸαŸ†αžšαžΆαž˜ αž“αž·αž„αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” αž™αžΎαž„β€‹αž“αžΉαž„β€‹αž”αž‰αŸ’αž…αžΌαž›β€‹αž›αŸαžβ€‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ αžŠαžΌαž…αŸ’αž“αŸαŸ‡β€‹αžœαžΆβ€‹αž‚αŸ’αžšαžΆαž“αŸ‹β€‹αžαŸ‚β€‹αž‡αžΆβ€‹αž›αž·αž”αž·αž€αŸ’αžšαž˜β€‹αžŸαŸ’αž€αŸ‚αž“β€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž€αž»αŸ†β€‹αž±αŸ’αž™β€‹αž™αžΎαž„β€‹αž‘αŸ…β€‹αž αŸŠαžΆαŸ”

αž‡αžΆαž‘αžΌαž‘αŸ… αž€αžΆαžšαžŸαŸ’αž€αŸαž“αžαŸ‚αžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαž‚αžΊαž›αžΏαž“αž‡αžΆαž„αž€αžΆαžšαžŸαŸ’αž€αŸαž“αžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž αžΎαž™αž™αžΎαž„αžšαž€αžƒαžΎαž‰αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαžŠαŸ‚αž›αž™αžΎαž„αž…αž„αŸ‹αž›αž»αž”αŸ” BATCH_SIZE αž™αžΎαž„αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž‡αžΆαž˜αž»αž“αŸ” αž αžΎαž™β€‹αž™αžΎαž„β€‹αž˜αž·αž“β€‹αžαŸ’αžšαžΉαž˜β€‹αžαŸ‚β€‹αž‘αž‘αž½αž›β€‹αž–αž½αž€β€‹αž‚αŸβ€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡β€‹αž‘αŸ αž™αžΎαž„β€‹αž‘αž‘αž½αž›β€‹αž–αž½αž€β€‹αžœαžΆβ€‹αžαžΆαž˜β€‹αžœαž·αž’αžΈβ€‹αž–αž·αžŸαŸαžŸβ€‹αž˜αž½αž™β€‹αž αžΎαž™β€‹αžœαžΆαž™β€‹αž–αž½αž€β€‹αž‚αŸβ€‹αž—αŸ’αž›αžΆαž˜αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž™αžΎαž„β€‹αž€αŸ†αž–αž»αž„β€‹αž…αžΆαž€αŸ‹αžŸαŸ„ αžŠαžΌαž…αŸ’αž“αŸαŸ‡β€‹αž”αžΎβ€‹αž‚αŸβ€‹αž…αžΆαž€αŸ‹β€‹αžŸαŸ„β€‹αžšαž½αž…β€‹αž αžΎαž™ αž™αžΎαž„β€‹αž˜αž·αž“β€‹αž…αžΆαž€αŸ‹αžŸαŸ„β€‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž”αž“αŸ’αžβ€‹αž‘αŸ…β€‹αž˜αž»αž αž αžΎαž™β€‹αž™αž€β€‹αž’αŸ’αž“αž€β€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ” αž“αŸαŸ‡αž‚αžΊαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαžšαŸ†αž›αž„αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαŸ„αŸ” αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αž“αŸƒ Postgres αž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž™αžΎαž„αž’αŸ’αžœαžΎαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αž‡αžΆαž…αŸ’αžšαžΎαž“αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž…αž„αŸ‹αž”αžΆαž“αŸ” αžœαžΆαž’αžΆαž…αž‘αŸ…αžšαž½αž…αž€αŸ’αž“αž»αž„αžŸαŸ’αž‘αŸ’αžšαžΈαž˜αž˜αž½αž™αŸ” αž αžΎαž™αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž˜αžΆαž“ CTE - αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŸαŸ†αžŽαžΎαž˜αž½αž™αŸ” αž αžΎαž™β€‹αž™αžΎαž„β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž›αž»αž”β€‹αž–αž·αžβ€‹αž”αŸ’αžšαžΆαž€αžŠβ€‹αž“αžΉαž„β€‹αž€αžΎαžβ€‹αž‘αžΎαž„β€‹αž“αŸ…β€‹αž‡αžΆαž“αŸ‹β€‹αž‘αžΈβ€‹αž–αžΈαžšβ€‹αž“αŸƒ CTE αž“αŸαŸ‡ - returning *. αž’αŸ’αž“αž€αž’αžΆαž…αžαŸ’αžšαž‘αž”αŸ‹αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž”αžΆαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž”αŸ’αžšαžŸαžΎαžšαž‡αžΆαž„ *αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αž·αž“αž˜αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž…αŸ’αžšαžΎαž“αž“αŸ…αž›αžΎαž”αž“αŸ’αž‘αžΆαžαŸ‹αž“αžΈαž˜αž½αž™αŸ—αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαžœαžΆ? αž“αŸαŸ‡αž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αžαŸ’αžšαžΌαžœαžšαžΆαž™αž€αžΆαžšαžŽαŸαž‘αžΎαž„αžœαž·αž‰αŸ” αž₯αž‘αžΌαžœβ€‹αž“αŸαŸ‡ αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž›αž»αž”β€‹αž”αž“αŸ’αž‘αžΆαžαŸ‹β€‹αž‡αžΆβ€‹αž…αŸ’αžšαžΎαž“β€‹αž αžΎαž™αŸ” αž αžΎαž™αž™αžΎαž„αž˜αžΆαž“αž–αŸ’αžšαŸ†αžŠαŸ‚αž“αžŠαŸ„αž™ ID αž¬αžŠαŸ„αž™ created_at αžŠαžΌαž…αž“αŸαŸ‡αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαž’αž”αŸ’αž”αž”αžšαž˜αžΆ, αž’αžαž·αž”αžšαž˜αžΆαŸ” αž’αŸ’αžœαžΈαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž’αžΆαž…αž’αŸ’αžœαžΎαž”αžΆαž“αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž•αŸ’αž‘αž»αž€αž…αŸ’αžšαžΎαž“αž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ” αž αžΎαž™αžœαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŽαžΆαžŸαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αŸ”

αž˜αžΆαž“αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αž˜αž½αž™αž‘αŸ€αžαž’αŸ†αž–αžΈαžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžαžΆαž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž›αž·αž”αž·αž€αŸ’αžšαž˜αž–αž·αžŸαŸαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž·αž…αŸ’αž…αž€αžΆαžšαž“αŸαŸ‡ αž“αŸ„αŸ‡αž™αžΎαž„αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžΆαž€αžŠαžαžΆαžœαžΆαž˜αž·αž“αž’αŸ’αžœαžΎαž±αŸ’αž™αžαžΌαž…αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαž heap αžαŸ‚ tuples αž‘αŸαŸ” αž“αŸ„αŸ‡αž‚αžΊ Postgres αž˜αžΆαž“αžŸαŸ’αžαž·αžαž·αž”αŸ‚αž”αž“αŸαŸ‡αŸ” αž“αŸαŸ‡αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž˜αžΎαž›αžƒαžΎαž‰αž“αŸ…αž€αŸ’αž“αž»αž„ pg_stat_user_tables αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαžΆαžšαžΆαž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΎαž›αžαžΆαžαžΎαž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž€αŸ’αžαŸ…αž€αŸ†αž–αž»αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž¬αž’αžαŸ‹αŸ”

αž˜αžΆαž“αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαžαŸ’αž˜αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž’αžΆαž…αž€αžΆαžαŸ‹αžœαžΆαž…αŸ„αž›αŸ” αž αžΎαž™αž’αŸ’αž“αž€αž˜αžΆαž“αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžšαž½αž…αž αžΎαž™ αžŸαžΌαž˜αž”αž“αŸ’αžαž™αž›αŸ’αž”αžΏαž“αŸ” αž˜αž·αž“αž˜αŸ‚αž“αžŠαŸ„αž™αžŸαžΆαžšαžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžαŸ’αž›αž½αž“αž‘αŸ (αžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαž“αžΈαž˜αž½αž™αŸ—αž”αž“αŸ’αžαž™αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž”αž“αŸ’αžαž·αž… αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αž“αŸ’αžαž·αž…) αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž‘αžΈαž“αŸαŸ‡αžœαžΆαž“αŸ…αžαŸ‚αž”αŸ†αž•αŸ’αž›αžΆαž‰αžœαžΆαŸ” αž αžΎαž™αžœαžΆαž˜αž·αž“αž’αžΆαž…αž‘αŸ…αžšαž½αž…αž‘αŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž–αž·αžŸαŸαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαžΆαžšαžΆαž„αž“αŸαŸ‡αŸ” αžœαžΆαž€αžΎαžαž‘αžΎαž„αž–αŸαž›αžαŸ’αž›αŸ‡αŸ” αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αž—αžΆαž–β€‹αž‘αž“αŸ‹αž—αŸ’αž›αž“αŸ‹β€‹αžŠαŸ‚αž›β€‹αž˜αž“αž»αžŸαŸ’αžŸβ€‹αžαž·αž…β€‹αžŽαžΆαžŸαŸ‹β€‹αž…αž„αž…αžΆαŸ†αŸ” αž αžΎαž™αžαž»αž„αžšαž½αž…αž“αŸαŸ‡ αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŠαžΎαžšαŸ” αž–αŸαž›αžαŸ’αž›αŸ‡αžœαžΆαž€αžΎαžαž‘αžΎαž„αžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžŸαŸ’αžœαŸ‚αž„αžšαž€αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž–αžΈαž—αžΆαž‚αžΈαž˜αŸ’αžαžΆαž„αž‘αŸ€αž αž αžΎαž™αž“αŸ…αžαŸ‚αž’αŸ’αžœαžΎαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž›αž·αž”αž·αž€αŸ’αžšαž˜αžαŸ’αž˜αžΈαž“αŸαŸ‡ αž¬αž’αŸ’αžœαžΎαž›αž·αž”αž·αž€αŸ’αžšαž˜αž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž¬αžαžΆαž˜αž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž§αž‘αžΆαž αžšαžŽαŸαž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αžΈαž–αžΈαžšαŸ”

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž™αž»αž‘αŸ’αž’αžŸαžΆαžŸαŸ’αžαŸ’αžšαžŠαŸαž”αŸ’αžšαžŸαžΎαžšαž”αŸ†αž•αž»αž αžšαž”αŸ€αž”αž”αŸ†αž”αŸ‚αž€αž‡αžΆαž”αžΆαž…αŸ‹ αž αžΎαž™αž”αžΆαž‰αŸ‹αž‡αžΆαž”αžΆαž…αŸ‹αŸ— αžŠαŸ„αž™αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž˜αž½αž™ αž›αž»αž”αž”αž“αŸ’αžαž·αž…αŸ”αž›αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž™αžΌαžš https://gitlab.com/snippets/1890447

αžŸαŸ’αž‘αŸ‡αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· - https://gitlab.com/snippets/1889668

αž”αž‰αŸ’αž αžΆαžšαžΆαžšαžΆαŸ†αž„ - https://gitlab.com/snippets/1890428

αž€αŸ†αž αž»αžŸαž›αŸαž αŸ₯ αž‚αžΊαž‡αžΆαž€αŸ†αž αž»αžŸαžŠαŸαž’αŸ†αž˜αž½αž™αŸ” Nikolai αž˜αž€αž–αžΈ Okmeter αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ Postgres αŸ” αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ Postgres αžŠαŸαž›αŸ’αž’ αž‡αžΆαž’αž€αž»αžŸαž›αž˜αž·αž“αž˜αžΆαž“αž‘αŸαŸ” αžαŸ’αž›αŸ‡αž“αŸ…αž‡αž·αž αžαŸ’αž›αŸ‡αž“αŸ…αž†αŸ’αž„αžΆαž™αŸ” Okmeter αž‚αžΊαž‡αž·αžαž›αŸ’αž˜αž˜αž“αžΉαž„αž—αžΆαž–αž›αŸ’αž’αž₯αžαžαŸ’αž…αŸ„αŸ‡ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αžΆαž“αž…αŸ’αžšαžΎαž“αž”αžΆαžαŸ‹ αž αžΎαž™αžαŸ’αžšαžΌαžœαž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αŸ” αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžαŸ‚αžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαžΏαž„αž“αŸαŸ‡αŸ”

αž§αž‘αžΆαž αžšαžŽαŸ tuples αžŸαŸ’αž›αžΆαž”αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž›αŸ’αž’αž”αŸ†αž•αž»αžαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“αžšαž”αžŸαŸ‹αžšαž”αžšαž„αžΆαž”αŸ‹αž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžαž» αž“αŸ„αŸ‡αž˜αžΆαž“αž’αŸ’αžœαžΈαž˜αž½αž™αžαž»αžŸαž αžΎαž™αŸ” αžœαžΆαž‡αžΆαž€αžΆαžšαž”αŸ’αžšαžŸαžΎαžšαž€αŸ’αž“αž»αž„αž”αŸ’αžšαžαž·αž€αž˜αŸ’αž˜αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‘αŸ αž’αžΆαž…αž“αžΉαž„αž˜αžΆαž“αž€αžΆαžšαžšαž·αž…αžšαž·αž› αž αžΎαž™αž™αžΎαž„αž’αžΆαž…αžŠαŸαž€αž…αž»αŸ‡αŸ” αžœαžΆβ€‹αž€αžΎαžαž‘αžΎαž„αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΆαž“ IO αž’αŸ†αž“αŸ„αŸ‡αžœαžΆαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αžαžΆαž“αŸαŸ‡αž˜αž·αž“αž›αŸ’αž’αž‘αŸαŸ”

αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž™αžΌαžšαž•αž„αžŠαŸ‚αžšαŸ” αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžœαŸ‚αž„αž˜αž·αž“αž‚αž½αžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž“αŸ…αž›αžΎ OLTP αž‘αŸαŸ” αž αžΎαž™αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αž•αŸ’αž“αŸ‚αž€αžαŸ’αž›αžΈαŸ—αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž™αž€αž–αŸαžαŸŒαž˜αžΆαž“αžαŸ’αž›αžΈαŸ—αž“αŸαŸ‡ αž αžΎαž™αž’αŸ’αžœαžΎαž€αžΆαžšαžαžΆαž˜αžŠαžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžšαž™αŸˆαž–αŸαž›αžœαŸ‚αž„αž˜αž½αž™αž…αŸ†αž“αž½αž“αžšαž½αž…αž αžΎαž™αŸ”

αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžšαž™αŸˆαž–αŸαž›αžœαŸ‚αž„αž˜αž·αž“αž›αŸ’αž’? αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αžŸαŸ„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ„αŸ‡αž›αŸ‚αž„αžαŸ‚αž“αŸ…αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž αžΎαž™β€‹αž™αžΎαž„β€‹αžœαžΆαž™β€‹αž’αŸ’αž“αž€β€‹αžšαžΆαž›αŸ‹β€‹αž‚αŸ’αž“αžΆαŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž™αžΎαž„αž‘αž”αŸ‹αžŸαŸ’αž€αžΆαžαŸ‹ autovacuum αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαžΆαžšαžΆαž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ” αžœαžΆαž˜αž·αž“αž›αŸ’αž’αž‘αžΆαž›αŸ‹αžαŸ‚αžŸαŸ„αŸ‡αŸ” αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž’αŸ’αž“αž€αž”αžΆαž“αž”αžΎαž€αž€αžΆαžšαžšαž„αŸ‹αž…αžΆαŸ†αž€αŸ’αžαŸ…αž“αŸ…αž›αžΎαž€αžΆαžšαž…αž˜αŸ’αž›αž„αž€αŸαžŠαŸ„αž™ αžœαžΆαž“αŸ…αžαŸ‚αž’αžΆαž€αŸ’αžšαž€αŸ‹αŸ” αž‡αžΆαž‘αžΌαž‘αŸ… αž‚αŸ’αž˜αžΆαž“αž€αž“αŸ’αž›αŸ‚αž„αžŽαžΆαž”αŸ’αžšαžŸαžΎαžšαž‡αžΆαž„αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž™αžΌαžšαž“αŸ„αŸ‡αž‘αŸαŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎβ€‹αž™αžΎαž„β€‹αž˜αžΆαž“β€‹αžαž»β€‹αž…αŸ’αžšαžΎαž“β€‹αžŠαŸ‚αž›β€‹αž˜αž·αž“β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αžΌαž˜β€‹αž…αŸαž‰ αž“αŸ„αŸ‡β€‹αž™αžΎαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž‡αžΌαž“β€‹αžŠαŸ†αžŽαžΉαž„αŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž”αŸ‚αž”αž“αŸαŸ‡αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αŸ” αž™αžΎαž„αž’αžΆαž…αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαŸ„αž™αž”αŸ’αžšαž™αŸ„αž›αžŠαž›αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸƒ autovacuum αŸ” αž“αŸαŸ‡αž‡αžΆαž’αžαŸ’αžαž”αž‘αžαŸ’αž›αžΈαŸ—αž–αžΈ Avito αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž€αŸ‚αž›αž˜αŸ’αž’αž”αž“αŸ’αžαž·αž…αŸ” αž αžΎαž™αžœαžΆαž”αžΆαž“αž€αŸ’αž›αžΆαž™αž‡αžΆαž§αž”αž€αžšαžŽαŸαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž˜αž½αž™αžŠαžΎαž˜αŸ’αž”αžΈαž˜αžΎαž›αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αž˜αžΆαž“αž‡αžΆαž˜αž½αž™ autovacuum αŸ” αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αžαž»αž˜αž½αž™αž…αŸ†αž“αž½αž“αž€αŸ†αž–αž»αž„αžšαž„αŸ‹αž…αžΆαŸ†αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αž αžΎαž™αž“αžΉαž„αž˜αž·αž“αžšαž„αŸ‹αž…αžΆαŸ†αžŠαž›αŸ‹αžœαŸαž“αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž‘αžΎαž™αŸ” αž’αŸ’αž“αž€αž€αŸαžαŸ’αžšαžΌαžœαžŠαžΆαž€αŸ‹αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ αž“αž·αž„αž˜αžΆαž“αž€αžΆαžšαž‡αžΌαž“αžŠαŸ†αžŽαžΉαž„αž•αž„αžŠαŸ‚αžšαŸ”

αž“αž·αž„αž”αž‰αŸ’αž αžΆαž”αŸ’αž›αž»αž€αŸ” αž–αŸ’αžšαŸƒαž“αŸƒαžŠαžΎαž˜αžˆαžΎαž”αŸ’αž›αž»αž€αŸ” αžαŸ’αž‰αž»αŸ†αž…αžΌαž›αž…αž·αžαŸ’αžαž™αž€αž’αŸ’αžœαžΈαž˜αž½αž™αž–αžΈαž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹ αž αžΎαž™αž€αŸ‚αž›αž˜αŸ’αž’αžœαžΆαŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž™αž€ CTE αž‘αžΎαž„αžœαž·αž‰αžŠαŸαžαŸ’αžšαž‡αžΆαž€αŸ‹αž–αžΈ Data Egret αžŠαŸ‚αž›αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž–αŸ’αžšαŸƒαžˆαžΎαž“αŸƒαžŠαžΎαž˜αžˆαžΎαžŸαŸ„αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž§αž”αž€αžšαžŽαŸαžœαž·αž“αž·αž…αŸ’αž†αŸαž™αžŠαŸαž›αŸ’αž’αŸ” αž αžΎαž™αž“αŸ…αž›αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžšαž”αžŸαŸ‹αžœαžΆ αž’αŸ’αž“αž€αž€αŸαž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž•αž„αžŠαŸ‚αžšαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαžŠαŸ„αž™αž”αŸ’αžšαž»αž„αž”αŸ’αžšαž™αŸαžαŸ’αž“αŸ” αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αž„αŸ’αž€αžΎαž statement_timeout αžαžΌαž…αž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž›αž½αž“αž’αŸ’αž“αž€αŸ” αž αžΎαž™ lock_timeout αž‚αžΊαž‡αžΆαž€αžΆαžšαž…αž„αŸ‹αž”αžΆαž“αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž–αŸαž›αžαŸ’αž›αŸ‡αž€αŸ†αž αž»αžŸαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž€αžΎαžαž‘αžΎαž„αž‡αžΆαžšαž½αž˜αŸ”

αžαžΆαž˜αž‚αŸ†αž“αž·αžαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† αž€αŸ†αž αž»αžŸαž…αž˜αŸ’αž”αž„αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž‚αžΊαž€αžΆαžšαžšαŸ€αž”αž…αŸ†αŸ” αžœαžΆαž‚αžΊαž‡αžΆαž€αžΆαžšαžšαŸ€αž”αž…αŸ†, αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαž˜αž·αž“αž‘αžΆαž‰αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž›αŸαž 2 - αž–αž½αž€αž‚αŸαž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžαž»αžŸαŸ”

αž™αžΎαž„β€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αž“αŸ…β€‹αž€αž“αŸ’αž›αŸ‚αž„β€‹αžαž»αžŸ αž–αŸ’αžšαŸ„αŸ‡β€‹αž™αžΎαž„β€‹αž˜αž·αž“β€‹αž˜αžΆαž“β€‹αž€αŸ’αž›αžΌαž“β€‹αž•αž›αž·αžβ€‹αžŠαŸ‚αž›β€‹αž„αžΆαž™β€‹αžŸαŸ’αžšαž½αž›β€‹αž–αž·αž“αž·αžαŸ’αž™αŸ” αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž•αž›αž·αžαž€αž˜αŸ’αž˜αž‘αžΆαž›αŸ‹αžαŸ‚αžŸαŸ„αŸ‡αŸ”

αž αžΎαž™αž™αžΎαž„αž˜αž·αž“αž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž‘αŸαŸ” αž”αžΎβ€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αž“αŸ…β€‹αž‘αžΈαž“αŸ„αŸ‡ αž™αžΎαž„β€‹αž“αžΉαž„β€‹αžƒαžΎαž‰β€‹αžœαžΆβ€‹αžŠαŸ„αž™β€‹αžαŸ’αž›αž½αž“β€‹αž―αž„αŸ” αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αžΆαž“αžƒαžΎαž‰αžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž˜αž·αž“αž˜αžΆαž“ DBA αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‚αžΆαžαŸ‹αž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸαž›αŸ’αž’ αžŠαŸ‚αž›αž˜αžΆαž“αž…αŸ†αž“αž½αž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαžΌαž…αž‚αŸ’αž“αžΆ αž“αž·αž„αž‘αžΈαžαžΆαŸ†αž„αžŠαžΌαž…αž‚αŸ’αž“αžΆαž”αŸαŸ‡αž”αž·αž‘αŸ” αž‚αžΆαžαŸ‹αž“αžΉαž„αž”αžΆαž“αžƒαžΎαž‰αž€αžΆαžšαžšαž·αž…αžšαž·αž›αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡ αž αžΎαž™αž‚αžΆαžαŸ‹αž“αžΉαž„αžαŸ’αž˜αžΆαžŸαŸ‹αž’αŸ€αž“αŸ”

αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž’αŸ†αž–αžΈ autovacuum αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž–αžΈβ€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž’αŸ’αžœαžΎβ€‹αž€αžΆαžšβ€‹αž”αŸ„αžŸβ€‹αžŸαž˜αŸ’αž’αžΆαžβ€‹αž‡αžΆβ€‹αž…αŸ’αžšαžΎαž“β€‹αž›αžΆαž“β€‹αžαŸ’αžŸαŸ‚β€‹αž αžΎαž™ αž™αžΎαž„β€‹αž“αŸ…β€‹αžαŸ‚β€‹αžαŸ’αžšαžΌαžœβ€‹αž’αŸ’αžœαžΎ REPACK αŸ” αž“αŸαŸ‡αž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αž‡αžΆαž–αž·αžŸαŸαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαŸ” αž–αž½αž€αž‚αŸαž“αžΉαž„αž˜αžΆαž“αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž˜αž·αž“αž›αŸ’αž’αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž™αžΎαž„αžŸαž˜αŸ’αž’αžΆαžαž’αŸ’αžœαžΈαŸ—αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ”

αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αžαŸ’αžšαž›αž”αŸ‹αž˜αž€αžœαž·αž‰αž“αžΌαžœαž€αžΆαžšαž„αžΆαžšαžŸαŸ†αž’αžΆαžαž”αŸ’αžšαž…αžΆαŸ†αžαŸ’αž„αŸƒ αž“αŸ„αŸ‡αžαŸ’αž‰αž»αŸ†αžŸαŸ’αž“αžΎαž±αŸ’αž™αž’αŸ’αžœαžΎαžœαžΆαž±αŸ’αž™αž”αžΆαž“αž‰αžΉαž€αž‰αžΆαž”αŸ‹ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαžΌαž…αž‡αžΆαž„αŸ” αžœαžΆαž’αžΆαž…αž˜αŸ’αžαž„αž€αŸ’αž“αž»αž„αž˜αž½αž™αž“αžΆαž‘αžΈ αž¬αž…αŸ’αžšαžΎαž“αžŠαž„αž”αž“αŸ’αžαž·αž…αŸ” αž αžΎαž™β€‹αž’αŸ’αž“αž€β€‹αžαŸ’αžšαžΌαžœβ€‹αžαŸ’αžšαž½αžβ€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αžšαžΏαž„β€‹αž–αžΈαžšβ€‹αž™αŸ‰αžΆαž„αŸ– αžαžΆβ€‹αžšαžΏαž„β€‹αž“αŸαŸ‡β€‹αž‚αŸ’αž˜αžΆαž“β€‹αž€αŸ†αž αž»αžŸ αž αžΎαž™β€‹αžαžΆβ€‹αžœαžΆβ€‹αž˜αž·αž“β€‹αž™αžΊαžαž™αŸ‰αžΆαžœαŸ” αž›αŸ’αž”αž·αž…β€‹αžŠαŸ‚αž›β€‹αžαŸ’αž‰αž»αŸ†β€‹αž”αžΆαž“β€‹αž”αž„αŸ’αž αžΆαž‰β€‹αž“αžΉαž„β€‹αž‚αŸ’αžšαžΆαž“αŸ‹β€‹αžαŸ‚β€‹αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™β€‹αž”αž‰αŸ’αž αžΆβ€‹αž“αŸαŸ‡β€‹αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αž’αŸ’αžœαžΎαž‚αžΊαž‡αžΆαž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αŸ„αŸ‡αž“αŸ…αž›αžΎ GitLab αŸ” αž αžΎαž™β€‹αž™αžΎαž„β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αžœαžΆβ€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž±αŸ’αž™β€‹αž˜αž“αž»αžŸαŸ’αžŸβ€‹αž’αžΆαž…β€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αž˜αžΎαž›β€‹αž”αžΆαž“ αž‘αŸ„αŸ‡β€‹αž”αžΈβ€‹αž‚αŸ’αž˜αžΆαž“ DBA αž€αŸαžŠαŸ„αž™αŸ” αž™αžΎαž„αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž˜αž“αŸ’αž‘αžΈαžšαž–αž·αžŸαŸ„αž’αž“αŸαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž–αŸ„αž›αž‚αžΊαž™αžΎαž„αž αŸ…αžŸαž˜αžΆαžŸαž—αžΆαž‚αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŠαŸ‚αž› Joe αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαŸ” αž αžΎαž™αž’αŸ’αž“αž€αž’αžΆαž…αž…αžΆαž”αŸ‹αž™αž€αž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž“αŸƒαž•αž›αž·αžαž€αž˜αŸ’αž˜αŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡αž˜αžΆαž“αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαž”αžŸαŸ‹ Joe αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœ αž’αŸ’αž“αž€αž’αžΆαž…αž“αž·αž™αžΆαž™αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αžαžΆ β€œαž–αž“αŸ’αž™αž›αŸ‹αžŸαŸ†αžŽαž½αžšαž”αŸ‚αž”αž“αŸαŸ‡β€ αž αžΎαž™αž‘αž‘αž½αž›αž”αžΆαž“αž›αž‘αŸ’αž’αž•αž›αž—αŸ’αž›αžΆαž˜αŸ—αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αž’αŸ’αž“αž€αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž’αžΆαž…αž›αž»αž”αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αž αžΎαž™αž‚αŸ’αž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž“αžΉαž„αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžœαžΆαž‘αŸαŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž§αž”αž˜αžΆαžαžΆαž’αŸ’αž“αž€αž˜αžΆαž“ 10 terabytes αž™αžΎαž„αž”αž„αŸ’αž€αžΎαž database lab αž€αŸαž˜αžΆαž“ 10 terabytes αžŠαŸ‚αžšαŸ” αž αžΎαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ 10 terabyte αž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆ αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ 10 αž’αžΆαž…αž’αŸ’αžœαžΎαž€αžΆαžšαž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆαŸ” αž˜αž“αž»αžŸαŸ’αžŸαž‚αŸ’αžšαž”αŸ‹αžšαžΌαž”αž’αžΆαž…αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž–αž½αž€αž‚αŸαž…αž„αŸ‹αž”αžΆαž“αŸ” αž’αžΆαž…β€‹αž›αž»αž” αž‘αž˜αŸ’αž›αžΆαž€αŸ‹β€‹αž‡αžΆαžŠαžΎαž˜β€‹αŸ”β€‹ αž“αŸ„αŸ‡β€‹αž‡αžΆβ€‹αž€αžΆαžšβ€‹αžŸαŸ’αžšαž˜αžΎαžŸαŸ’αžšαž˜αŸƒβ€‹αž”αŸ‚αž”β€‹αž“αŸαŸ‡β€‹αŸ” αž™αžΎαž„αž“αžΉαž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαžšαžΏαž„αž“αŸαŸ‡αž“αŸ…αžαŸ’αž„αŸƒαžŸαŸ’αž’αŸ‚αž€αŸ”

αžŸαžΌαž˜αž‚αŸ„αžšαž– DELETE αŸ” Nikolay Samokhvalov (Postgres.ai)

αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆαž€αžΆαžšαž•αŸ’αžαž›αŸ‹αžŸαŸ’αžαžΎαž„αŸ” αž“αŸαŸ‡β€‹αž‚αžΊβ€‹αž‡αžΆβ€‹αž€αžΆαžšβ€‹αž•αŸ’αžαž›αŸ‹β€‹αž—αžΆαž–β€‹αž‘αž“αŸ‹β€‹αžαŸ’αžŸαŸ„αž™αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž€αžΆαžšαžŸαŸ’αžšαž˜αžΎαžŸαŸ’αžšαž˜αŸƒαž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαŸ‚αž›αž›αž»αž”αž”αŸ†αž”αžΆαžαŸ‹αž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„ αž“αž·αž„αž’αŸ’αžœαžΎαž±αŸ’αž™αž–αž·αž—αž–αž›αŸ„αž€αž€αŸ’αž›αžΆαž™αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αž”αŸ’αžšαžŸαžΎαžšαž‡αžΆαž„αž˜αž»αž“αž€αŸ’αž“αž»αž„αžšαžΏαž„αž“αŸαŸ‡αŸ” αž“αŸ„αŸ‡αž‚αžΊαžœαžΆαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž‡αŸ€αžŸαžœαžΆαž„αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž—αžΆαž‚αž…αŸ’αžšαžΎαž“αŸ”

αž§αž‘αžΆαž αžšαžŽαŸαŸ– αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ 5 terabyte αž‘αž‘αž½αž›αž”αžΆαž“αž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αžαž·αž…αž‡αžΆαž„ 30 αžœαž·αž“αžΆαž‘αžΈαŸ” αž αžΎαž™αžœαžΆαž˜αž·αž“αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž‘αŸ†αž αŸ†αž“αŸ„αŸ‡αž‘αŸ αž–αŸ„αž›αž‚αžΊαžœαžΆαž˜αž·αž“αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“ terabytes αž“αŸ„αŸ‡αž‘αŸαŸ”

αžαŸ’αž„αŸƒαž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αž‘αŸ… postgres.ai αž αžΎαž™αž‡αžΈαž€αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž§αž”αž€αžšαžŽαŸαžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αžŠαžΎαž˜αŸ’αž”αžΈαž˜αžΎαž›αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αžŠαŸ†αž‘αžΎαž„ bot αž“αŸαŸ‡αŸ” វអαž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαŸ” αžŸαžšαžŸαŸαžšαŸ”

αžŸαŸ†αžŽαž½αžš

αž‡αžΆαž‰αžΉαž€αž‰αžΆαž”αŸ‹αžŽαžΆαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αžœαžΆαž”αž„αŸ’αž αžΆαž‰αžαžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž‚αž½αžšαž“αŸ…αžαŸ‚αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αž‚αžΊαžαž·αž…αž‡αžΆαž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž›αž»αž”αŸ” αž“αŸ„αŸ‡αž‚αžΊαž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž”αŸ‚αž”αž“αŸαŸ‡ αžœαžΆαž…αŸ’αžšαžΎαž“αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž”αŸ‚αž”αž“αŸαŸ‡ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžœαžαŸ’αžαž»αžαŸ’αž˜αžΈ αž…αž˜αŸ’αž›αž„αžαŸ‚αž‘αž·αž“αŸ’αž“αž“αŸαž™αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αž αžΎαž™αž…αž„αž€αŸ’αžšαž„αžαžΆαžšαžΆαž„αž…αžΆαžŸαŸ‹αŸ” αžœαžΆαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αžαžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžαžΆαž˜αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αžΊαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αŸαž›αž“αŸαŸ‡ αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αž“αžΉαž„αž”αŸ’αžαžΌαžšαŸ” αžαžΎαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸαŸ‡αž™αŸ‰αžΆαž„αž˜αŸ‰αŸαž…αžŠαŸ‚αžš?

αž“αŸαŸ‡β€‹αž‚αžΊβ€‹αž‡αžΆβ€‹αžœαž·αž’αžΈβ€‹αžŸαžΆαžŸαŸ’αžšαŸ’αžŠβ€‹αžŠαŸβ€‹αž›αŸ’αž’β€‹αž˜αž½αž™ αž“αž·αž„β€‹αž‡αžΆβ€‹αž€αž·αž…αŸ’αž…αž€αžΆαžšβ€‹αžŠαŸβ€‹αž›αŸ’αž’β€‹αž”αŸ†αž•αž»αžαŸ” αžœαžΆαžŸαŸ’αžšαžŠαŸ€αž„αž‘αŸ…αž“αžΉαž„αž’αŸ’αžœαžΈαžŠαŸ‚αž› pg_repack αž’αŸ’αžœαžΎ αžœαžΆαžŸαŸ’αžšαžŠαŸ€αž„αž“αžΉαž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ 4 αž”αŸƒαŸ” αž€αŸ’αžšαž”αžαžŽαŸ’αžŒαž‡αžΆαž…αŸ’αžšαžΎαž“αž”αžΆαž“αž’αŸ’αžœαžΎαžšαžΏαž„αž“αŸαŸ‡αž€αžΆαž›αž–αžΈαž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αž†αŸ’αž“αžΆαŸ†αž˜αž»αž“ αž αžΎαž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž…αžΆαž“αž”αžΆαž“αž’αŸ†αž‘αžΎαž„ αž αžΎαž™αž–αž½αž€αž‚αŸαžαŸ’αžšαžΌαžœαž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αž‘αŸ…αž‡αžΆ 8 αž”αŸƒαŸ”

αž—αžΆαžšαž€αž·αž…αŸ’αž…αž“αŸαŸ‡αž‚αžΊαž–αž·αž”αžΆαž€αžŽαžΆαžŸαŸ‹αŸ” αž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαžœαžΆαŸ” αž αžΎαž™αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžαŸ‚αž”αŸ’αžšαž»αž„αž”αŸ’αžšαž™αŸαžαŸ’αž“αž”αŸ†αž•αž»αžαŸ” αž˜αžΆαž“β€‹αžŸαŸ„β€‹αž‡αžΆαžŠαžΎαž˜ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžœαžΆβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž‚αŸβ€‹αž’αŸ’αžœαžΎαŸ” αž“αŸ„αŸ‡αž‚αžΊαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž‚αžΊαžαŸ’αžšαžΌαžœαž‘αŸ…αž‡αžΆαž˜αž½αž™ pg_repack αŸ” αž’αŸ’αž“αž€αž”αŸ’αžšαž€αžΆαžŸαžŸαŸ’αž›αžΆαž€αž”αŸ‚αž”αž“αŸαŸ‡αŸ” αž αžΎαž™αž˜αž»αž“αž–αŸαž›αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαžΌαž”αžαžαž‘αŸ…αž€αŸ’αž“αž»αž„αžœαžΆ αž’αŸ’αž“αž€αž€αŸαž”αŸ’αžšαž€αžΆαžŸαž…αžΆαž“αž˜αž½αž™αžŠαŸ‚αž›αžαžΆαž˜αžŠαžΆαž“αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ” αž˜αžΆαž“αž›αŸ’αž”αž·αž…αž˜αž½αž™αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αžαžΆαž˜αžŠαžΆαž“αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžŠαžΌαžšαž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ” αž˜αžΆαž“ subtleties αŸ” αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž’αŸ’αž“αž€αž”αŸ’αžαžΌαžšαžŠαŸ„αž™αž€αžΆαžšαžšαŸ†αž€αž·αž›αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαŸ” αžœαžΆβ€‹αž“αžΉαž„β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž•αŸ’αž’αžΆαž€β€‹αž˜αž½αž™β€‹αžšαž™αŸˆβ€‹αž–αŸαž›β€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž”αž·αž‘β€‹αž’αŸ’αž“αž€β€‹αžšαžΆαž›αŸ‹β€‹αž‚αŸ’αž“αžΆ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž‡αžΆβ€‹αž‘αžΌαž‘αŸ…β€‹αžœαžΆβ€‹αž€αŸ†αž–αž»αž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž’αŸ’αžœαžΎαŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž› pg_repack αž“αŸ…αž›αžΎ GitHub αž“αŸ„αŸ‡αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αžΆαž“αž—αžΆαžšαž€αž·αž…αŸ’αž…αž”αŸ†αž”αŸ’αž›αŸ‚αž„αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž–αžΈ int 4 αž‘αŸ… int 8 αž“αŸ„αŸ‡αž˜αžΆαž“αž‚αŸ†αž“αž·αžαž˜αž½αž™αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžΎ pg_repack αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αŸ” αž“αŸαŸ‡β€‹αž€αŸβ€‹αž’αžΆαž…β€‹αž‘αŸ…β€‹αžšαž½αž…β€‹αžŠαŸ‚αžš αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžœαžΆβ€‹αž‡αžΆβ€‹αž€αžΆαžšβ€‹αž›αž½αž…β€‹αž…αžΌαž›β€‹αž”αž“αŸ’αžαž·αž… αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžœαžΆβ€‹αž“αžΉαž„β€‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αžœαžΆβ€‹αž•αž„β€‹αžŠαŸ‚αžšαŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž‡αŸ’αžšαŸ€αžαž‡αŸ’αžšαŸ‚αž€αž€αŸ’αž“αž»αž„αž‚αž“αŸ’αž›αžΉαŸ‡αžŠαŸ‚αž› pg_repack αž”αŸ’αžšαžΎ αž αžΎαž™αž“αž·αž™αžΆαž™αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ– "αž™αžΎαž„αž˜αž·αž“αžαŸ’αžšαžΌαžœαž€αžΆαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸαŸ‡αž‘αŸ" αž–αŸ„αž›αž‚αžΊ αž™αžΎαž„αž•αŸ’αž‘αŸαžšαžαŸ‚αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž‚αžΆαžαŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αŸ’αžαžΌαžš αž αžΎαž™αž“αŸ„αŸ‡αž‡αžΆαžœαžΆαŸ”

αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸαŸ‡ αž™αžΎαž„αž“αŸ…αžαŸ‚αž‘αž‘αž½αž›αž”αžΆαž“αž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž‘αžΈαž–αžΈαžšαž“αŸƒαžαžΆαžšαžΆαž„ αžŠαŸ‚αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž›αž·αž”αž·αž€αŸ’αžšαž˜αžšαž½αž…αž αžΎαž™ αž“αž·αž„αžŠαžΆαž€αŸ‹αž‡αž„αŸ‹αžŸαŸ’αž˜αžΎαŸ—αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž›αž·αž”αž·αž€αŸ’αžšαž˜αžŠαŸαžŸαŸ’αžšαžŸαŸ‹αžŸαŸ’αž’αžΆαžαŸ”

αž αžΎαž˜αž–αŸ„αŸ‡αž˜αž·αž“αž˜αžΆαž“αžœαžαŸ’αžαž˜αžΆαž“αž‘αŸαžœαžΆαž‚αžΊαž‡αžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŠαŸαž›αŸ’αž’αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžαŸ’αž‰αž»αŸ†β€‹αžŠαžΉαž„β€‹αžαžΆβ€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž–αŸ’αž™αžΆαž™αžΆαž˜β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αž’αž—αž·αžœαžŒαŸ’αžβ€‹αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž€αžΆαžšβ€‹αž“αŸαŸ‡ αž–αŸ„αž›β€‹αž‚αžΊβ€‹αž”αž„αŸ’αž€αžΎαžβ€‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™β€‹αž‡αžΆβ€‹αžŸαž€αž›αŸ” αžαŸ’αž‰αž»αŸ†αž’αžΆαž…αžŠαžΆαž€αŸ‹αž±αŸ’αž™αž’αŸ’αž“αž€αž‘αžΆαž€αŸ‹αž‘αž„αž‡αžΆαž˜αž½αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž“αŸαŸ‡αŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Python αžŠαŸ‚αž›αž‡αžΆαžšαžΏαž„αž›αŸ’αž’αŸ”

αžαŸ’αž‰αž»αŸ†αž‘αžΎαž”αžαŸ‚αž˜αž€αž–αžΈαž–αž·αž—αž– MySQL αž”αž“αŸ’αžαž·αž… αž‘αžΎαž”αžαŸ’αž‰αž»αŸ†αž˜αž€αžŸαŸ’αžαžΆαž”αŸ‹αŸ” αž αžΎαž™αž™αžΎαž„αž”αŸ’αžšαžΎαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸαŸ‡αŸ”

αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž”αžΎβ€‹αž™αžΎαž„β€‹αž˜αžΆαž“ ៩០% αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž˜αžΆαž“ 90% αž“αŸ„αŸ‡αžœαžΆαž˜αž·αž“αž›αŸ’αž’αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαžœαžΆαž‘αŸαŸ”

αž’αžšαž‚αž»αžŽαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸ! αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αž·αž“αž˜αžΆαž“αž’αž“αž’αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž–αŸαž‰αž›αŸαž‰αž“αŸƒαž•αž›αž·αžαž•αž› αžαžΎαž˜αžΆαž“αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ αž¬αžšαžΌαž”αž˜αž“αŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αžŽαž“αžΆαž”αž“αŸ’αž‘αž»αž€ αž¬αž‘αŸ†αž αŸ†αž‘αŸ?

αžŸαŸ†αžŽαž½αžšβ€‹αž›αŸ’αž’αŸ” αžšαž αžΌαžαž˜αž€αžŠαž›αŸ‹αž–αŸαž›αž“αŸαŸ‡αž™αžΎαž„αž’αžΆαž…αžŸαŸ’αžœαŸ‚αž„αžšαž€αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αž αž»αžαŸαžšαŸ‰αžΆαž”αŸƒαŸ” αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆ Hardware αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž˜αž·αž“αžŠαžΌαž…αž‚αŸ’αž“αžΆαž€αŸαžŠαŸ„αž™ αž§αž‘αžΆαž αžšαžŽαŸ αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžαž·αž… αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαž·αž… αž“αž·αž„αžαžΆαžŸαž˜αž·αž“αžŠαžΌαž…αž‚αŸ’αž“αžΆαž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž“αŸ…αžαŸ‚αž’αŸ’αžœαžΎαžœαžΆαžŠαžŠαŸ‚αž›αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž–αž·αžαž‡αžΆαž‚αŸ’αž˜αžΆαž“αž€αž“αŸ’αž›αŸ‚αž„αžŽαžΆαž‘αŸαž“αŸ„αŸ‡ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž‚αž·αžαŸ” αž…αžΆαŸ†β€‹αžαŸ’αž‰αž»αŸ†β€‹αž‚αž·αžβ€‹αžŠαž›αŸ‹β€‹αžαŸ’αž„αŸƒβ€‹αžŸαŸ’αž’αŸ‚αž€ αž’αŸ’αž“αž€β€‹αž˜αž€ αž™αžΎαž„β€‹αž“αžΉαž„β€‹αž“αž·αž™αžΆαž™β€‹αž‚αŸ’αž“αžΆ αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αžŸαŸ†αžŽαž½αžšβ€‹αž›αŸ’αž’αŸ”

αž’αžšαž‚αž»αžŽαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸ! αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αž”αžΌαž„αž’αŸ†αž–αžΈαž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαž˜αžΆαž“ Postgres αžαŸ’αžšαž‡αžΆαž€αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž”αŸ‚αž”αž“αŸαŸ‡αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž€αŸ†αž–αž»αž„αž’αž—αž·αžœαžŒαŸ’αžαŸ” αž αžΎαž™αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžˆαžΎαž…αŸ’αžšαžαŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ„αž™αž“αž·αž„αž’αŸ†αŸ” αž“αŸαŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž€αžΆαžšαž”αŸ‰αŸ‡αž‘αž„αŸ’αž‚αž·αž…αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžšαž”αžŸαŸ‹ Postgres αžαŸ’αž›αž½αž“αž―αž„αž‘αŸ αžŠαŸ‚αž› DELETE deferent αž“αžΉαž„αž›αŸαž…αž‘αžΎαž„ αž¬αž’αŸ’αžœαžΈαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ‚αž›αž‚αž½αžšαžαŸ‚αžšαž€αŸ’αžŸαžΆαž“αŸ…αž€αž˜αŸ’αžšαž·αžαž‘αžΆαž” αžŠαŸ‚αž›αž™αžΎαž„αž€αŸ†αž–αž»αž„αž–αŸ’αž™αžΆαž™αžΆαž˜αž›αžΆαž”αž–αžŽαŸŒαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αž…αž˜αŸ’αž›αŸ‚αž€αŸ—αžšαž”αžŸαŸ‹αž™αžΎαž„αž“αŸ…αž‘αžΈαž“αŸαŸ‡?

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž”αžΆαž“αž“αž·αž™αžΆαž™αž“αŸ…αž€αŸ’αž“αž»αž„ SQL αžŠαžΎαž˜αŸ’αž”αžΈαž›αž»αž” αž¬αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αž€αŸ’αž“αž»αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž˜αž½αž™ តើ Postgres αž’αžΆαž…αž…αŸ‚αž€αž…αžΆαž™αžœαžΆαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αžŠαŸ„αž™αžšαž”αŸ€αž”αžŽαžΆ? αž™αžΎαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž•αŸ’αž“αŸ‚αž€αžšαžΆαž„αž€αžΆαž™αž€αŸ’αž“αž»αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ” αž™αžΎαž„αž“αžΉαž„αž“αŸ…αžαŸ‚αž’αŸ’αžœαžΎαžœαžΆαž”αžΆαž“αž™αžΌαžšαŸ” αž αžΎαž™αž™αžΎαž„αž“αžΉαž„αž…αžΆαž€αŸ‹αžŸαŸ„αž“αŸ…αž–αŸαž›αž“αŸαŸ‡αŸ”αž›αŸ”

αžšαž½αž…αžšαžΆαž›αŸ‹αž‡αžΆαž˜αž½αž™αžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαŸ”

αžαŸ’αž‰αž»αŸ†αž’αžΆαž…αžŸαž“αŸ’αž˜αžαŸ‹αžαžΆαž€αžΆαžšαž›αŸƒαžαž˜αŸ’αžšαžΌαžœαž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžŠαžΌαž…αž‚αŸ’αž“αžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αžαŸ’αž„αŸƒαžŽαžΆαž˜αž½αž™αžœαžΆαž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž˜αž€β€‹αžαŸ’αž‰αž»αŸ†β€‹αž–αž·αžβ€‹αž‡αžΆβ€‹αž˜αž·αž“β€‹αž™αž›αŸ‹β€‹αžŸαŸ†αžŽαž½αžšβ€‹αŸ”

αžŸαŸ†αžŽαž½αžšαžŸαž½αžšαžαžΆ αžαžΎαž˜αžΆαž“αžœαŸ‰αž·αž…αž‘αŸαžšαž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŠαŸ‚αž›αž‘αŸ…αž‘αžΈαž“αŸαŸ‡ αž“αž·αž„αž‘αžΈαž“αŸ„αŸ‡ αž αžΎαž™αž“αŸ…αž‘αžΈαž“αŸαŸ‡αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆαžŠαŸ‚αžšαž¬αž‘αŸ? αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αŸ” αžαžΎβ€‹αž‚αŸβ€‹αž˜αž·αž“β€‹αž‘αžΆαž“αŸ‹β€‹αž‚αž·αžβ€‹αž–αžΈβ€‹αžœαžΆβ€‹αž‘αŸ?

αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž‚αŸ„αž›αž€αžΆαžšαžŽαŸαžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž₯αž‘αžΌαžœαž“αŸαŸ‡αŸ” αž˜αžΆαž“ bot αž˜αž½αž™αž‘αŸ€αž αž›αŸ„αž€αžŸαŸ’αžšαžΈ Nancyαž‡αžΆαž˜αž½αž™αž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαž€αžΆαžšαž›αŸƒαžαž˜αŸ’αžšαžΌαžœαž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αžαžΎαžαŸ’αž„αŸƒαžŽαžΆαž˜αž½αž™αžœαžΆαž“αžΉαž„αž“αŸ… Postgres αž‘αŸ? αžαŸ’αž‰αž»αŸ†β€‹αž˜αž·αž“β€‹αžŠαžΉαž„β€‹αž‘αŸ αžœαžΆβ€‹αž˜αž·αž“β€‹αž‘αžΆαž“αŸ‹β€‹αž”αžΆαž“β€‹αž–αž·αž—αžΆαž€αŸ’αžŸαžΆβ€‹αž“αŸ…β€‹αž‘αžΎαž™β€‹αž‘αŸαŸ” αž™αžΎαž„αž“αŸ…αž†αŸ’αž„αžΆαž™αž–αžΈαž“αŸ„αŸ‡αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αžΆαž“αž’αŸ’αž“αž€αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžαŸ’αž˜αžΈαŸ” αž αžΎαž™αž–αž½αž€αž‚αŸαž”αžΆαž“αžšαž»αž‰αž™αžΎαž„αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αž˜αžΆαž“αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ” αž§αž‘αžΆαž αžšαžŽαŸαž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΎαž›αž€αžΆαžšαž›αŸƒαžαž˜αŸ’αžšαžΌαžœαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αžœαžΆαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‚αžΆαžαŸ‹αž“αžΉαž„αž˜αž·αž“αž’αŸ’αžœαžΎαž€αžΆαžšαž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž“αŸ…αž‘αžΎαž™αž‘αŸαŸ” αž“αŸ„αŸ‡β€‹αž‚αžΊβ€‹αžœαžΆβ€‹αž“αžΉαž„β€‹αž™αž€β€‹αž‘αžΎαž„β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž€αžΆαžšβ€‹αž’αž“αž»αžœαžαŸ’αž, αžŸαžαž·αž”αžŽαŸ’αžŠαŸ„αŸ‡β€‹αž’αžΆαžŸαž“αŸ’αž“β€‹αžŸαŸ‚αž›, αž›.

αž αžΎαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž›αŸƒαžαž˜αŸ’αžšαžΌαžœαž”αŸ‰αž»αžŸαŸ’αžαž·αŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαžŠαžΌαž…αž“αŸαŸ‡αž”αžΆαž“αŸ– αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“αž…αž„αŸ’αž€αŸ„αž˜αž˜αž½αž™αž–αžΆαž“αŸ‹ αž“αž·αž„αž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆ αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž–αž–αž€ αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎ bot αžšαž”αžŸαŸ‹αž™αžΎαž„ αž›αŸ„αž€αžŸαŸ’αžšαžΈ Nancy αž’αŸ’αžœαžΎαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αŸ” αž αžΎαž™ max_wal_size αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžŠαŸ„αž™αž™αŸ„αž„αž‘αŸ…αžαžΆαž˜αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‚αŸ„αž›αžŠαŸ…αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžšαž αžΌαžαž˜αž€αžŠαž›αŸ‹αž–αŸαž›αž“αŸαŸ‡ αž“αŸαŸ‡αž˜αž·αž“αž‘αžΆαž“αŸ‹αž”αžΆαž“αž”αž·αž‘αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αž“αžΌαž›αž“αŸ…αž‘αžΎαž™αž‘αŸ αž‡αžΆαž’αž€αž»αžŸαž›αŸ”

αž’αžšαž»αžŽαžŸαž½αžŸαŸ’αžαžΈ αž’αŸ’αž“αž€αž”αžΆαž“αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹αž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžšαž™αŸˆαž–αŸαž›αžœαŸ‚αž„αŸ” αž’αŸ’αž“αž€αž”αžΆαž“αž“αž·αž™αžΆαž™αžαžΆ autovacuum αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαžΆαžšαžΆαŸ†αž„αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž˜αžΆαž“αž€αžΆαžšαž›αž»αž”αŸ” αžαžΎβ€‹αžœαžΆβ€‹αž’αŸ’αžœαžΎβ€‹αž”αžΆαž”β€‹αž™αžΎαž„β€‹αž™αŸ‰αžΆαž„β€‹αžŽαžΆβ€‹αž‘αŸ€αž? αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž™αžΎαž„αž€αŸ†αž–αž»αž„αž“αž·αž™αžΆαž™αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž’αŸ†αž–αžΈαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž‘αŸ†αž αŸ†αž‘αŸ†αž“αŸαžš αž“αž·αž„αž’αžΆαž…αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžœαžΆαž”αžΆαž“αŸ” αžαžΎαž™αžΎαž„αž“αŸ…αžαŸ’αžœαŸ‡αž’αŸ’αžœαžΈαž‘αŸ€αž?

Autovacuum αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž”αž‰αŸ’αž αžΆαž’αŸ†αž”αŸ†αž•αž»αžαž“αŸ…αž‘αžΈαž“αŸαŸ‡αž‘αŸαŸ” αž αžΎαž™αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸαž™αžΌαžšαž’αžΆαž…αž…αžΆαž€αŸ‹αžŸαŸ„αžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž›αž‘αŸ’αž’αž—αžΆαž–αž“αŸαŸ‡αž‚αžΊαž˜αžΆαž“αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹αž‡αžΆαž„αŸ” αž“αžΆαž„αž’αžΆαž…αž¬αž˜αž·αž“αž‡αž½αž”αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎβ€‹αž“αžΆαž„β€‹αž”αžΆαž“β€‹αž‡αž½αž” αž“αŸ„αŸ‡β€‹αžœαžΆβ€‹αž’αžΆαž…β€‹αž’αžΆαž€αŸ’αžšαž€αŸ‹β€‹αžŽαžΆαžŸαŸ‹β€‹αŸ” αž αžΎαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„ autovacuum - αž“αŸαŸ‡αž€αŸαž‡αžΆαž”αž‰αŸ’αž αžΆαž•αž„αžŠαŸ‚αžšαŸ” αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž–αžΈαžšαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸαžœαŸ‚αž„αž“αŸ…αž€αŸ’αž“αž»αž„ OLTP: αž…αžΆαž€αŸ‹αžŸαŸ„αžš αž“αž·αž„ autovacuum αŸ” αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“αž˜αžαž·αž€αŸ‚αž›αž˜αŸ’αž’αžšαž„αŸ‹αž…αžΆαŸ†αž™αŸ‰αžΆαž„αž€αŸ’αžαŸ…αž‚αž‚αž»αž€αž›αžΎαž€αžΆαžšαž…αž˜αŸ’αž›αž„ αž“αŸ„αŸ‡αž’αŸ’αž“αž€αž“αžΉαž„αž“αŸ…αžαŸ‚αž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαŸ„αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸ…αž›αžΎαž˜αŸ αžœαžΆαž“αžΉαž„αž˜αž€αžŠαž›αŸ‹αž–αžΈαž€αžΆαžšαž…αž˜αŸ’αž›αž„αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αžœαžΆαž“αžΉαž„αž˜αž·αž“αž˜αžΆαž“αžŸαŸ„αž‘αŸαŸ” αž αžΎαž™αž“αžΉαž„αž˜αžΆαž“αž‘αžΌαžŸαŸ” αž™αžΎαž„αž€αŸ†αž–αž»αž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαŸ„αž‚αžΊαž‡αžΆαž…αŸ†αžŽαž»αž…αžŸαŸ†αžαžΆαž“αŸ‹αž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ” αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž‚αžΊαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž™αŸˆαž–αŸαž›αž™αžΌαžš αžšαž™αŸˆαž–αŸαž›αž™αžΌαžš αž“αŸ„αŸ‡αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αž‘αžΎαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαž€αŸ‹αžŸαŸ„αŸ” αž–αž½αž€αž‚αŸαž’αžΆαž…αž›αž½αž…αž’αŸ’αž“αž€αžŠαž‘αŸƒαŸ” αž αžΎαž™αžŠαžΎαž˜αžˆαžΎαž‘αž»αž€αž›αŸαž…αž‘αžΎαž„αŸ” αžαŸ’αž‰αž»αŸ†β€‹αž”αžΆαž“β€‹αž•αŸ’αžαž›αŸ‹β€‹αžαŸ†αžŽβ€‹αž‘αŸ…β€‹αž•αŸ’αž“αŸ‚αž€β€‹αžαŸ’αž›αžΈαŸ—αŸ” αž αžΎαž™αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αž€αžΆαž“αŸ‹αžαŸ‚αž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž›αžΏαž“αž‡αžΆαž„αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™ autovacuum αžŠαŸ‚αž›αž’αžΆαž…αž€αž€αž€αž»αž‰αžαŸ‚αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”

αž’αžšαž‚αž»αžŽαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸ! αž’αŸ’αž“αž€αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸ„αž™αž“αž·αž™αžΆαž™αžαžΆαž’αŸ’αž“αž€αž”αžΆαž“αžŸαžΆαž€αž›αŸ’αž”αž„αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ” αž™αžΎαž„αž”αžΆαž“αž”αž“αŸ’αžαž‚αŸ†αž“αž·αžαžšαž”αžŸαŸ‹αž™αžΎαž„αžαžΆαž™αžΎαž„αžαŸ’αžšαžΌαžœαž™αž€αž§αž”αž€αžšαžŽαŸαžŠαžΌαž…αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžαžΆαž˜αžšαž”αŸ€αž”αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ” αž§αž”αž˜αžΆαžαžΆαž™αžΎαž„αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ” αž αžΎαž™αž‚αžΆαžαŸ‹αž”αžΆαž“αž’αŸ’αžœαžΎαžαžΆαž˜αžŸαŸ†αžŽαžΎαŸ” αž αžΎαž™αž‚αžΆαžαŸ‹αž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαž˜αž·αž“αž’αžΈαž‘αŸαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž‚αžΆαžαŸ‹β€‹αž˜αž·αž“β€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αž˜αžΎαž›β€‹αž•αŸ’αž‘αžΆαž›αŸ‹β€‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž€αžΆαžšβ€‹αž•αŸ’αžŸαžΆαž™β€‹αž•αŸ’αž‘αžΆαž›αŸ‹β€‹αž§αž‘αžΆαž αžšαžŽαŸβ€‹αž™αžΎαž„β€‹αž˜αžΆαž“β€‹αž”αž“αŸ’αž‘αž»αž€ ៦០-៧០%αŸ” αž αžΎαž™αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž™αžΎαž„αž”αŸ’αžšαžΎαž€αžΆαžšαž›αŸƒαžαž˜αŸ’αžšαžΌαžœαž“αŸαŸ‡αž€αŸαžŠαŸ„αž™ αž€αŸαžœαžΆαž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αŸ’αž’αžŠαŸ‚αžšαŸ”

αž€αžΆαžšαž˜αžΆαž“αž’αŸ’αž“αž€αž‡αŸ†αž“αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜ αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αŸ’αž“αž€αž‡αŸ†αž“αžΆαž‰ DBA αžŠαŸ‚αž›αž’αžΆαž…αž‘αžŸαŸ’αžŸαž“αŸαž‘αžΆαž™αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž“αžΉαž„αž€αžΎαžαž‘αžΎαž„αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž•αŸ’αž‘αŸƒαžαžΆαž„αž€αŸ’αžšαŸ„αž™αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαž‚αžΊαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αŸ†αžšαž»αž‰αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŸαŸ’αž’αžΆαžαžšαž”αžŸαŸ‹αž™αžΎαž„ αž™αžΎαž„αžƒαžΎαž‰αžšαžΌαž”αž—αžΆαž–αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž‘αŸ†αž“αžΎαž”αž‡αžΆαž„αž“αŸαŸ‡ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αž’αŸ’αžœαžΎαžšαžΏαž„αžŠαžŠαŸ‚αž›αž“αŸαŸ‡αž˜αŸ’αžαž„αž‘αŸ€αž αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αž“αŸ’αž‘αž»αž€αžŠαŸ‚αž›αž€αŸ’αž›αŸ‚αž„αž’αŸ’αžœαžΎαž‡αžΆαž˜αž½αž™αž•αž›αž·αžαž€αž˜αŸ’αž˜αŸ” αžœαžΆαžαŸ’αžšαž‡αžΆαž€αŸ‹αžŽαžΆαžŸαŸ‹αŸ” αžšαž αžΌαžαžŠαž›αŸ‹αž–αŸαž›αž“αŸ„αŸ‡αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžαŸ‚αž’αŸ†αž‘αžΎαž„αŸ” αžœαžΆαžŠαžΌαž…αž‡αžΆαž˜αž“αž»αžŸαŸ’αžŸαž–αŸαž‰αžœαŸαž™αŸ” αž™αžΎαž„αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž˜αžΎαž›αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αž˜αžΆαž“ αž αžΎαž™αž€αŸαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžαžΎαž™αžΎαž„αž˜αžΆαž“αž’αž“αž’αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžŠαŸ‚αžšαž¬αž‘αŸαŸ” αž“αŸ„αŸ‡αž‡αžΆαžŸαŸ†αžŽαž½αžšαžŠαŸαž›αŸ’αž’αŸ”

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαžšαžΎαžŸαžŸαŸ†αžšαžΆαž˜αžšαž½αž…αž αžΎαž™ αž αžΎαž™αž™αžΎαž„αž˜αžΆαž“αž§αž‘αžΆαž αžšαžŽαŸ αž‘αž„αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž›αž»αž”

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž› autovacuum αž’αŸ’αžœαžΎαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸ…αž€αŸ’αž“αž»αž„ Postgres αŸ”

αž’αžΌαžαžΎαž‚αžΆαžαŸ‹αž’αŸ’αžœαžΎαžœαžΆαž‘αŸ?

Autovacuum αž‚αžΊαž‡αžΆαž’αŸ’αž“αž€αž”αŸ’αžšαž˜αžΌαž›αžŸαŸ†αžšαžΆαž˜αŸ”

αžŸαžΌαž˜αž’αžšαž‚αž»αžŽ!

αž’αžšαž‚αž»αžŽαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸ! αžαžΎβ€‹αž˜αžΆαž“β€‹αž‡αž˜αŸ’αžšαžΎαžŸβ€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αžšαž…αž“αžΆβ€‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™β€‹αž—αŸ’αž›αžΆαž˜αŸ—β€‹αž‡αžΆαž˜αž½αž™β€‹αž“αžΉαž„β€‹αž€αžΆαžšβ€‹αž”αŸ‚αž„αž…αŸ‚αž€β€‹αž€αŸ’αž“αž»αž„β€‹αžšαž”αŸ€αž”β€‹αžŠαŸ‚αž›β€‹αžŸαŸ†αžšαžΆαž˜β€‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹β€‹αž”αŸ’αžšαž‘αžΆαž€αŸ‹β€‹αž–αžΈβ€‹αžαž»β€‹αž˜αŸβ€‹αž–αžΈβ€‹αž€αž“αŸ’αž›αŸ‚αž„β€‹αž˜αž½αž™β€‹αž‘αŸ…β€‹αž…αŸ†αž αŸ€αž„β€‹αžŠαŸ‚αžšβ€‹αž¬β€‹αž‘αŸ?

αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹αž˜αžΆαž“αŸ”

αžαžΎβ€‹αžœαžΆβ€‹αž’αžΆαž…β€‹αž€αžΆαžšαž–αžΆαžšβ€‹αžαŸ’αž›αž½αž“β€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž‘αŸ αž”αžΎβ€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž…αžΆαž€αŸ‹αžŸαŸ„β€‹αžαž»β€‹αžŠαŸ‚αž›β€‹αž˜αž·αž“β€‹αž‚αž½αžšβ€‹αž”αŸ’αžšαžΎ?

αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹αž˜αžΆαž“αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαžŠαžΌαž…αž‡αžΆαžŸαŸ†αžŽαž½αžšαž˜αžΆαž“αŸ‹αž“αž·αž„αžŸαŸŠαž»αžαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‚αŸ’αž“αžΆαžŠαžΉαž„αžαžΆαž“αžΉαž„αž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„αž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αžαž“αŸ„αŸ‡ αž–αž·αžαžŽαžΆαžŸαŸ‹ αž™αžΎαž„αž“αžΉαž„αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž±αŸ’αž™αžαŸ’αžšαž‡αžΆαž€αŸ‹αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αž€αŸ†αž–αž»αž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αž˜αžΆαž“αž‡αž½αžšαžˆαžšαžαŸ’αž˜αžΈ αžŸαŸ†αžŽαžΎαžαŸ’αž˜αžΈαŸ” αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ - ធូ៎ αž™αžΎαž„αž…αž„αŸ‹αž›αž»αž”αžœαžΆαž…αŸαž‰αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŠαŸαž›αŸ’αž’αž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž‡αžΈαžœαž·αžαžœαžΆαž€αžΎαžαž‘αžΎαž„αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αžαŸ‚αž„αžαŸ‚αž‘αŸαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαžšαž»αž”αž˜αž€ αžœαžΆαž‡αžΆαž‚αŸ†αž“αž·αžαžŠαŸαž›αŸ’αž’αŸ” αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž€αžΆαžαŸ‹αžαŸ’αž›αžΈαŸ— αž“αŸ„αŸ‡αž αžΎαž™αž‡αžΆαžœαžΆαŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹