1REINDEXDB(1) PostgreSQL 13.3 Documentation REINDEXDB(1)
2
3
4
6 reindexdb - reindex a PostgreSQL database
7
9 reindexdb [connection-option...] [option...]
10 [ -S | --schema schema ]... [ -t | --table table ]...
11 [ -i | --index index ]... [dbname]
12
13 reindexdb [connection-option...] [option...] -a | --all
14
15 reindexdb [connection-option...] [option...] -s | --system [dbname]
16
18 reindexdb is a utility for rebuilding indexes in a PostgreSQL database.
19
20 reindexdb is a wrapper around the SQL command REINDEX(7). There is no
21 effective difference between reindexing databases via this utility and
22 via other methods for accessing the server.
23
25 reindexdb accepts the following command-line arguments:
26
27 -a
28 --all
29 Reindex all databases.
30
31 --concurrently
32 Use the CONCURRENTLY option. See REINDEX(7), where all the caveats
33 of this option are explained in detail.
34
35 [-d] dbname
36 [--dbname=]dbname
37 Specifies the name of the database to be reindexed, when -a/--all
38 is not used. If this is not specified, the database name is read
39 from the environment variable PGDATABASE. If that is not set, the
40 user name specified for the connection is used. The dbname can be a
41 connection string. If so, connection string parameters will
42 override any conflicting command line options.
43
44 -e
45 --echo
46 Echo the commands that reindexdb generates and sends to the server.
47
48 -i index
49 --index=index
50 Recreate index only. Multiple indexes can be recreated by writing
51 multiple -i switches.
52
53 -j njobs
54 --jobs=njobs
55 Execute the reindex commands in parallel by running njobs commands
56 simultaneously. This option may reduce the processing time but it
57 also increases the load on the database server.
58
59 reindexdb will open njobs connections to the database, so make sure
60 your max_connections setting is high enough to accommodate all
61 connections.
62
63 Note that this option is incompatible with the --index and --system
64 options.
65
66 -q
67 --quiet
68 Do not display progress messages.
69
70 -s
71 --system
72 Reindex database's system catalogs.
73
74 -S schema
75 --schema=schema
76 Reindex schema only. Multiple schemas can be reindexed by writing
77 multiple -S switches.
78
79 -t table
80 --table=table
81 Reindex table only. Multiple tables can be reindexed by writing
82 multiple -t switches.
83
84 -v
85 --verbose
86 Print detailed information during processing.
87
88 -V
89 --version
90 Print the reindexdb version and exit.
91
92 -?
93 --help
94 Show help about reindexdb command line arguments, and exit.
95
96 reindexdb also accepts the following command-line arguments for
97 connection parameters:
98
99 -h host
100 --host=host
101 Specifies the host name of the machine on which the server is
102 running. If the value begins with a slash, it is used as the
103 directory for the Unix domain socket.
104
105 -p port
106 --port=port
107 Specifies the TCP port or local Unix domain socket file extension
108 on which the server is listening for connections.
109
110 -U username
111 --username=username
112 User name to connect as.
113
114 -w
115 --no-password
116 Never issue a password prompt. If the server requires password
117 authentication and a password is not available by other means such
118 as a .pgpass file, the connection attempt will fail. This option
119 can be useful in batch jobs and scripts where no user is present to
120 enter a password.
121
122 -W
123 --password
124 Force reindexdb to prompt for a password before connecting to a
125 database.
126
127 This option is never essential, since reindexdb will automatically
128 prompt for a password if the server demands password
129 authentication. However, reindexdb will waste a connection attempt
130 finding out that the server wants a password. In some cases it is
131 worth typing -W to avoid the extra connection attempt.
132
133 --maintenance-db=dbname
134 Specifies the name of the database to connect to to discover which
135 databases should be reindexed, when -a/--all is used. If not
136 specified, the postgres database will be used, or if that does not
137 exist, template1 will be used. This can be a connection string. If
138 so, connection string parameters will override any conflicting
139 command line options. Also, connection string parameters other than
140 the database name itself will be re-used when connecting to other
141 databases.
142
144 PGDATABASE
145 PGHOST
146 PGPORT
147 PGUSER
148 Default connection parameters
149
150 PG_COLOR
151 Specifies whether to use color in diagnostic messages. Possible
152 values are always, auto and never.
153
154 This utility, like most other PostgreSQL utilities, also uses the
155 environment variables supported by libpq (see Section 33.14).
156
158 In case of difficulty, see REINDEX(7) and psql(1) for discussions of
159 potential problems and error messages. The database server must be
160 running at the targeted host. Also, any default connection settings and
161 environment variables used by the libpq front-end library will apply.
162
164 reindexdb might need to connect several times to the PostgreSQL server,
165 asking for a password each time. It is convenient to have a ~/.pgpass
166 file in such cases. See Section 33.15 for more information.
167
169 To reindex the database test:
170
171 $ reindexdb test
172
173 To reindex the table foo and the index bar in a database named abcd:
174
175 $ reindexdb --table=foo --index=bar abcd
176
178 REINDEX(7)
179
180
181
182PostgreSQL 13.3 2021 REINDEXDB(1)