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 #19444: conkey field empty for domain NOT NULL constraint in pg_constraint (18.3)
Date: Mon, 30 Mar 2026 03:10:45 +0000
Message-ID: <[email protected]> (raw)

The following bug has been logged on the website:

Bug reference:      19444
Logged by:          Xianghang Zheng
Email address:      [email protected]
PostgreSQL version: 18.3
Operating system:   Linux x86_64
Description:        

When creating a domain with a NOT NULL constraint, the conkey field in
pg_constraint remains empty. This is inconsistent with table-level NOT
NULL constraints, which correctly populate the conkey field.

Version: PostgreSQL 18.3 (x86_64)
Platform: Linux x86_64

Steps to Reproduce:
-------------------
CREATE DOMAIN my_domain AS text NOT NULL;

SELECT conname, contype, conkey, contypid::regtype
FROM pg_constraint
WHERE contypid = 'my_domain'::regtype;

Actual Result:
--------------
      conname       | contype | conkey | contypid
--------------------+---------+--------+-----------
 my_domain_not_null | n       |        | my_domain
(1 row)

Expected Result:
----------------
The conkey field should contain {1} (the first and only column of the
domain):

      conname       | contype | conkey | contypid
--------------------+---------+--------+-----------
 my_domain_not_null | n       | {1}    | my_domain

Additional Information:
-----------------------
- The NOT NULL constraint works correctly (rejects NULL values)
- The issue is only with the system catalog metadata
- This may affect tools like pg_dump, pg_upgrade, or extensions that rely
  on the conkey field for domain constraints
- Table-level NOT NULL constraints correctly populate conkey:
  
  CREATE TABLE test_table (id text NOT NULL);
  SELECT conname, contype, conkey FROM pg_constraint
  WHERE conrelid = 'test_table'::regclass;
  
  Result: test_table_id_not_null | n | {1}

Please let me know if you need any additional information or testing.








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 #19444: conkey field empty for domain NOT NULL constraint in pg_constraint (18.3)
  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