pg_dump is certainly the preferred method.
I have Postgres 8.1.1 installed on a Windows machine and on a Linux machine. When I do pg_dump (from Windows) and then pg_restore from Linux, I get 52 errors, which I ignore and things seem to work fine, but I suppose something is wrong about this...
It is only the setup from the website that I have installed and not other contribs.
Best Regards, Ciprian