Thread: change attnum in pg_catalog.pg_attribute

change attnum in pg_catalog.pg_attribute

From
somee
Date:
Welcome

I want to change column order in select * from table instruction;
I can do that changing attnum but I don't know it is safely or not for
system.

Question is can do that or not.
Thanks for help

Best Regards





Re: change attnum in pg_catalog.pg_attribute

From
Tom Lane
Date:
somee <grzegorz.przezdziecki@polskiesklepy.pl> writes:
> I want to change column order in select * from table instruction;
> I can do that changing attnum but I don't know it is safely or not for
> system.

It won't work and will likely crash the backend.

            regards, tom lane

Re: change attnum in pg_catalog.pg_attribute

From
Grzegorz Przeździecki
Date:
Dnia wtorek, 5 kwietnia 2005 20:13, Tom Lane napisał:
> somee <grzegorz.przezdziecki@polskiesklepy.pl> writes:
> > I want to change column order in select * from table instruction;
> > I can do that changing attnum but I don't know it is safely or not for
> > system.
>
> It won't work and will likely crash the backend.
>




Even if I will do like this  and for ever??

1. attnum will be unique and greater than 0
2. no holes in attnum numeric
3. Make change
4. restart postgresql




>             regards, tom lane

Best Regards

--
Grzegorz Przeździecki
www.PolskieSklepy.pl
kom. +48.606.822.506
gg:3701851 skype: grzegorz.przezdziecki

Re: change attnum in pg_catalog.pg_attribute

From
Tom Lane
Date:
Grzegorz =?iso-8859-2?q?Prze=BCdziecki?= <Grzegorz.Przezdziecki@PolskieSklepy.pl> writes:
>> It won't work and will likely crash the backend.

> Even if I will do like this  and for ever??

> 1. attnum will be unique and greater than 0
> 2. no holes in attnum numeric
> 3. Make change
> 4. restart postgresql

Yes, unless you also TRUNCATE the table, because attnum ordering tells
about the physical data layout within the table rows.  Furthermore,
altering only pg_attribute is unlikely to represent a complete update
of the catalogs --- attnums also show up in pg_index, pg_attrdef,
pg_depend, pg_rewrite if there are any rules or views mentioning the
columns, and probably some other places I forgot.

            regards, tom lane

Re: change attnum in pg_catalog.pg_attribute

From
Grzegorz Przeździecki
Date:
Welcome
>
> Yes, unless you also TRUNCATE the table, because attnum ordering tells
> about the physical data layout within the table rows.  Furthermore,
> altering only pg_attribute is unlikely to represent a complete update
> of the catalogs --- attnums also show up in pg_index, pg_attrdef,
> pg_depend, pg_rewrite if there are any rules or views mentioning the
> columns, and probably some other places I forgot.
>

Now  understand
Thanks a lot


>             regards, tom lane

Best Regards

--
Grzegorz Przeździecki
www.PolskieSklepy.pl
kom. +48.606.822.506
gg:3701851 skype: grzegorz.przezdziecki

Re: change attnum in pg_catalog.pg_attribute

From
Greg Stark
Date:
Tom Lane <tgl@sss.pgh.pa.us> writes:

> somee <grzegorz.przezdziecki@polskiesklepy.pl> writes:
> > I want to change column order in select * from table instruction;
> > I can do that changing attnum but I don't know it is safely or not for
> > system.
>
> It won't work and will likely crash the backend.

Out of curiosity, would it work if the table were completely empty at the
time?

--
greg