Spec-Zone.ru › Ansible 2.10

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

Примечание

Этот плагин входит в коллекцию community.general (версия 1.3.2).

Для его установки используйте: ansible-galaxy collection install community.general.

Для использования в плейбуке укажите: community.general.postgresql_db.

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

Описание

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

Требования

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

  • psycopg2

Параметры

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

Псевдонимы: ssl_rootcert
conn_limit
строка
Указывает лимит подключений к базе данных.
dump_extra_args
строка
добавлен в 0.2.0 community.general
Предоставляет дополнительные аргументы, когда state равен dump.
Не может быть использован с аргументами, связанными с форматом файла дампов, например, ``--format=d``.
encoding
строка
Кодировка базы данных
lc_collate
строка
Порядок сортировки (LC_COLLATE) для использования в базе данных. Должен совпадать с порядком сортировки шаблонной базы данных, если не используется template0 в качестве шаблона.
lc_ctype
строка
Классификация символов (LC_CTYPE) для использования в базе данных (например, lower, upper, ...). Должен совпадать с LC_CTYPE шаблонной базы данных, если не используется template0 в качестве шаблона.
login_host
строка
Хост, на котором запущена база данных.
login_password
строка
Пароль, используемый для аутентификации.
login_unix_socket
строка
Путь к Unix-сокету для локальных соединений.
login_user
строка
По умолчанию:
"postgres"
Имя пользователя, используемое для аутентификации.
maintenance_db
строка
По умолчанию:
"postgres"
Указывает начальную базу данных (также называемую базой данных обслуживания), к которой Ansible подключается.
name
строка / обязательно
Имя базы данных для добавления или удаления

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

Псевдонимы: login_port
session_role
строка
Переключение на роль 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)
Формат резервной копии будет определен на основе имени целевого объекта.
Поддерживаемые форматы сжатия для дампов и восстановления включают .pgc, .bz2, .gz и .xz.
Поддерживаемые форматы дампов и восстановления включают .sql и .tar.
Программа восстановления выбирается по формату файла целевого объекта: .tar и .pgc обрабатываются pg_restore, остальные — psql.
tablespace
путь
Назначение табличного пространства для базы данных https://www.postgresql.org/docs/current/sql-alterdatabase.html.
Если необходимо вернуть базу данных в стандартное табличное пространство, явно установите значение pg_default.
target
путь
Файл для резервного копирования или восстановления из.
Используется при state dump или restore.
target_opts
строка
Дополнительные аргументы для программ pg_dump или restore (pg_restore или psql, в зависимости от формата целевого объекта).
Используется при state dump или restore.
template
строка
Шаблон, используемый для создания базы данных
trust_input
логическое
добавлен в 0.2.0 community.general
    Варианты:
  • no
  • yes ←
Если no, проверять, являются ли значения параметров owner, conn_limit, encoding, db, template, tablespace, session_role потенциально опасными.
Использование no имеет смысл только тогда, когда возможны SQL-инъекции через параметры.

Примечания

Примечание

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

См. также

См. также

CREATE DATABASE справка

Полная справка по команде CREATE DATABASE.

DROP DATABASE справка

Полная справка по команде DROP DATABASE.

pg_dump справка

Полная справка по pg_dump.

pg_restore справка

Полная справка по pg_restore.

community.general.postgresql_tablespace

Официальная документация модуля community.general.postgresql_tablespace.

community.general.postgresql_info

Официальная документация модуля community.general.postgresql_info.

community.general.postgresql_ping

Официальная документация модуля community.general.postgresql_ping.

Примеры

- name: Create a new database with name "acme"
  community.general.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.
  community.general.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
  community.general.postgresql_db:
    name: acme
    conn_limit: "100"

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

- name: Dump an existing database to a file excluding the test table
  community.general.postgresql_db:
    name: acme
    state: dump
    target: /tmp/acme.sql
    dump_extra_args: --exclude-table=test

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

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

- name: Dump only table1 and table2 from the acme database
  community.general.postgresql_db:
    name: acme
    state: dump
    target: /tmp/table1_table2.sql
    target_opts: "-t table1 -t table2"

# Note: In the example below, if database foo exists and has another tablespace
# the tablespace will be changed to foo. Access to the database will be locked
# until the copying of database files is finished.
- name: Create a new database called foo in tablespace bar
  community.general.postgresql_db:
    name: foo
    tablespace: bar

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

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

Ключ Возвращаемое значение Описание
executed_commands
список / элементы=строка
добавлено в 0.2.0 community.general
всегда
Список команд, которые пытались запуститься.

Пример:
['CREATE DATABASE acme']


Авторы

  • Команда Ansible Core

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

Spec-Zone.ru

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