clusterdb — кластеризация базы данных Digital Q.DataBase
clusterdb [connection-option...] [option...]
[
--table | -t
table
]
... [
dbname | -a | --all
]
clusterdb — это утилита для повторной кластеризации таблиц в базе данных Digital Q.DataBase. Она находит таблицы, которые ранее были кластеризованы, и кластеризует их снова по тому же индексу, который использовался в последний раз. Таблицы, которые никогда не были кластеризованы, не затрагиваются.
clusterdb является оболочкой для SQL-команды CLUSTER. Нет никакой практической разницы между кластеризацией баз данных с помощью этой утилиты и другими методами доступа к серверу.
clusterdb принимает следующие аргументы командной строки:
-a--allКластеризовать все базы данных.
[-d] dbname[--dbname=]dbname
Задает имя базы данных для кластеризации,
когда не используется -a/--all.
Если этот параметр не указан, имя базы данных считывается
из переменной окружения PGDATABASE. Если
она не установлена, используется имя пользователя, указанное для подключения.
Параметр dbname может быть строкой подключения. Если это так,
параметры строки подключения переопределят любые конфликтующие параметры
командной строки.
-e--echoВыводить команды, которые clusterdb генерирует и отправляет на сервер.
-q--quietНе отображать сообщения о прогрессе.
-t table--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 автоматически запросит
пароль, если сервер требует аутентификации по паролю.
Однако clusterdb потратит одну
попытку подключения, чтобы выяснить, что серверу нужен пароль.
В некоторых случаях стоит ввести -W, чтобы избежать дополнительной
попытки подключения.
--maintenance-db=dbname
Задает имя базы данных для подключения, чтобы определить, какие
базы данных должны быть кластеризованы,
когда используется -a/--all.
Если не указано, будет использоваться база данных postgres,
или, если она не существует, template1.
Это может быть строка
подключения. Если это так, параметры строки подключения переопределят любые
конфликтующие параметры командной строки. Кроме того, параметры строки подключения,
кроме самого имени базы данных, будут повторно использоваться при подключении
к другим базам данных.
PGDATABASEPGHOSTPGPORTPGUSERПараметры подключения по умолчанию.
PG_COLOR
Определяет, использовать ли цвет в диагностических сообщениях. Возможные значения:
always (всегда), auto (автоматически) и
never (никогда).
Эта утилита, как и большинство других утилит Digital Q.DataBase, также использует переменные окружения, поддерживаемые libpq (см. Раздел 4.1.15).
В случае возникновения затруднений см. CLUSTER и psql для обсуждения потенциальных проблем и сообщений об ошибках. Сервер базы данных должен быть запущен на целевом хосте. Также применяются любые настройки подключения по умолчанию и переменные окружения, используемые клиентской библиотекой libpq.
Чтобы кластеризовать базу данных test:
$clusterdb test
Чтобы кластеризовать отдельную таблицу
foo в базе данных с именем
xyzzy:
$clusterdb --table=foo xyzzy