In my part of the science world, it is very common to do some postdoctoral training. I'm not going to get into whether or not doing a postdoc is a good idea, nor debate whether there are too many PhD's or anything like that. For the purposes of this post, let's assume that you have considered options and have decided that you just can't leave the academic bench yet and that you want to do a postdoc. Now what? Applying for a postdoc is not as structured as applying to graduate school. And I'm sure that the process is different for different disciplines. In my world of the "basic" biomedical research, this is basically how it goes (YMMV, etc):
1. Pick out some potential postdoc mentors.
You need to start this about 12 months before you are defending. For realz. You need to give us PI's a chance to figure out if we have the money and space to add a member to the team. If you contact me and want to start next month you might get lucky - but if you give me some notice then I may be able to juggle things and make something work. Starting early has the added bonus that you can apply for fellowships early and often! woot!
There are a million ways to find labs in which you might want to postdoc. However, IME most labs don't advertise open postdoctoral positions. It's weird. We just sit there waiting for applicants. Maybe there is a announcement on our website (which may or may not be up-to-date :-/). Maybe. So don't be discouraged if a lab you are interested in doesn't seem to be looking for any new fellows. The right fit for you is going to depend on what, exactly you want to get out of your postdoctoral training. Want to learn a new technique? Move your research into a new field or subfield? Transition to industry? Get training in outreach/journalism/policy? Make a run at a tenure-track faculty position? Whatever it is, you need to identify the PI's that you think could help you advance your career.
After you generate a list of labs that you think would be a good fit for you, it is time to start vetting. Figure out how previous postdocs in the lab have done - are they in the kinds of jobs that you would like to have? Talk to people your advisor and anyone else that you trust. Ask them about the folks on your list. Do folks working in the same sub-sub-field think particularly highly of anyone on your list? Does anyone have a reputation of being difficult to work with, or unfair? Gather all the information that you can. Then pare down the list to something manageable. You should try to settle on a final list of 3-5, at most.
2. Prepare your application.
Ok, there isn't really an application. Just a letter that you are going to send to PI's to tell them you are interested in working with them. More importantly, to convince them that THEY should be interested in having you as a postdoc. This is the key. What can you bring to the group? You don't need to go on about what you did as a grad student (that is why you are enclosing your CV!). Basically, I want to be able to quickly figure out the general area of your graduate research, including whose lab you are in, and approximately when you would want to join my lab. I also like to see some indication of WHY you picked my lab. Finally, explain to me what YOU bring to the table that should make me want to recruit you. How would you make my group better? Put your letter in front of anyone that will read it. Constructive feedback is your friend. Also, you really don't want to have a typo in your letter.
3. Update your CV.
Your curriculum vitae - you life's work. If this is a mess, I assume you are a mess. Don't be a mess. Your CV should highlight your achievements. Organize it so that you put your best foot forward. There is no standard format for a CV, so you have some flexibility here. You should lead with your name, contact info, education, and research experience. After that the order depends on what job you are applying for. If you want to work in my lab, the next thing I want to see is publications and research funding you have been awarded. I don't need to see a list of research techniques, or a list of all the computer programs you know how to use (and please, please don't tell me how you are proficient in Word. please). If you have special skills, make sure that is obvious. If you are really good with Python or R, I should know that looking at your CV. List things in reverse-chronological order so that your most recent achievements (which are probably the most relevant) are at the top of the list.
The post-doc application CV is the only time I think it is OK to include manuscripts that are "in preparation". There are some projects that work out so that all the publications happen at the end, and you might not have them out when you are applying for postdocs. That can be OK. But DON'T list anything that isn't actually in preparation. If I ask your advisor about an "in prep" manuscript and they don't know what the hell I'm talking about that is bad.
I strongly encourage everyone to always keep the CV up to date. I have a "long-form" CV in my dropbox that I update anytime anything happens. It has EVERYTHING on it. When I need to send a CV for something I simply save this under a new name and cut out the parts that I don't need. Easy peasy.
4. Contact potential postdoc advisors.
Go time! Send an email to the potential postdoc advisor that includes your letter (in the body of the email), CV (attached as a PDF), and a list of references with contact information (can be included in CV or attached as a PDF). Now you just have to wait (sorry!). If you are writing to me you will probably wait longer if there is an approaching NIH grant deadline. If you haven't heard back in 2 weeks, you should follow up with another email asking if there is any other information that they would like to see. If you still hear nothing, then move on to someone else on the list.
And just like that, you too can be a post-doc! Good luck