Re: How to convert integer to boolean in insert - Mailing list pgsql-general

From Alvaro Herrera
Subject Re: How to convert integer to boolean in insert
Date
Msg-id 20090406173912.GB4525@alvh.no-ip.org
Whole thread Raw
In response to Re: How to convert integer to boolean in insert  (Thomas Kellerer <spam_eater@gmx.net>)
Responses Re: How to convert integer to boolean in insert
List pgsql-general
Thomas Kellerer wrote:

> If that is a one-time thing, why not create the table with banned as an
> integer column and another boolean column (if your INSERTs are properly
> listing the column names), then after the import update the boolean to
> the casted integer value, drop the integer and rename the boolean?

Actually it seems it would be better to create the table with only the
integer column, and later use ALTER TABLE / TYPE to change it.
Something like

CREATE TABLE foo (banned integer);

-- run inserts

ALTER TABLE foo ALTER banned TYPE bool USING banned::bool;

That way you don't end up with half a table of dead tuples.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

pgsql-general by date:

Previous
From: Emanuel Calvo Franco
Date:
Subject: Re: [COMMITTERS]
Next
From: Alvaro Herrera
Date:
Subject: Re: copy from with trigger