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
.Также можно передать строку подключения. В этом случае параметры строки подключения имеют приоритет над одноименными параметрами командной строки. Все настройки строки подключения (кроме имени базы данных) будут использоваться и для подключения к другим базам.
Переменные окружения
Утилита поддерживает переменные окружения:
PGDATABASE
PGHOST
PGPORT
PGUSER
PG_COLOR
PG_COLOR
указывает, использовать ли цвет в диагностических сообщениях. Возможные значения — always
, auto
и never
.
Утилита clusterdb
использует переменные окружения, поддерживаемые libpq
.
Диагностика
В случае возникновения трудностей, обратитесь в разделы CLUSTER и psql.
Сервер базы данных должен быть запущен на целевом хосте. Кроме того, будут применяться стандартные настройки подключения и переменные окружения, применяемые библиотекой интерфейса libpq
.
Примеры
Кластеризация базы данных test
:
$ clusterdb test
Группировка одной таблицы foo
в базе данных с именем xyzzy
:
$ clusterdb --table=foo xyzzy