Re: How to do faster DML

Adrian Klaver <adrian.klaver@aklaver.com>

From: Adrian Klaver <adrian.klaver@aklaver.com>
To: Greg Sabino Mullane <htamfids@gmail.com>
Cc: veem v <veema0000@gmail.com>, Ron Johnson <ronljohnsonjr@gmail.com>, "Peter J. Holzer" <hjp-pgsql@hjp.at>, Laurenz Albe <laurenz.albe@cybertec.at>, "pgsql-generallists.postgresql.org" <pgsql-general@lists.postgresql.org>
Date: 2024-02-15T17:10:22Z
Lists: pgsql-general
On 2/15/24 09:00, Greg Sabino Mullane wrote:
> On Thu, Feb 15, 2024 at 11:43 AM Adrian Klaver 
> <adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>> wrote:
> 
>     That is a mixed bag:
> 
> 
> Ha! Good point. Our contrived example table does suffer from that, so 
> perhaps the test should be:
> 
> create table int_test(c1 int, c2 int);

Alright now I see:

test=# create table int_test(c1 int, c2 int);
CREATE TABLE

test=# select pg_relation_filenode('int_test');
  pg_relation_filenode
----------------------
                 70021
(1 row)


test=# insert into int_test select a, a+1  from generate_series(1, 
10000, 1) as t(a);
INSERT 0 10000

test=# select pg_relation_size('int_test');
  pg_relation_size
------------------
            368640
(1 row)

test=# alter table int_test alter column c2 set data type bigint;
ALTER TABLE

test=# select pg_relation_filenode('int_test');
  pg_relation_filenode
----------------------
                 70024
(1 row)

test=# select pg_relation_size('int_test');
  pg_relation_size
------------------
            450560
(1 row)

> 
> Cheers,
> Greg
> 

-- 
Adrian Klaver
adrian.klaver@aklaver.com