aboutsummaryrefslogtreecommitdiff
path: root/src/test/perl/PostgreSQL/Test/Cluster.pm
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2024-09-20 09:49:43 +0900
committerMichael Paquier <michael@paquier.xyz>2024-09-20 09:59:22 +0900
commitd35e29387870fecfdb52ffd4c93c651f0c7c1b43 (patch)
treeb4331aaec1b0b44b4c09c55dfffe1932b6fb010f /src/test/perl/PostgreSQL/Test/Cluster.pm
parent126ec0bc76d044d3a9eb86538b61242bf7da6db4 (diff)
downloadpostgresql-d35e29387870fecfdb52ffd4c93c651f0c7c1b43.tar.gz
postgresql-d35e29387870fecfdb52ffd4c93c651f0c7c1b43.zip
Add parameter "connstr" to PostgreSQL::Test::Cluster::background_psql
Like for Cluster::psql, this can be handy to force the use of a connection string with some values overriden, like a "host". Author: Aidar Imamov Discussion: https://postgr.es/m/ecacb079efc533aed3c234cbcb5b07b6@postgrespro.ru
Diffstat (limited to 'src/test/perl/PostgreSQL/Test/Cluster.pm')
-rw-r--r--src/test/perl/PostgreSQL/Test/Cluster.pm24
1 files changed, 18 insertions, 6 deletions
diff --git a/src/test/perl/PostgreSQL/Test/Cluster.pm b/src/test/perl/PostgreSQL/Test/Cluster.pm
index 143dc8c1015..90a842f96ab 100644
--- a/src/test/perl/PostgreSQL/Test/Cluster.pm
+++ b/src/test/perl/PostgreSQL/Test/Cluster.pm
@@ -2181,6 +2181,11 @@ returned. Set B<on_error_stop> to 0 to ignore errors instead.
Set a timeout for a background psql session. By default, timeout of
$PostgreSQL::Test::Utils::timeout_default is set up.
+=item connstr => B<value>
+
+If set, use this as the connection string for the connection to the
+backend.
+
=item replication => B<value>
If set, add B<replication=value> to the conninfo string.
@@ -2204,14 +2209,21 @@ sub background_psql
my $replication = $params{replication};
my $timeout = undef;
+ # Build the connection string.
+ my $psql_connstr;
+ if (defined $params{connstr})
+ {
+ $psql_connstr = $params{connstr};
+ }
+ else
+ {
+ $psql_connstr = $self->connstr($dbname);
+ }
+ $psql_connstr .= defined $replication ? " replication=$replication" : "";
+
my @psql_params = (
$self->installed_command('psql'),
- '-XAtq',
- '-d',
- $self->connstr($dbname)
- . (defined $replication ? " replication=$replication" : ""),
- '-f',
- '-');
+ '-XAtq', '-d', $psql_connstr, '-f', '-');
$params{on_error_stop} = 1 unless defined $params{on_error_stop};
$timeout = $params{timeout} if defined $params{timeout};