Re: boolean over char(1)

Bruce Momjian <pgman@candle.pha.pa.us>

From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: "Thomas T. Thai" <tom@minnesota.com>, PostgreSQL General <pgsql-general@postgresql.org>
Date: 2003-01-04T00:50:33Z
Lists: pgsql-general
Also, we do support "char", which is one byte.  You need to specify the
quotes when creating the column.

---------------------------------------------------------------------------

Tom Lane wrote:
> "Thomas T. Thai" <tom@minnesota.com> writes:
> > Is there any advantages of using datatype boolean over char(1)?
> 
> boolean fits in 1 byte; char(1) requires 5 bytes (maybe more, depending
> on alignment considerations).
> 
> boolean will be considerably faster to operate on, being pass-by-value.
> 
> char(1) will happily accept values that don't correspond to booleans
> (eg, if you use 't' and 'f' to represent booleans in a char(1), what
> will you do with 'y' or 'z'?)  You could possibly fix that with a
> check constraint, but that slows things down still more.
> 
> boolean is, um, boolean: it behaves as expected in boolean expressions.
> You can't do AND, OR, NOT directly on chars.
> 
> 
> > If there isn't I think char(1) is more portable across other DBM?
> 
> The boolean datatype is standard in SQL99.
> 
> 			regards, tom lane
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073