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