postgres_fdw: Extend postgres_fdw_get_connections to return user name.
[pgsql.git] / src / bin / scripts / t / 091_reindexdb_all.pl
blob7f5068667e3b7d53b7841afa3333b03967be0c46
2 # Copyright (c) 2021-2024, PostgreSQL Global Development Group
4 use strict;
5 use warnings FATAL => 'all';
7 use PostgreSQL::Test::Cluster;
8 use Test::More;
10 my $node = PostgreSQL::Test::Cluster->new('main');
11 $node->init;
12 $node->start;
14 $ENV{PGOPTIONS} = '--client-min-messages=WARNING';
16 $node->safe_psql('postgres',
17 'CREATE TABLE test1 (a int); CREATE INDEX test1x ON test1 (a);');
18 $node->safe_psql('template1',
19 'CREATE TABLE test1 (a int); CREATE INDEX test1x ON test1 (a);');
20 $node->issues_sql_like(
21 [ 'reindexdb', '-a' ],
22 qr/statement: REINDEX.*statement: REINDEX/s,
23 'reindex all databases');
24 $node->issues_sql_like(
25 [ 'reindexdb', '-a', '-s' ],
26 qr/statement: REINDEX SYSTEM postgres/s,
27 'reindex system catalogs in all databases');
28 $node->issues_sql_like(
29 [ 'reindexdb', '-a', '-S', 'public' ],
30 qr/statement: REINDEX SCHEMA public/s,
31 'reindex schema in all databases');
32 $node->issues_sql_like(
33 [ 'reindexdb', '-a', '-i', 'test1x' ],
34 qr/statement: REINDEX INDEX public\.test1x/s,
35 'reindex index in all databases');
36 $node->issues_sql_like(
37 [ 'reindexdb', '-a', '-t', 'test1' ],
38 qr/statement: REINDEX TABLE public\.test1/s,
39 'reindex table in all databases');
41 $node->safe_psql(
42 'postgres', q(
43 CREATE DATABASE regression_invalid;
44 UPDATE pg_database SET datconnlimit = -2 WHERE datname = 'regression_invalid';
45 ));
46 $node->command_ok([ 'reindexdb', '-a' ],
47 'invalid database not targeted by reindexdb -a');
49 # Doesn't quite belong here, but don't want to waste time by creating an
50 # invalid database in 090_reindexdb.pl as well.
51 $node->command_fails_like(
52 [ 'reindexdb', '-d', 'regression_invalid' ],
53 qr/FATAL: cannot connect to invalid database "regression_invalid"/,
54 'reindexdb cannot target invalid database');
56 done_testing();