On Sun, Aug 12, 2018 at 11:06 PM, Tim Cross <theophil...@gmail.com> wrote:
> > On Mon, 13 Aug 2018 at 11:24, Adrian Klaver <adrian.kla...@aklaver.com> > wrote: > >> On 08/12/2018 05:41 PM, Samuel Williams wrote: >> > I wish the documentation would include performance details, i.e. this >> > operation is O(N) or O(1) relative to the number of rows. >> > >> > I found renaming a table was okay. >> > >> > How about renaming a column? Is it O(1) or proportional to the amount >> of >> > data? >> > >> > Is there any documentation about this? >> >> https://www.postgresql.org/docs/10/static/sql-altertable.html >> >> "RENAME >> >> The RENAME forms change the name of a table (or an index, sequence, >> view, materialized view, or foreign table), the name of an individual >> column in a table, or the name of a constraint of the table. There is no >> effect on the stored data. >> " >> >> Just wondering - what about the case when the column being renamed is >> also referenced in an index or check constraint? (I would guess you cannot >> rename a column used in a check constraint without first removing it, but >> for an index, would this result in the index being rebuilt (or do you have >> to take care of that manually or are such references abstracted such that >> the column name "text" is irrelevant tot he actual structure of the >> index?). > > Tim, as far as I know, names are only an attribute tagged to an OID. Internal relations are though these OIDs, not names, so renaming a column is really one-shot. Names are mainly a more convenient way of referring to objects. Olivier