reindexdb

reindexdb — reindexa una base de datos de PostgreSQL

Synopsis

reindexdb [connection-option...] [option...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]

Descripción

reindexdb es una utilidad para reconstruir índices en una base de datos de PostgreSQL.

reindexdb es un envoltorio alrededor del comando SQL REINDEX. No existe una diferencia efectiva entre reindexar bases de datos a través de esta utilidad y a través de otros métodos para acceder al servidor.

Opciones

reindexdb acepta los siguientes argumentos de línea de comandos:

-a
--all

Reindexa todas las bases de datos.

--concurrently

Utiliza la opción CONCURRENTLY. Consulta REINDEX, donde se explican detalladamente todas las advertencias de esta opción.

[-d] dbname
[--dbname=]dbname

Especifica el nombre de la base de datos a reindexar, cuando no se utiliza -a/--all. Si no se especifica, el nombre de la base de datos se lee de la variable de entorno PGDATABASE. Si esta no está establecida, se utiliza el nombre de usuario especificado para la conexión. El dbname puede ser una cadena de conexión. Si es así, los parámetros de la cadena de conexión anularán cualquier opción de línea de comandos en conflicto.

-e
--echo

Muestra los comandos que reindexdb genera y envía al servidor.

-i index
--index=index

Recrea únicamente el index especificado. Se pueden recrear múltiples índices escribiendo múltiples opciones -i.

-j njobs
--jobs=njobs

Ejecuta los comandos de reindexación en paralelo ejecutando njobs comandos simultáneamente. Esta opción puede reducir el tiempo de procesamiento, pero también aumenta la carga en el servidor de la base de datos.

reindexdb abrirá njobs conexiones a la base de datos, así que asegúrate de que tu configuración de max_connections sea lo suficientemente alta para admitir todas las conexiones.

Ten en cuenta que esta opción es incompatible con la opción --system.

-q
--quiet

No muestra mensajes de progreso.

-s
--system

Reindexa únicamente los catálogos del sistema de la base de datos.

-S schema
--schema=schema

Reindexa únicamente el schema especificado. Se pueden reindexar múltiples esquemas escribiendo múltiples opciones -S.

-t table
--table=table

Reindexa únicamente la table especificada. Se pueden reindexar múltiples tablas escribiendo múltiples opciones -t.

--tablespace=tablespace

Especifica el tablespace donde se reconstruyen los índices. (Este nombre se procesa como un identificador entre comillas dobles).

-v
--verbose

Muestra información detallada durante el procesamiento.

-V
--version

Muestra la versión de reindexdb y termina.

-?
--help

Muestra la ayuda sobre los argumentos de línea de comandos de reindexdb y termina.

reindexdb también acepta los siguientes argumentos de línea de comandos para los parámetros de conexión:

-h host
--host=host

Especifica el nombre de host de la máquina en la que se está ejecutando el servidor. Si el valor comienza con una barra diagonal, se utiliza como el directorio para el socket de dominio Unix.

-p port
--port=port

Especifica el puerto TCP o la extensión del archivo de socket de dominio Unix local en el que el servidor está escuchando las conexiones.

-U username
--username=username

Nombre de usuario con el que conectarse.

-w
--no-password

Nunca solicita una contraseña. Si el servidor requiere autenticación por contraseña y no hay una contraseña disponible por otros medios, como un archivo .pgpass, el intento de conexión fallará. Esta opción puede ser útil en trabajos por lotes y scripts donde no hay ningún usuario presente para introducir una contraseña.

-W
--password

Fuerza a reindexdb a solicitar una contraseña antes de conectarse a una base de datos.

Esta opción nunca es esencial, ya que reindexdb solicitará automáticamente una contraseña si el servidor exige autenticación por contraseña. Sin embargo, reindexdb desperdiciará un intento de conexión para descubrir que el servidor requiere una contraseña. En algunos casos, vale la pena escribir -W para evitar el intento de conexión adicional.

--maintenance-db=dbname

Cuando se utiliza -a/--all, se conecta a esta base de datos para obtener la lista de bases de datos que se van a reindexar. Si no se especifica, se utilizará la base de datos postgres, o si esta no existe, se utilizará template1. Esto puede ser una cadena de conexión. Si es así, los parámetros de la cadena de conexión anularán cualquier opción de línea de comandos en conflicto. Además, los parámetros de la cadena de conexión que no sean el nombre de la base de datos en sí se reutilizarán al conectarse a otras bases de datos.

Entorno

PGDATABASE
PGHOST
PGPORT
PGUSER

Parámetros de conexión predeterminados

PG_COLOR

Especifica si se debe usar color en los mensajes de diagnóstico. Los valores posibles son always (siempre), auto y never (nunca).

Esta utilidad, al igual que la mayoría de las demás utilidades de PostgreSQL, también utiliza las variables de entorno admitidas por libpq (consulta Section 32.15).

Diagnósticos

En caso de dificultades, consulta REINDEX y psql para obtener información sobre posibles problemas y mensajes de error. El servidor de la base de datos debe estar ejecutándose en el host de destino. Además, se aplicará cualquier configuración de conexión predeterminada y variable de entorno utilizada por la biblioteca frontend libpq.

Ejemplos

Para reindexar la base de datos test:

$ reindexdb test

Para reindexar la tabla foo and el índice bar en una base de datos llamada abcd:

$ reindexdb --table=foo --index=bar abcd

Véase también

REINDEX