clusterdb

clusterdb — кластеризовать базу данных QHB.


Синтаксис

clusterdb [параметр-подключения...] [ --verbose | -v ] [ --table | -t таблица ] ... [имя_бд]

clusterdb [параметр-подключения...] [ --verbose | -v ] --all | -a

Описание

clusterdb — это утилита для повторной кластеризации таблиц в базе данных QHB. Она находит ранее кластеризованные таблицы и снова кластеризует их на основании последнего использованного индекса. Таблицы, которые никогда не кластеризовались, не затрагиваются.

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. Если это имя не указано, будет выбрана база данных qhb, а если она не существует — template1. В данном аргументе может задаваться строка подключения. В этом случае параметры в строке подключения переопределят все конфликтующие параметры в командной строке. Кроме того, все параметры в строке подключения, за исключением самого имени базы данных, будут повторно использоваться при подключении к другим базам данных.


Переменные среды

PGDATABASE
PGHOST
PGPORT
PGUSER
Параметры подключения по умолчанию.

PG_COLOR
Указывает, использовать ли цвет в диагностических сообщениях. Возможные значения: always (всегда), auto (автоматически) и never (никогда).

Кроме того, эта утилита, как и большинство других утилит QHB, использует переменные среды, поддерживаемые libpq (см. раздел Переменные среды).


Диагностика

В случае возникновения затруднений обратитесь к справочным страницам CLUSTER и psql, где рассматриваются потенциальные проблемы и сообщения об ошибках. Сервер баз данных должен работать на целевом хосте. Кроме того, будут применяться параметры подключения и переменные среды, которые по умолчанию используются библиотекой libpq на стороне клиента.


Примеры

Выполнить кластеризацию базы данных test:

$ clusterdb test

Выполнить кластеризацию отдельной таблицы foo в базе данных xyzzy:

$ clusterdb --table=foo xyzzy

См. также

CLUSTER