From 63c3bbb39f9cb2d2bd830c8e286e03356e6e44a7 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 4 Aug 2026 10:31:55 +0200 Subject: [PATCH] doc: Add PROPERTY GRAPH to the access privilege tables The SELECT privilege can be granted on a property graph, and its privileges can be examined with psql's \dp command, but property graphs were missing from both summary tables in the "Privileges" section: the applicable object types for SELECT in the privilege abbreviations table, and the per-object-type row in the summary of access privileges table. Add the missing entries so the tables match the actual behavior described for the SELECT privilege and in GRANT. While at it, also add a test for \dp on a property graph. Author: Shinya Kato Reviewed-by: Ashutosh Bapat Discussion: https://www.postgresql.org/message-id/flat/CAOzEurScgwLDXQmNFnDZANGAMMiva9GnLH_kO8qGtGVHUvVk2A%40mail.gmail.com --- doc/src/sgml/ddl.sgml | 7 +++++++ src/test/regress/expected/privileges.out | 8 ++++++++ src/test/regress/sql/privileges.sql | 1 + 3 files changed, 16 insertions(+) diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml index 5e8c270ab3a..9006b947e74 100644 --- a/doc/src/sgml/ddl.sgml +++ b/doc/src/sgml/ddl.sgml @@ -2615,6 +2615,7 @@ REVOKE ALL ON accounts FROM PUBLIC; r (read) LARGE OBJECT, + PROPERTY GRAPH, SEQUENCE, TABLE (and table-like objects), table column @@ -2783,6 +2784,12 @@ REVOKE ALL ON accounts FROM PUBLIC; none \dconfig+ + + PROPERTY GRAPH + r + none + \dp + SCHEMA UC diff --git a/src/test/regress/expected/privileges.out b/src/test/regress/expected/privileges.out index fd18549e84e..5e3c9510490 100644 --- a/src/test/regress/expected/privileges.out +++ b/src/test/regress/expected/privileges.out @@ -3208,6 +3208,14 @@ select * from graph_table (ptg1 match (is atest5) COLUMNS (1 as value)) limit 0; grant select on property graph ptg1 to regress_priv_user2; set session role regress_priv_user2; +\dp ptg1 + Access privileges + Schema | Name | Type | Access privileges | Column privileges | Policies +--------+------+----------------+-----------------------------------------+-------------------+---------- + public | ptg1 | property graph | regress_priv_user1=r/regress_priv_user1+| | + | | | regress_priv_user2=r/regress_priv_user1 | | +(1 row) + select * from graph_table (ptg1 match (is atest1) COLUMNS (1 as value)) limit 0; -- ok value ------- diff --git a/src/test/regress/sql/privileges.sql b/src/test/regress/sql/privileges.sql index 6e0686da131..d3e87fa617f 100644 --- a/src/test/regress/sql/privileges.sql +++ b/src/test/regress/sql/privileges.sql @@ -1892,6 +1892,7 @@ create property graph ptg1 select * from graph_table (ptg1 match (is atest5) COLUMNS (1 as value)) limit 0; -- ok grant select on property graph ptg1 to regress_priv_user2; set session role regress_priv_user2; +\dp ptg1 select * from graph_table (ptg1 match (is atest1) COLUMNS (1 as value)) limit 0; -- ok -- select privileges on property graph but not table select * from graph_table (ptg1 match (is atest5) COLUMNS (1 as value)) limit 0; -- fails -- 2.47.3