Модуль community.proxysql.proxysql_pgsql_query_rules — изменение правил запросов pgsql с помощью интерфейса администратора proxysql
Примечание
Этот модуль входит в коллекцию community.proxysql (версия 1.8.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.proxysql. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.proxysql.proxysql_pgsql_query_rules.
Добавлено в community.proxysql 1.8.0
Краткое описание
- Модуль community.proxysql.proxysql_pgsql_query_rules изменяет правила запросов pgsql с помощью интерфейса администратора proxysql.
Требования
На узле, выполняющем этот модуль, должны быть соблюдены следующие требования.
- PyMySQL
- mysqlclient
Параметры
Параметр | Комментарии |
|---|---|
active логический | Правило со значением Варианты:
|
apply логический | Используется совместно с flagIN и flagOUT для создания цепочек правил. Значение True для apply означает, что это последнее применяемое правило. Если параметр не указан, значение по умолчанию для apply в базе данных proxysql — Варианты:
|
attributes строка | Поле JSON, которое можно использовать для указания балансировки нагрузки между группами хостов на основе правил запросов. Если параметр не указан, значение по умолчанию для attributes в базе данных proxysql — |
cache_empty_result логический | Определяет, будут ли кэшироваться наборы результатов без строк. Варианты:
|
cache_timeout целое число | Максимальное время ожидания в миллисекундах для кэширования результата запроса. |
cache_ttl целое число | Время в миллисекундах, в течение которого кэшируется результат запроса. |
client_addr строка | Сопоставление трафика с определённым источником. |
comment строка | Поле со свободным текстом, предназначенное для описательного комментария к правилу запроса. |
config_file путь | Укажите файл конфигурации, из которого следует прочитать login_user и login_password. По умолчанию: |
database строка | Критерий фильтрации, соответствующий базе данных. Если database не равно NULL, запрос будет соответствовать правилу, только если в соединении эта база данных используется как схема по умолчанию. |
delay целое число | Задержка выполнения запроса в миллисекундах. Это, по сути, механизм ограничения частоты и обеспечения качества обслуживания (QoS), позволяющий отдавать приоритет одним запросам перед другими. |
destination_hostgroup целое число | Направлять соответствующие запросы в эту группу хостов. |
digest строка | Сопоставление запросов с определённым дайджестом, возвращаемым stats_pgsql_query_digest.digest. |
error_msg строка | Запрос будет заблокирован, а клиенту будет возвращено указанное сообщение error_msg. |
flagIN целое число | Используется совместно с flagOUT и apply для создания цепочек правил. Если параметр не указан, значение по умолчанию для flagIN в базе данных proxysql — |
flagOUT целое число | Используется совместно с flagIN и apply для создания цепочек правил. Если задано, flagOUT указывает flagIN, который будет использоваться в следующей цепочке правил. |
force_delete логический | По умолчанию мы не удаляем более одного правила запроса за одну пакетную операцию. Однако, если вам необходимо такое поведение и вас не беспокоит, какие именно правила запросов будут удалены, задайте для force_delete значение Варианты:
|
load_to_runtime логический | Динамически загружать конфигурацию в память среды выполнения. Варианты:
|
log логический | Запрос будет записан в журнал. Варианты:
|
login_host строка | Хост для подключения к интерфейсу администратора ProxySQL. По умолчанию: |
login_password строка | Пароль для аутентификации в интерфейсе администратора ProxySQL. |
login_port целое число | Порт для подключения к интерфейсу администратора ProxySQL. По умолчанию: |
login_unix_socket строка | Сокет для подключения к интерфейсу администратора ProxySQL. |
login_user строка | Имя пользователя для аутентификации в интерфейсе администратора ProxySQL. |
match_digest строка | Регулярное выражение, соответствующее дайджесту запроса. Используется диалект регулярных выражений re2 — https://github.com/google/re2. |
match_pattern строка | Регулярное выражение, соответствующее тексту запроса. Используется диалект регулярных выражений re2 — https://github.com/google/re2. |
mirror_flagOUT целое число | Включает зеркалирование запросов. Если задано, mirror_flagOUT можно использовать для проверки зеркального запроса по указанной цепочке правил. |
mirror_hostgroup целое число | Включает зеркалирование запросов. Если задано, mirror_hostgroup можно использовать для зеркалирования запросов в ту же или другую группу хостов. |
multiplex целое число | Если Если Если По умолчанию политика мультиплексирования не изменяется. Варианты:
|
negate_match_pattern логический | Если для negate_match_pattern задано значение Варианты:
|
next_query_flagIN целое число | Если задано, это значение станет значением flagIN для следующих запросов. |
OK_msg строка | Для запроса, использующего заданное правило, будет возвращено указанное сообщение. |
proxy_addr строка | Сопоставление входящего трафика с определённым локальным IP-адресом. |
proxy_port целое число | Сопоставление входящего трафика с определённым локальным портом. |
re_modifiers строка | Список параметров, разделённых запятыми, для изменения поведения обработчика регулярных выражений (RE). При использовании |
reconnect логический | Пока не реализовано в ProxySQL. Варианты:
|
replace_pattern строка | Шаблон для замены совпавшего шаблона. Этот параметр необязателен. Если он не указан, обработчик запросов будет только кэшировать и маршрутизировать запросы или задавать другие параметры, не переписывая запрос. |
retries целое число | Максимальное число повторных выполнений запроса при обнаружении сбоя во время его выполнения. |
rule_id целое число | Уникальный идентификатор правила. Правила обрабатываются в порядке возрастания rule_id. |
save_to_disk логический | Сохранить конфигурацию в sqlite-базе данных на диске, чтобы обеспечить её сохранность. Варианты:
|
state строка | При значении Варианты:
|
sticky_conn логический | Пока не реализовано в ProxySQL. Варианты:
|
timeout целое число | Максимальное время ожидания в миллисекундах, в течение которого должен выполняться соответствующий запрос или переписанный запрос. Если запрос выполняется дольше заданного порога, он автоматически завершается. |
username строка | Критерий фильтрации, соответствующий имени пользователя. Если username не равно NULL, запрос будет соответствовать правилу, только если соединение установлено с правильным именем пользователя. |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Не вносить изменения в память, на диск или в среду выполнения. |
Примеры
---
# This example adds a rule to redirect queries from a specific user to another
# hostgroup, it saves the pgsql query rule config to disk, but avoids loading
# the pgsql query config to runtime (this might be because several rules are
# being added and the user wants to push the config to runtime in a single
# batch using the community.proxysql.proxysql_manage_config module). It uses
# supplied credentials to connect to the proxysql admin interface.
- name: Add a rule
community.proxysql.proxysql_pgsql_query_rules:
login_user: admin
login_password: admin
username: 'guest_ro'
match_pattern: "^SELECT.*"
destination_hostgroup: 1
active: 1
retries: 3
state: present
load_to_runtime: false
# This example removes all rules that use the username 'guest_ro', saves the
# pgsql query rule config to disk, and dynamically loads the pgsql query rule
# config to runtime. It uses credentials in a supplied config file to connect
# to the proxysql admin interface.
- name: Remove rules
community.proxysql.proxysql_pgsql_query_rules:
config_file: '~/proxysql.cnf'
username: 'guest_ro'
state: absent
force_delete: true
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
stdout словарь | Правило запроса pgsql, изменённое или удалённое из proxysql. Возвращается: При создании или обновлении возвращает изменённое правило; во всех остальных случаях возвращает список правил, соответствующих заданным критериям. Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/proxysql/proxysql_pgsql_query_rules_module.html