Few minor things...
1. DROP OWNED BY does not drop databases owned by the role. Should it? I
would say not. This causes this strangeness
postgres=# drop owned by fred;
DROP OWNED
postgres=# drop user fred;
ERROR: role "fred" cannot be dropped because some objects depend on it
DETAIL: access to database fred
Now I can see the detail "access to database fred" but its not
completely clear that this means "fred still owns database fred".
2. REASSIGN OWNED BY cannot be executed by the role that is being
reassigned. It throws
ERROR: permission denied to reassign objects
It seems strange that you can GRANT a priv to another user, yet you
cannot REASSIGN ownership.
3. CREATE DATABASE syntax is OWNER = x. We might wish to deprecate that
(but not remove it) and add OWNED BY x to make the "OWNED BY" phrase
work in all places that need owners.
-- Simon Riggs www.2ndQuadrant.com