Re: cataloguing NOT NULL constraints - Mailing list pgsql-hackers

From Robert Haas
Subject Re: cataloguing NOT NULL constraints
Date
Msg-id CA+TgmobQSR7QHfvH8fQ7dvUabQMBdFc1=Ef7ceJL9qeOm8Y1iw@mail.gmail.com
Whole thread Raw
In response to Re: cataloguing NOT NULL constraints  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: cataloguing NOT NULL constraints
List pgsql-hackers
On Fri, Jul 22, 2011 at 4:39 PM, Alvaro Herrera
<alvherre@commandprompt.com> wrote:
> Excerpts from Robert Haas's message of vie jul 22 12:14:30 -0400 2011:
>> On Thu, Jul 21, 2011 at 7:51 PM, Alvaro Herrera
>> <alvherre@commandprompt.com> wrote:
>> >> I think that there probably ought to be a way to display the NOT NULL
>> >> constraint names (perhaps through \d+). For example, if you're
>> >> planning to support NOT VALID on top of this in the future, then there
>> >> needs to be a way to get the constraint's name to validate it.
>> >
>> > Absolutely true.  Another thing that needs to be done here is to let the
>> > ALTER TABLE and ALTER DOMAIN commands use the constraint names; right
>> > now, they simply let you add the constraint but not specify the name.
>> > That should probably be revisited.
>>
>> That, at least, seems like something that should be fixed before commit.
>
> Hmm, which point, Dean's or mine?  Dean was saying that the name should
> be displayed by some flavor of \d;

That might not be 100% necessary for the initial commit, but seems
easy to fix, so why not?

> mine was that we need a command such
> as
>
> ALTER TABLE foo ALTER COLUMN bar SET NOT NULL name_of_notnull_constr
>
> where the last bit is what's new.

Well, if you don't have that, I don't see how you have any chance of
pg_dump working correctly.  Though I think it should use the table
constraint syntax:

CONSTRAINT name_of_notnull_constr constraint_definition

I'm not exactly sure what to propose for the constraint_definition.
Perhaps just:

CONSTRAINT name_of_notnull_constr NOT NULL column_name

Though Peter seemed to think it should be:

CONSTRAINT name_of_notnull_constr CHECK (column_name IS NOT NULL)

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Greg Smith
Date:
Subject: Re: pgbench --unlogged-tables
Next
From: "Kevin Grittner"
Date:
Subject: Re: WIP fix proposal for bug #6123