I've created a new shared catalog table pg_shdescription to store comments
on cluster global objects like databases, tablespaces, and roles.
It touches a lot of places, but not much in the way of big changes. The
only design decision I made was to duplicate the query and manipulation
functions rather than to try and have them handle both shared and local
comments. I believe this is simpler for the code and not an issue for
callers because they know what type of object they are dealing with. This
has resulted in a shobj_description function analagous to obj_description
and backend functions [Create/Delete]SharedComments mirroring the existing
[Create/Delete]Comments functions.
pg_shdescription.h goes into src/include/catalog/
Kris Jurka