reindexdb#

reindexdb

reindexdb

reindexdb — переиндексировать базу данных Tantor SE-1C

Синтаксис

reindexdb [connection-option...] [option...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [dbname]

reindexdb [connection-option...] [option...] -a | --all

reindexdb [connection-option...] [option...] -s | --system [dbname]

Описание

reindexdb - это утилита для перестроения индексов в базе данных Tantor SE-1C.

reindexdb - это оболочка для SQL-команды REINDEX. Нет эффективной разницы между переиндексацией баз данных с помощью этой утилиты и другими методами доступа к серверу.

Опции

reindexdb принимает следующие аргументы командной строки:

-a
--all

Переиндексировать все базы данных.

--concurrently

Используйте опцию CONCURRENTLY. См. REINDEX, где подробно расписываются все пояснения по этой опции.

[-d] имя_базы_данных
[--dbname=]имя_базы_данных

Указывает имя базы данных, которую необходимо переиндексировать, когда не используется опция -a/--all. Если это не указано, имя базы данных считывается из переменной среды PGDATABASE. Если она не установлена, используется имя пользователя, указанное для подключения. dbname может быть строкой подключения. Если это так, параметры строки подключения переопределяют любые конфликтующие параметры командной строки.

-e
--echo

Отобразите команды, которые генерирует и отправляет на сервер reindexdb.

-i index
--index=index

Пересоздайте только index. Множественные индексы могут быть пересозданы путем написания нескольких переключателей -i.

-j njobs
--jobs=njobs

Выполните команды переиндексации параллельно, запустив njobs команд одновременно. Этот параметр может сократить время обработки, но также увеличивает нагрузку на сервер базы данных.

reindexdb откроет njobs соединений с базой данных, поэтому убедитесь, что значение параметра max_connections достаточно высоко для обеспечения всех соединений.

Обратите внимание, что эта опция несовместима с опциями --index и --system.

-q
--quiet

Не отображать сообщения о ходе выполнения.

-s
--system

Переиндексировать только системные каталоги базы данных.

-S schema
--schema=schema

Переиндексируйте только схему schema. Несколько схем могут быть переиндексированы, написав несколько переключателей -S.

-t table
--table=table

Переиндексируйте только table. Множество таблиц можно переиндексировать, написав несколько переключателей -t.

--tablespace=tablespace

Указывает табличное пространство имен, в котором перестраиваются индексы. (Это имя обрабатывается как двойные кавычки идентификатора).

-v
--verbose

Печатать подробную информацию во время обработки.

-V
--version

Выведите версию reindexdb и завершите работу.

-?
--help

Показать справку о командной строке для аргументов reindexdb и выйти.

reindexdb также принимает следующие аргументы командной строки для параметров подключения:

-h host
--host=host

Указывает имя хоста машины, на которой работает сервер. Если значение начинается с косой черты, оно используется в качестве каталога для Unix-доменного сокета.

-p port
--port=port

Указывает TCP-порт или расширение локального файла сокета Unix, на котором сервер прослушивает соединения.

-U username
--username=username

Имя пользователя для подключения.

-w
--no-password

Не запрашивать пароль. Если сервер требует аутентификации по паролю и пароль не доступен другими средствами, такими как файл .pgpass, попытка подключения завершится неудачей. Этот параметр может быть полезен в пакетных заданиях и скриптах, где отсутствует пользователь, чтобы ввести пароль.

-W
--password

Принудите reindexdb запросить пароль перед подключением к базе данных.

Эта опция никогда не является обязательной, так как reindexdb автоматически запросит пароль, если сервер требует аутентификацию по паролю. Однако reindexdb потратит попытку подключения, чтобы узнать, что сервер требует пароль. В некоторых случаях стоит набрать -W, чтобы избежать дополнительной попытки подключения.

--maintenance-db=dbname

Сообщает имя базы данных, к которой нужно подключиться для определения, какие базы данных должны быть переиндексированы, когда используется опция -a/--all. Если не указано, будет использоваться база данных postgres, или, если она не существует, будет использоваться база данных template1. Это может быть строка подключения. Если это так, параметры строки подключения будут переопределять любые конфликтующие параметры командной строки. Кроме того, параметры строки подключения, отличные от самого имени базы данных, будут использоваться при подключении к другим базам данных.

Окружение

PGDATABASE
PGHOST
PGPORT
PGUSER

Параметры подключения по умолчанию

PG_COLOR

Определяет, следует ли использовать цвет в диагностических сообщениях. Возможные значения: always, auto и never.

Эта утилита, как и большинство других утилит Tantor SE-1C, также использует переменные среды, поддерживаемые libpq (см. Раздел 31.15).

Диагностика

В случае затруднений см. REINDEX и psql для обсуждения возможных проблем и сообщений об ошибках. Сервер базы данных должен работать на целевом хосте. Кроме того, будут применяться любые настройки соединения по умолчанию и переменные среды, используемые фронтенд библиотекой libpq.

Примечания

reindexdb может потребоваться подключиться несколько раз к серверу Tantor SE-1C, запрашивая пароль каждый раз. В таких случаях удобно иметь файл ~/.pgpass. См. Раздел 31.16 для получения дополнительной информации.

Примеры

Для переиндексации базы данных test:

$ reindexdb test

Для переиндексации таблицы foo и индекса bar в базе данных с именем abcd:

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

См. также

REINDEX