greg <gregory.jevardat@xxxxxxxx> writes: > I cannot find any documentation on the space taken by a double precision > array. And the few tests I did surprise me. > Here are a few tries I did to understand > select pg_column_size(1.1::double precision) return 8 --- as > expected > select pg_column_size('{}'::double precision[]) return 16 --- ok > maybe an array header > select pg_column_size('{1.111}'::double precision[]) return 32 --- I > expected 16+ sizeof(double) = 24 '{}' is a zero-dimensional array so it doesn't have the same dimensionality information that your third case does. See the comments at the head of http://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/include/utils/array.h;hb=HEAD > The whole point is that in the application I work on, we store double arrays > as bytea (using some serialization before storing the data). TBH, that seems like a pretty silly decision. It guarantees that you cannot do any useful manipulations of the array on the database side. regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general