pgsql: Extend ALTER TABLE to allow Foreign Keys to be added without ini
От | Simon Riggs |
---|---|
Тема | pgsql: Extend ALTER TABLE to allow Foreign Keys to be added without ini |
Дата | |
Msg-id | E1Pmmc7-000194-GY@gemulon.postgresql.org обсуждение исходный текст |
Ответы |
Re: pgsql: Extend ALTER TABLE to allow Foreign Keys to
be added without ini
|
Список | pgsql-committers |
Extend ALTER TABLE to allow Foreign Keys to be added without initial validation. FK constraints that are marked NOT VALID may later be VALIDATED, which uses an ShareUpdateExclusiveLock on constraint table and RowShareLock on referenced table. Significantly reduces lock strength and duration when adding FKs. New state visible from psql. Simon Riggs, with reviews from Marko Tiikkaja and Robert Haas Branch ------ master Details ------- http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=722bf7017bbe796decc79c1fde03e7a83dae9ada Modified Files -------------- doc/src/sgml/ref/alter_table.sgml | 22 ++++++- src/backend/catalog/heap.c | 1 + src/backend/catalog/index.c | 1 + src/backend/catalog/pg_constraint.c | 2 + src/backend/commands/tablecmds.c | 105 +++++++++++++++++++++++++++-- src/backend/commands/trigger.c | 1 + src/backend/commands/typecmds.c | 1 + src/backend/parser/gram.y | 28 +++++++- src/backend/utils/adt/ri_triggers.c | 7 ++- src/bin/psql/describe.c | 9 ++- src/include/catalog/pg_constraint.h | 40 ++++++----- src/include/nodes/parsenodes.h | 2 + src/include/parser/kwlist.h | 1 + src/test/regress/expected/alter_table.out | 12 +++ src/test/regress/sql/alter_table.sql | 15 ++++ 15 files changed, 215 insertions(+), 32 deletions(-)
В списке pgsql-committers по дате отправления: