Understanding Postgres 19 Property Graphs
8 hours ago
- #Graph Databases
- #Property Graphs
- #Postgres
- Postgres 19 Property Graphs allow declaring existing tables as nodes and edges without moving data, with queries compiled to relational joins.
- A property graph consists of vertices and edges, defined via CREATE PROPERTY GRAPH as an overlay on foreign-key structures, queried using MATCH patterns.
- Dimension tables map to vertices, pure join tables to edges, while fact tables with multiple foreign keys often become hub vertices with separate edge tables.
- Key columns are not automatically queryable properties; they must be listed in PROPERTIES. Variable-length paths are not supported, requiring recursive CTEs for deep traversals.
- A single table can serve as both a vertex and edge simultaneously by aliasing it in VERTEX TABLES and EDGE TABLES, avoiding duplicate storage.
- Property graphs excel at fixed-shape pattern matching (e.g., finding connected entities) but lack support for variable-length paths or graph algorithms like PageRank.
- The feature integrates with Postgres' optimizer and tools (e.g., \dG for introspection), making it suitable for graph-shaped queries on existing schemas without external graph databases.