As far as I know, when a index page is full, if you insert a new tuple here, you will split it into two pages.
But pg won't delete the half tuples in the old page in real. So if there is another tuple inserted into this old
page, will pg split it again? I think that's not true, so how it solve this one? please give me a code example,thanks
This is not how the hackers list works; you need to do your own research. The Postgres code is pretty straightforward and giving you examples in isolation makes no sense. If you want to understand how things actually work, you need to read the code in context and understand how the system works, minimally, at a component level.