Field size become unlimited in union...

From: Durumdara <durumdara(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Field size become unlimited in union...
Date: 2016-05-03 11:28:34
Message-ID: CAEcMXhnD61vMMDTd_tvj2ipNLV9C-inyRSZx_LkUeQnbZnMvrg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello!

As I experienced, PGSQL changes the result field sizes to unlimited
varchar, when I passed different field size in same column of the union.

SP.Key - varchar(100)
SP.Value - varchar(200)

Example:

select 'a', value from sp
union all
select key, value from sp

The first field is not limited to 100, it's unlimited varchar() (= Text,
Memo, CLOB).

So PG don't use the maximal field size (100).

If I did cast on the field to resize to 100, the result is limited
correctly.

select cast('a' as varchar(100)), value from sp
union all
select key, value from sp

Can I force somehow to PG use the maximal size?

Or must I know and equalize all field sizes in union?

Or must I use temporary tables and inserts to not get this problem?

Thanks

Regards
dd

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alban Hertroys 2016-05-03 11:32:32 Re: (VERY) Slow Query - PostgreSQL 9.2
Previous Message dandl 2016-05-03 11:22:45 Does the initial postgres user have a password?