PostgreSQL defines the properties by 1) the first parameters of function call ExplainProperty*() (e.g., ExplainPropertyText(), ExplainPropertyInteger()) in the file explain.c, 2) the second parameters of the function call show_scan_query(), 3) and the first parameters of the function call show_instrumentation_count().
| Property | Category | Reference | Description |
|---|---|---|---|
| Actual Loops | Status | Link | Actual number of times the operation was executed. The value is typically one. |
| Actual Rows | Cardinality | Link | Actual number of rows returned by the operation per loop. |
| Actual Startup Time | Cost | Link | Actual amount of time, in milliseconds, it took to get the first row out of the operation. |
| Actual Total Time | Cost | Link | Actual amount of time in milliseconds spent on this operation and all of its children. It’s a per-loop average, rounded to the nearest thousandth of a millisecond. |
| Alias | Configuration | Link | The alias of the table. |
| Async Capable | Configuration | Link | Indicates whether the associated operation is able to be executed asynchronously. |
| Average Sort Space Used | Cost | Link | Actual average memory used for sorting. |
| Cache Evictions | Status | Link | Estimated number of evicted caches. |
| Cache Hits | Status | Link | Estimated number of hit caches. |
| Cache Key | Configuration | Link | The keys in the cache. |
| Cache Misses | Status | Link | Estimated number of missed caches. |
| Cache Mode | Configuration | Link | The mode for caching. |
| Cache Overflows | Status | Link | Estimated number of overflowed caches. |
| Calls | Status | Link | Estimated number of times a function or procedure has been called during query execution. |
| Command | Configuration | Link | The query statement used in the associated SQL statement. |
| Conflict Arbiter Indexes | Configuration | Link | The indexes that are used to resolve conflicts during an INSERT operation on a table with a unique index or a partial unique index. |
| Conflict Resolution | Status | Link | The mode to resolve conflicts. |
| Conflicting Tuples | Status | Link | The conflicted data. |
| Constraint Name | Configuration | Link | The name of a constraint that is being checked or enforced during query execution. |
| CTE Name | Configuration | Link | The name of CTE. |
| Custom Plan Provider | Configuration | Link | The provider of the customized scan. |
| Disk Usage | Cost | Link | Estimated disk space used. |
| Exact Heap Blocks | Cost | Link | Exact pages for a BitmapHeapScan node. |
| Execution Time | Cost | Link | Actual execution time of the associated operation. |
| Filter | Configuration | Link | The filter condition to filterout data. |
| Foreign File | Configuration | Link | The file path used for foreign scan. |
| Foreign File Size | Configuration | Link | The size of foreign files. |
| Foreign Program | Configuration | Link | The program name if the foreign scan reads data from another program. |
| Group Count | Status | Link | Estimated number of distinct groups that are formed during the execution of a query that involves a GROUP BY clause. |
| Group Key | Configuration | Link | The keys used by the GROUPBY query. |
| Hash Batches | Status | Link | Estimated number of hash batches for the bitmap. |
| Hash Buckets | Status | Link | Hashed data is assigned to hash buckets. |
| Hash Key | Configuration | Link | The key used for Hash operation. |
| HashAgg Batches | Status | Link | The hash aggregate batches for Aggregation operation in memory. |
| Heap Fetches | Status | Link | Actual count of fetching heap. |
| I/O Read Time | Cost | Link | Estimated time spent on reading. |
| I/O Write Time | Cost | Link | Estimated time spent on writing. |
| Index Cond | Configuration | Link | The condition to filter out data. |
| Index Name | Configuration | Link | The indexes that are used. |
| Inner Unique | Status | Link | This is true if no more than one inner row could match any given outer row. This allows the executor to skip searching for additional matches. |
| JIT | Status | Link | The runtime information of JIT. |
| Join Type | Configuration | Link | The join type for the join operation. |
| Local Dirtied Blocks | Status | Link | The number of blocks from temporary tables and indexes that have been modified by the operation. |
| Local Hit Blocks | Status | Link | The number of blocks from temporary tables and indexes that were found in the cache. |
| Local Read Blocks | Status | Link | The number of blocks read from temporary tables and indexes. |
| Local Written Blocks | Status | Link | The number of blocks from temporary tables and indexes that were evicted from the cache. |
| Lossy Heap Blocks | Cost | Link | Lossy pages for a BitmapHeapScan node. |
| Operation | Configuration | Link | The commands used in DML/DDL statements. |
| Order By | Configuration | Link | The references for the order by. |
| Original Hash Batches | Status | Link | The number of original hash batches. |
| Original Hash Buckets | Status | Link | The number of original hash buckets. |
| Output | Configuration | Link | The returned columns. |
| Parallel Aware | Status | Link | Whether the associated operation can be executed in parallel. |
| Params Evaluated | Status | Link | The params that are evaluated in parallel operations Gather or Gather Merge. |
| Parent Relationship | Configuration | Link | A guide as to why this operation needs to be run in order to facilitate the parent operation. There are six different possibilities: |
| Partial Mode | Configuration | Link | If this is Simple, the operation happens in one step. Otherwise, Partial operations do chunks of the operation in parallel, and a separate Finalize operation joins the different parts together. |
| Peak Memory Usage | Cost | Link | the peak memory usage. |
| Peak Sort Space Used | Cost | Link | The peak memory usage for sort operation. |
| Plan Rows | Cardinality | Link | Estimated number of rows returned. |
| Plan Width | Cardinality | Link | Estimated width of rows returned. |
| Planned Partitions | Status | Link | The number of partitions that are generated for hash. |
| Planning Time | Cost | Link | The time to generate the entire query plan. |
| Presorted Key | Configuration | Link | The pre-sorted keys for operation Sort. |
| Query Identifier | Configuration | Link | The identity of the query. |
| Query Text | Configuration | Link | The raw query. |
| Recheck Cond | Configuration | Link | The condition for index recheck. |
| Relation | Configuration | Link | The relation of the associated operation. |
| Relation Name | Configuration | Link | The relation of the associated operation. |
| Remote SQL | Configuration | Link | The remote query to be executed by the foreign scan operation. |
| Repeatable Seed | Configuration | Link | The seed for the table sampling. |
| Rows Removed by Conflict Filter | Cardinality | Link | Estimated number of rows dropped by the conflict filter |
| Rows Removed by Filter | Cardinality | Link | Estimated number of rows dropped by the filter |
| Rows Removed by Index Recheck | Cardinality | Link | Estimated number of rows dropped by the index recheck |
| Rows Removed by Join Filter | Cardinality | Link | Estimated number of rows dropped by the Join filter |
| Sampling Method | Configuration | Link | The method for the table sampling. |
| Sampling Parameters | Configuration | Link | The parameters for the table sampling. |
| Scan Direction | Status | Link | The direction of scanning. |
| Schema | Configuration | Link | The schema. |
| Settings | Configuration | Link | The settings from user configurations. |
| Shared Dirtied Blocks | Status | Link | Estimated number of blocks from tables/indexes that were modified by the operation. |
| Shared Hit Blocks | Status | Link | Estimated number of blocks from indexes/tables that were found in the cache. |
| Shared Read Blocks | Status | Link | Estimated number of blocks from tables/indexes that were read from disk (or the OS cache). |
| Shared Written Blocks | Status | Link | Estimated number of blocks from tables/indexes that were evicted from the cache. |
| Single Copy | Configuration | Link | This is true if Postgres will not execute a plan more than once. |
| Sort Key | Configuration | Link | The keys used by the operation Sort. |
| Sort Method | Status | Link | The methods that are available for sorting. |
| Sort Methods Used | Status | Link | The used methods for sorting. |
| Sort Space Type | Status | Link | The type of space used for sorting. |
| Sort Space Used | Cost | Link | The total space used for sorting. |
| Startup Cost | Cost | Link | Estimated cost for startup. |
| Strategy | Status | Link | The strategy to aggregate data. |
| Subplan Name | Configuration | Link | The name of children nodes. |
| Subplans Removed | Status | Link | Estimated number of redundant children removed. |
| Table Function Name | Configuration | Link | The table name of the function table scan. |
| Temp Read Blocks | Status | Link | The number of blocks read from short-term data used to calculate hashes, sorts, Materialize operations, and similar. |
| Temp Written Blocks | Status | Link | The number of blocks written in temp memory. |
| TID Cond | Configuration | Link | The condition for the TID. https://www.postgresql.org/docs/current/ddl-system-columns.html |
| Time | Cost | Link | Estimated execution time for the trigger. |
| Total | Cost | Link | Estimated total execution time for the query plan. |
| Total Cost | Cost | Link | Estimated total estimated cost. |
| Trigger | Configuration | Link | The information of triggers. |
| Tuples Inserted | Cardinality | Link | The number of inserted rows. |
| Tuplestore Name | Configuration | Link | The name of tuplestore. |
| WAL Bytes | Status | Link | The bytes used by WAL. |
| WAL FPI | Status | Link | The FPT used by WAL. |
| WAL Records | Status | Link | The records used by WAL. |
| Workers | Status | Link | The information of available workers. |