reindexdb — reindexa una base de datos de PostgreSQL
reindexdb [connection-option...] [option...]
[
-S | --schema
schema
]
...
[
-t | --table
table
]
...
[
-i | --index
index
]
...
[
-s | --system
]
[
dbname | -a | --all
]
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.
reindexdb acepta los siguientes argumentos de línea de comandos:
-a--allReindexa 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--echoMuestra 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--quietNo muestra mensajes de progreso.
-s--systemReindexa ú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=tablespaceEspecifica el tablespace donde se reconstruyen los índices. (Este nombre se procesa como un identificador entre comillas dobles).
-v--verboseMuestra información detallada durante el procesamiento.
-V--versionMuestra la versión de reindexdb y termina.
-?--helpMuestra 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=hostEspecifica 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=portEspecifica 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=usernameNombre 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--passwordFuerza 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.
PGDATABASEPGHOSTPGPORTPGUSERPará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).
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.
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