public inbox for [email protected]  
help / color / mirror / Atom feed
From: PG Bug reporting form <[email protected]>
To: [email protected]
Cc: [email protected]
Subject: BUG #19548: Missing dependency between a graph edge and the related PK
Date: Wed, 08 Jul 2026 14:44:47 +0000
Message-ID: <[email protected]> (raw)

The following bug has been logged on the website:

Bug reference:      19548
Logged by:          Christophe Courtois
Email address:      [email protected]
PostgreSQL version: 19beta1
Operating system:   Linux Debian 13
Description:        

Hi,

A dependency between a graph and the PK of a relationship
seems to be missing.

In the following example, a PK on the edge table is compulsory,
but this PK can be cascade-dropped and the graph is unchanged.

The graph can be dropped later,
but it cannot be recreated :
ERROR:  no key specified and no suitable primary key exists for definition
of element "family"

I imagine that a pg_restore will fail too.

Tested on 19~beta2-1~20260629.2015.g9cfd19bc10a.pgdg13+1 from
apt.postgresql.org
and 20devel freshly compiled.

Full example :

-- persons
CREATE TABLE persons (
    id TEXT PRIMARY KEY,
    nom TEXT,
    sexe TEXT
);

CREATE TABLE family (
    id TEXT PRIMARY KEY,
    spouse1 TEXT  REFERENCES persons(id),
    spouse2 TEXT  REFERENCES persons(id)
);

CREATE PROPERTY GRAPH wedding
    VERTEX TABLES (
       persons  KEY (id) PROPERTIES ALL COLUMNS
    )
    EDGE TABLES (
        family
            SOURCE KEY      (spouse1) REFERENCES persons (id)
            DESTINATION KEY (spouse2) REFERENCES persons (id)
        );

-- Drop the constraint
-- CASCADE does NOT get rid if the graph

ALTER TABLE family DROP CONSTRAINT family_pkey CASCADE ;

-- The graph is still there

\dG+

-- Recreation fails

DROP PROPERTY GRAPH wedding ;

CREATE PROPERTY GRAPH wedding
    VERTEX TABLES (
       persons  KEY (id) PROPERTIES ALL COLUMNS
    )
    EDGE TABLES (
        family
            SOURCE KEY      (spouse1) REFERENCES persons (id)
            DESTINATION KEY (spouse2) REFERENCES persons (id)
        );
ERROR:  no key specified and no suitable primary key exists for definition
of element "family"
LINE 6:         family








reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: BUG #19548: Missing dependency between a graph edge and the related PK
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox