Re: [HACKERS] increasing the default WAL segment size

Поиск
Список
Период
Сортировка
От Beena Emerson
Тема Re: [HACKERS] increasing the default WAL segment size
Дата
Msg-id CAOG9ApHv-KiYwFeKA_=dh5Ve_oRdKOxw-e60QunR6YWUK2gpPw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] increasing the default WAL segment size  (Beena Emerson <memissemerson@gmail.com>)
Список pgsql-hackers
Hello all,

On Mon, Dec 19, 2016 at 3:14 PM, Beena Emerson <memissemerson@gmail.com> wrote:
Hello all,

Please find attached a patch to make wal segment size initdb configurable.

The attached patch removes --with-wal-segsize configure option and adds a new initdb option --wal-segsize. The module initdb passes the wal-segsize value into an environment variable which is used to overwrite the guc value wal_ segment_size and set the internal variables : XLogSegSize and XLOG_SEG_SIZE (xlog_internal.h). The default wal_segment_size is not changed but I have increased the maximum size to 1GB.

Since  XLOG_SEG_SIZE is now variable, it could not be used directly in src/bin modules and few macros and few changes had to be made: 
  -  in guc.c , remove GUC_UNIT_XSEGS which used XLOG_SEG_SIZE and introduce show functions for the guc which used the unit (min_wal_size and max_wal_size).
  -  For pg_basebackup, add new replication command SHOW_WAL_SEGSZ to fetch the wal_segment_size in bytes. 
  - pg_controldata, pg_resetxlog, pg_rewind, fetch the xlog_seg_size from the ControlFile.
  - Since pg_xlogdump reads the wal files, it uses the file size to determine the xlog_seg_size.
  - In pg_test_fsync, a buffer of size XLOG_SEG_SIZE was created, filled with random data and written to a temporary file to check for any write/fsync error before performing the tests. Since it does not affect the actual performance results, the XLOG_SEG_SIZE in the module is replaced with the default value (16MB).

Please note that the documents are not updated in this patch. 

Feedback and suggestions are welcome.

This patch has been added to the commit fest (https://commitfest.postgresql.org/12/921/

After further testing, I found that pg_standby contrib module does not work with the changes. I will fix it in the next version of the patch. Comments on the current patch are welcome. 


Thank you,

Beena Emerson

Have a Great Day!

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: [HACKERS] too low cost of Bitmap index scan
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: [HACKERS] Crash on promotion when recovery.conf is renamed