This is a list of bugs and (hopefully) work arounds for version 4 bug: retrieve (pg_proc.all) doesn't retrieve all 16 attributes. workaround: run the query: replace pg_class (relnatts = 16) where pg_class.relname = "pg_proc" in the template1 database. bug: joins on char16 and text attributes are broken workaround: Change the postmaster to exec postgres with an additional option that turns off expensive function optimization. You have to do it on two lines. Here is the diff: 816c816 < execl(execFile, execFile, "-p", debugBuf, portBuf, database, NULL); --- > execl(execFile, execFile, "-p", "-xoff", debugBuf, portBuf, database, NUL L); 820c820 < execl(execFile, execFile, "-p", debugBuf, portBuf, args, database, NULL ); --- > execl(execFile, execFile, "-p", "-xoff", debugBuf, portBuf, args, datab ase, NULL); The postmaster can be found in src/support/postmaster.c