↑↓ select↵ open⌫ change scopeOpen full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

Wiki / Plan Nodes

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 labelStructured node identity
InsertModifyTable
UpdateModifyTable
DeleteModifyTable
MergeModifyTable

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

Full definition and evidence JSON

Definition sources

center · PostgreSQL 18 · 555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f

Text language: en · 555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f