diff --git a/src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java b/src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java
index 84efeb09a06e0dd1c153e2d651a904e6b2cb3b51..e4c50f13af9164bf9e7839accd351b36d53c270d 100644
--- a/src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java
+++ b/src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java
@@ -489,6 +489,17 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta
 			case Types.TIMESTAMP:
 				setTimestamp(parameterIndex, (Timestamp)x);
 				break;
+			case Types.BIT:
+				if (x instanceof Boolean) {
+					set(parameterIndex, ((Boolean)x).booleanValue() ? "TRUE" : "FALSE");
+				} else {
+					throw new PSQLException("postgresql.prep.type");
+				}
+				break;
+			case Types.BINARY:
+			case Types.VARBINARY:
+				setObject(parameterIndex,x);
+				break;
 			case Types.OTHER:
 				setString(parameterIndex, ((PGobject)x).getValue());
 				break;
diff --git a/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java b/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java
index 98af07b0b63bd001e0e1c3f5fd5ddd0d8ca007eb..bfbded0f01c99c82bcda1af500d163f6006e93b1 100644
--- a/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java
+++ b/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java
@@ -806,6 +806,9 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu
 	return getTime(columnIndex);
       case Types.TIMESTAMP:
 	return getTimestamp(columnIndex);
+      case Types.BINARY:
+      case Types.VARBINARY:
+	return getBytes(columnIndex);   
       default:
 	return connection.getObject(field.getTypeName(), getString(columnIndex));
       }
diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java b/src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java
index f204490533cc240e3fddc3fb86631a2d73b97adb..af73fee3626d0cd7dcc91538a04950fe1b2217de 100644
--- a/src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java
+++ b/src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java
@@ -549,6 +549,17 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta
 			case Types.TIMESTAMP:
 				setTimestamp(parameterIndex, (Timestamp)x);
 				break;
+			case Types.BIT:
+				if (x instanceof Boolean) {
+					set(parameterIndex, ((Boolean)x).booleanValue() ? "TRUE" : "FALSE");
+				} else {
+					throw new PSQLException("postgresql.prep.type");
+				}
+				break;
+			case Types.BINARY:
+			case Types.VARBINARY:
+				setObject(parameterIndex,x);
+				break;
 			case Types.OTHER:
 				setString(parameterIndex, ((PGobject)x).getValue());
 				break;
diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java b/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java
index 81605deec8eeaa384ee4e4b1e69b1d62a59a7372..5bf11e3c3eba94dedcd97f1c127a2d3adf7dabce 100644
--- a/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java
+++ b/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java
@@ -855,6 +855,9 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu
 	return getTime(columnIndex);
       case Types.TIMESTAMP:
 	return getTimestamp(columnIndex);
+      case Types.BINARY:
+      case Types.VARBINARY:
+	return getBytes(columnIndex);   
       default:
 	return connection.getObject(field.getTypeName(), getString(columnIndex));
       }