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