qhb_bootstrap
Утилита qhb_bootstrap
создаёт новый кластер баз данных QHB.
- Синтаксис
- Описание
- Безопасность
- Локализация
- Параметры
- Флаги
- Опции
- Сценарии использования
- Окружение
- Смотрите также
Синтаксис
qhb_bootstrap [FLAGS] [OPTIONS] <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 <data-dir>
Каталог хранения данных кластера. Это единственный обязательный параметр для утилитыqhb_bootstrap
. Может быть задан или с флагами -D, --data-dir, или последним параметром, тогда флаги -D, --data-dir можно опустить. При этом его можно указать в переменной окружения 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
, то установка нейтральной локали по умолчанию. Нельзя задать одновременно с параметром--locale
. -
--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
,--waldir
Каталог для хранения журнала предзаписи.
По-умолчанию: "pg_wal" внутри каталога, указанного в опцииdata-dir
. -
--wal_segsize
Размер сегмента 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.