postgresql/src/include/utils
Peter Eisentraut 2f094e7ac6 SQL Property Graph Queries (SQL/PGQ)
Implementation of SQL property graph queries, according to SQL/PGQ
standard (ISO/IEC 9075-16:2023).

This adds:

- GRAPH_TABLE table function for graph pattern matching
- DDL commands CREATE/ALTER/DROP PROPERTY GRAPH
- several new system catalogs and information schema views
- psql \dG command
- pg_get_propgraphdef() function for pg_dump and psql

A property graph is a relation with a new relkind RELKIND_PROPGRAPH.
It acts like a view in many ways.  It is rewritten to a standard
relational query in the rewriter.  Access privileges act similar to a
security invoker view.  (The security definer variant is not currently
implemented.)

Starting documentation can be found in doc/src/sgml/ddl.sgml and
doc/src/sgml/queries.sgml.

Author: Peter Eisentraut <peter@eisentraut.org>
Author: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Reviewed-by: Junwang Zhao <zhjwpku@gmail.com>
Reviewed-by: Ajay Pal <ajay.pal.k@gmail.com>
Reviewed-by: Henson Choi <assam258@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/a855795d-e697-4fa5-8698-d20122126567@eisentraut.org
2026-03-16 10:14:18 +01:00
..
.gitignore Fix build inconsistency due to the generation of wait-event code 2026-02-02 08:02:39 +09:00
acl.h SQL Property Graph Queries (SQL/PGQ) 2026-03-16 10:14:18 +01:00
aclchk_internal.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
array.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
arrayaccess.h Refactor att_align_nominal() to improve performance. 2026-02-02 14:39:50 -05:00
ascii.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
attoptcache.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
backend_progress.h Introduce the REPACK command 2026-03-10 19:56:39 +01:00
backend_status.h Add backendType to PGPROC, replacing isRegularBackend 2026-02-04 13:06:04 +02:00
builtins.h Guard against unexpected dimensions of oidvector/int2vector. 2026-02-09 09:57:43 -05:00
bytea.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
cash.h Convert *GetDatum() and DatumGet*() macros to inline functions 2022-09-27 20:50:21 +02:00
catcache.h Clarify where various catcache.h dlist_nodes are used 2026-01-06 14:39:36 +13:00
combocid.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
conffiles.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
date.h Remove #include <math.h> where not needed 2026-01-15 19:09:47 +01:00
datetime.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
datum.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
dsa.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
elog.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
evtcache.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
expandeddatum.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
expandedrecord.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
float.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
fmgrtab.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
formatting.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
freepage.h Rename AssertVariableIsOfType to StaticAssertVariableIsOfType 2026-02-03 08:45:24 +01:00
funccache.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
geo_decls.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
guc.h Cleanup for log_min_messages changes in 38e0190ced 2026-02-11 16:38:18 +01:00
guc_hooks.h Allow log_min_messages to be set per process type 2026-02-09 13:23:10 +01:00
guc_tables.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
help_config.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
hsearch.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
index_selfuncs.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
inet.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
injection_point.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
inval.h Switch SysCacheIdentifier to a typedef enum 2026-02-18 09:58:38 +09:00
json.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
jsonb.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
jsonfuncs.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
jsonpath.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
logtape.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
lsyscache.h SQL Property Graph Queries (SQL/PGQ) 2026-03-16 10:14:18 +01:00
memdebug.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
memutils.h Fix accidentally cast away qualifiers 2026-01-26 16:02:31 +01:00
memutils_internal.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
memutils_memorychunk.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
meson.build Fix build inconsistency due to the generation of wait-event code 2026-02-02 08:02:39 +09:00
multirangetypes.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
numeric.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
palloc.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
partcache.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_crc.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_locale.h Clean up ICU includes. 2026-01-06 17:19:51 -08:00
pg_locale_c.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_lsn.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_rusage.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pgstat_internal.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pgstat_kind.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
pidfile.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
plancache.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
portal.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
ps_status.h Speedup and increase usability of set proc title functions 2023-02-20 16:18:27 +13:00
queryenvironment.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
rangetypes.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
regproc.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
rel.h Allow Boolean reloptions to have ternary values 2026-01-21 20:06:01 +01:00
relcache.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
relfilenumbermap.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
relmapper.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
relptr.h Rename AssertVariableIsOfType to StaticAssertVariableIsOfType 2026-02-03 08:45:24 +01:00
reltrigger.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
resowner.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
rls.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
ruleutils.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
sampling.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
selfuncs.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
sharedtuplestore.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
skipsupport.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
snapmgr.h Fix bug due to confusion about what IsMVCCSnapshot means 2026-03-13 13:53:19 -04:00
snapshot.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
sortsupport.h Perform radix sort on SortTuples with pass-by-value Datums 2026-02-14 13:50:06 +07:00
spccache.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
syscache.h Switch SysCacheIdentifier to a typedef enum 2026-02-18 09:58:38 +09:00
timeout.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
timestamp.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
tuplesort.h Perform radix sort on SortTuples with pass-by-value Datums 2026-02-14 13:50:06 +07:00
tuplestore.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
typcache.h Extend DomainHasConstraints() to optionally check constraint volatility 2026-03-12 18:04:16 -04:00
tzparser.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
usercontext.h Perform logical replication actions as the table owner. 2023-04-04 11:25:23 -04:00
uuid.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
varbit.h Improve type handling of varlena structures 2026-02-11 07:33:24 +09:00
varlena.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
wait_classes.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
wait_event.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
xid8.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
xml.h Improve type handling of varlena structures 2026-02-11 07:33:24 +09:00