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