Перейти к основному содержимому

reindexdb

примечание

Эта страница переведена при помощи нейросети GigaChat.

reindexdb — переиндексирует базы данных PostgreSQL.

Синтаксис

reindexdb [connection-option...] [option...] [ -S | --schema schema ] ... [ -t | --table table ] ... [ -i | --index index ] ... [ -s | --system ] [ dbname | -a | --all ]

Описание

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

reindexdb является оболочкой для команды SQL REINDEX. По своей эффективности она не отличается от переиндексации базы данных другими способами, доступными в сервере PostgreSQL.

Параметры

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

-a
--all
Перестраивает все индексы базы данных.
--concurrently
Использует режим CONCURRENTLY. Описание режима подробно приведено в REINDEX.
-d dbname
--dbname=dbname
Задает имя базы данных для переиндексации, когда -a/--all не используется. Если параметр не указан, используется переменная среды PGDATABASE. Если она не установлена, применяется имя пользователя, указанное для подключения. dbname может быть строкой подключения. В этом случае параметры строки подключения имеют приоритет над одноименными параметрами командной строки.
-e
--echo
Выводит на экран команды, которые reindexdb отправляет на сервер.
-i index
--index=index
Выполняет повторную индексацию только указанного index. Параметр можно указать несколько раз для повторной индексации нескольких индексов.
-j njobs
--jobs=njobs
Запускает повторную индексацию в несколько потоков, выполняя до njobs операций одновременно. Это позволяет сократить общее время выполнения, но может повысить нагрузку на сервер.
примечание

Убедитесь, что параметр max_connections имеет достаточно высокое значение, чтобы вместить все соединения.

Параметр несовместим с параметрами --system.

-q
--quiet
Отключает вывод сообщений о ходе выполнения.
-s
--system
Выполняет повторную индексацию только системных каталогов базы данных.
-S schema
--schema=schema
Выполняет повторную индексацию только указанной схемы schema. Параметр можно указать несколько раз для повторной индексации нескольких схем.
-t table
--table=table
Выполняет повторную индексацию только указанной таблицы table. Параметр можно указать несколько раз для повторной индексации нескольких таблиц.
--tablespace=tablespace
Определяет табличное пространство, в котором должны быть заново созданы индексы. Имя пространства воспринимается как идентификатор в двойных кавычках.
-v
--verbose
Выводит подробную информацию во время процесса.
-V
--version
Выводит версию reindexdb и завершается.
-?
--help
Показывает справку о параметрах командной строки утилиты reindexdb и завершается.
-h host
--host=host
Указывает хост компьютера, на котором запущен сервер. Если значение начинается с косой черты, оно определяет каталог Unix-сокета.
-p port
--port=port
Указывает TCP-порт или расширение файла локального Unix-сокета для подключения к серверу.
-U username
--username=username
Указывает имя пользователя для подключения.
-w
--no-password
Отключает запрос на ввод пароля. Если сервер требует аутентификации по паролю и пароль недоступен другими способами, такими как файл .pgpass, попытка подключения завершится неудачей. Параметр полезен в пакетных заданиях и сценариях, где нет пользователя, который мог бы ввести пароль.
-W
--password
Запрашивает пароль перед подключением к основному серверу.

Параметр не является обязательным, поскольку reindexdb автоматически запросит пароль, если сервер требует аутентификацию паролем. Однако утилита потратит попытку подключения, чтобы выяснить, что сервер хочет пароль. В некоторых случаях стоит ввести -W, чтобы избежать дополнительной попытки подключения.

--maintenance-db=dbname
Указывает имя базы данных, к которой нужно подключиться для определения подлежащих переиндексации баз данных, когда используется параметр -a /--all. Если параметр не задан, используется база postgres. Если она отсутствует или совпадает с удаляемой, применяется template1.

Также можно передать строку подключения. В этом случае параметры строки подключения имеют приоритет над одноименными параметрами командной строки. Кроме того, параметры строки подключения, отличные от самого имени базы данных, будут повторно использованы при подключении к другим базам данных.

Переменные окружения

Утилита поддерживает переменные окружения:

  • PGDATABASE
  • PGHOST
  • PGPORT
  • PGUSER
  • PG_COLOR

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

Утилита reindexdb использует переменные окружения, поддерживаемые libpq.

Диагностика

В случае возникновения трудностей, обратитесь в разделы REINDEX и psql.

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

Примеры

Повторное индексирование базы данных test:

$ reindexdb test

Повторное индексирование таблицы foo и индекса bar в базе данных с именем abcd:

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

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

REINDEX