Technically speaking, Thrift is "language-independent" serialization-deserialization format with clean approach to backward compatibility.
I think Thrift (or something like that) can be useful, as it can generate serializers/deserializers for lots of languages. PostgreSQL's "binary" format is tied to the PostgreSQL and it has to be reimplemented for each and every client language. "text" format is non-trivial as well (e.g. it is hard to get quoting right for structs, and text is server-locale-dependent) Vladimir