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

Аргументы командной строки

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

picodata help

Полная справка доступна с помощью команды picodata help:

USAGE:
    picodata <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    admin      Connect to the Admin console of a Picodata instance
    config     Subcommands related to working with the configuration file
    connect    Connect to the Distributed SQL console
    expel      Expel node from cluster
    help       Print this message or the help of the given subcommand(s)
    plugin     Subcommand related to plugin management
    run        Run the picodata instance
    status     Display the status of all instances in the cluster
    test       Run picodata integration tests

picodata run

Запускает инстанс Picodata, см. Запуск Picodata.

picodata run [OPTIONS]

Примечание

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

--admin-sock

--admin-sock <PATH>

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

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

Аналогичная переменная окружения: PICODATA_ADMIN_SOCK
Аналогичный параметр файла конфигурации: instance.admin_socket

--audit

--audit <PATH>

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

  • file:<FILE> или просто <FILE> — запись в файл

    picodata run --audit '/tmp/audit.log'
    

  • pipe:<COMMAND> или | <COMMAND> — перенаправление вывода в подпроцесс

    picodata run --audit '| /bin/capture-from-stdin'
    

  • syslog: — перенаправление вывода в службу syslog защищенной ОС

    picodata run --audit 'syslog:'
    

Аналогичная переменная окружения: PICODATA_AUDIT_LOG
Аналогичный параметр файла конфигурации: instance.audit

--cluster-name

--cluster-name <NAME>

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

По умолчанию используется имя demo.

Аналогичная переменная окружения: PICODATA_CLUSTER_NAME
Аналогичный параметр файла конфигурации: cluster.name

--config

--config <PATH>

Путь к файлу конфигурации в формате YAML.

По умолчанию используется ./picodata.yaml, если такой существует.

Аналогичная переменная окружения: PICODATA_CONFIG_FILE

--config-parameter

-c, --config-parameter <PARAMETER=VALUE>

Список пар ключ-значение, определяющий параметры конфигурации.

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

В качестве <PARAMETER> используется путь параметра конфигурации, разделенный точкой. Значение <VALUE> интерпретируется как YAML.

Пример

picodata run -c instance.log.level=verbose -c instance.instance_dir=/path/to/dir

Аналогичная переменная окружения: PICODATA_CONFIG_PARAMETERS

--failure-domain

--failure-domain <KEY=VALUE>

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

Аналогичная переменная окружения: PICODATA_FAILURE_DOMAIN
Аналогичный параметр файла конфигурации: instance.failure_domain

--http-listen

--http-listen <[HOST][:PORT]>

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

Аналогичная переменная окружения: PICODATA_HTTP_LISTEN
Аналогичный параметр файла конфигурации: instance.http_listen

--init-replication-factor

--init-replication-factor <INIT_REPLICATION_FACTOR>

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

По умолчанию используется значение 1.

Аналогичная переменная окружения: PICODATA_INIT_REPLICATION_FACTOR
Аналогичный параметр файла конфигурации: cluster.default_replication_factor

--instance-dir

--instance-dir <PATH>

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

По умолчанию используется текущая директория ./.

Аналогичная переменная окружения: PICODATA_INSTANCE_DIR
Аналогичный параметр файла конфигурации: instance.instance_dir

--instance-name

--instance-name <NAME>

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

Пример: default_1_1.

Аналогичная переменная окружения: PICODATA_INSTANCE_NAME
Аналогичный параметр файла конфигурации: instance.name

--iproto-advertise

--iproto-advertise <[HOST][:PORT]>

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

По умолчанию используется значение параметра --iproto-listen, и в большинстве случаев его не требуется менять. Но, например, в случае --iproto-listen 0.0.0.0 его придется указать явно:

picodata run --iproto-listen 0.0.0.0:3301 --iproto-advertise 192.168.0.1:3301

Аналогичная переменная окружения: PICODATA_IPROTO_ADVERTISE
Аналогичный параметр файла конфигурации: instance.iproto_advertise

--iproto-listen

--iproto-listen <[HOST][:PORT]>

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

По умолчанию используется значение 127.0.0.1:3301.

Аналогичная переменная окружения: PICODATA_IPROTO_LISTEN
Аналогичный параметр файла конфигурации: instance.iproto_listen

--log

--log <PATH>

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

  • file:<FILE> или просто <FILE> — запись в файл

    picodata run --log '/tmp/picodata.log'
    

  • pipe:<COMMAND> или | <COMMAND> — перенаправление вывода в подпроцесс

    picodata run --log '| /dev/capture-from-stdin'
    

  • syslog: — перенаправление вывода в службу syslog защищенной ОС

    picodata run --log 'syslog:'
    

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

Аналогичная переменная окружения: PICODATA_LOG
Аналогичный параметр файла конфигурации: instance.log.destination

--log-level

--log-level <LOG_LEVEL>

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

Возможные значения: fatal, system, error, crit, warn, info, verbose, debug
Значение по умолчанию: info
Аналогичная переменная окружения: PICODATA_LOG_LEVEL
Аналогичный параметр файла конфигурации: instance.log.level

--memtx-memory

--memtx-memory <MEMTX_MEMORY>

Объем оперативной памяти в байтах, используемый движком хранения memtx.

По умолчанию используется 64 МБ.

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

Аналогичная переменная окружения: PICODATA_MEMTX_MEMORY
Аналогичный параметр файла конфигурации: instance.memtx.memory

--peer

--peer <[HOST][:PORT]>

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

Пример

picodata run --peer server-1.picodata.int:13301,server-2.picodata.int:13301

По умолчанию используется значение параметра --iproto-advertise, таким образом по умолчанию создается новый кластер.

Аналогичная переменная окружения: PICODATA_PEER
Аналогичный параметр файла конфигурации: instance.peer

--pg-listen

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

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

Аналогичная переменная окружения: PICODATA_PG_LISTEN
Аналогичный параметр файла конфигурации: instance.pg.listen

--replicaset-name

--replicaset-name <NAME>

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

Пример: default_1.

Аналогичная переменная окружения: PICODATA_REPLICASET_NAME
Аналогичный параметр файла конфигурации: instance.replicaset_name

--script

--script <PATH>

Путь к файлу Lua-скрипта, который будет выполнен после присоединения инстанса к кластеру. В момент запуска скрипта локальное хранилище инициализировано, HTTP-сервер запущен, но raft-узел не инициализирован.

Аналогичная переменная окружения: PICODATA_SCRIPT

--share-dir

--share-dir <PATH>

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

В этой директории Picodata будет искать плагины. Требуется, чтобы структура директорий плагина соответствовали схеме:

корень share-dir
    └── имя_плагина
        └── версия_плагина

Аналогичная переменная окружения: PICODATA_SHARE_DIR
Аналогичный параметр файла конфигурации: instance.share_dir

--shredding

--shredding

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

Аналогичная переменная окружения: PICODATA_SHREDDING
Аналогичный параметр файла конфигурации: cluster.shredding

--tier

--tier <TIER>

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

По умолчанию используется имя default.

Аналогичная переменная окружения: PICODATA_INSTANCE_TIER
Аналогичный параметр файла конфигурации: instance.tier

picodata admin

Подключается к консоли администратора, см. Подключение и работа в консоли — Консоль администратора.

picodata admin <PATH>

Пример

$ picodata admin ./admin.sock
Connected to admin console by socket path "admin.sock"
type '\help' for interactive help
(admin) sql>

picodata config default

Генерирует файл конфигурации Picodata со значениями по умолчанию. Без указания опций содержимое файла конфигурации выводится в stdout.

picodata config default [OPTIONS]

Пример вывода picodata config default — см. Описание файла конфигурации

--output-file

-o, --output-file <FILENAME>

Записывает файл конфигурации Picodata со значениями по умолчанию в файл <FILENAME>.

Пример

Сохранение файла конфигурации Picodata со значениями по умолчанию в файл picodata.yaml:

picodata config default -o picodata.yaml

Подробнее об имени picodata.yaml — в описании команды picodata run.

picodata connect

Подключается к кластерной SQL-консоли. См. Пользовательская консоль

picodata connect [OPTIONS] <ADDRESS>
  • ADDRESS: Адрес инстанса Picodata в формате [user@][host][:port], соответствующий опции picodata run --iproto-advertise

Пример

$ picodata connect alice@127.0.0.1:3301;
Enter password for alice:
Connected to interactive console by address "127.0.0.1:3301" under "alice" user
type '\help' for interactive help
sql>

-a, --auth-type

-a, --auth-type <METHOD>

Метод аутентификации, см. Аутентификация с помощью LDAP.

Возможные значения: chap-sha1, ldap, md5
Значение по умолчанию: md5

--password-file

--password-file <PATH>

Путь к файлу с паролем указанного пользователя (хранится в виде обычного текста). Без этого параметра пароль будет запрошен в интерактивном режиме.

Аналогичная переменная окружения: PICODATA_PASSWORD_FILE

-u, --user

-u, --user <USER>

Имя пользователя, см. Управление доступом.

Игнорируется при указании имени пользователя в адресе
Значение по умолчанию: guest

picodata expel

Исключает инстанс Picodata из состава кластера.

Если инстанс хранит сегменты шардированных данных, перед его удалением данные будет автоматически перераспределены.

Если удаляемый инстанс является голосующим в Raft, то для его замены автоматически будет выбран новый голосующий узел.

Если удаляемый инстанс является raft-лидером, то будут организованы новые выборы.

Данное действие требует авторизации под учетной записью Администратора СУБД admin.

picodata expel [OPTIONS] <INSTANCE_UUID>
  • INSTANCE_UUID: Универсальный уникальный идентификатор инстанса

--cluster-name

--cluster-name <NAME>

Имя кластера, из которого должен быть исключен инстанс.

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

--password-file

--password-file <PATH>

Путь к файлу с паролем Администратора СУБД admin (хранится в виде обычного текста). Без этого параметра пароль будет запрошен в интерактивном режиме.

Аналогичная переменная окружения: PICODATA_PASSWORD_FILE

--peer

--peer <[HOST][:PORT]>

Адрес любого инстанса из состава кластера.

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

picodata plugin configure

Обновляет конфигурацию сервиса указанного плагина на всех инстансах кластера.

Вызывается один раз на любом инстансе.

picodata plugin configure <ADDRESS> <PLUGIN_NAME> <PLUGIN_VERSION> <PLUGIN_CONFIG>
  • ADDRESS: Адрес инстанса в формате [host][:port] для подключения системного пользователя pico_service
  • PLUGIN_NAME: Имя плагина, содержащего обновляемый сервис
  • PLUGIN_VERSION: Версия плагина, содержащего обновляемый сервис
  • PLUGIN_CONFIG: Путь к файлу с новой конфигурацией обновляемого сервиса в формате YAML. Конфигурация соответствует манифесту плагина, за исключением полей name и description. В файле конфигурации достаточно указать лишь изменяемые параметры

--service-names

--service-names <SERVICE_NAMES>

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

Пример

picodata plugin configure --service-names service_1,service_2

--service-password-file

--service-password-file <PATH>

Путь к текстовому файлу с паролем для системного пользователя pico_service. Этот пароль используется для внутреннего взаимодействия с другими инстансами Picodata и является одинаковым для всех инстансов.

Примечание

При несовпадении пароля будет выведена ошибка. При отсутствии параметра пароль будет запрошен в интерактивном режиме, см. Безопасный запуск.

Аналогичная переменная окружения: PICODATA_SERVICE_PASSWORD_FILE

picodata status

Выводит статус всех инстансов в кластере.

picodata status [OPTIONS]

Статус инстанса содержит следующие параметры:

  • instance_name — имя инстанса
  • current_state — текущее состояние инстанса
  • target_state — целевое состояние инстанса
  • instance_uuidUUID инстанса
  • replicaset_uuidUUID репликасета, которому принадлежит инстанс
  • tier — имя тира, которому принадлежит инстанс
  • uri — публичный сетевой адрес инстанса

Пример

$ picodata status
Enter password for pico_service:


CLUSTER NAME: demo


+-----------+-----------+-----------+----------+----------+---------+----------+
| instance_ | current_s | target_st | instance | replicas | tier    | uri      |
| name      | tate      | ate       | _uuid    | et_uuid  |         |          |
+==============================================================================+
| default_1 | ["Online" | ["Online" | 38307bf4 | 50c2ed56 | default | 127.0.0. |
| _1        | , 1]      | , 1]      | -33ec-47 | -ccd1-49 |         | 1:3301   |
|           |           |           | 44-b830- | 73-b9f2- |         |          |
|           |           |           | 8262a58d | 8aec11d8 |         |          |
|           |           |           | cc9a     | dff5     |         |          |
+-----------+-----------+-----------+----------+----------+---------+----------+
(1 rows)

Примечание

По умолчанию паролем системного пользователя pico_service является пустая строка.

--peer

--peer <[HOST][:PORT]>

Адрес любого инстанса из состава кластера.

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

Аналогичная переменная окружения: PICODATA_PEER
Аналогичный параметр файла конфигурации: instance.peer

--service-password-file

--service-password-file <PATH>

Путь к текстовому файлу с паролем для системного пользователя pico_service. Этот пароль используется для внутреннего взаимодействия с другими инстансами Picodata и является одинаковым для всех инстансов.

Примечание

При несовпадении пароля будет выведена ошибка. При отсутствии параметра пароль будет запрошен в интерактивном режиме, см. Безопасный запуск.

Аналогичная переменная окружения: PICODATA_SERVICE_PASSWORD_FILE

--timeout

-t, --timeout <TIMEOUT>

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

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

Аналогичная переменная окружения: PICODATA_CONNECT_TIMEOUT

Пример

picodata status -t 10