Markus Demleitner <msdemlei@ari.uni-heidelberg.de> writes:
> You see, when creating the "big", 30-tables view, I do cast all
> columns to common types in the view statement that actually make up
> the view. The original SQL fragments look like this:
> SELECT
> CAST(ssa_dstype AS text) AS dataproduct_type,
> CAST(NULL AS text) AS dataproduct_subtype,
> CAST(2 AS smallint) AS calib_level,
> ...
> and have a common source, so I'd believe by the time the things end
> up in the view, they should type-align even though their source
> tables do not.
Oh, well, that's your problem. The source tables' column types
need to match. Otherwise the UNIONs don't get flattened and you
don't get indexscans.
regards, tom lane