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

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

Синтаксис

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

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

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

Описание

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

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

Параметры

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

АргументОписание
-a, --allПереиндексировать все базы данных
--concurrentlyИспользовать параметр CONCURRENTLY. См. REINDEX для получения дополнительной информации
[-d] dbname, [--dbname=]dbnameУказывает имя базы данных для переиндексации. Если не указывать и не использовать параметр -a (или --all), имя базы данных считывается из переменной окружения PGDATABASE. Если не установлена переменная окружения, используется имя пользователя, указанное в параметрах подключения
-e, --echoВыводить команды, которые reindexdb генерирует и отправляет на сервер
-i index, --index=indexПересоздать конкретный индекс. Несколько индексов можно воссоздать, написав несколько ключей -i
-q, --quietНе отображать сообщения о прогрессе выполнения
-s, --systemПереиднексировать системные каталоги
-S schema, --schema=schemaПереиндексировать конкретную схему. Несколько схем можно переиндексировать, написав несколько ключей -S
-t table, --table=tableПереиндексировать конкретную таблицу. Несколько таблиц можно переиндексировать, написав несколько ключей -t
-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 потратит одну дополнительную попытку подключения для аутентификации. В некоторых случаях стоит ввести -W, чтобы не делать эту попытку
--maintenance-db=dbnameЗадает имя базы данных для подключения, чтобы определить какие другие базы данных должны быть переиндексированы. Если не указано иное, будет использоваться база данных qhb, а если и её не существует, то будет использоваться template1

Окружение

PGDATABASE

PGHOST

PGPORT

PGUSER

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

PG_COLOR

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

Эта утилита, как и большинство других утилит QHB, также использует переменные окружения, поддерживаемые libpq.

Диагностика

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

Примечания

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

Примеры

Чтобы переиндексировать базу данных test:

$ reindexdb test`

Чтобы переиндексировать таблицу foo и индекса bar в базе данных abcd:

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

Смотрите Также

REINDEX