{"Entry":{"collection":"lock","key":"row-share","name":"ROW SHARE","aliases":[],"metadata":{"abbrev":"RS","content_hash":"4a6a6bad3f21f2ef1f43e761b4c663c6eb4f325d982e154a0b6790abe48d99f6","derived_content_hash":"32e27350a21558cde92e82953296bf51b815b4ef693e37a5ab869694042f638d","imported_at":"2026-09-27T17:58:01.210603+08:00","name":"ROW SHARE","name_zh":"ROW SHARE","position":1,"repair_provenance":{"original_source_revision":"10:f4e8f137bfb08a664c8288824c1e36b5143ac875;11:170e416034ec0231d9e9238f2577eeb76ca8d181;12:3f302f0ed06f69c5ebd33d4df95895323a3cbef6;13:05f6c9ec2c475fae8fdd56ae40bd01afcf70d1f2;14:fba35c7c28a567839faba867db0808564c0a66db;15:0351991b8e7c7b64382e2f30ce581a8f276590a6;16:dcc37b7099a9f3cf2c75167d8dc92e75f96bc1fa;17:163288afd32a448244c8df75b3c33181aadd7f20;18:753057e340da8f22e57c9a409ea7a235fd6a46bd;19:b73d13c32c834a2c8e1c60cb92f79530376cedf1;20:2c10c2ce4d7bcd57543a49ab402af02a39724e0a","receipt_sha256":"e31bc13a20fddbf305a735f6bf1f2dbdd2b7068935398f91e8b01dd781befeb9","repair":"wiki-repair-20261023"},"scope":"table","slug":"row-share","source_rev":"wiki-repair-20261023:a91e3c2bd28d268ef25854b8d26f645043631fb2b2cc51aa63e627406065d4e3","summary":"Conflicts with the EXCLUSIVE and ACCESS EXCLUSIVE lock modes."}},"Definition":{"Collection":"lock","Key":"row-share","SourceDatabase":"center","Version":"18","SourceTable":"lock_mode","SourceKey":"row-share","SourceRevision":"wiki-repair-20261023:a91e3c2bd28d268ef25854b8d26f645043631fb2b2cc51aa63e627406065d4e3","Facts":{"commands":[{"label":"SELECT FOR KEY SHARE","note":"Lock the named table, in addition to the corresponding locks on selected rows.","slug":"select","source":{"kind":"documentation","path":"doc/src/sgml/mvcc.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"4b7bf77ee0af4b86052330ff2421d567df3604b75fe7d4f522bec84fdea87340","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/mvcc.sgml"},"source_url":"https://www.postgresql.org/docs/18/explicit-locking.html","variant":"0ecc8fb9e712"},{"label":"SELECT FOR SHARE","note":"Lock the named table, in addition to the corresponding locks on selected rows.","slug":"select","source":{"kind":"documentation","path":"doc/src/sgml/mvcc.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"4b7bf77ee0af4b86052330ff2421d567df3604b75fe7d4f522bec84fdea87340","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/mvcc.sgml"},"source_url":"https://www.postgresql.org/docs/18/explicit-locking.html","variant":"8b3c78ad3c64"},{"label":"SELECT FOR NO KEY UPDATE","note":"Lock the named table, in addition to the corresponding locks on selected rows.","slug":"select","source":{"kind":"documentation","path":"doc/src/sgml/mvcc.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"4b7bf77ee0af4b86052330ff2421d567df3604b75fe7d4f522bec84fdea87340","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/mvcc.sgml"},"source_url":"https://www.postgresql.org/docs/18/explicit-locking.html","variant":"dc13a30028da"},{"label":"SELECT FOR UPDATE","note":"Lock the named table, in addition to the corresponding locks on selected rows.","slug":"select","source":{"kind":"documentation","path":"doc/src/sgml/mvcc.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"4b7bf77ee0af4b86052330ff2421d567df3604b75fe7d4f522bec84fdea87340","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/mvcc.sgml"},"source_url":"https://www.postgresql.org/docs/18/explicit-locking.html","variant":"9c457e2f8f3c"},{"label":"INSERT (foreign-key check)","note":"The foreign-key check runs SELECT FOR KEY SHARE on the referenced table, taking ROW SHARE there. The writing target separately holds ROW EXCLUSIVE.","slug":"insert","source":{"kind":"source","path":"src/backend/utils/adt/ri_triggers.c","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"a3fed49fbda88fe0fe5bcf35eb019fced28596ae4046233f2acb2eb9f90ab1da","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/utils/adt/ri_triggers.c"},"source_url":"https://github.com/postgres/postgres/blob/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/utils/adt/ri_triggers.c","variant":"ffddc0fc16b6"},{"label":"UPDATE (foreign-key check)","note":"The foreign-key check runs SELECT FOR KEY SHARE on the referenced table, taking ROW SHARE there. The writing target separately holds ROW EXCLUSIVE.","slug":"update","source":{"kind":"source","path":"src/backend/utils/adt/ri_triggers.c","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"a3fed49fbda88fe0fe5bcf35eb019fced28596ae4046233f2acb2eb9f90ab1da","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/utils/adt/ri_triggers.c"},"source_url":"https://github.com/postgres/postgres/blob/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/utils/adt/ri_triggers.c","variant":"65d8638ef74c"},{"label":"COPY … FROM (foreign-key check)","note":"The foreign-key check runs SELECT FOR KEY SHARE on the referenced table, taking ROW SHARE there. The writing target separately holds ROW EXCLUSIVE.","slug":"copy","source":{"kind":"source","path":"src/backend/utils/adt/ri_triggers.c","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"a3fed49fbda88fe0fe5bcf35eb019fced28596ae4046233f2acb2eb9f90ab1da","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/utils/adt/ri_triggers.c"},"source_url":"https://github.com/postgres/postgres/blob/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/utils/adt/ri_triggers.c","variant":"b85f269c1b8e"},{"label":"MERGE (foreign-key check)","note":"The foreign-key check runs SELECT FOR KEY SHARE on the referenced table, taking ROW SHARE there. The writing target separately holds ROW EXCLUSIVE.","slug":"merge","source":{"kind":"source","path":"src/backend/utils/adt/ri_triggers.c","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"a3fed49fbda88fe0fe5bcf35eb019fced28596ae4046233f2acb2eb9f90ab1da","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/utils/adt/ri_triggers.c"},"source_url":"https://github.com/postgres/postgres/blob/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/utils/adt/ri_triggers.c","variant":"e00dfdc184d6"},{"label":"LOCK TABLE … IN ROW SHARE MODE","note":"Request this table mode explicitly. Omitting IN MODE defaults to ACCESS EXCLUSIVE.","slug":"lock","source":{"kind":"documentation","path":"doc/src/sgml/mvcc.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"4b7bf77ee0af4b86052330ff2421d567df3604b75fe7d4f522bec84fdea87340","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/mvcc.sgml"},"source_url":"https://www.postgresql.org/docs/18/explicit-locking.html","variant":"137512efd0b5"},{"label":"ALTER TABLE … VALIDATE CONSTRAINT (referenced table)","note":"Foreign-key validation takes ROW SHARE on the referenced table and SHARE UPDATE EXCLUSIVE on the table being validated.","slug":"alter-table","source":{"kind":"command-documentation","path":"doc/src/sgml/ref/alter_table.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"10436673fa2f093bdf51986a06d22dd748a9bb003bcd5517db2a65fba569a3c9","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/ref/alter_table.sgml"},"source_url":"https://www.postgresql.org/docs/18/sql-altertable.html","variant":"f3ebdc754838"}],"conflicts":["exclusive","access-exclusive"],"description":["Conflicts with the EXCLUSIVE and ACCESS EXCLUSIVE lock modes.","The SELECT command acquires a lock of this mode on all tables on which one of the FOR UPDATE, FOR NO KEY UPDATE, FOR SHARE, or FOR KEY SHARE options is specified (in addition to ACCESS SHARE locks on any other tables that are referenced without any explicit FOR ... locking option)."],"description_zh":"与 EXCLUSIVE 和 ACCESS EXCLUSIVE 锁模式冲突。 当 SELECT 命令在某个表上指定了 FOR UPDATE、FOR NO KEY UPDATE、FOR SHARE 或 FOR KEY SHARE 选项时，会在该表上获取这种锁模式（此外，对于任何其他被引用但没有显式 FOR ... 加锁选项的表，则会获取 ACCESS SHARE 锁）。","description_zh_html":"\u003cp\u003e\n         与 \u003ccode class=\"literal\"\u003eEXCLUSIVE\u003c/code\u003e 和 \u003ccode class=\"literal\"\u003eACCESS EXCLUSIVE\u003c/code\u003e 锁模式冲突。\n        \u003c/p\u003e\u003cp\u003e\n         当 \u003ccode class=\"command\"\u003eSELECT\u003c/code\u003e 命令在某个表上指定了 \u003ccode class=\"option\"\u003eFOR UPDATE\u003c/code\u003e、\u003ccode class=\"option\"\u003eFOR NO KEY UPDATE\u003c/code\u003e、\u003ccode class=\"option\"\u003eFOR SHARE\u003c/code\u003e 或\n         \u003ccode class=\"option\"\u003eFOR KEY SHARE\u003c/code\u003e 选项时，会在该表上获取这种锁模式（此外，对于任何其他被引用但没有显式 \u003ccode class=\"option\"\u003eFOR ...\u003c/code\u003e 加锁选项的表，则会获取 \u003ccode class=\"literal\"\u003eACCESS SHARE\u003c/code\u003e 锁）。\n        \u003c/p\u003e","provenance":{"doc_slug":"18","fetched_at":"2026-09-27T09:39:42+00:00","label":"18","major":"18","official_url":"https://www.postgresql.org/docs/18/explicit-locking.html","ref":"REL_18_STABLE","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sources":[{"kind":"command-documentation","path":"doc/src/sgml/ref/alter_index.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"746cd43287186dfbfa6acf77fd5c6713e66919653fb00af5476a0baa65988e7a","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/ref/alter_index.sgml"},{"kind":"command-documentation","path":"doc/src/sgml/ref/alter_table.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"10436673fa2f093bdf51986a06d22dd748a9bb003bcd5517db2a65fba569a3c9","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/ref/alter_table.sgml"},{"kind":"command-documentation","path":"doc/src/sgml/ref/comment.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"d0048329d237192696d7ccb9471aba4137d943556fdb770e2ffb3cf6c511c18f","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/ref/comment.sgml"},{"kind":"source","path":"src/backend/commands/copy.c","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"f50ecc1531109fc172d841d461e209cef611f3d017ef4184034c39e128deabbe","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/commands/copy.c"},{"kind":"command-documentation","path":"doc/src/sgml/ref/create_index.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"3698f11c6f447d127e4624a1a845dee4d5146b8337ddc6d895a7962e676717f8","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/ref/create_index.sgml"},{"kind":"source","path":"src/backend/access/heap/heapam.c","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"bca2ca0746a1862016bdb416b8482441a7b16360f71afe5e4abf6dbae0fa0c72","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/access/heap/heapam.c"},{"kind":"source","path":"src/backend/catalog/index.c","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"98a4156a5c21ae856a3b583b633cdeb578a5b69910386c9f166d69fcb04ba2d0","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/catalog/index.c"},{"kind":"command-documentation","path":"doc/src/sgml/ref/insert.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"f93403779fb1d980cd5995a1e2741bbdae8404584407610f9aba33ec4724a39f","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/ref/insert.sgml"},{"kind":"source","path":"src/backend/storage/lmgr/lock.c","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"e7f43560bf6a8417ff46991238084b6edeb44a995b87670ed1f7fa6f1515276b","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/storage/lmgr/lock.c"},{"kind":"documentation","path":"doc/src/sgml/mvcc.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"4b7bf77ee0af4b86052330ff2421d567df3604b75fe7d4f522bec84fdea87340","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/mvcc.sgml"},{"kind":"command-documentation","path":"doc/src/sgml/ref/reindex.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"5e889d6e1d9b09d5f9cd3f7086ca13f540da0fe8262cdd8a9037ce9aa6f1dfdf","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/ref/reindex.sgml"},{"kind":"source","path":"src/backend/utils/adt/ri_triggers.c","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"a3fed49fbda88fe0fe5bcf35eb019fced28596ae4046233f2acb2eb9f90ab1da","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/utils/adt/ri_triggers.c"},{"kind":"source","path":"src/backend/commands/tablecmds.c","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"df8817816f893e73d5648fea169e222ba33320e5b24bf755b424b29098f4e7da","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/commands/tablecmds.c"},{"kind":"command-documentation","path":"doc/src/sgml/ref/vacuum.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"80ca5592cda7b74938385f84f09faac33574374c1a05d605a2d55982e4cf1bbf","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/ref/vacuum.sgml"},{"kind":"source","path":"src/backend/access/heap/vacuumlazy.c","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"90932e3b1a7b57dda8f740807def59aedb57fbd0e2173e3af3309f145192c7c2","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/access/heap/vacuumlazy.c"}],"status":"stable"},"sources":[{"kind":"documentation","path":"doc/src/sgml/mvcc.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"4b7bf77ee0af4b86052330ff2421d567df3604b75fe7d4f522bec84fdea87340","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/mvcc.sgml"},{"kind":"source","path":"src/backend/storage/lmgr/lock.c","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"e7f43560bf6a8417ff46991238084b6edeb44a995b87670ed1f7fa6f1515276b","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/storage/lmgr/lock.c"},{"kind":"source","path":"src/backend/access/heap/heapam.c","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"bca2ca0746a1862016bdb416b8482441a7b16360f71afe5e4abf6dbae0fa0c72","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/access/heap/heapam.c"}],"summary":"Conflicts with the EXCLUSIVE and ACCESS EXCLUSIVE lock modes.","translation_provenance":{"inputs":[{"kind":"current-pgdoc-translation","path":"/Users/vonng/pgsty/pgdoc/zh/18/html/explicit-locking.html","sha256":"8c878cad0208493c624d1f1863fe0f260719041c41c0d791a81421a20537112d"}],"kind":"same-version-pgdoc","locale":"zh-Hans","source_revision":"b1b500221dbe5437cfca004d6b04d3f6e422765d","version":"18"},"zh_from":"same-version-pgdoc"},"ManualEvidence":{"sources":[{"kind":"documentation","path":"doc/src/sgml/mvcc.sgml","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"4b7bf77ee0af4b86052330ff2421d567df3604b75fe7d4f522bec84fdea87340","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/doc/src/sgml/mvcc.sgml"},{"kind":"source","path":"src/backend/storage/lmgr/lock.c","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"e7f43560bf6a8417ff46991238084b6edeb44a995b87670ed1f7fa6f1515276b","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/storage/lmgr/lock.c"},{"kind":"source","path":"src/backend/access/heap/heapam.c","revision":"753057e340da8f22e57c9a409ea7a235fd6a46bd","sha256":"bca2ca0746a1862016bdb416b8482441a7b16360f71afe5e4abf6dbae0fa0c72","url":"https://raw.githubusercontent.com/postgres/postgres/753057e340da8f22e57c9a409ea7a235fd6a46bd/src/backend/access/heap/heapam.c"}]},"MeasuredEvidence":{}},"Text":{"Collection":"lock","Key":"row-share","SourceDatabase":"center","Version":"18","Locale":"en","Title":"ROW SHARE","Summary":"Conflicts with the EXCLUSIVE and ACCESS EXCLUSIVE lock modes.\nThe SELECT command acquires a lock of this mode on all tables on which one of the FOR UPDATE, FOR NO KEY UPDATE, FOR SHARE, or FOR KEY SHARE options is specified (in addition to ACCESS SHARE locks on any other tables that are referenced without any explicit FOR ... locking option).","BodyHTML":"\u003cp\u003eConflicts with the EXCLUSIVE and ACCESS EXCLUSIVE lock modes.\nThe SELECT command acquires a lock of this mode on all tables on which one of the FOR UPDATE, FOR NO KEY UPDATE, FOR SHARE, or FOR KEY SHARE options is specified (in addition to ACCESS SHARE locks on any other tables that are referenced without any explicit FOR ... locking option).\u003c/p\u003e","SourceRevision":"wiki-repair-20261023:a91e3c2bd28d268ef25854b8d26f645043631fb2b2cc51aa63e627406065d4e3","ContentHash":"0e16a188ee63d299c972e6b57a76d8a2b5ea1784a4df3bd8ee7db013242c66d6","Payload":{"description":["Conflicts with the EXCLUSIVE and ACCESS EXCLUSIVE lock modes.","The SELECT command acquires a lock of this mode on all tables on which one of the FOR UPDATE, FOR NO KEY UPDATE, FOR SHARE, or FOR KEY SHARE options is specified (in addition to ACCESS SHARE locks on any other tables that are referenced without any explicit FOR ... locking option)."]}},"RequestedLocale":"en","Fallback":false,"Versions":["10","11","12","13","14","15","16","17","18","19","20"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
