git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: 524d64e) | patch
Allow UNIQUE indexes on partitioned tables
2018年2月19日 19:59:37 +0000 (16:59 -0300)
2018年2月19日 20:40:00 +0000 (17:40 -0300)
commit eb7ed3f3063401496e4aa4bd68fa33f0be31a72f
Allow UNIQUE indexes on partitioned tables

If we restrict unique constraints on partitioned tables so that they
must always include the partition key, then our standard approach to
unique indexes already works --- each unique key is forced to exist
within a single partition, so enforcing the unique restriction in each
index individually is enough to have it enforced globally. Therefore we
can implement unique indexes on partitions by simply removing a few
restrictions (and adding others.)

Discussion: https://postgr.es/m/20171222212921.hi6hg6pem2w2t36z@alvherre.pgsql
Discussion: https://postgr.es/m/20171229230607.3iib6b62fn3uaf47@alvherre.pgsql
Reviewed-by: Simon Riggs, Jesper Pedersen, Peter Eisentraut, Jaime
Casanova, Amit Langote
27 files changed:
doc/src/sgml/ddl.sgml diff | blob | blame | history
doc/src/sgml/ref/alter_table.sgml diff | blob | blame | history
doc/src/sgml/ref/create_index.sgml diff | blob | blame | history
doc/src/sgml/ref/create_table.sgml diff | blob | blame | history
src/backend/bootstrap/bootparse.y diff | blob | blame | history
src/backend/catalog/index.c diff | blob | blame | history
src/backend/catalog/pg_constraint.c diff | blob | blame | history
src/backend/catalog/toasting.c diff | blob | blame | history
src/backend/commands/indexcmds.c diff | blob | blame | history
src/backend/commands/tablecmds.c diff | blob | blame | history
src/backend/parser/analyze.c diff | blob | blame | history
src/backend/parser/parse_utilcmd.c diff | blob | blame | history
src/backend/tcop/utility.c diff | blob | blame | history
src/bin/pg_dump/t/002_pg_dump.pl diff | blob | blame | history
src/include/catalog/index.h diff | blob | blame | history
src/include/catalog/pg_constraint_fn.h diff | blob | blame | history
src/include/commands/defrem.h diff | blob | blame | history
src/include/parser/parse_utilcmd.h diff | blob | blame | history
src/test/regress/expected/alter_table.out diff | blob | blame | history
src/test/regress/expected/create_index.out diff | blob | blame | history
src/test/regress/expected/create_table.out diff | blob | blame | history
src/test/regress/expected/indexing.out diff | blob | blame | history
src/test/regress/expected/insert_conflict.out diff | blob | blame | history
src/test/regress/sql/alter_table.sql diff | blob | blame | history
src/test/regress/sql/create_index.sql diff | blob | blame | history
src/test/regress/sql/create_table.sql diff | blob | blame | history
src/test/regress/sql/indexing.sql diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /