Spec-Zone.ru › Ansible

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

Примечание

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

Эта коллекция может быть уже установлена, если вы используете пакет 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.

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

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

db

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

строка

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

filter

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

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

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

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

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

Можно использовать ‘!’ перед значением (например, !settings) для исключения из информации.

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

login_host

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

строка

Хост, на котором работает база данных.

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

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

login_password

строка

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

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

login_unix_socket

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

строка

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

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

login_user

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

строка

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

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

port

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

целое число

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

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

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

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

Может работать в режиме проверки и возвращать прогноз изменения состояния без модификации целевого объекта.

Примечания

Примечание

  • По умолчанию используется аутентификация, предполагающая вход под учетной записью или выполнение sudo от имени учетной записи postgres на хосте.
  • Чтобы избежать ошибки «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:
    db: postgres
    filter:
    - tablesp*
    - repl_sl*

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

Значения возврата

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

Ключ

Описание

databases

dictionary

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

Возвращено: success

Пример: [{"postgres": {"access_priv": "", "collate": "en_US.UTF-8", "ctype": "en_US.UTF-8", "encoding": "UTF8", "owner": "postgres", "size": "7997 kB"}}]

database_name

dictionary

Имя базы данных.

Возвращено: success

Пример: "template1"

access_priv

string

Привилегии доступа к базе данных.

Возвращено: success

Пример: "=c/postgres_npostgres=CTc/postgres"

collate

string

Сортировка базы данных https://www.postgresql.org/docs/current/collation.html.

Возвращено: success

Пример: "en_US.UTF-8"

ctype

string

LC_CTYPE базы данных https://www.postgresql.org/docs/current/multibyte.html.

Возвращено: success

Пример: "en_US.UTF-8"

encoding

string

Кодировка базы данных https://www.postgresql.org/docs/current/multibyte.html.

Возвращено: success

Пример: "UTF8"

extensions

dictionary

Расширения https://www.postgresql.org/docs/current/sql-createextension.html.

Возвращено: success

Пример: [{"plpgsql": {"description": "PL/pgSQL procedural language", "extversion": {"major": 1, "minor": 0, "raw": "1.0"}}}]

extdescription

string

Описание расширения.

Возвращено: if existent

Пример: "PL/pgSQL procedural language"

extversion

dictionary

Описание расширения.

Возвращено: success

major

integer

Основная версия расширения.

Возвращено: success

Пример: 1

minor

integer

Второстепенная версия расширения.

Возвращено: success

Пример: 0

raw

string

Полная версия расширения.

Возвращено: success

Пример: "1.0"

nspname

string

Пространство имен, где находится расширение.

Возвращено: success

Пример: "pg_catalog"

icu_locale

string

ICU_LOCALE базы данных https://www.postgresql.org/docs/current/locale.html#ICU-LOCALES.

Возвращено: success

Пример: "en_US.UTF-8"

languages

dictionary

Процедурные языки https://www.postgresql.org/docs/current/xplang.html.

Возвращено: success

Пример: {"sql": {"lanacl": "", "lanowner": "postgres"}}

lanacl

string

Привилегии доступа к языку https://www.postgresql.org/docs/current/catalog-pg-language.html.

Возвращено: success

Пример: "{postgres=UC/postgres,=U/postgres}"

lanowner

string

Владелец языка https://www.postgresql.org/docs/current/catalog-pg-language.html.

Возвращаемое значение: success

Пример: "postgres"

locale_provider

string

LOCALE_PROVIDER базы данных https://www.postgresql.org/docs/current/locale.html#LOCALE-PROVIDERS.

Возвращаемое значение: success

Пример: "en_US.UTF-8"

namespaces

dictionary

Пространства имен (схемы) https://www.postgresql.org/docs/current/sql-createschema.html.

Возвращаемое значение: success

Пример: {"pg_catalog": {"nspacl": "{postgres=UC/postgres,=U/postgres}", "nspowner": "postgres"}}

nspacl

string

Права доступа https://www.postgresql.org/docs/current/catalog-pg-namespace.html.

Возвращаемое значение: success

Пример: "{postgres=UC/postgres,=U/postgres}"

nspowner

string

Владелец схемы https://www.postgresql.org/docs/current/catalog-pg-namespace.html.

Возвращаемое значение: success

Пример: "postgres"

owner

string

Владелец базы данных https://www.postgresql.org/docs/current/sql-createdatabase.html.

Возвращаемое значение: success

Пример: "postgres"

publications

dictionary

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

Информация о логических публикациях репликации (доступно для PostgreSQL 10 и выше) https://www.postgresql.org/docs/current/logical-replication-publication.html.

Содержание зависит от версии сервера PostgreSQL.

Возвращаемое значение: если настроено

Пример: {"pub1": {"ownername": "postgres", "puballtables": true, "pubinsert": true, "pubupdate": true}}

size

string

Размер базы данных в байтах.

Возвращаемое значение: success

Пример: "8189415"

subscriptions

dictionary

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

Информация о подписках на репликацию (доступно для PostgreSQL 10 и выше) https://www.postgresql.org/docs/current/logical-replication-subscription.html.

Содержание зависит от версии сервера PostgreSQL.

Возвращаемые значения для суперпользователя и обычного пользователя могут отличаться https://www.postgresql.org/docs/current/catalog-pg-subscription.html.

Возвращаемое значение: если настроено

Пример: [{"my_subscription": {"ownername": "postgres", "subenabled": true, "subpublications": ["first_publication"]}}]

in_recovery

boolean

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

Возвращаемое значение: success

Пример: false

pending_restart_settings

list / elements=string

Список настроек, которые ожидают перезагрузки.

Возвращаемое значение: success

Пример: ["shared_buffers"]

repl_slots

dictionary

Слоты репликации (доступно в 9.4 и более поздних версиях) https://www.postgresql.org/docs/current/view-pg-replication-slots.html.

Возвращаемое значение: если существуют

Пример: {"slot0": {"active": false, "database": null, "plugin": null, "slot_type": "physical"}}

active

boolean

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

Возвращаемое значение: success

Пример: true

database

string

Имя базы данных, с которой связан этот слот, или null.

Возвращаемое значение: success

Пример: "acme"

plugin

строка

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

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

Пример: "pgoutput"

slot_type

строка

Тип слота — физический или логический.

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

Пример: "logical"

replications

словарь

Информация о текущих репликациях по идентификаторам процессов (PID) https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE.

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

Пример: [{"76580": {"app_name": "standby1", "backend_start": "2019-02-03 00:14:33.908593+03", "client_addr": "10.10.10.2", "client_hostname": "", "state": "streaming", "usename": "postgres"}}]

app_name

строка

Имя приложения, подключенного к этому отправителю WAL.

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

Пример: "acme_srv"

backend_start

строка

Время запуска этого процесса, т.е. время подключения клиента к этому отправителю WAL.

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

Пример: "2019-02-03 00:14:33.908593+03"

client_addr

строка

IP-адрес клиента, подключенного к этому отправителю WAL.

Если это поле равно null, это означает, что клиент подключен через сокет Unix на серверной машине.

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

Пример: "10.0.0.101"

client_hostname

строка

Имя хоста подключенного клиента, полученное путем обратного DNS-поиска client_addr.

Это поле будет не null только для подключений по IP и только когда включен log_hostname.

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

Пример: "dbsrv1"

state

строка

Текущее состояние отправителя WAL.

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

Пример: "streaming"

usename

строка

Имя пользователя, вошедшего в этот процесс отправителя WAL («usename» — имя столбца в представлении pg_stat_replication).

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

Пример: "replication_user"

roles

словарь

Информация о ролях https://www.postgresql.org/docs/current/user-manag.html.

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

Пример: [{"test_role": {"canlogin": true, "member_of": ["user_ro"], "superuser": false, "valid_until": "9999-12-31T23:59:59.999999+00:00"}}]

canlogin

логическое значение

Привилегия входа https://www.postgresql.org/docs/current/role-attributes.html.

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

Пример: true

member_of

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

Членство в ролях https://www.postgresql.org/docs/current/role-membership.html.

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

Пример: ["read_only_users"]

superuser

логическое значение

Пользователь является суперпользователем или нет.

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

Пример: false

valid_until

строка

Дата истечения срока действия пароля https://www.postgresql.org/docs/current/sql-alterrole.html.

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

Пример: "9999-12-31T23:59:59.999999+00:00"

settings

словарь

Информация о параметрах сервера во время выполнения https://www.postgresql.org/docs/current/view-pg-settings.html.

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

Пример: [{"work_mem": {"boot_val": "4096", "context": "user", "max_val": "2147483647", "min_val": "64", "setting": "8192", "sourcefile": "/var/lib/pgsql/10/data/postgresql.auto.conf", "unit": "kB", "val_in_bytes": 4194304, "vartype": "integer"}}]

boot_val

string

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

Возвращаемое значение: успех

Пример: "4096"

context

string

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

Для получения дополнительной информации см. https://www.postgresql.org/docs/current/view-pg-settings.html.

Возвращаемое значение: успех

Пример: "user"

max_val

string

Максимально допустимое значение параметра (null для нечисловых значений).

Возвращаемое значение: успех

Пример: "2147483647"

min_val

string

Минимально допустимое значение параметра (null для нечисловых значений).

Возвращаемое значение: успех

Пример: "64"

pending_restart

boolean

Истинно, если значение было изменено в файле конфигурации, но требуется перезагрузка; или ложно в противном случае.

Возвращается только если settings передано.

Возвращаемое значение: успех

Пример: false

pretty_val

string

Значение, представленное в удобном для чтения формате.

Возвращаемое значение: успех

Пример: "2MB"

setting

string

Текущее значение параметра.

Возвращаемое значение: успех

Пример: "49152"

sourcefile

string

Файл конфигурации, в котором было установлено текущее значение.

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

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

Возвращаемое значение: успех

Пример: "/var/lib/pgsql/10/data/postgresql.auto.conf"

unit

string

Неявная единица измерения параметра.

Возвращаемое значение: успех

Пример: "kB"

val_in_bytes

integer

Текущее значение параметра в байтах.

Возвращаемое значение: если поддерживается

Пример: 2147483647

vartype

string

Тип параметра (bool, перечисление, целое число, вещественное число или строка).

Возвращаемое значение: успех

Пример: "integer"

tablespaces

dictionary

Информация о табличных пространствах https://www.postgresql.org/docs/current/catalog-pg-tablespace.html.

Возвращаемое значение: успех

Пример: [{"test": {"spcacl": "{postgres=C/postgres,andreyk=C/postgres}", "spcoptions": ["seq_page_cost=1"], "spcowner": "postgres"}}]

spcacl

string

Права доступа к табличным пространствам.

Возвращаемое значение: успех

Пример: "{postgres=C/postgres,andreyk=C/postgres}"

spcoptions

list / elements=string

Параметры уровня табличного пространства.

Возвращаемое значение: успех

Пример: ["seq_page_cost=1"]

spcowner

string

Владелец табличного пространства.

Возвращаемое значение: успех

Пример: "test_user"

version

dictionary

Версия сервера базы данных https://www.postgresql.org/support/versioning/.

Возвращаемое значение: успех

Пример: {"version": {"major": 10, "minor": 6}}

полный

строка

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

Полная версия сервера.

Возвращаемое значение: успешно

Пример: "13.2"

главный

целое число

Главная версия сервера.

Возвращаемое значение: успешно

Пример: 11

дополнительный

целое число

Дополнительная версия сервера.

Возвращаемое значение: успешно

Пример: 1

исправленный

целое число

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

Версия исправления сервера.

Возвращаемое значение: если поддерживается

Пример: 5

сырой

строка

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

Полный вывод, возвращаемый ``SELECT version()``.

Возвращаемое значение: успешно

Пример: "PostgreSQL 13.2 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 10.2.1 20201125 (Red Hat 10.2.1-9), 64-bit"

Авторы

  • Andrew Klychkov (@Andersson007)

Ссылки на сборку

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

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/postgresql/postgresql_info_module.html

Spec-Zone.ru

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