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.Также можно передать строку подключения. В этом случае параметры строки подключения имеют приоритет над одноименными параметрами командной строки. Кроме того, параметры строки подключения, отличные от самого имени базы данных, будут повторно использованы при подключении к другим базам данных.
Переменные окружения#
Утилита поддерживает переменные окружения:
PGDATABASEPGHOSTPGPORTPGUSERPG_COLOR
PG_COLOR указывает, использовать ли цвет в диагностических сообщениях. Возможные значения — always, auto и never.
Утилита reindexdb использует переменные окружения, поддерживаемые libpq.
Диагностика#
В случае возникновения трудностей, обратитесь в разделы REINDEX и psql.
Сервер базы данных должен быть запущен на целевом хосте. Кроме того, будут применяться стандартные настройки подключения и переменные окружения, применяемые библиотекой интерфейса libpq.
Примеры#
Повторное индексирование базы данных test:
$ reindexdb test
Повторное индексирование таблицы foo и индекса bar в базе данных с именем abcd:
$ reindexdb --table=foo --index=bar abcd