Spec-Zone.ru › Ansible

Модуль community.postgresql.postgresql_info — сбор информации о серверах PostgreSQL

Примечание

Этот модуль входит в коллекцию community.postgresql (версия 4.2.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните команду ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.postgresql. Для использования этого модуля требуются дополнительные компоненты. Подробнее см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.postgresql.postgresql_info.

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Собирает информацию о серверах PostgreSQL.

Требования

Следующие компоненты должны быть установлены на узле, выполняющем этот модуль.

  • psycopg2 >= 2.5.1

Параметры

Параметр

Комментарии

ca_cert

псевдонимы: ssl_rootcert

строка

Указывает имя файла, содержащего сертификат или сертификаты центра сертификации (CA) SSL.

Если файл существует, сертификат сервера будет проверен на наличие подписи одного из этих центров сертификации.

connect_params

словарь

добавлено в community.postgresql 2.3.0

Любые дополнительные параметры, передаваемые в libpg.

Эти параметры имеют приоритет.

По умолчанию: {}

filter

список / элементы=строка

Ограничивает собираемую информацию с помощью строки со значениями, разделёнными запятыми, или списка YAML.

Допустимые значения: version, databases, in_recovery, settings, tablespaces, roles, replications, repl_slots.

По умолчанию собираются все подмножества.

Можно использовать подстановочные символы в стиле оболочки (fnmatch), чтобы передать группы значений (см. примеры).

Чтобы исключить значение из информации, поставьте перед ним «!» (например, !settings).

Если фильтру переданы включающие и исключающие значения, например filter=!settings,ver, исключающие значения будут проигнорированы.

login_db

строка

Имя базы данных для подключения.

login_host

псевдонимы: host

строка

Узел, на котором запущена база данных.

Если при использовании localhost возникают проблемы с подключением, попробуйте вместо этого использовать 127.0.0.1.

По умолчанию: ""

login_password

строка

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

По умолчанию: ""

login_port

псевдонимы: port

целое число

Порт базы данных для подключения.

Псевдоним port устарел и будет удалён в следующем основном выпуске. Используйте вместо него login_port.

По умолчанию: 5432

login_unix_socket

псевдонимы: unix_socket

строка

Путь к доменному сокету Unix для локальных подключений.

По умолчанию: ""

login_user

псевдонимы: login

строка

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

По умолчанию: "postgres"

session_role

строка

Переключиться на session_role после подключения. Указанная роль session_role должна быть ролью, в которую входит текущий login_user.

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

ssl_cert

путь

добавлено в community.postgresql 2.4.0

Указывает имя файла сертификата SSL клиента.

ssl_key

путь

добавлено в community.postgresql 2.4.0

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

ssl_mode

строка

Определяет, будет ли согласовано защищённое SSL-подключение TCP/IP к серверу и, если да, с каким приоритетом.

Дополнительные сведения о режимах см. на странице https://www.postgresql.org/docs/current/static/libpq-ssl.html.

Значение по умолчанию prefer соответствует значению по умолчанию libpq.

Варианты:

  • "allow"
  • "disable"
  • "prefer" ← (по умолчанию)
  • "require"
  • "verify-ca"
  • "verify-full"

trust_input

логический

добавлено в community.postgresql 0.2.0

Если false, проверяет, может ли значение session_role представлять опасность.

Использовать false имеет смысл только в том случае, если возможны SQL-инъекции через session_role.

Варианты:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз статуса изменений, не изменяя целевой узел.

Примечания

Примечание

  • По умолчанию предполагается, что вы входите в систему как учётная запись postgres на узле или переключаетесь на неё с помощью sudo.
  • Чтобы избежать ошибки «Peer authentication failed for user postgres», используйте пользователя postgres в качестве become_user.
  • Этот модуль использует psycopg — адаптер базы данных PostgreSQL для Python. Перед использованием модуля необходимо убедиться, что на узле установлен psycopg2 >= 2.5.1 или psycopg3 >= 3.1.8.
  • Если удалённый узел является сервером PostgreSQL (что используется по умолчанию), PostgreSQL также должен быть установлен на удалённом узле.
  • В системах на базе Ubuntu перед использованием этого модуля установите на удалённом узле пакеты postgresql, libpq-dev и python3-psycopg2.

См. также

См. также

community.postgresql.postgresql_ping

Проверка доступности удалённого сервера PostgreSQL.

Примеры

# Display info from postgres hosts.
# ansible postgres -m postgresql_info

# Display only databases and roles info from all hosts using shell-style wildcards:
# ansible all -m postgresql_info -a 'filter=dat*,rol*'

# Display only replications and repl_slots info from standby hosts using shell-style wildcards:
# ansible standby -m postgresql_info -a 'filter=repl*'

# Display all info from databases hosts except settings:
# ansible databases -m postgresql_info -a 'filter=!settings'

- name: Collect PostgreSQL version and extensions
  become: true
  become_user: postgres
  community.postgresql.postgresql_info:
    filter: ver*,ext*

- name: Collect all info except settings and roles
  become: true
  become_user: postgres
  community.postgresql.postgresql_info:
    filter: "!settings,!roles"

# On FreeBSD with PostgreSQL 9.5 version and lower use pgsql user to become
# and pass "postgres" as a database to connect to
- name: Collect tablespaces and repl_slots info
  become: true
  become_user: pgsql
  community.postgresql.postgresql_info:
    login_db: postgres
    filter:
    - tablesp*
    - repl_sl*

- name: Collect all info except databases
  become: true
  become_user: postgres
  community.postgresql.postgresql_info:
    filter:
    - "!databases"

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

databases

словарь

Информация о базах данных.

Возвращается: при успехе

in_recovery

логический

Указывает, находится ли служба в режиме восстановления.

Возвращается: при успехе

Пример: false

pending_restart_settings

список / элементы=строка

Список изменённых параметров, которые вступят в силу после перезапуска.

Возвращается: при успехе

repl_slots

словарь

Слоты репликации (доступны начиная с версии 9.4).

Возвращается: если существуют

replications

словарь

Информация о текущих репликациях по идентификаторам процессов (PID).

Возвращается: если представление pg_stat_replication существует

roles

словарь

Информация о ролях.

Возвращается: при успехе

settings

словарь

Информация о параметрах сервера времени выполнения.

Возвращается: при успехе

tablespaces

словарь

Информация о табличных пространствах.

Возвращается: при успехе

version

словарь

Версия сервера базы данных.

Возвращается: при успехе

Авторы

  • Andrew Klychkov (@Andersson007)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Сообщить о проблеме
  • Связь

© 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/postgresql/postgresql_info_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API