Hi, hackers!I've noticed that there is no way to specify a custom connection string when calling the PostgreSQL::Test::Cluster->background_psql() method compared to the PostgreSQL::Test:Cluster->psql(). It seems useful to have this feature while testing with BackgroundPsql, for example, when the default host value needs to
be overridden to establish different types of connections.
What do you think?
diff --git a/src/test/perl/PostgreSQL/Test/Cluster.pm b/src/test/perl/PostgreSQL/Test/Cluster.pm index 143dc8c101..ff0bda0c8d 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,12 +2209,23 @@ 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" : ""), + $psql_connstr, '-f', '-');