On 07/30/2018 03:07 PM, Adrian Klaver
wrote:
On
07/30/2018 09:57 AM, Rob Sargent wrote:
I was just looking up alter table add
constraint syntax under "current(10)" and we get
ADD /table_constraint/ [ NOT VALID ]
ADD /table_constraint_using_index/
There is a description below for the using_index version but
none for the plain version. There is a block for the plain
version on the CREATE
I see one:
https://www.postgresql.org/docs/10/static/sql-altertable.html
"ADD table_constraint [ NOT VALID ]
This form adds a new constraint to a table using the same
syntax as CREATE TABLE, plus the option NOT VALID, which is
currently only allowed for foreign key and CHECK constraints. If
the constraint is marked NOT VALID, the potentially-lengthy
initial check to verify that all rows in the table satisfy the
constraint is skipped. The constraint will still be enforced
against subsequent inserts or updates (that is, they'll fail
unless there is a matching row in the referenced table, in the
case of foreign keys; and they'll fail unless the new row matches
the specified check constraints). But the database will not assume
that the constraint holds for all rows in the table, until it is
validated by using the VALIDATE CONSTRAINT option.
"
TABLE page. Should it not also appear in
the ALTER TABLE page?
OK, I was expecting a block in the enclosing text-area for
this simple form of the command similar to the one for the using_index
form. I suppose the existence of the latter lead me to expect
the former. If it's as intended I'm fine with that.
|