segment_*
The segment_* tables of the gpperfmon database contain memory allocation statistics for the Greengage DB segment instances.
They track the amount of memory consumed by all PostgreSQL processes of a particular segment instance, and the remaining amount of memory available to a segment as per the settings configured by the currently active resource management scheme (resource groups or resource queues).
There are three tables with the same columns:
-
segment_nowis an external table whose data files are stored in $MASTER_DATA_DIRECTORY/gpperfmon/data. Current memory allocation data is stored insegment_nowduring the period between data collection from thegpperfmonagents and automatic commit to thesegment_historytable. -
segment_tailis an external table whose data files are stored in $MASTER_DATA_DIRECTORY/gpperfmon/data. This is a transitional table for memory allocation data that has been cleared fromsegment_nowbut has not yet been committed tosegment_history. It typically contains a few minutes worth of data. This table is for internal use only. -
segment_historyis a regular table that stores historical memory allocation metrics. It is partitioned into monthly partitions. Partitions are automatically added in two-month increments as needed.
A particular segment instance is identified by its hostname and dbid (the unique segment identifier as per the gp_segment_configuration system catalog table).
| Column | Type | Description |
|---|---|---|
ctime |
timestamp(0) without time zone |
The time the row was created |
dbid |
int |
The segment ID ( |
hostname |
varchar(64) |
The segment hostname |
dynamic_memory_used |
bigint |
The amount of dynamic memory (in bytes) allocated to query processes running on this segment |
dynamic_memory_available |
bigint |
The amount of additional dynamic memory (in bytes) that the segment can request before reaching the limit set by the currently active resource management scheme (resource groups or resource queues) |