reindexdb — переиндексировать базу данных Postgres Pro
reindexdb [параметр-подключения...] [параметр...]
[
--schema | -S
схема
]
...
[
--table | -t
таблица
]
...
[
--index | -i
индекс
]
... [имя_бд]
reindexdb [параметр-подключения...] [параметр...] --all | -a
reindexdb [параметр-подключения...] [параметр...] --system | -s [имя_бд]
Утилита reindexdb предназначена для перестроения индексов в базе данных Postgres Pro.
Утилита reindexdb представляет собой обёртку SQL-команды REINDEX. Переиндексация базы данных с её помощью по сути не отличается от переиндексации при обращении к серверу другими способами.
reindexdb принимает следующие аргументы командной строки:
-a--allПереиндексировать все базы данных.
[-d] имя_бд[--dbname=]имя_бдЗадаёт имя базы данных, подлежащей переиндексации. Если это имя не задано и отсутствует параметр -a (или --all), имя базы данных берётся из переменной окружения PGDATABASE. Если и эта переменная не задана, выбирается имя подключающегося пользователя.
-e--echoВыводить команды, которые reindexdb генерирует и передаёт серверу.
-i индекс--index=индексПересоздать только указанный индекс. Добавив дополнительные ключи -i, можно пересоздать несколько индексов.
-q--quietПодавлять вывод сообщений о прогрессе выполнения.
-s--systemПереиндексировать системные каталоги базы данных.
-S схема--schema=схемаПереиндексировать только указанную схему. Переиндексировать несколько схем можно, добавив несколько ключей -S.
-t таблица--table=таблицаПереиндексировать только указанную таблицу. Переиндексировать несколько таблиц можно, добавив несколько ключей -t.
-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=имя_бдЗадаёт имя базы данных, через подключение к которой будут находиться другие базы, подлежащие переиндексации. По умолчанию используется postgres, а в случае её отсутствия — template1.
PGDATABASEPGHOSTPGPORTPGUSERПараметры подключения по умолчанию
Эта утилита, как и большинство других утилит Postgres Pro, также использует переменные среды, поддерживаемые libpq (см. Раздел 34.14).
В случае возникновения трудностей, обратитесь к описаниям REINDEX и psql, где обсуждаются потенциальные проблемы и сообщения об ошибках. Учтите, что на целевом компьютере должен работать сервер баз данных. При этом применяются все свойства подключения по умолчанию и переменные окружения, которые использует клиентская библиотека libpq.
Утилите reindexdb может потребоваться подключаться к серверу Postgres Pro несколько раз, и при этом она будет каждый раз запрашивать пароль. В таких случаях удобно иметь файл ~/.pgpass. За дополнительными сведениями обратитесь к Разделу 34.15.
Переиндексирование базы данных test:
$reindexdb test
Переиндексирование таблицы foo и индекса bar в базе данных abcd:
$reindexdb --table=foo --index=bar abcd