mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-12 18:34:36 +08:00
Introduce BYTES unit for GUCs.
This is already useful for track_activity_query_size, and will further be used in a later commit making the WAL segment size configurable. Author: Beena Emerson Reviewed-By: Andres Freund Discussion: https://postgr.es/m/CAOG9ApEu8bXVwBxkOO9J7ZpM76TASK_vFMEEiCEjwhMmSLiaqQ@mail.gmail.com
This commit is contained in:
parent
2d4a614e1e
commit
6e7baa3227
@ -722,6 +722,11 @@ static const char *memory_units_hint = gettext_noop("Valid units for this parame
|
||||
|
||||
static const unit_conversion memory_unit_conversion_table[] =
|
||||
{
|
||||
{"GB", GUC_UNIT_BYTE, 1024 * 1024 * 1024},
|
||||
{"MB", GUC_UNIT_BYTE, 1024 * 1024},
|
||||
{"kB", GUC_UNIT_BYTE, 1024},
|
||||
{"B", GUC_UNIT_BYTE, 1},
|
||||
|
||||
{"TB", GUC_UNIT_KB, 1024 * 1024 * 1024},
|
||||
{"GB", GUC_UNIT_KB, 1024 * 1024},
|
||||
{"MB", GUC_UNIT_KB, 1024},
|
||||
@ -2863,11 +2868,7 @@ static struct config_int ConfigureNamesInt[] =
|
||||
{"track_activity_query_size", PGC_POSTMASTER, RESOURCES_MEM,
|
||||
gettext_noop("Sets the size reserved for pg_stat_activity.query, in bytes."),
|
||||
NULL,
|
||||
|
||||
/*
|
||||
* There is no _bytes_ unit, so the user can't supply units for
|
||||
* this.
|
||||
*/
|
||||
GUC_UNIT_BYTE
|
||||
},
|
||||
&pgstat_track_activity_query_size,
|
||||
1024, 100, 102400,
|
||||
@ -8113,6 +8114,9 @@ GetConfigOptionByNum(int varnum, const char **values, bool *noshow)
|
||||
{
|
||||
switch (conf->flags & (GUC_UNIT_MEMORY | GUC_UNIT_TIME))
|
||||
{
|
||||
case GUC_UNIT_BYTE:
|
||||
values[2] = "B";
|
||||
break;
|
||||
case GUC_UNIT_KB:
|
||||
values[2] = "kB";
|
||||
break;
|
||||
|
@ -219,6 +219,7 @@ typedef enum
|
||||
#define GUC_UNIT_BLOCKS 0x2000 /* value is in blocks */
|
||||
#define GUC_UNIT_XBLOCKS 0x3000 /* value is in xlog blocks */
|
||||
#define GUC_UNIT_MB 0x4000 /* value is in megabytes */
|
||||
#define GUC_UNIT_BYTE 0x8000 /* value is in bytes */
|
||||
#define GUC_UNIT_MEMORY 0xF000 /* mask for size-related units */
|
||||
|
||||
#define GUC_UNIT_MS 0x10000 /* value is in milliseconds */
|
||||
|
Loading…
Reference in New Issue
Block a user