diskspace - Mailing list pgsql-admin

From Geoff Winkless
Subject diskspace
Date
Msg-id CAEzk6fe_gBv_5r_c_Syi9r7K1hD_icrHMqBad_nfTO_dZ1gUsA@mail.gmail.com
Whole thread Raw
Responses Re: diskspace  (Albe Laurenz <laurenz.albe@wien.gv.at>)
List pgsql-admin
Hi

I'm trying to migrate a database from MySQL to postgres and I'm struggling with the amount of diskspace the resulting db takes.

I may be missing a setting somewhere but I can't see one anywhere obvious (apologies if I'm being stupid...)

Even postgres' idea of the size of the columns don't match up to its own reported size of the data.

eg I have a table "result":

CREATE TABLE result (
    st_id integer NOT NULL,
    log smallint NOT NULL,
    "time" integer NOT NULL,
    token character(4) NOT NULL,
    data character varying(500) DEFAULT NULL::character varying
);

# SELECT pg_size_pretty(sum(pg_column_size(data) + pg_column_size(st_id) + pg_column_size(log) + pg_column_size(token) + pg_column_size(time))) FROM result;
 pg_size_pretty
----------------
 178 MB
(1 row)

# SELECT pg_size_pretty(pg_relation_size('result'));
 pg_size_pretty
----------------
 613 MB
(1 row)

I'd naively expected these two figures to be similar.

I've run vacuum analyze and it made no difference (not a major surprise because all I've done so far is create the database and sequentially insert the data into the tables).

I expected a little overhead from what I'd read before the migration but that's a fairly huge difference.

As I said, sorry if I've missed the obvious "use loads of extra space" setting but I'd appreciate any suggestion as to what that setting might be called :)

Cheers

Geoff

pgsql-admin by date:

Previous
From: Albe Laurenz
Date:
Subject: Re: SSL question
Next
From: Albe Laurenz
Date:
Subject: Re: diskspace