PostgreSQL

From SusoSight

PostgreSQL is a pretty good open source database system. I used to use MySQL a lot, but now I've switched much of my more intense data to Postgres.

On disk size of column types

From the postgresql manual, the data types chapter [1]

Postgresql record types on disk storage size and data range
Name Storage Size Range
smallint 2 bytes -32768 to +32767
integer 4 bytes -2147483648 to +2147483647
bigint 8 bytes -9223372036854775808 to 9223372036854775807
decimal variable no limit
numeric variable no limit
real 4 bytes 6 decimal digits precision
double precision 8 bytes 15 decimal digits precision
serial 4 bytes 1 to 2147483647
bigserial 8 bytes 1 to 9223372036854775807
money 8 bytes -92233720368547758.08 to +92233720368547758.07
"char" 1 byte
name 64 bytes
bytea 1 or 4 bytes plus the actual binary string
timestamp [ ( p ) ] [ without time zone ] 8 bytes 4713 BC - 294276 AD
timestamp [ ( p ) ] with time zone 8 bytes 4713 BC - 294276 AD
date 4 bytes 4713 BC - 5874897 AD
time [ ( p ) ] [ without time zone ] 8 bytes 0:00:00 - 0:00:00
time [ ( p ) ] with time zone 12 bytes 00:00:00+1459 - 24:00:00-1459
interval [ fields ] [ ( p ) ] 12 bytes -178000000 years - 178000000 years
point 16 bytes
line 32 bytes
lseg 32 bytes
box 32 bytes
path 16+16n bytes
path 16+16n bytes
polygon 40+16n bytes
circle 24 bytes
cidr 7 or 19 bytes
inet 7 or 19 bytes
macaddr 6 bytes