reindexdb — reindexa um banco de dados do PostgreSQL
reindexdb [opção_de_conexão...] [opção...]
[
-S | --schema
esquema
]
...
[
-t | --table
tabela
]
...
[
-i | --index
índice
]
...
[
-s | --system
]
[
nome_do_banco_de_dados | -a | --all
]
O reindexdb é um utilitário para reconstruir índices em um banco de dados do PostgreSQL.
O reindexdb é um invólucro em torno do comando REINDEX do SQL. Não há diferença efetiva entre reindexar bancos de dados por meio desse utilitário ou por meio de outros métodos de acesso ao servidor.
O reindexdb aceita os seguintes argumentos de linha de comando:
-a--allReindexa todos os bancos de dados.
--concurrently
Usa a opção CONCURRENTLY.
Veja o comando REINDEX, onde todas as
ressalvas dessa opção são explicadas em detalhes.
[-d] nome_do_banco_de_dados[--dbname=]nome_do_banco_de_dados
Especifica o nome do banco de dados a ser reindexado, quando
não é usado -a ou --all.
Se não for especificado, o nome do banco de dados será lido
da variável de ambiente PGDATABASE.
Se esta variável não estiver definida, será usado o nome de
usuário especificado para a conexão.
O nome_do_banco_de_dados pode ser uma
cadeia de caracteres de conexão.
Neste caso, os parâmetros da cadeia de caracteres de conexão
têm precedência sobre quaisquer opções de linha de comando
conflitantes.
-e--echoMostra os comandos que o reindexdb gera e envia para o servidor.
-i índice--index=índice
Recria apenas este
índice.
Podem ser recriados vários índices, escrevendo várias vezes a
opção -i.
-j número_de_processos--jobs=número_de_processos
Executa os comandos de reindexação em paralelo, executando o
número_de_processos
comandos simultaneamente.
Esta opção pode reduzir o tempo de processamento, porém aumenta
a carga no servidor de banco de dados.
O reindexdb irá abrir o
número_de_processos
conexões com o servidor de banco de dados, portanto, é necessário
que a configuração de max_connections
seja alta o suficiente para acomodar todas as conexões.
Note que esta opção é incompatível com a opção
--index.
-q--quietNão mostra as mensagens de progresso.
-s--systemReindexa apenas os catálogos do sistema do banco de dados.
-S esquema--schema=esquema
Reindexa apenas o
esquema.
Podem ser reindexados vários esquemas, escrevendo várias vezes
a opção -S.
-t tabela--table=tabela
Reindexa apenas a
tabela.
Podem ser reindexadas várias tabelas, escrevendo várias vezes
a opção -t.
--tablespace=espaço_de_tabelasEspecifica o espaço de tabelas cujos índices serão reconstruídos. (Este nome é processado como um identificador entre aspas.)
-v--verboseMostra informações detalhadas durante o processamento.
-V--versionMostra a versão do reindexdb, e termina.
-?--helpMostra a ajuda sobre os argumentos de linha de comando do reindexdb, e termina.
O reindexdb também aceita os seguintes argumentos de linha de comando para parâmetros de conexão:
-h hospedeiro--host=hospedeiroEspecifica o nome de hospedeiro da máquina na qual o servidor está sendo executado. Se começar com uma barra, será usado como o diretório para o soquete de domínio Unix.
-p porta--port=portaEspecifica a porta TCP, ou a extensão de arquivo de soquete de domínio Unix local, na qual o servidor está aguardando conexões.
-U nome_do_usuário--username=nome_do_usuárioNome de usuário para se conectar como.
-w--no-password
Nunca emite uma solicitação de senha.
Se o servidor exigir autenticação por senha, e uma senha não
estiver disponível por outros meios, como o arquivo
.pgpass, a tentativa de conexão irá falhar.
Esta opção pode ser útil em tarefas em lote e scripts nos quais
nenhum usuário está presente para inserir uma senha.
-W--passwordForça o reindexdb solicitar uma senha antes de se conectar a um banco de dados.
Esta opção nunca é essencial, porque o
reindexdb solicita automaticamente
a senha se o servidor exigir autenticação por senha.
No entanto, o reindexdb irá desperdiçar
uma tentativa de conexão ao descobrir que o servidor pede uma senha.
Em alguns casos vale a pena digitar -W para
evitar a tentativa extra de conexão.
--maintenance-db=nome_do_banco_de_dados
Quando é usada a opção -a/--all,
conecte-se a este banco de dados para obter a lista de
bancos de dados a serem reindexados.
Se não for especificado, será usado o banco de dados
postgres, ou se este não existir, será usado
o banco de dados template1.
Pode ser uma
cadeia de caracteres de conexão.
Neste caso, os parâmetros da cadeia de caracteres de conexão
têm precedência sobre quaisquer opções de linha de comando
conflitantes.
Além disso, os parâmetros da cadeia de caracteres de conexão
diferentes do próprio nome do banco de dados serão reutilizados
ao se conectar aos outros bancos de dados.
PGDATABASEPGHOSTPGPORTPGUSERParâmetros de conexão padrão
PG_COLOR
Especifica se devem ser usadas cores nas mensagens de diagnóstico.
Os valores possíveis são always,
auto e never.
Este utilitário, como a maioria dos outros utilitários do PostgreSQL, também usa as variáveis de ambiente com suporte pela libpq (veja Variáveis de ambiente).
Em caso de dificuldade, veja o comando REINDEX e o utilitário psql para obter informações sobre possíveis problemas e mensagens de erro. O servidor de banco de dados deverá estar ativo no hospedeiro especificado. Além disso, se aplicam todas as configurações de conexão padrão e variáveis de ambiente usadas pela biblioteca cliente libpq.
Para reindexar o banco de dados test:
$reindexdb test
Para reindexar a tabela foo e o índice
bar em um banco de dados chamado
abcd:
$reindexdb --table=foo --index=bar abcd