Add option force_initdb to PostgreSQL::Test::Cluster:init()
commitff9e1e764fcce9a34467d614611a34d4d2a91b50
authorMichael Paquier <michael@paquier.xyz>
Wed, 21 Feb 2024 04:28:51 +0000 (21 13:28 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 21 Feb 2024 04:28:51 +0000 (21 13:28 +0900)
tree03082e29c8e4b236e135fca88f675e7a1bc31a2e
parent75bcba6cbd2a6f62752d7917d9a3c0a52f8605c9
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: https://postgr.es/m/Zc1tX9lLonLGu6oH@paquier.xyz
src/bin/pg_combinebackup/t/005_integrity.pl
src/test/perl/PostgreSQL/Test/Cluster.pm