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
Параметры подключения по умолчанию
PG_COLOR
Выбирает вариант использования цвета в диагностических сообщениях. Возможные значения:
always
(всегда),auto
(автоматически) иnever
(никогда).
Эта утилита, как и большинство других утилит Postgres Pro, также использует переменные среды, поддерживаемые libpq (см. Раздел 36.14).
Диагностика
В случае возникновения трудностей, обратитесь к CLUSTER и psql. Переменные окружения и параметры подключения по умолчанию libpq будут применены при запуске утилиты, это следует учитывать при диагностике.
Примеры
Для кластеризации базы данных test
:
$
clusterdb test
Для кластеризации отдельной таблицы foo
базы данных xyzzy
:
$
clusterdb --table=foo xyzzy