From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | Greg Sabino Mullane <htamfids(at)gmail(dot)com>, veem v <veema0000(at)gmail(dot)com> |
Cc: | Ron Johnson <ronljohnsonjr(at)gmail(dot)com>, "Peter J(dot) Holzer" <hjp-pgsql(at)hjp(dot)at>, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: How to do faster DML |
Date: | 2024-02-15 16:43:17 |
Message-ID: | 9da45458-e5dc-44e2-80f3-6a0462443a1c@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 2/15/24 08:16, Greg Sabino Mullane wrote:
> So as I also tested the same as you posted, there has been no change
> in "ctid" , when I altered the column data type from 'int' to
> 'bigint' in the table, so that means full table rewriting
> won't happen in such a scenario.
>
>
> No it was definitely rewritten - do not depend on the ctid to verify
> that. Take our word for it, or
> use*pg_relation_filenode('int_test');* before and after, as well as
> *pg_relation_size('int_test')*;
That is a mixed bag:
test=# select pg_relation_filenode('int_test');
pg_relation_filenode
----------------------
69999
(1 row)
test=# select pg_relation_size('int_test');
pg_relation_size
------------------
368640
(1 row)
test=# alter table int_test alter column int_fld set data type bigint;
ALTER TABLE
test=# select pg_relation_filenode('int_test');
pg_relation_filenode
----------------------
70002
(1 row)
test=# select pg_relation_size('int_test');
pg_relation_size
------------------
368640
>
> Cheers,
> Greg
>
--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Greg Sabino Mullane | 2024-02-15 17:00:58 | Re: How to do faster DML |
Previous Message | Greg Sabino Mullane | 2024-02-15 16:16:50 | Re: How to do faster DML |