Add the ability to create indexes 'concurrently', that is, without

Tom Lane <tgl@sss.pgh.pa.us>

Commit: e093dcdd2853911ca1ad710581182dfcb6c78ea3
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2006-08-25T04:06:58Z
Releases: 8.2.0
Add the ability to create indexes 'concurrently', that is, without
blocking concurrent writes to the table.  Greg Stark, with a little help
from Tom Lane.

Files

PathChange+/−
doc/src/sgml/catalogs.sgml modified +12 −1
doc/src/sgml/indexam.sgml modified +11 −1
doc/src/sgml/indices.sgml modified +12 −1
doc/src/sgml/mvcc.sgml modified +5 −3
doc/src/sgml/ref/create_index.sgml modified +101 −3
doc/src/sgml/ref/reindex.sgml modified +14 −2
src/backend/access/nbtree/nbtinsert.c modified +27 −2
src/backend/bootstrap/bootparse.y modified +3 −3
src/backend/catalog/index.c modified +395 −17
src/backend/catalog/toasting.c modified +3 −2
src/backend/commands/indexcmds.c modified +144 −9
src/backend/commands/tablecmds.c modified +3 −2
src/backend/nodes/copyfuncs.c modified +2 −1
src/backend/nodes/equalfuncs.c modified +2 −1
src/backend/nodes/outfuncs.c modified +2 −1
src/backend/optimizer/util/plancat.c modified +13 −1
src/backend/parser/analyze.c modified +2 −1
src/backend/parser/gram.y modified +28 −8
src/backend/parser/keywords.c modified +2 −1
src/backend/storage/page/itemptr.c modified +30 −2
src/backend/tcop/utility.c modified +9 −5
src/backend/utils/adt/tid.c modified +10 −33
src/bin/psql/common.c modified +59 −10
src/bin/psql/describe.c modified +15 −8
src/include/catalog/catversion.h modified +2 −2
src/include/catalog/index.h modified +5 −2
src/include/catalog/pg_attribute.h modified +6 −5
src/include/catalog/pg_index.h modified +8 −6
src/include/commands/defrem.h modified +3 −2
src/include/nodes/execnodes.h modified +3 −1
src/include/nodes/parsenodes.h modified +2 −1
src/include/storage/itemptr.h modified +2 −1
src/test/regress/expected/create_index.out modified +50 −0
src/test/regress/sql/create_index.sql modified +40 −0