public inbox for [email protected]
help / color / mirror / Atom feedFrom: 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