pgsql: Add option force_initdb to PostgreSQL::Test::Cluster:init()

Started by Michael Paquierover 2 years ago1 messagescomitters
Jump to latest
#1Michael Paquier
michael@paquier.xyz

Add option force_initdb to PostgreSQL::Test::Cluster:init()

This option is useful to bypass the default behavior of init() which
would create the data folder of a new cluster by copying it from a
template previously initdb'd, if any. Copying the data folder is much
cheaper than running initdb, but some tests may want to force that. For
example, one scenario of pg_combinebackup updated in this commit needs a
different system ID for two nodes.

Previously, this could only be achieved by unsetting
$ENV{'INITDB_TEMPLATE'}, which could become a problem in complex node
setups by making tests less efficient.

Author: Amul Sul
Reviewed-by: Robert Haas, Michael Paquier
Discussion: /messages/by-id/Zc1tX9lLonLGu6oH@paquier.xyz

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/ff9e1e764fcce9a34467d614611a34d4d2a91b50

Modified Files
--------------
src/bin/pg_combinebackup/t/005_integrity.pl | 18 ++++++------------
src/test/perl/PostgreSQL/Test/Cluster.pm | 17 ++++++++++++-----
2 files changed, 18 insertions(+), 17 deletions(-)