Re: [Patch] Block ALTER TABLE RENAME COLUMN when column is used by property graph - Mailing list pgsql-hackers

From Ashutosh Bapat
Subject Re: [Patch] Block ALTER TABLE RENAME COLUMN when column is used by property graph
Date
Msg-id CAExHW5tz11k1REwVB2HP04bUPbS22JL0LSjUQWEs56J66AHVsQ@mail.gmail.com
Whole thread
In response to Re: [Patch] Block ALTER TABLE RENAME COLUMN when column is used by property graph  (SATYANARAYANA NARLAPURAM <satyanarlapuram@gmail.com>)
List pgsql-hackers
On Thu, Apr 23, 2026 at 1:09 PM SATYANARAYANA NARLAPURAM
<satyanarlapuram@gmail.com> wrote:
>
> Hi
>
> On Thu, Apr 23, 2026 at 12:33 AM Ashutosh Bapat <ashutosh.bapat.oss@gmail.com> wrote:
>>
>> On Thu, Apr 23, 2026 at 12:23 PM SATYANARAYANA NARLAPURAM
>> <satyanarlapuram@gmail.com> wrote:
>> >
>> > Hi hackers,
>> >
>> > When a table column is referenced by a property graph, the property
>> > name stored in pg_propgraph_property.pgpname would become stale after
>> > a column rename.  This caused GRAPH_TABLE queries to fail with the new
>> > column name ("property does not exist") while the old (dead) name
>> > continued to work.  pg_get_propgraphdef() would also emit confusing
>> > output like "new_col AS old_col".
>>
>> This behaviour is inline with the behaviour of view.
>>
>> #create view vt as select a from t1;
>> CREATE VIEW
>> #\d+ vt
>>                              View "public.vt"
>>  Column |  Type   | Collation | Nullable | Default | Storage | Description
>> --------+---------+-----------+----------+---------+---------+-------------
>>  a      | integer |           |          |         | plain   |
>> View definition:
>>  SELECT a
>>    FROM t1;
>>
>> #alter table t1 rename column a TO aa;
>> ALTER TABLE
>> #\d+ vt
>>                              View "public.vt"
>>  Column |  Type   | Collation | Nullable | Default | Storage | Description
>> --------+---------+-----------+----------+---------+---------+-------------
>>  a      | integer |           |          |         | plain   |
>> View definition:
>>  SELECT aa AS a
>>    FROM t1;
>>
>> Name of the property is derived from the name of the column it
>> references if the property name is not specified at the time of
>> creating the property. But these two are different. Changing column
>> name can not be expected to change the property name automatically. If
>> two elements have the same label, the set of property names associated
>> with that label is expected to be the same for those two elements as
>> well.
>
>
> Ashutosh, should we document this or it is a well known fact and not needed? Asking in the context of Graphs, not
views.

I don't think we need to document it.

--
Best Wishes,
Ashutosh Bapat



pgsql-hackers by date:

Previous
From: Chao Li
Date:
Subject: Re: Add errdetail() with PID and UID about source of termination signal
Next
From: Álvaro Herrera
Date:
Subject: Re: Get rid of translation strings that only contain punctuation