> Therefore, I propose defining new data types like "CRC32", "CRC64",
> "RIPEMD", whatever (rather than pluggable arbitrary CRCs).
I suspect that you are really looking at the problem from the wrong end.
CRC checking should not need to be done by the database user, with a fancy
type. The postgres server itself should guarantee data integrity - you
shouldn't have to worry about it in userland.
This is, in fact, what the recent discussion on this list has been
proposing...
Chris