Dave is right, SQLData is not yet supported by pgjdbc.
Shen, Ning> it seems impossible to query these UDTs and use the
functions defined in the server without JDBC’s support for the UDT.
That is not quite true.
You can always send/receive arbitrary structures via setString/getString.
Our company uses that a lot with great success (modulo manual escaping
of arrays and structs).
For trivial types like "smallint + bytea" it should be rather simple.
Vladimir