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