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 CAExHW5uBe5QhZMmY68pv8RtvZxhejqB+D6Sr6bs=v17bTtaD+w@mail.gmail.com
Whole thread
In response to [Patch] Block ALTER TABLE RENAME COLUMN when column is used by property graph  (SATYANARAYANA NARLAPURAM <satyanarlapuram@gmail.com>)
Responses Re: [Patch] Block ALTER TABLE RENAME COLUMN when column is used by property graph
List pgsql-hackers
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.

--
Best Wishes,
Ashutosh Bapat



pgsql-hackers by date:

Previous
From: Ashutosh Bapat
Date:
Subject: Re: Fix DROP PROPERTY GRAPH "unsupported object class" error
Next
From: David Geier
Date:
Subject: Re: Add pg_stat_vfdcache view for VFD cache statistics