Slightly more complex then you may expect because the tablespace specified by the tables tends to be oid 0
which means the default tablespace is used. However this does not mean pg_default, it means the tablespace
as defined as standard in the database definition. So we need to know what the current dbname is retrieve
it's details from the catalog and retrieve that tablespace to know what to show for an oid of 0.
HorizontalProxyModel now inherits from QIdentityProxyModel which provides a more complete base implementation (maybe to much?)
for now it seems to do what we want, forward relevant signals which the abstract base didn't.
Issues: Properties table needs formatting and shows all rows as columns instead of values of a single row.