On Wed, 25 Jun 2003, Anagha Joshi wrote:

>       4.      the file '2078989' corresponds to 'cdrrec' file (table)
>
> $ ls -l 2078989
> -rw-------   1 postgres postgres 2359296 Jun 24 17:18 2078989
>
> This means table 'cdrrec' takes approx. 2030.2626953125 KB i.e. approx.
> 2MB
>
> Table is like this:
>
> test=# \d cdrrec;
>                                      Table "cdrrec"
>  Column  |         Type          |                      Modifiers
> ---------+-----------------------+--------------------------------------
> ----------------
>  seqno   | integer               | not null default
> nextval('"cdrrec_seqno_seq"'::text)   //4 bytes
>  timerec | bigint                |
> //8 bytes
>  ack     | boolean               | default 'f'::bool
> //1 byte
>  pos     | boolean               | default 'f'::bool
> //1 byte
>  ipaddr  | character varying(16) |
> // 4 + 16
>  cdrs    | bit varying(524288)   |
> //64K
> Primary key: cdrrec_pkey
>
> *Sizes are as per documentation.
>
> Therefore, 1 record is of 65570 bytes i.e. 64.033203125 KB.
>
> And table contains 1000 records.
>
> But results are noway closer to '2MB".
>
> Any idea?

The two varyings won't necessarily take up the full size if the actual
data is smaller IIRC and large values of cdrs will be compressed and/or
stuck into a toast table.  You should look for the associated toast table
and factor its space in as well (I think reltoastrelid in the pg_class
row for cdrrec will give you the appropriate oid to look for).


---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to