1) non, tu peux également le faire quand psql est lancé, mais bon...
2) pas que je sache
3) peut-être, je n'ai pas creusé la question
4) http://www.postgresql.org/docs/cur [...] pgsql.html pour la doc officielle. C'est assez pauvre, mais postgres se base plus sur des langages externes pour les fonctions complexes que sur PL/PgSQL, du moins pour l'instant.