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