reindexdb#
reindexdb
reindexdb — переиндексировать базу данных Tantor BE
Синтаксис
reindexdb [connection-option...] [option...]
[
-S | --schema
schema
]
...
[
-t | --table
table
]
...
[
-i | --index
index
]
... [dbname]
reindexdb [connection-option...] [option...] -a | --all
reindexdb [connection-option...] [option...] -s | --system [dbname]
Описание
reindexdb - это утилита для перестроения индексов в базе данных Tantor BE.
reindexdb - это оболочка для SQL-команды REINDEX.
Нет эффективной разницы между переиндексацией баз данных с помощью этой утилиты и другими методами доступа к серверу.
Опции
reindexdb принимает следующие аргументы командной строки:
-a--allПереиндексировать все базы данных.
--concurrentlyИспользуйте опцию
CONCURRENTLY. См. REINDEX, где подробно расписываются все пояснения по этой опции.[-d]имя_базы_данных[--dbname=]имя_базы_данныхУказывает имя базы данных, которую необходимо переиндексировать, когда не используется опция
-a/--all. Если это не указано, имя базы данных считывается из переменной средыPGDATABASE. Если она не установлена, используется имя пользователя, указанное для подключения.dbnameможет быть строкой подключения. Если это так, параметры строки подключения переопределяют любые конфликтующие параметры командной строки.-e--echoОтобразите команды, которые генерирует и отправляет на сервер reindexdb.
-iindex--index=indexПересоздайте только
index. Множественные индексы могут быть пересозданы путем написания нескольких переключателей-i.-jnjobs--jobs=njobsВыполните команды переиндексации параллельно, запустив
njobsкоманд одновременно. Этот параметр может сократить время обработки, но также увеличивает нагрузку на сервер базы данных.reindexdb откроет
njobsсоединений с базой данных, поэтому убедитесь, что значение параметра max_connections достаточно высоко для обеспечения всех соединений.Обратите внимание, что эта опция несовместима с опциями
--indexи--system.-q--quietНе отображать сообщения о ходе выполнения.
-s--systemПереиндексировать только системные каталоги базы данных.
-Sschema--schema=schemaПереиндексируйте только схему
schema. Несколько схем могут быть переиндексированы, написав несколько переключателей-S.-ttable--table=tableПереиндексируйте только
table. Множество таблиц можно переиндексировать, написав несколько переключателей-t.--tablespace=tablespaceУказывает табличное пространство имен, в котором перестраиваются индексы. (Это имя обрабатывается как двойные кавычки идентификатора).
-v--verboseПечатать подробную информацию во время обработки.
-V--versionВыведите версию reindexdb и завершите работу.
-?--helpПоказать справку о командной строке для аргументов reindexdb и выйти.
reindexdb также принимает следующие аргументы командной строки для параметров подключения:
-hhost--host=hostУказывает имя хоста машины, на которой работает сервер. Если значение начинается с косой черты, оно используется в качестве каталога для Unix-доменного сокета.
-pport--port=portУказывает TCP-порт или расширение локального файла сокета Unix, на котором сервер прослушивает соединения.
-Uusername--username=usernameИмя пользователя для подключения.
-w--no-passwordНе запрашивать пароль. Если сервер требует аутентификации по паролю и пароль не доступен другими средствами, такими как файл
.pgpass, попытка подключения завершится неудачей. Этот параметр может быть полезен в пакетных заданиях и скриптах, где отсутствует пользователь, чтобы ввести пароль.-W--passwordПринудите reindexdb запросить пароль перед подключением к базе данных.
Эта опция никогда не является обязательной, так как reindexdb автоматически запросит пароль, если сервер требует аутентификацию по паролю. Однако reindexdb потратит попытку подключения, чтобы узнать, что сервер требует пароль. В некоторых случаях стоит набрать
-W, чтобы избежать дополнительной попытки подключения.--maintenance-db=dbnameСообщает имя базы данных, к которой нужно подключиться для определения, какие базы данных должны быть переиндексированы, когда используется опция
-a/--all. Если не указано, будет использоваться база данныхpostgres, или, если она не существует, будет использоваться база данныхtemplate1. Это может быть строка подключения. Если это так, параметры строки подключения будут переопределять любые конфликтующие параметры командной строки. Кроме того, параметры строки подключения, отличные от самого имени базы данных, будут использоваться при подключении к другим базам данных.
Окружение
PGDATABASEPGHOSTPGPORTPGUSERПараметры подключения по умолчанию
PG_COLORОпределяет, следует ли использовать цвет в диагностических сообщениях. Возможные значения:
always,autoиnever.
Эта утилита, как и большинство других утилит Tantor BE, также использует переменные среды, поддерживаемые libpq (см. Раздел 31.15).
Диагностика
В случае затруднений см. REINDEX и psql для обсуждения возможных проблем и сообщений об ошибках. Сервер базы данных должен работать на целевом хосте. Кроме того, будут применяться любые настройки соединения по умолчанию и переменные среды, используемые фронтенд библиотекой libpq.
Примечания
reindexdb может потребоваться подключиться несколько раз к серверу Tantor BE, запрашивая пароль каждый раз. В таких случаях удобно иметь файл ~/.pgpass. См. Раздел 31.16 для получения дополнительной информации.
Примеры
Для переиндексации базы данных test:
$reindexdb test
Для переиндексации таблицы foo и индекса
bar в базе данных с именем abcd:
$reindexdb --table=foo --index=bar abcd