clusterdb
Эта страница переведена при помощи нейросети GigaChat.
clusterdb — кластеризует базы данных PostgreSQL
Синтаксис
clusterdb [connection-option...] [option...] [ --table | -t table ] ... [ dbname | -a | --all ]
Описание
clusterdb — утилита для повторной кластеризации таблиц в базе данных PostgreSQL. Она находит таблицы, которые уже были кластеризованы, и снова кластеризует их, используя тот же индекс, что и в последний раз. Таблицы, которые ранее не были кластеризовались, остаются без изменений.
clusterdb является оболочкой для команды SQL CLUSTER. По своей эффективности она не отличается от выполнения кластеризации другими способами, доступными в сервере PostgreSQL.
Параметры
Для утилиты clusterdb существуют следующие параметры командной строки:
-a--all- Кластеризует все базы данных.
-d dbname--dbname=dbname- Задает имя базы данных, которую нужно кластеризовать, если не применяется параметр
-a/--all. Еслиdbnameне задан, имя базы данных берется из переменной окруженияPGDATABASE, а при ее отсутствии — из имени пользователя, указанного при подключении. Также можно передать строку соединения. В этом случае параметры строки подключения имеют приоритет над одноименными параметрами командной строки.
-e--echo- Выводит на экран команды, которые
clusterdbотправляет на сервер.
-q--quiet- Отключает вывод сообщений о ходе выполнения.
-t table--table=table- Выполняет кластеризацию только указанной таблицы
table. Параметр можно указать несколько раз для кластеризации нескольких таблиц.
-v--verbose- Выводить подробную информацию во время обработкиВключает расширенный вывод информации.
-V--version- Выводит версию
clusterdbи завершается.
-?--help- Показывает справку о параметрах командной строки утилиты
clusterdbи завершается.
-h host--host=host- Указывает хост компьютера, на котором запущен сервер. Если значение начинается с косой черты, оно определяет каталог Unix-сокета.
-p port--port=port- Указывает TCP-порт или расширение файла локального Unix-сокета для подключения к серверу.
-U username--username=username- Указывает имя пользователя для подключения.
-w--no-password- Отключает запрос на ввод пароля. Если сервер требует аутентификации по паролю и пароль недоступен другими способами, такими как файл
.pgpass, попытка подключения завершится неудачей. Параметр полезен в пакетных заданиях и сценариях, где нет пользователя, который мог бы ввести пароль.
-W--password- Запрашивает пароль перед подключением к основному серверу.
Параметр не является обязательным, поскольку
clusterdbавтоматически запросит пароль, если сервер требует аутентификацию паролем. Однако утилита потратит попытку подключения, чтобы выяснить, что сервер хочет пароль. В некоторых случаях стоит ввести-W, чтобы избежать дополнительной попытки подключения.
--maintenance-db=dbname- Определяет базу данных, к которой следует подключиться для получения списка баз данных, подлежащих кластеризации при использовании параметра
-a/--all. Если параметр не указан, по умолчанию будет использоваться базаpostgres, если она отсутствует —template1.Также можно передать строку подключения. В этом случае параметры строки подключения имеют приоритет над одноименными параметрами командной строки. Все настройки строки подключения (кроме имени базы данных) будут использоваться и для подключения к другим базам.
Переменные окружения
Утилита поддерживает переменные окружения:
PGDATABASEPGHOSTPGPORTPGUSERPG_COLOR
PG_COLOR указывает, использовать ли цвет в диагностических сообщениях. Возможные значения — always, auto и never.
Утилита clusterdb использует переменные окружения, поддерживаемые libpq.
Диагностика
В случае возникновения трудностей, обратитесь в разделы CLUSTER и psql.
Сервер базы данных должен быть запущен на целевом хосте. Кроме того, будут применяться стандартные настройки подключения и переменные окружения, применяемые библиотекой интерфейса libpq.
Примеры
Кластеризация базы данных test:
$ clusterdb test
Группировка одной таблицы foo в базе данных с именем xyzzy:
$ clusterdb --table=foo xyzzy