Re: List of "binary-compatible" data types - Mailing list pgsql-hackers

From Thom Brown
Subject Re: List of "binary-compatible" data types
Date
Msg-id CAA-aLv4Sqh9hdP=4=wrGHpUaZhGiQ-r0JjHxuoMvJYuwEZ8FNQ@mail.gmail.com
Whole thread Raw
In response to List of "binary-compatible" data types  (Josh Berkus <josh@agliodbs.com>)
List pgsql-hackers
On 4 November 2013 21:58, Josh Berkus <josh@agliodbs.com> wrote:
> Folks,
>
> From our docs:
>
> "Adding a column with a non-null default or changing the type of an
> existing column will require the entire table and indexes to be
> rewritten. As an exception, if the USING clause does not change the
> column contents and the old type is either binary coercible to the new
> type or an unconstrained domain over the new type, a table rewrite is
> not needed ..."
>
> Which is nice, but nowhere do we present users with a set of
> binary-compatible data types, even among the built-in types.  I'd
> happily write this up, if I knew what the binary-compatible data types
> *were*.

You could try this:

SELECT castsource::regtype::text, array_agg(casttarget::regtype order by casttarget::regtype::text) casttargets
FROM pg_cast
WHERE castmethod = 'b'
GROUP BY 1
ORDER BY 1;

-- 
Thom



pgsql-hackers by date:

Previous
From: Claudio Freire
Date:
Subject: Re: Fast insertion indexes: why no developments
Next
From: Craig Ringer
Date:
Subject: Re: Row-security writer-side checks proposal