reindexdb

reindexdb — переиндексировать базу данных QHB


Синтаксис

reindexdb [параметр-подключения...] [параметр...] [ -S | --schema схема ] ... [ -t | --table таблица ] ... [ -i | --index индекс ] ... [имя_бд]

reindexdb [параметр-подключения...] [параметр...] -a | --all

reindexdb [параметр-подключения...] [параметр...] -s | --system [имя_бд]

Описание

reindexdb — это утилита для перестроения индексов в базе данных QHB.

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


Параметры

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

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

--concurrently
Использовать параметр CONCURRENTLY. Подробную информацию обо всех особенностях этого параметра см. на справочной странице команды REINDEX.

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

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

-i индекс
--index=индекс
Пересоздать только индекс. Задав ключ -i несколько раз, можно пересоздать несколько индексов.

-j число_заданий
--jobs= число_заданий
Выполнять команды переиндексации параллельно, запустив их одновременно в количестве число_заданий. Этот параметр может сократить время обработки, но при этом увеличивает нагрузку на сервер баз данных.
reindexdb откроет число_заданий соединений с базой данных, поэтому необходимо установить такое значение параметра max_connections, которое бы покрыло все эти соединения.
Обратите внимание, что этот параметр несовместим с параметрами --index и --system.

-q
--quiet
Не отображать сообщения о прогрессе выполнения.

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

-S схема
--schema=схема
Переиндексировать только схему. Задав ключ -S несколько раз, можно переиндексировать несколько схем.

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

--tablespace=табличное_пространство
Задает табличное пространство, где перестраиваются индексы. (Это имя обрабатывается как идентификатор в кавычках.)

-v
--verbose
Выводить подробную информацию во время обработки.

-V
--version
Вывести версию reindexdb и завершиться.

-?
--help
Показать справку об аргументах командной строки reindexdb и завершиться.

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

-h хост
--host=хост
Задает имя хост-компьютера, на котором работает сервер. Если значение начинается со слэша, оно используется в качестве каталога для сокета домена Unix.

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

-U имя_пользователя
--username=имя_пользователя
Имя пользователя, под которым производится подключение.

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

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

--maintenance-db=имя_бд
Задает имя базы данных, к которой будет производиться подключение для выявления подлежащих переиндексации баз данных, когда используется параметр -a/--all. Если этот параметр не указан, будет выбрана база данных qhb, а если она не существует — template1. В данном аргументе может задаваться строка подключения. В этом случае параметры в строке подключения переопределят все конфликтующие параметры в командной строке. Кроме того, параметры в строке подключения, отличающиеся от самого имени базы данных, будут повторно использоваться при подключении к другим базам данных.


Переменные среды

PGDATABASE
PGHOST
PGPORT
PGUSER
Параметры подключения по умолчанию.

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

Кроме того, эта утилита, как и большинство других утилит QHB, использует переменные среды, поддерживаемые libpq (см. раздел Переменные среды).


Диагностика

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


Примечания

Утилите reindexdb может потребоваться несколько раз подключиться к серверу QHB, каждый раз запрашивая пароль. В таких случаях удобно иметь файл ~/.pgpass. Дополнительную информацию см. в разделе Файл паролей.


Примеры

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

$ reindexdb test`

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

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

См. также

REINDEX