Re: Function pg_get_constraintdef - Mailing list pgsql-bugs

From Magnus Hagander
Subject Re: Function pg_get_constraintdef
Date
Msg-id CABUevEw=ohSx95+Ccdpg438w-3royWqMZxLur-PRQHnXEdHaSQ@mail.gmail.com
Whole thread Raw
In response to Function pg_get_constraintdef  (Erki Eessaar <erki.eessaar@taltech.ee>)
List pgsql-bugs
On Thu, Nov 21, 2024 at 1:01 PM Erki Eessaar <erki.eessaar@taltech.ee> wrote:
Hello

SELECT pg_get_constraintdef(c.oid)
FROM pg_catalog.pg_constraint c;

If I execute the query in two different servers with PostgreSQL 17.1 and in different databases in these servers, then I get the answer

ERROR:  invalid constraint type "n"

In case of an empty database I do not get the error. The query worked in the servers before upgrading to PostgreSQL 17.

If I execute the query in a database of a server with PostgreSQL 15, then I do not get the error. 


Looks like this is an omission in the catalog-not-null-constraints patch. It happens when you've got a domain that has a not null constraint on it. Easily reproducible with

create domain test as int  int not null;
SELECT pg_get_constraintdef(c.oid) FROM pg_catalog.pg_constraint c;
 
--

pgsql-bugs by date:

Previous
From: Erki Eessaar
Date:
Subject: Re: Function pg_get_constraintdef
Next
From:
Date:
Subject: AW: Wrong german error message encoding