Перейти к содержанию

Файл конфигурации

Файл конфигурации содержит параметры кластера и инстанса для запуска Picodata.

Назначение файла конфигурации

Использование файла конфигурации является способом задания первоначальных параметров кластера и инстанса при запуске Picodata. Другие способы предполагают ввод опций команды picodata run в консоли, а также использование переменных окружения.

Команда для запуска инстанса Picodata, если файл конфигурации назван picodata.yaml и расположен в директории вызова команды:

picodata run

Команда для запуска инстанса Picodata в остальных случаях:

picodata run --config <PATH>

где <PATH> — путь к файлу конфигурации в формате YAML.

См. также:

Порядок применения параметров

Параметры командной строки имеют более высокий приоритет, чем файл конфигурации. Соответственно, используя параметр --config-parameter, можно переопределить нужные параметры запуска Picodata. Уровни вложения параметра разделяются точкой. Например:

picodata run --config ./picodata_config.yaml -c instance.log.level=verbose

Ограничение

Параметры тиров нельзя переопределить отдельно — вместо этого следует указать в командной строке всю секцию cluster.tier. Например:

picodata run --config ./picodata_config.yaml -c
cluster.tier='{"default": {"replication_factor": 3, "can_vote":
true}}'
Параметры тиров, которые при этом указаны в файле конфигурации, будут проигнорированы

Описание файла конфигурации

Для начала работы с файлом конфигурации создайте его шаблон, выполнив команду picodata config default -o picodata.yaml. Файл конфигурации содержит параметры в формате YAML на следующих уровнях вложения:

  • cluster — расположенные на этом уровне параметры относятся ко всему кластеру
  • tier — параметры отдельных тиров
  • instance — параметры текущего инстанса

Таким образом, различающиеся настройки разных инстансов на уровне instance следует разделить по разным файлам конфигурации. Настройки более высоких уровней (cluster и tier) будут использованы только один раз при первоначальном создании кластера и их последующее изменение в файле конфигурации будет проигнорировано.

Структура файла конфигурации:

picodata.yaml
cluster:
  name: demo # (3)!
  tier:
    default:
      replication_factor: 1 # (7)!
      bucket_count: 3000 # (5)!
      can_vote: true # (6)!
  default_replication_factor: 1 # (1)!
  default_bucket_count: 3000 # (2)!
  shredding: false # (4)!
instance:
  instance_dir: . # (17)!
  backup_dir: ./backup # (48)!
  name: null # (28)!
  replicaset_name: null # (35)!
  tier: default # (36)!
  failure_domain: {} # (11)!
  admin_socket: ./admin.sock # (8)!
  share_dir: null # (34)!
  audit: null # (9)!
  log:
    level: info # (24)!
    destination: null # (22)!
    format: plain # (23)!
  memtx:
    memory: 64M # (26)!
    system_memory: 256M # (27)!
    max_tuple_size: 1M # (25)!
  vinyl:
    memory: 128M # (38)!
    cache: 128M # (37)!
    bloom_fpr: 0.05 # (39)!
    max_tuple_size: 1M # (40)!
    page_size: 8K # (41)!
    range_size: 1G # (42)!
    run_count_per_level: 2 # (43)!
    run_size_ratio: 3.5 # (44)!
    read_threads: 1 # (45)!
    write_threads: 4 # (46)!
    timeout: 60.0 # (47)!
  boot_timeout: 7200 # (10)!
  http:
    enabled: true # (13)!
    listen: 127.0.0.1:5327 # (15)!
    advertise: 127.0.0.1:5327 # (12)!
    tls:
      enabled: false # (16)!
    kubernetes_probes: true # (14)!
  iproto:
    enabled: true # (19)!
    listen: 127.0.0.1:3301 # (20)!
    advertise: 127.0.0.1:3301 # (18)!
    tls:
      enabled: false false # (21)!
  pgproto:
    enabled: true # (31)!
    listen: 127.0.0.1:4327 # (32)!
    advertise: 127.0.0.1:4327 # (30)!
    tls:
      enabled: false # (33)!
  peer: # (29)!
  - 127.0.0.1:3301
  1. cluster.default_replication_factor
  2. cluster.default_bucket_count
  3. cluster.name
  4. cluster.shredding
  5. cluster.tier.<tier_name>.bucket_count
  6. cluster.tier.<tier_name>.can_vote
  7. cluster.tier.<tier_name>.replication_factor
  8. instance.admin_socket
  9. instance.audit
  10. instance.boot_timeout
  11. instance.failure_domain
  12. instance.http.advertise
  13. instance.http.enabled
  14. instance.http.kubernetes_probes
  15. instance.http.listen
  16. instance.http.tls
  17. instance.instance_dir
  18. instance.iproto.advertise
  19. instance.iproto.enabled
  20. instance.iproto.listen
  21. instance.iproto.tls
  22. instance.log.destination
  23. instance.log.format
  24. instance.log.level
  25. instance.memtx.max_tuple_size
  26. instance.memtx.memory
  27. instance.memtx.system_memory
  28. instance.name
  29. instance.peer
  30. instance.pgproto.advertise
  31. instance.pgproto.enabled
  32. instance.pgproto.listen
  33. instance.pgproto.tls
  34. instance.share_dir
  35. instance.replicaset_name
  36. instance.tier
  37. instance.vinyl.cache
  38. instance.vinyl.memory
  39. instance.vinyl.bloom_fpr
  40. instance.vinyl.max_tuple_size
  41. instance.vinyl.page_size
  42. instance.vinyl.range_size
  43. instance.vinyl.run_count_per_level
  44. instance.vinyl.run_size_ratio
  45. instance.vinyl.read_threads
  46. instance.vinyl.write_threads
  47. instance.vinyl.timeout
  48. instance.backup_dir

См. также:

Параметры файла конфигурации

cluster.default_bucket_count

поддерживается с версии 24.4.1

Число бакетов в кластере по умолчанию.

Данные:

  • Тип: int
  • Значение по умолчанию: 3000

Данный параметр задается только в файле конфигурации.

cluster.default_replication_factor

поддерживается с версии 24.4.1

Число реплик — инстансов с одинаковым набором хранимых данных — для каждого репликасета.

Данные:

  • Тип: int
  • Значение по умолчанию: 1

Аналогичная переменная окружения: PICODATA_INIT_REPLICATION_FACTOR
Задание параметра в командной строке: picodata run --init-replication-factor

cluster.name

поддерживается с версии 24.6.1

Имя кластера. Инстанс не сможет присоединиться к кластеру с другим именем.

Данные:

  • Тип: str
  • Значение по умолчанию: demo

Аналогичная переменная окружения: PICODATA_CLUSTER_NAME
Задание параметра в командной строке: picodata run --cluster-name

cluster.shredding

поддерживается с версии 25.1.1

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

Данные:

  • Тип: bool
  • Значение по умолчанию: false

Аналогичная переменная окружения: PICODATA_SHREDDING
Задание параметра в командной строке: picodata run --shredding

cluster.tier.<tier_name>.bucket_count

поддерживается с версии 25.1.1

Число бакетов в данном тире.

Данные:

  • Тип: int
  • Значение по умолчанию: 3000

Данный параметр задается только в файле конфигурации.

cluster.tier.<tier_name>.can_vote

поддерживается с версии 24.4.1

Признак тира <tier_name>, определяющий возможность инстансов участвовать в голосовании на выборах raft-лидера.

Данные:

  • Тип: bool
  • Значение по умолчанию: true

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c cluster.tier='{"default": {"replication_factor": 1, "can_vote": false}}'

См. также:

cluster.tier.<tier_name>.replication_factor

поддерживается с версии 24.4.1

Фактор репликации тира <tier_name>.

Данные:

  • Тип: int
  • Значение по умолчанию: 1

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c cluster.tier='{"default": {"replication_factor": 3, "can_vote": true}}'

instance.admin_socket

поддерживается с версии 24.1.1

Путь к unix-сокету для подключения к консоли администратора с помощью команды picodata admin. В отличие от пользовательской консоли, коммуникация осуществляется в виде обычного текста и всегда происходит под учетной записью администратора.

Данные:

  • Тип: str
  • Значение по умолчанию: ./admin.sock

Аналогичная переменная окружения: PICODATA_ADMIN_SOCK
Задание параметра в командной строке: picodata run --admin-sock

instance.audit

поддерживается с версии 24.4.1

Конфигурация журнала аудита. Доступны следующие варианты:

  • file:<FILE> или просто <FILE> — запись в файл
  • pipe:<COMMAND> или | <COMMAND> — перенаправление вывода в подпроцесс
  • syslog: — перенаправление вывода в службу syslog защищенной ОС

Данные:

  • Тип: str
  • Значение по умолчанию: null

Аналогичная переменная окружения: PICODATA_AUDIT_LOG
Задание параметра в командной строке: picodata run --audit

instance.backup_dir

поддерживается с версии 25.3.1

Директория для хранения резервных копий, создаваемых командой BACKUP. Каждый инстанс сохраняет данные в поддиректории внутри backup-dir в файле, имя которого формируется в формате YYYYMMDDThhmmss.

Данные:

  • Тип: str
  • Значение по умолчанию: <instance-dir>/backup

Аналогичная переменная окружения: PICODATA_BACKUP_DIR
Задание параметра в командной строке: picodata run --backup-dir

instance.boot_timeout

поддерживается с версии 25.2.1

Максимальное время в секундах, в течение которого instance может находиться в ожидании загрузки перед присоединением к кластеру, после чего он автоматически отключается.

Данные:

  • Тип: int
  • Значение по умолчанию: 7200 (2 часа)

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c instance.boot_timeout=3600

instance.failure_domain

поддерживается с версии 24.4.1

Список пар ключ-значение, разделенных запятыми, определяющий домен отказа инстанса. Набор параметров домена отказа позволяет указать расположение сервера, на котором запущен инстанс, в стойке, датацентре, регионе и т.д. Набор ключей может быть произвольным. Picodata не будет объединять два инстанса в один репликасет, если у них совпадают значения хотя бы в одном ключе — вместо этого будет создан новый репликасет. Репликасеты формируются из инстансов с разными доменами отказа до тех пор, пока не будет достигнут желаемый фактор репликации.

Данные:

  • Тип: Block Mappings of { str: str }
  • Значение по умолчанию: {}

Аналогичная переменная окружения: PICODATA_FAILURE_DOMAIN
Задание параметра в командной строке: picodata run --failure-domain

Синтаксис значений домена отказа различается при работе c файлом конфигурации (массив данных) и при использовании в командной строке (список пар ключ=значение). Примеры показаны ниже.

Использование в файле конфигурации:

failure_domain: { "region":"['us']","zone":"us-west-1" }
failure_domain: { "rack":"['12-90']","server":"srv_007", "vm":"rhel8" }

Использование в командной строке:

picodata run --failure-domain=region=us,zone=us-west-1
picodata run --failure-domain=rack=12-90,server=srv_007,vm=rhel8

Использование в переменной:

export PICODATA_FAILURE_DOMAIN=region=us,zone=us-west-1
export PICODATA_FAILURE_DOMAIN=rack=12-90,server=srv_007,vm=rhel8

Значения домена отказа во всех случаях не зависят от регистра.

instance.http.advertise

поддерживается с версии 26.1.1

Публичный сетевой адрес инстанса по протоколу HTTP. По умолчанию этот параметр равен instance.http.listen.

Данные:

  • Тип: str
  • Значение по умолчанию: 127.0.0.1:5327

instance.http.enabled

поддерживается с версии 26.1.1

Признак поддержки HTTP-сокета на стороне Picodata.

Данные:

  • Тип: bool
  • Значение по умолчанию: true

instance.http.kubernetes_probes

поддерживается с версии 26.1.1

Переключатель доступности набора следующих эндпоинтов для Kubernetes.

  • /api/v1/health/live
  • /api/v1/health/ready
  • /api/v1/health/startup

  • Тип: bool

  • Значение по умолчанию: true

Если для параметра установлено значение false, то запрос на указанные эндпоинты вернет ошибку с кодом 404.

См. также:

instance.http.listen

поддерживается с версии 26.1.1

Примечание

Параметр instance.http.listen приходит на смену instance.http_listen, который объявлен устаревшим и будет удален в будущих релизах Picodata. В файле конфигурации допускается использование устаревших параметров, но сочетать их с новыми нельзя.

Адрес HTTP-сервера.

Данные:

  • Тип: str
  • Значение по умолчанию: 127.0.0.1:5327

Аналогичная переменная окружения: PICODATA_HTTP_LISTEN
Задание параметра в командной строке: picodata run --http-listen

instance.http.tls

поддерживается с версии 26.1.1

Примечание

Блок параметров instance.http.tls приходит на смену instance.https, который объявлен устаревшим и будет удален в будущих релизах Picodata. В файле конфигурации допускается использование устаревших параметров, но сочетать их с новыми нельзя.

Конфигурация защищенного режима для работы с кластером по протоколу HTTPS. Используется для получения метрик и доступа к веб-интерфейсу. Основной параметр instance.http.tls.enabled отвечает за включение/отключение режима шифрования.

  • Тип: bool
  • Значение по умолчанию: false

При установке значения true требуется использовать 2 дополнительных параметра:

  • cert_file (str) — путь к файлу сертификата
  • key_file (str) — путь к файлу с закрытым ключом

а также, опционально, укажите путь к файлу с паролем, если он был задан в настройках сертификата (пароль требуется для расшифровки закрытого ключа):

  • password_file (str)

При включенном HTTPS и использовании пароля, блок настроек файла конфигурации будет иметь следующий вид:

tls:
    enabled: true
    cert_file: https/cert.pem
    key_file: https/key.pem
    password_file: https/pass.txt

Задание параметра в командной строке: picodata run --config-parameter. Пример:

picodata run -c instance.http.tls.enabled=true -c instance.http.tls.cert_file=https/cert.pem -c instance.http.tls.key_file=https/key.pem -c instance.http.tls.password_file=https/pass.txt

instance.instance_dir

поддерживается с версии 25.1.1

Рабочая директория инстанса. Здесь Picodata хранит все данные.

Данные:

  • Тип: str
  • Значение по умолчанию: .

Аналогичная переменная окружения: PICODATA_INSTANCE_DIR
Задание параметра в командной строке: picodata run --instance-dir

instance.iproto.advertise

поддерживается с версии 26.1.1

Примечание

Параметр instance.iproto.advertise приходит на смену instance.iproto_advertise, который объявлен устаревшим и будет удален в будущих релизах Picodata. В файле конфигурации допускается использование устаревших параметров, но сочетать их с новыми нельзя.

Публичный сетевой адрес инстанса. Анонсируется кластеру при запуске инстанса и используется для подключения к нему других инстансов.

Данные:

  • Тип: str
  • Значение по умолчанию: 127.0.0.1:3301

Аналогичная переменная окружения: PICODATA_IPROTO_ADVERTISE
Задание параметра в командной строке: picodata run --iproto-advertise

instance.iproto.enabled

поддерживается с версии 26.1.1

Признак поддержки IPROTO-протокола на стороне Picodata.

Данные:

  • Тип: bool
  • Значение по умолчанию: true

Примечание

Для данного параметра поддерживается только значение true

instance.iproto.listen

поддерживается с версии 26.1.1

Примечание

Параметр instance.iproto.listen приходит на смену instance.iproto_listen, который объявлен устаревшим и будет удален в будущих релизах Picodata. В файле конфигурации допускается использование устаревших параметров, но сочетать их с новыми нельзя.

Сетевой адрес инстанса.

Данные:

  • Тип: str
  • Значение по умолчанию: 127.0.0.1:3301

Аналогичная переменная окружения: PICODATA_IPROTO_LISTEN
Задание параметра в командной строке: picodata run --iproto-listen

instance.iproto.tls

поддерживается с версии 26.1.1

Примечание

Блок параметров instance.iproto.tls приходит на смену instance.iproto_tls, который объявлен устаревшим и будет удален в будущих релизах Picodata. В файле конфигурации допускается использование устаревших параметров, но сочетать их с новыми нельзя.

Конфигурация защищенного режима для внутренней коммуникации между узлами кластера по протоколу Iproto. Основной параметр instance.iproto.tls.enabled отвечает за включение/отключение режима шифрования mutual TLS (mTLS).

  • Тип: bool
  • Значение по умолчанию: false

При установке значения true требуется использовать 3 дополнительных параметра:

  • instance.iproto.tls.cert_file (str) — путь к файлу сертификата
  • instance.iproto.tls.key_file (str) — путь к файлу с закрытым ключом
  • instance.iproto.tls.ca_file (str) — путь к файлу корневого сертификата

При включенном mTLS блок настроек файла конфигурации будет иметь следующий вид:

  tls:
    enabled: true
    cert_file: iproto/server.crt
    key_file: iproto/server.key
    ca_file: iproto/ca.crt

Задание параметра в командной строке: picodata run --config-parameter. Пример:

picodata run -c instance.iproto.tls.enabled=true -c instance.iproto.tls.cert_file=iproto/server.crt -c instance.iproto.tls.key_file=iproto/server.key -c instance.iproto.tls.ca_file=iproto/ca.crt

Режим mTLS настраивается глобально во всем кластере. Для параметров instance.iproto.tls.cert_file и instance.iproto.tls.key_file содержимое файлов должно быть идентичным на каждом инстансе.

instance.log.destination

поддерживается с версии 24.4.1

Конфигурация отладочного журнала. Доступны следующие варианты:

  • file:<FILE> или просто <FILE> — запись в файл
  • pipe:<COMMAND> или | <COMMAND> — перенаправление вывода в подпроцесс
  • syslog: — перенаправление вывода в службу syslog защищенной ОС

По умолчанию отладочный журнал выводится в stderr.

Данные:

  • Тип: str
  • Значение по умолчанию: null

Аналогичная переменная окружения: PICODATA_LOG
Задание параметра в командной строке: picodata run --log

instance.log.format

поддерживается с версии 24.4.1

Формат отладочного журнала.

Возможные значения: plain, json

Данные:

  • Тип: str
  • Значение по умолчанию: plain

Аналогичная переменная окружения: PICODATA_LOG
Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c instance.log.format=json

instance.log.level

поддерживается с версии 24.4.1

Уровень важности событий, регистрируемых в отладочном журнале.

Возможные значения: fatal, system, error, crit, warn, info, verbose, debug

Данные:

  • Тип: str
  • Значение по умолчанию: info

Аналогичная переменная окружения: PICODATA_LOG_LEVEL
Задание параметра в командной строке: picodata run --log-level

instance.memtx.max_tuple_size

поддерживается с версии 25.1.1

Максимальный размер кортежа в байтах для движка хранения memtx.

Данные:

  • Тип: int
  • Значение по умолчанию: 1M (1048576 Б)

Для удобства при указании значения можно использовать суффиксы (K (Kilobytes), M (Megabytes), G (Gigabytes), T (Terabytes), 1K = 1024).

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c instance.memtx.max_tuple_size=2M

Аналогичная переменная окружения: PICODATA_MEMTX_MAX_TUPLE_SIZE
Задание параметра в командной строке: picodata run --memtx-max-tuple-size

instance.memtx.memory

поддерживается с версии 24.4.1

Объем памяти в байтах, выделяемый для хранения кортежей. Когда достигается лимит использования памяти, запросы команд INSERT и UPDATE начинают отклоняться с ошибкой ER_MEMORY_ISSUE. Сервер хранит в выделяемом объеме памяти только кортежи — для хранения индексов и информации о соединениях используется дополнительная память.

Минимальное значение — 33,554,432 байтов (32 МБ)

Данные:

  • Тип: int
  • Значение по умолчанию: 64M (67108864 Б)

Для удобства при указании значения можно использовать суффиксы (K (Kilobytes), M (Megabytes), G (Gigabytes), T (Terabytes), 1K = 1024).

Пример:

picodata run -c instance.memtx.memory=128M

Аналогичная переменная окружения: PICODATA_MEMTX_MEMORY
Задание параметра в командной строке: picodata run --memtx-memory

instance.memtx.system_memory

поддерживается с версии 25.4.1

Объем памяти в байтах, выделяемый для хранения кортежей и индексов системных таблиц. Когда достигается лимит использования памяти, запросы команд INSERT и UPDATE начинают отклоняться с ошибкой ER_MEMORY_ISSUE. Сервер хранит в выделяемом объеме памяти только кортежи — для хранения индексов и информации о соединениях используется дополнительная память.

Минимальное значение — 33,554,432 байтов (32 МБ)

Данные:

  • Тип: int
  • Значение по умолчанию: 256M (268435456 Б)

Для удобства при указании значения можно использовать суффиксы (K (Kilobytes), M (Megabytes), G (Gigabytes), T (Terabytes), 1K = 1024).

Пример:

picodata run -c instance.memtx.system_memory=128M

Аналогичная переменная окружения: PICODATA_MEMTX_SYSTEM_MEMORY
Задание параметра в командной строке: picodata run --memtx-system-memory

instance.name

поддерживается с версии 24.4.1

Имя инстанса. При отсутствии параметра значение будет автоматически сгенерировано raft-лидером в момент присоединения инстанса к кластеру. Генератор имен использует следующую схему: имя тира, номер репликасета, номер инстанса в данном репликасете, с разделением через знак подчеркивания.

Пример: default_1_1.

Данные:

  • Тип: str
  • Значение по умолчанию: null

Аналогичная переменная окружения: PICODATA_INSTANCE_NAME
Задание параметра в командной строке: picodata run --instance-name

instance.peer

поддерживается с версии 24.4.1

Список сетевых адресов других инстансов, разделенных запятыми. Используется при инициализации кластера и присоединении инстанса к уже существующему кластеру.

Данные:

  • Тип: Block Sequence of str
  • Значение по умолчанию: - 127.0.0.1:3301

Пример:

picodata run -c instance.peer='["127.0.0.1:3301", "127.0.0.1:3302"]'

Аналогичная переменная окружения: PICODATA_PEER
Задание параметра в командной строке: picodata run --peer

instance.pgproto.advertise

поддерживается с версии 26.1.1

Примечание

Параметр instance.pgproto.advertise приходит на смену instance.pg_advertise, который объявлен устаревшим и будет удален в будущих релизах Picodata. В файле конфигурации допускается использование устаревших параметров, но сочетать их с новыми нельзя.

Публичный адрес сервера для подключения по протоколу PostgreSQL. Анонсируется кластеру при запуске инстанса.

Данные:

  • Тип: str
  • Значение по умолчанию: 127.0.0.1:4327

Аналогичная переменная окружения: PICODATA_PG_ADVERTISE
Задание параметра в командной строке: picodata run --pg-advertise

instance.pgproto.enabled

поддерживается с версии 26.1.1

Признак поддержки PostgreSQL-протокола на стороне Picodata.

Данные:

  • Тип: bool
  • Значение по умолчанию: true

instance.pgproto.listen

поддерживается с версии 26.1.1

Примечание

Параметр instance.pgproto.listen приходит на смену instance.pg_listen, который объявлен устаревшим и будет удален в будущих релизах Picodata. В файле конфигурации допускается использование устаревших параметров, но сочетать их с новыми нельзя.

Адрес сервера для подключения по протоколу PostgreSQL.

Данные:

  • Тип: str
  • Значение по умолчанию: 127.0.0.1:4327

Аналогичная переменная окружения: PICODATA_PG_LISTEN
Задание параметра в командной строке: picodata run --pg-listen

instance.pgproto.tls

поддерживается с версии 26.1.1

Примечание

Блок параметров instance.pgproto.tls приходит на смену instance.pgproto.ssl, который объявлен устаревшим и будет удален в будущих релизах Picodata. В файле конфигурации допускается использование устаревших параметров, но сочетать их с новыми нельзя.

Признак использования протокола TLS/SSL или mTLS при подключении по протоколу PostgreSQL. Основной параметр instance.pgproto.tls.enabled отвечает за включение/отключение режима шифрования.

  • Тип: bool
  • Значение по умолчанию: false

При установке значения true требуется использовать 2 дополнительных параметра:

  • cert_file (str) — путь к файлу сертификата
  • key_file (str) — путь к файлу с закрытым ключом

Для двусторонней проверки подлинности (mTLS) требуется разместить рядом файл корневого сертификата:

  • ca.crt

Данные:

  • Тип: bool
  • Значение по умолчанию: false

Размещение файлов сертификатов и закрытого ключа можно переопределить, используя следующие 3 дополнительных параметра:

  • instance.pgproto.tls.cert_file (str) — путь к файлу сертификата
  • instance.pgproto.tls.key_file (str) — путь к файлу с закрытым ключом
  • instance.pgproto.tls.ca_file (str) — путь к файлу корневого сертификата

При включенном mTLS блок настроек файла конфигурации будет иметь следующий вид:

  tls:
    enabled: true
    cert_file: pgproto/server.crt
    key_file: pgproto/server.key
    ca_file: pgproto/ca.crt

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c instance.pgproto.tls.enabled=true -c instance.pgproto.tls.cert_file=pgproto/server.crt -c instance.pgproto.tls.key_file=pgproto/server.key -c instance.pgproto.tls.ca_file=pgproto/ca.crt

instance.replicaset_name

поддерживается с версии 24.4.1

Имя репликасета. Используется при инициализации кластера и присоединении инстанса к уже существующему кластеру. При отсутствии параметра имя репликасета будет сгенерировано автоматически. Генератор имен использует следующую схему: имя тира, номер репликасета в данном тире, с разделением через знак подчеркивания.

Пример: default_1.

Данные:

  • Тип: str
  • Значение по умолчанию: null

Аналогичная переменная окружения: PICODATA_REPLICASET_NAME
Задание параметра в командной строке: picodata run --replicaset-name

instance.share_dir

поддерживается с версии 25.1.1

Путь к директории, содержащей файлы плагинов.

Данные:

  • Тип: str
  • Значение по умолчанию: /usr/share/picodata

Аналогичная переменная окружения: PICODATA_SHARE_DIR
Задание параметра в командной строке: picodata run --share-dir

instance.tier

поддерживается с версии 25.1.1

Имя тира, которому будет принадлежать инстанс. Используется при инициализации кластера и присоединении инстанса к уже существующему кластеру.

Данные:

  • Тип: str
  • Значение по умолчанию: default

Аналогичная переменная окружения: PICODATA_INSTANCE_TIER
Задание параметра в командной строке: picodata run --tier

instance.vinyl.bloom_fpr

поддерживается с версии 25.1.1

Вероятность ложноположительного срабатывания фильтра Блума для движка хранения vinyl, измеряемая в долях единицы.

Предельные значения:

  • bloom_fpr: 0 — ложноположительные срабатывания отсутствуют
  • bloom_fpr: 1 — все срабатывания ложноположительные

Данные:

  • Тип: float
  • Значение по умолчанию: 0.05

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c instance.vinyl.bloom_fpr=0.10

instance.vinyl.cache

поддерживается с версии 24.4.1

Размер кэша в байтах для движка хранения vinyl.

Данные:

  • Тип: int
  • Значение по умолчанию: 128M (134217728 Б)

Для удобства при указании значения можно использовать суффиксы (K (Kilobytes), M (Megabytes), G (Gigabytes), T (Terabytes), 1K = 1024).

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c instance.vinyl.cache=256M

instance.vinyl.max_tuple_size

поддерживается с версии 25.1.1

Максимальный размер кортежа в байтах для движка хранения vinyl.

Данные:

  • Тип: int
  • Значение по умолчанию: 1M (1048576 Б)

Для удобства при указании значения можно использовать суффиксы (K (Kilobytes), M (Megabytes), G (Gigabytes), T (Terabytes), 1K = 1024).

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c instance.vinyl.max_tuple_size=2M

instance.vinyl.memory

поддерживается с версии 24.4.1

Максимальное количество оперативной памяти в байтах, которое использует движок хранения vinyl.

Данные:

  • Тип: int
  • Значение по умолчанию: 128M (134217728 Б)

Для удобства при указании значения можно использовать суффиксы (K (Kilobytes), M (Megabytes), G (Gigabytes), T (Terabytes), 1K = 1024).

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c instance.vinyl.memory=256M

instance.vinyl.page_size

поддерживается с версии 25.1.1

Размер страницы в байтах, используемой движком хранения vinyl для операций чтения и записи на диск.

Данные:

  • Тип: int
  • Значение по умолчанию: 8K (8192 Б)

Для удобства при указании значения можно использовать суффиксы (K (Kilobytes), M (Megabytes), G (Gigabytes), T (Terabytes), 1K = 1024).

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c instance.vinyl.page_size=16M

instance.vinyl.range_size

поддерживается с версии 25.1.1

Максимальный размер LSM-поддерева по умолчанию в байтах для движка хранения vinyl.

Данные:

  • Тип: int
  • Значение по умолчанию: 1G (1073741824 Б)

Для удобства при указании значения можно использовать суффиксы (K (Kilobytes), M (Megabytes), G (Gigabytes), T (Terabytes), 1K = 1024).

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c instance.vinyl.range_size=2G

instance.vinyl.read_threads

поддерживается с версии 25.1.1

Максимальное количество потоков чтения для движка хранения vinyl.

Данные:

  • Тип: int
  • Значение по умолчанию: 1

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c instance.vinyl.read_threads=2

instance.vinyl.run_count_per_level

поддерживается с версии 25.1.1

Максимальное количество файлов на уровне в LSM-дереве для движка хранения vinyl.

Данные:

  • Тип: int
  • Значение по умолчанию: 2

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c instance.vinyl.run_count_per_level=4

instance.vinyl.run_size_ratio

поддерживается с версии 25.1.1

Соотношение между размерами разных уровней в LSM-дереве для движка хранения vinyl.

Данные:

  • Тип: float
  • Значение по умолчанию: 3.5

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c instance.vinyl.run_size_ratio=7.0

instance.vinyl.timeout

поддерживается с версии 25.1.1

Максимальное время обработки запроса движком хранения vinyl в секундах.

Данные:

  • Тип: float
  • Значение по умолчанию: 60.0

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c instance.vinyl.timeout=120.0

instance.vinyl.write_threads

поддерживается с версии 25.1.1

Максимальное количество потоков записи для движка хранения vinyl.

Данные:

  • Тип: int
  • Значение по умолчанию: 4

Аналогичная команда — picodata run --config-parameter. Пример:

picodata run -c instance.vinyl.write_threads=8