Fix use-after-free in do_postgres_raise_error

The char* returned by PQresultErrorField is freed by PQclear (see http://www.postgresql.org/docs/9.3/static/libpq-exec.html), so this is a use-after-free.  This causes a segfault on OpenBSD-current as free overwrites the memory with junk, both for security reasons and to detect programming errors like this.

I didn't actually test this (just edited the file on GitHub), but hopefully it works.  If not, I'm sure you'll be able to come up with a similar fix.