Re: 1-byte integers - Mailing list pgsql-sql

From Greg Stark
Subject Re: 1-byte integers
Date
Msg-id 87oek3mvsa.fsf@stark.xeocode.com
Whole thread Raw
In response to 1-byte integers  (stig erikson <stigerikson_nospam_@yahoo.se>)
List pgsql-sql
stig erikson <stigerikson_nospam_@yahoo.se> writes:

> how can i specify an integer to be one byte byte or even 4 bits long?
> int1, int(1), tinyint are nowhere to be seen.
> smallest i can find is smallint that is 2 bytes.

There's a type called "char" (the double quotes are needed). It's used by
postgres system catalogues but it's available for users too. It's a little
quirky since it has operators that treat it as a 1 byte text data type and
other operators that treat it as an integer data type. But that doesn't
normally lead to any problems, just strange symptoms when your code has a bug.

Other than that there are things like bit(4) which has a cast to and from
integer. But they won't save you any storage space. If you have multiple
columns like this and want to define a new type that aggregates them all for
storage but lets you access them individually that could be useful.

-- 
greg



pgsql-sql by date:

Previous
From: "Omkar Rath"
Date:
Subject: Sequence of SQL command execution involving triggers and stored procedures.
Next
From: Tom Lane
Date:
Subject: Re: Sequence of SQL command execution involving triggers and stored procedures.