diff options
author | Simon Riggs <simon@2ndQuadrant.com> | 2017-04-04 18:00:01 -0400 |
---|---|---|
committer | Simon Riggs <simon@2ndQuadrant.com> | 2017-04-04 18:00:01 -0400 |
commit | 9a3215026bd6955e88bd8c20542cfe6acffdb1c8 (patch) | |
tree | 7945dfcf314642e5ef237d4f88ef2cdda051b74e /src/backend/utils/misc/guc.c | |
parent | cd740c0dbfb3038eea2e921e82e2f5345d0718c5 (diff) | |
download | postgresql-9a3215026bd6955e88bd8c20542cfe6acffdb1c8.tar.gz postgresql-9a3215026bd6955e88bd8c20542cfe6acffdb1c8.zip |
Make min_wal_size/max_wal_size use MB internally
Previously they were defined using multiples of XLogSegSize.
Remove GUC_UNIT_XSEGS. Introduce GUC_UNIT_MB
Extracted from patch series on XLogSegSize infrastructure.
Beena Emerson
Diffstat (limited to 'src/backend/utils/misc/guc.c')
-rw-r--r-- | src/backend/utils/misc/guc.c | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 8b5f064d4eb..a57b175b2d3 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -729,6 +729,11 @@ static const unit_conversion memory_unit_conversion_table[] = {"MB", GUC_UNIT_KB, 1024}, {"kB", GUC_UNIT_KB, 1}, + {"TB", GUC_UNIT_MB, 1024 * 1024}, + {"GB", GUC_UNIT_MB, 1024}, + {"MB", GUC_UNIT_MB, 1}, + {"kB", GUC_UNIT_MB, -1024}, + {"TB", GUC_UNIT_BLOCKS, (1024 * 1024 * 1024) / (BLCKSZ / 1024)}, {"GB", GUC_UNIT_BLOCKS, (1024 * 1024) / (BLCKSZ / 1024)}, {"MB", GUC_UNIT_BLOCKS, 1024 / (BLCKSZ / 1024)}, @@ -739,11 +744,6 @@ static const unit_conversion memory_unit_conversion_table[] = {"MB", GUC_UNIT_XBLOCKS, 1024 / (XLOG_BLCKSZ / 1024)}, {"kB", GUC_UNIT_XBLOCKS, -(XLOG_BLCKSZ / 1024)}, - {"TB", GUC_UNIT_XSEGS, (1024 * 1024 * 1024) / (XLOG_SEG_SIZE / 1024)}, - {"GB", GUC_UNIT_XSEGS, (1024 * 1024) / (XLOG_SEG_SIZE / 1024)}, - {"MB", GUC_UNIT_XSEGS, -(XLOG_SEG_SIZE / (1024 * 1024))}, - {"kB", GUC_UNIT_XSEGS, -(XLOG_SEG_SIZE / 1024)}, - {""} /* end of table marker */ }; @@ -2236,10 +2236,10 @@ static struct config_int ConfigureNamesInt[] = {"min_wal_size", PGC_SIGHUP, WAL_CHECKPOINTS, gettext_noop("Sets the minimum size to shrink the WAL to."), NULL, - GUC_UNIT_XSEGS + GUC_UNIT_MB }, - &min_wal_size, - 5, 2, INT_MAX, + &min_wal_size_mb, + 5 * (XLOG_SEG_SIZE/ (1024 * 1024)), 2, MAX_KILOBYTES, NULL, NULL, NULL }, @@ -2247,10 +2247,10 @@ static struct config_int ConfigureNamesInt[] = {"max_wal_size", PGC_SIGHUP, WAL_CHECKPOINTS, gettext_noop("Sets the WAL size that triggers a checkpoint."), NULL, - GUC_UNIT_XSEGS + GUC_UNIT_MB }, - &max_wal_size, - 64, 2, INT_MAX, + &max_wal_size_mb, + 64 * (XLOG_SEG_SIZE/ (1024 * 1024)), 2, MAX_KILOBYTES, NULL, assign_max_wal_size, NULL }, @@ -8085,6 +8085,9 @@ GetConfigOptionByNum(int varnum, const char **values, bool *noshow) case GUC_UNIT_KB: values[2] = "kB"; break; + case GUC_UNIT_MB: + values[2] = "MB"; + break; case GUC_UNIT_BLOCKS: snprintf(buffer, sizeof(buffer), "%dkB", BLCKSZ / 1024); values[2] = pstrdup(buffer); @@ -8093,11 +8096,6 @@ GetConfigOptionByNum(int varnum, const char **values, bool *noshow) snprintf(buffer, sizeof(buffer), "%dkB", XLOG_BLCKSZ / 1024); values[2] = pstrdup(buffer); break; - case GUC_UNIT_XSEGS: - snprintf(buffer, sizeof(buffer), "%dMB", - XLOG_SEG_SIZE / (1024 * 1024)); - values[2] = pstrdup(buffer); - break; case GUC_UNIT_MS: values[2] = "ms"; break; |