I have got an official postdoc offer letter. The HR now is requesting my signature and then return the letter back asap. But I haven't made a final decision to sign it or not, because there may be another offer coming very soon, which seems better to me. I wonder if it is appropriate to delay the received offer a little bit. After that accept or turn it down.
Sitting on an offer (e.g. ignoring emails from HR, taking forever to answer or other delay tactics) is generally not appropriate in my opinion. I would suggest honesty and transparency.
Let your prospective postdoc advisor that you'd like a bit of time to consider your options (they will likely get the hint that you're considering other positions, no need to be too blunt). In addition, talk to your alternative option ASAP and let them know the situation. It is absolutely acceptable to tell them that you have another offer who's waiting for your reply, and you'd appreciate an answer from them soon.
Whether either party would agree really depends on them. I would be careful of losing both options: if you wait for too long then your potential host might get annoyed and just rescind the offer. They could be holding off on other good applicants thinking that you are about to sign, and you waffling might result in them going ahead with other applicants.
Your other option might not be getting back to you because they actually don't have an open position right now, or they themselves are waiting for some other applicant's final answer (if they say yes, you're out).
These are all considerations that you should weigh out for yourself, and I cannot offer any concrete advice on. Just to reiterate - lying/misrepresenting your status/using delay tactics is probably a bad idea.
I would definitely delay in this case. (If you truly might have another, better written offer soon.) HR is in the business of getting selected candidates hired. You need to look out for yourself when comparing competing offers (or about to) as your interests are not 100% aligned. There is nothing odious about this. It's a normal part of hiring and recruiting. The same applies if you are negotiating salary, after a formal offer (the only time you should negotiate or discuss salary).
The actual mechanics of how you delay (ignore the letter, say "I'm looking at it, request more time, etc.) depend on the situation. For example, did the letter have an offer time period? How long has it already been? Etc. Without knowing more, I would say ignoring an email from HR (not the principal) for a handful of days is not completely off the table as an option. But again I don't know the specifics and that is not your only option to delay.
Things are a little delicate now, but you really don't want to commit to one if about to get another, formal offer. And of course you don't want to blow what you have, now. But you will never have as much power as you do now (or shortly). With two offers in hand, you can pick the best or negotiate terms (with some power). It should be the normal objective of any job searcher to get competing offers. Employers know this and try to push after the offer or have short consideration periods. You need to to try to get that second offer though.
Reach out to the other possibility (email AND phone) and let them know you have a formal offer and need their letter ASAP. Give a hard date for how long you can delay the other offer, during discussions--if you don't know, estimate, but not more than 1 week. Of course, make it 100% clear you need a fornal offer letter with terms (salaray, etc.) of the new offer. Knowing you are in demand and will be off the market makes you look good. If they are leaning to you, it will often shift the balance AND make them hurry up their red tape and send you a letter. If they don't, then they weren't a serious possibility. (You may not have been top of their list. Or even if so, if they don't care enough to walk an offer through, then they don't love you that much.)
P.s. You don't need to share any details (place or salary) of the letter on hand with the place that you are pushing to send a letter. Probably better for you if you don't "put a price on your head" and just see what they offer. Once you have two offers, some light negotiation is normal (and informed by comparing the terms). You want to seem graceful, but at the same time, you really do want to create an auction. You won't have any power to negotiate later.
P.s.s. Read What Color is Your Parachute. You should know more about how to manage the mating dance of job searching.