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`