reindexdb

reindexdb — reindexa um banco de dados do PostgreSQL

Sinopse

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 ]

Descrição

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.

Opções

O reindexdb aceita os seguintes argumentos de linha de comando:

-a
--all

Reindexa 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
--echo

Mostra 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
--quiet

Não mostra as mensagens de progresso.

-s
--system

Reindexa 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_tabelas

Especifica o espaço de tabelas cujos índices serão reconstruídos. (Este nome é processado como um identificador entre aspas.)

-v
--verbose

Mostra informações detalhadas durante o processamento.

-V
--version

Mostra a versão do reindexdb, e termina.

-?
--help

Mostra 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=hospedeiro

Especifica 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=porta

Especifica 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ário

Nome 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
--password

Forç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.

Variáveis de ambiente

PGDATABASE
PGHOST
PGPORT
PGUSER

Parâ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).

Diagnósticos

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.

Exemplos

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

Veja também

REINDEX