ModifyTable
Performs the data-modification operation selected by the plan and produces RETURNING rows when requested.
Reading PG 18·Select a recorded version
- Core node tag
- T_ModifyTable
- Structured EXPLAIN Node Type
- ModifyTable
- Inputs
- Modification input plan or plans
- Output
- RETURNING tuples when requested
- Executor initializer
- ExecInitModifyTable
- Memory mechanism
- unclassified
- evidence kind
- source and documentation
- explain names
- Insert, Update, Delete, Merge
- explain prefixes
- Parallel, Async
- node tag
- T_ModifyTable
- parallel callbacks
- Unknown
- partial modes
- Unknown
- runtime verified
- false
- strategies
- Unknown
Definition PG 18
Performs the data-modification operation selected by the plan and produces RETURNING rows when requested.
EXPLAIN labels in this source build
| Text-format label | Structured node identity |
|---|---|
| Insert | ModifyTable |
| Update | ModifyTable |
| Delete | ModifyTable |
| Merge | ModifyTable |
Compare versions
Complete source facts
memory
{"description":"This extraction does not assign a universal memory limit or spill policy to this node. Inspect the same-build implementation and its expressions or provider.","evidence":[{"archive_sha256":"555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f","label":"src/backend/executor/nodeModifyTable.c","path":"src/backend/executor/nodeModifyTable.c","sha256":"0fc3cb180b3443f216142954e43d8ed5f84713d75094ce8cd2785ad8f604bd68","url":"https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2"}],"mechanism":"unclassified","source_notes":["If the FDW supports batching, and batching is requested, accumulate rows and insert them in batches. Otherwise use the per-row inserts.","Initialize the batch slots. We don't know how many slots will be needed, so we initialize them as the batch grows, and we keep them across batches. To mitigate an inefficiency in how resource owner handles objects with many references (as with many slots all referencing the same tuple descriptor) we copy the appropriate tuple descriptor for each slot."]}source inventory
{"executor":"src/backend/executor/execProcnode.c","explain":"src/backend/commands/explain.c","implementation":"src/backend/executor/nodeModifyTable.c"}Source references
- src/backend/commands/explain.c:1385
- src/backend/executor/execProcnode.c:176
- src/backend/executor/nodeModifyTable.c
- src/include/nodes/plannodes.h
- PostgreSQL 18.6 · using-explain
- PostgreSQL 18.6 · using-explain
Full definition and evidence JSON
Definition sources
center · PostgreSQL 18 · 555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f
Text language: en · 555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f