reindexdb
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 (см. Раздел 31.14).
Диагностика
В случае возникновения трудностей, обратитесь к описаниям REINDEX и psql, где обсуждаются потенциальные проблемы и сообщения об ошибках. Учтите, что на целевом компьютере должен работать сервер баз данных. При этом применяются все свойства подключения по умолчанию и переменные окружения, которые использует клиентская библиотека libpq.
Замечания
Утилите reindexdb может потребоваться подключаться к серверу Postgres Pro несколько раз, и при этом она будет каждый раз запрашивать пароль. В таких случаях удобно иметь файл ~/.pgpass. За дополнительными сведениями обратитесь к Разделу 31.15.
Примеры
Переиндексирование базы данных test:
$reindexdb test
Переиндексирование таблицы foo и индекса bar в базе данных abcd:
$reindexdb --table foo --index bar abcd