Hi Tom, On Wed, 2008-08-13 at 21:27 -0400, Tom Lane wrote: > "Joost Kraaijeveld" <J.Kraaijeveld@xxxxxxxxxx> writes: > > The database says that it's bool implementation is char(1), just as > > PostgreSQL does. I can copy te data OK, but I would like to change the > > actual type of the column from char(1) to bool. Is that possible without > > copying the column to a temporary column, dropping the old column and > > renaming the temporary columns to the old column? > > ALTER TABLE ... ALTER COLUMN TYPE might help you. Use the USING clause > if you need a non-default data conversion -- in this case it might look > like USING (col = '1') or some such. ALTER TABLE odbcdest ALTER COLUMN odbc_bool TYPE bool gives: ERROR: column "odbc_bool" cannot be cast to type "bool" ********** Error ********** ERROR: column "odbc_bool" cannot be cast to type "bool" SQL state: 42804 > > (This is probably not physically more efficient than making a temp > table, however.) Could you elaborate on this? I have tried something like this, but when the column in question is a column that is used in foreign keys I am forced to drop any foreign keys that point to this column. Which is quit annoying on a 200 table database with lots of foreign keys. TIA -- Groeten, Joost Kraaijeveld Askesis B.V. Molukkenstraat 14 6524NB Nijmegen tel: 024-3888063 / 06-51855277 fax: 024-3608416 web: www.askesis.nl