For PostgreSQL 8.3 and later, what are the processes that make up the server and that respond to a query?
What signals do the various processes respond to and what effect do the signals have?
What are the guidelines for which signals should or shouldn't be sent and when they should or shouldn't be used?
Older versions of Postgres used signals for more things. I'm writing about the newly-released 8.4 here, and it also applies to 8.3. If you're looking for info on an older version, update your question accordingly.
Postgres 8.3's "postmaster" will terminate when receiving signals SIGTERM, SIGINT, and SIGQUIT. Like any process, you can kill it with SIGKILL, but that causes an unclean shutdown and can damage the database so it should be avoided. You shouldn't go shooting SIGQUITs at postmaster processes, either, because that can be interpreted as a crash by child postmaster processes. You really should be using pg_ctl to start / stop postmaster, though.
SIGHUP causes postmaster to re-read its configuration files (as is typical with a lot of Unix-style apps). You'd have to SIGHUP every running postmaster process if you want them all to re-read their configuraiton files.
See http://www.postgresql.org/docs/8.4/static/app-postgres.html for more details.
Check the "Notes" section in any version of the manual in the chapter for the postgres server application. Here's the link for 8.3.x: http://www.postgresql.org/docs/8.3/interactive/app-postgres.html