Spec-Zone.ru › Ansible 2.8

postgresql_db – Добавление или удаление баз данных PostgreSQL на удалённом хосте

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Статус

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

  • Добавление или удаление баз данных PostgreSQL на удалённом хосте.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • psycopg2

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ca_cert
строка
Указывает имя файла, содержащего сертификаты центра сертификации (CA).
Если файл существует, сертификат сервера будет проверен на подпись одним из этих центров.

Псевдонимы: ssl_rootcert
conn_limit
строка
добавлен в 2.8
Указывает лимит подключений к базе данных.
encoding
строка
Кодировка базы данных
lc_collate
строка
Порядок сортировки (LC_COLLATE) для использования в базе данных. Должен соответствовать порядку сортировки шаблонной базы данных, за исключением случаев, когда используется template0.
lc_ctype
строка
Классификация символов (LC_CTYPE) для использования в базе данных (например, нижний регистр, верхний регистр, ...). Должен соответствовать LC_CTYPE шаблонной базы данных, за исключением случаев, когда используется template0.
login_host
строка
Хост, на котором работает база данных.
login_password
строка
Пароль для аутентификации.
login_unix_socket
строка
Путь к Unix-сокету для локальных подключений.
login_user
строка
По умолчанию:
"postgres"
Имя пользователя для аутентификации.
maintenance_db
строка
добавлен в 2.5
По умолчанию:
"postgres"
Значение задаёт начальную базу данных (также называемую базой данных обслуживания), к которой Ansible подключается.
name
строка / обязательно
Имя базы данных для добавления или удаления

Псевдонимы: db
owner
строка
Имя роли, которая должна быть установлена владельцем базы данных.
port
целое число
По умолчанию:
5432
Порт базы данных для подключения (если необходимо)

Псевдонимы: login_port
session_role
строка
добавлен в 2.8
Переключение на роль session_role после подключения. Указанная роль session_role должна быть ролью, членом которой является текущий login_user.
Проверка разрешений для SQL-команд выполняется так, как будто роль session_role была той, которая изначально выполнила вход.
ssl_mode
строка
    Варианты:
  • allow
  • disable
  • prefer ←
  • require
  • verify-ca
  • verify-full
Определяет, будет ли и с какой приоритетностью устанавливаться защищённое SSL TCP/IP-соединение с сервером.
См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах.
Значение по умолчанию prefer соответствует значению по умолчанию libpq.
state
строка
    Варианты:
  • absent
  • dump
  • present ←
  • restore
Состояние базы данных.
present означает, что база данных должна быть создана, если это необходимо.
absent означает, что база данных должна быть удалена, если она существует.
dump требует определения целевого файла для резервного копирования базы данных. (Добавлена в Ansible 2.4) Обратите внимание, что в некоторых версиях PostgreSQL утилита pg_dump, которая встроена в PostgreSQL и используется модулем, возвращает rc 0 даже при возникновении ошибок (например, подключение запрещено pg_hba.conf и т. д.), поэтому модуль возвращает changed=True, но резервное копирование фактически не выполняется. Убедитесь, что ваша версия pg_dump возвращает rc 1 в этом случае.
restore также требует определения целевого файла для восстановления базы данных. (Добавлена в Ansible 2.4)
Формат резервной копии будет определён на основе имени целевого файла.
Поддерживаемые форматы сжатия для резервного копирования и восстановления включают .bz2, .gz и .xz.
Поддерживаемые форматы для резервного копирования и восстановления включают .sql и .tar.
target
путь
добавлен в 2.4
Файл для резервного копирования или восстановления.
Используется, когда state равен dump или restore.
target_opts
строка
добавлен в 2.4
Дополнительные аргументы для pg_dump или pg_restore.
Используется, когда state равен dump или restore.
template
строка
Шаблон, используемый для создания базы данных.

Примечания

Примечание

  • Состояния dump и restore не требуют psycopg2 начиная с версии 2.8.
  • Аутентификация по умолчанию предполагает, что вы входите в систему как пользователь postgres или выполняете sudo к нему на хосте.
  • Этот модуль использует psycopg2, адаптер Python для базы данных PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля. Если удалённый хост является сервером PostgreSQL (что является стандартным случаем), то PostgreSQL также должен быть установлен на удалённом хосте. Для систем на базе Ubuntu установите пакеты postgresql, libpq-dev, и python-psycopg2 на удалённом хосте перед использованием этого модуля.
  • Для параметра ca_cert требуется как минимум версия PostgreSQL 8.4 и psycopg2 версии 2.4.3.

Примеры

- name: Create a new database with name "acme"
  postgresql_db:
    name: acme

# Note: If a template different from "template0" is specified, encoding and locale settings must match those of the template.
- name: Create a new database with name "acme" and specific encoding and locale # settings.
  postgresql_db:
    name: acme
    encoding: UTF-8
    lc_collate: de_DE.UTF-8
    lc_ctype: de_DE.UTF-8
    template: template0

# Note: Default limit for the number of concurrent connections to a specific database is "-1", which means "unlimited"
- name: Create a new database with name "acme" which has a limit of 100 concurrent connections
  postgresql_db:
    name: acme
    conn_limit: "100"

- name: Dump an existing database to a file
  postgresql_db:
    name: acme
    state: dump
    target: /tmp/acme.sql

- name: Dump an existing database to a file (with compression)
  postgresql_db:
    name: acme
    state: dump
    target: /tmp/acme.sql.gz

- name: Dump a single schema for an existing database
  postgresql_db:
    name: acme
    state: dump
    target: /tmp/acme.sql
    target_opts: "-n public"

Статус

  • Этот модуль гарантированно не будет иметь изменений в обратной совместимости в будущем. [stableinterface]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • Команда разработчиков Ansible

Подсказка

Если вы обнаружите какие-либо проблемы в этом руководстве, вы можете изменить этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/postgresql_db_module.html

Spec-Zone.ru

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