Peter Eisentraut wrote:
> Is there a reason why pgAdmin uses internal type names like int2 everywhere,
> whereas the supposedly user-friendly approach would be that external names
> like smallint should be used. (Compare to the output of psql and pg_dump.)
> You can obtain the friendly name using the backend function format_type,
> which has been available at least since 7.3. This would also avoid the need
> for manual concatenating with "[]" for array types.
I wasn't aware of that function back those days...
> Also, the lists of data types you get when creating a table are not sorted
> very well. The beginning seems to be alphabetical, but the geometry types
> are at the end.
>
> Perhaps, as an interface improvement, remove all the array types from the list
> but instead make a separate checkbox "Array" instead.
pgAdmin uses the following query when retrieving valid types:
SELECT
typname, t.oid, CASE WHEN typelem > 0 THEN typelem ELSE t.oid END as
elemoid, typlen, typtype, nspname,
FROM pg_type t
JOIN pg_namespace nsp ON typnamespace=nsp.oid
WHERE typisdefined
AND typtype IN ('b', 'd')
ORDER BY CASE WHEN typtype='d' THEN 0 ELSE 1 END,
(t.typelem>0)::bool,
t.typname
serial and bigserial are added 'manually' if appropriate.
The goal was to have the types grouped: domain first, standard types
next, then array types.
I'm not too happy about the combobox at all, it's much too big. I'd
really like some hierarchical selection method, maybe a combobox with a
dropdown tree instead of a list. Wanted to implement this for ages now...
Regards,
Andreas