The data format change suggested by someone else may be worth trying as well. In addition to their suggestions, you might experiment with keeping the hash in either 4 ints or 2 bigints. If you use bigints, you could probably just use an index on one of the bigints and have only a small chance of finding more than one row that matches.
This is an interesting idea. Alternatively just use bytea and store the 16 bytes directly (i.e. no hex or base64 encoding). There is b-tree index support for bytea.
Joe
---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives?
http://archives.postgresql.org