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`