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`