qhb-bootstrap

Утилита qhb_bootstrap создаёт новый кластер баз данных QHB.

Синтаксис

qhb_bootstrap [FLAGS] [OPTIONS] --data-dir <data-dir>

Описание

qhb_bootstrap создает новый кластер базы данных QHB. Кластер — это коллекция баз данных под управлением единого экземпляра сервера.

Инициализация кластера базы данных заключается в создании каталогов для хранения данных, формировании общих системных таблиц (относящихся ко всему кластеру, а не к какой-либо базе) и создании баз данных template1 и qhb. Впоследствии все новые базы создаются на основе шаблона template1 (все дополнения, установленные в template1 автоматически копируются в каждую новую базу данных). База qhb используется пользователями, утилитами и сторонними приложениями по умолчанию.

Безопасность

Утилита qhb_bootstrap должна выполняться от имени пользователя, под которым будет запускаться сервер, так как ему необходим полный доступ к файлам и каталогам, создаваемым qhb_bootstrap. Сервер не может запускаться от имени суперпользователя, поэтому выполнение утилиты qhb_bootstrap от его лица будет отклонено.

Из соображений безопасности новый кластер, созданный утилитой qhb_bootstrap, будет доступен только для владельца кластера. Ключ --allow-group-access позволяет разрешить чтение файлов в кластере всем пользователям, входящим в группу владельца кластера. Это полезно для выполнения резервного копирования от имени непривилегированного пользователя.

Не используйте метод аутентификации trust, если не можете доверять всем локальным пользователям в вашей системе. Режим trust используется по умолчанию для облегчения процесса установки.

Локализация

qhb_bootstrap инициализирует локали и кодировки баз данных кластера, которые будут использоваться по умолчанию. Кодировка, порядок сортировки (LC_COLLATE), классы наборов символов (LC_CTYPE, например, заглавные, строчные буквы, цифры) могут устанавливаться раздельно при создании новой базы данных. qhb_bootstrap определяет параметры локали для шаблона template1, которые будут применяться по умолчанию для новых баз.
Указанная локаль должна быть установлена в системе (locale -a).

Чтобы изменить порядок сортировки по умолчанию или классы наборов символов, используются параметры --lc-collate и --lc-ctype. Порядок сортировки, отличающийся от C или POSIX, оказывает влияние на производительность. Поэтому необходимо тщательно выбирать необходимую и достаточную локаль при выполнении qhb_bootstrap. См. https://simply.name/ru/pg-lc-collate.html.

Другие категории локали можно изменить и после старта сервера. Также можно использовать параметр --locale, чтобы задать локаль для всех категорий одновременно, включая порядок сортировки и классы наборов символов. Значения локалей сервера (lc_*) можно вывести командой SHOW ALL. Более подробную информацию можно найти в разделе Поддержка локали.

Параметры

  • -D, --data-dir
    Каталог хранения данных кластера. Это единственный обязательный параметр для утилиты qhb_bootstrap. При этом его можно указать в переменной окружения PGDATA, что будет удобным при дальнейшем использовании (QHB обращается к этой же переменной).

Флаги

  • -h, --help
    Вывод справочной информации

  • -g, --allow-group-access
    Позволяет пользователям, входящим в группу владельца кластера, читать все файлы кластера, создаваемые программой qhb_bootstrap.
    По-умолчанию: false.

  • -k, --data-checksums
    Применять контрольные суммы на страницах данных для выявления сбоев при вводе/выводе, которые иначе останутся незамеченными. Расчёт контрольных сумм может повлечь заметное снижение производительности. Когда контрольные суммы включены, они рассчитываются для всех объектов и во всех базах данных. Все ошибки контрольных сумм будут видны в представлении pg_stat_database.
    По-умолчанию: false.

  • -n, --no-clean
    По умолчанию, при выявлении ошибки на этапе развёртывания кластера, qhb_bootstrap удаляет все файлы, которые к тому моменту были созданы. Параметр отменяет очистку файлов для целей отладки.
    По-умолчанию: false (то есть очищать).

  • -N, --no-sync
    По умолчанию qhb_bootstrap ждёт, пока все файлы не будут надёжно записаны на диск. С данным параметром qhb_bootstrap завершается быстрее, без ожидания, но в случае неожиданного сбоя операционной системы каталог данных может оказаться испорченным. Этот параметр может быть полезен при тестировании, в производственной среде применять его не следует.
    По-умолчанию: false.

  • -W, --pwprompt
    Указывает qhb_bootstrap запросить пароль, который будет назначен суперпользователю базы данных.

  • -s, --show
    Выводит конфигурацию без создания кластера. Другие операции при этом не выполняются.
    По-умолчанию: false.

  • -S, --sync-only
    Безопасно записывает все файлы базы на диск и останавливается. Другие операции при этом не выполняются.
    По-умолчанию: false.

  • -d, --debug
    Выводит отладочные сообщения.
    По-умолчанию: false.

  • -V, --version
    Выводит текущую версию

Опции

  • -A, --auth
    Метод аутентификации по умолчанию для локальных пользователей, используемый в файле qhb_hba.conf (строки local и host).
    По-умолчанию: trust.

  • --auth-host
    Метод аутентификации по умолчанию для локальных пользователей, подключающихся по TCP/IP, используемый в файле qhb_hba.conf (строки host).
    Доступные варианты: trust, reject, scram_sha_256, md5, password, radius, pam, bsd, ldap, ident, gss, sspi, cert.
    По-умолчанию: из опции --auth.

  • --auth-local
    Метод аутентификации по умолчанию для локальных пользователей, подключающихся через Unix-сокет, используемый в файле qhb_hba.conf (строки local).
    Доступные варианты: trust, reject, scram_sha_256, md5, password, radius, pam, bsd, ldap, peer.
    По-умолчанию: из опции --auth.

  • -E, --encoding
    Кодировка шаблона и новых баз данных по умолчанию, если не указать иное при их создании. В настоящий момент поддерживается только UTF8.
    По-умолчанию: UTF8.

  • --locale
    Локаль кластера по умолчанию.
    По-умолчанию: нейтральная локаль (Си-локаль).

  • --lc-collate
    Локаль для порядка сортировки строк.
    По-умолчанию: из опции --locale.

  • --lc-ctype
    Локаль для классификации символов.
    По-умолчанию: из опции --locale.

  • --lc-messages
    Язык сообщений.
    По-умолчанию: из опции --locale.

  • --lc-monetary
    Локаль для форматирования валют.
    По-умолчанию: из опции --locale.

  • --lc-numeric
    Локаль для форматирования чисел.
    По-умолчанию: из опции --locale.

  • --lc-time
    Локаль для форматирования даты и времени.
    По-умолчанию: из опции --locale.

  • --no-locale
    Равносильно --locale=C, то установка нейтральной локали по умолчанию.

  • --pwfile
    Чтение пароля суперпользователя базы данных из первой строки указанного файлa. Опции pwprompt и pwfile являются взаимоисключающими. Если в опциях auth-host или auth-local указан метод аутентификации, отличный от trust, то наличие одной из опций pwprompt или pwfile является обязательным.

  • -L, --share-dir
    Каталог, где необходимо искать входные файлы для развёртывания кластера.
    По-умолчанию: "share" внутри каталога, указанного в опции data-dir.

  • -T, --text-search-config
    Конфигурация текстового поиска по умолчанию. См. default_text_search_config для получения дополнительной информации.
    По-умолчанию: соответствующее выбранной локали lc_ctype, если не удалось найти, то "simple".

  • -U, --username
    Имя суперпользователя базы данных.
    По-умолчанию: имя пользователя ОС, запустившего qhb_bootstrap. Позволяет оставить привычное qhb, если имя пользователя ОС другое.

  • -X, --wal-dir
    Каталог для хранения журнала предзаписи.
    По-умолчанию: "pg_wal" внутри каталога, указанного в опции data-dir.

  • --wal_seg_size_mb
    Размер сегмента WAL, в мегабайтах. Такой размер будет иметь каждый отдельный файл в журнале WAL. Значение должно задаваться степенью 2 от 1 до 1024 (в мегабайтах). Параметр можно установить только во время инициализации и нельзя изменить позже.

    Этот размер бывает полезно поменять при тонкой настройке трансляции или архивации WAL. Кроме того, в базах данных с WAL большого объёма огромное количество файлов WAL в каталоге может стать проблемой с точки зрения производительности и администрирования. Увеличение размера файлов WAL приводит к уменьшению числа этих файлов.
    По-умолчанию: 16.

Сценарии использования

qhb_bootstrap --data-dir /qhb/qhb-data
создает кластер в каталоге /qhb/qhb-data с параметрами по-умолчанию

qhb_bootstrap --data-dir /qhb/qhb-data --locale ru_RU --auth scram_sha_256 -d
создает кластер в каталоге /qhb/qhb-data с кодировкой ru_RU и шифрованием SCRAM-SHA-256 с выводом подробной отладочной информации

Окружение

PGDATA

  • Указывает каталог, в котором должен храниться кластер базы данных;
    может быть переопределено с помощью опции -D.

PG_COLOR

  • Указывает, использовать ли цвета в диагностических сообщениях.
    Возможные значения always, auto, never.

Смотрите также

qhb_ctl, qhb