I've created a table like this :
CREATE TABLE tmp_A (
c "char",
i int4
);
And another one
CREATE TABLE tmp_B (
i int4,
ii int4
);
I then inserted a bit more than 19 million rows in each table (exactly the same number of rows in each).
The end result is that the physical size on disk used by table tmp_A is exactly the same as table tmp_B (as revealed by the pg_relation_size function) ! Given that a "char" field is supposed to be 1 byte in size and a int4 4 bytes, shouldn't the tmp_A use a smaller disk space ? Or is it that any value, whatever the type, requires at least 4 bytes to be stored ?
Thanks,
Paul