Ok, here's the JDBC patch. The jdbc6.3.tar.gz file that I've uploaded ftp.postgresql.org contains the following files: README_6.3 This message blob.patch The patch to src/backend/tcop/fastpath.c fixing large objects jdbc.tar The entire jdbc driver I've put the entire driver here, rather than a patch, because its become too complicated to do one this time. Files have been moved, two files removed because they were obsolete, and there are a lot of new files. Heres what the patch does: * Memory overflow problem in the backend causing large objects to fail in both libpq & jdbc (causing the backend to crash with a Segmentation Violation) * Problem with equals() method on the geometric support classes if the class being checked wasn't the same class * Fixed output of PGpath and PGpolygon support classes (missing , separator) * Optimised the geometric support classes * HTMLised the inline documentation, so the output of javadoc is easier to read (mainly paragraphs) * Removed obsolete class PGlobj (it never worked, and has been replaced to read (mainly paragraphs) * Removed obsolete class PGlobj (it never worked, and has been replaced by the postgresql.largeobject package) * Removed obsolete example JDBC_Test.java (replaced by new examples) * Added < and > to nesting in PGtokenizer. * Added fastpath support as a new package * Added large object support as a new package * Added ability of user code to handle custom storage types. * Added new example testing the importing and exporting of a large object * Added example application showing how to store and display images stored as large objects * Added example implementing part of psql client. This shows how to find out what tables/columns are in a database (not yet complete) * ResultSet.getBytes() now returns large object if field is an oid * ResultSet.getString() now doesn't call getBytes() as this now would cause an infinite loop because of large object support in getBytes() * PreparedStatement.setBytes() now create a large object, and store its oid into the column * Reworked date style handling to make it easier to support new styles * Added german and ISO styles, now all styles supported by postgresql are now supported by the driver * Fixed DatabaseMetaData.getTables() * DatabaseMetaData.getTableTypes() returns our supported types. * Fixed DatabaseMetaData.getColumns() These three are required for Borland's JBuilder to work. For now they return an empty result, as I'm not sure yet on how to get the required results. * DatabaseMetaData.getBestRowIdentifier() * DatabaseMetaData.getProcedureColumns() * DatabaseMetaData.getIndexInfo() Finally, one change that is incompatible with earlier versions of the driver. This change only affects any client code that uses the geometric classes (eg: PGpoint) or the getObject()/setObject() methods. Because of a problem with javac, if user code includes the line: import postgresql.*; then javac will fail, saying that interfaces cannot be instanciated. To fix this, I've moved these classes into a new sub package, postgresql.geometric and the PG_Object (renamed PGobject), and PGtokenizer to postgresql.util.So the above line would become: import postgresql.geometric.*; Anyhow, I'm going to start writing some proper documentation for the driver. For now, there is some available temporarily at: http://www.demon.co.uk/finder/postgres/jdbc/packages.html