Spec-Zone.ru › Ansible 2.10

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

Примечание

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

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

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

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

Обзор

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

Требования

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

  • psycopg2

Параметры

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

алиасы: ssl_rootcert
conn_limit
строка
Указывает предел подключений к базе данных.
dump_extra_args
строка
добавлен в версии 0.2.0 community.postgresql
Предоставляет дополнительные аргументы при state равен dump.
Не может быть использован с аргументами, связанными с форматом файла дампов, такими как ``--format=d``.
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
строка
По умолчанию:
"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 или программы восстановления (pg_restore или psql, в зависимости от формата целевого объекта).
Используется при state равен dump или restore.
template
строка
Шаблон, используемый для создания базы данных
trust_input
логическое значение
добавлен в версии 0.2.0 community.postgresql
    Варианты:
  • no
  • yes ←
Если no, проверяется, являются ли значения параметров owner, conn_limit, encoding, db, template, tablespace, session_role потенциально опасными.
Использование no имеет смысл только в том случае, если SQL-инъекции через параметры возможны.

Примечания

Примечание

  • Состояния dump и restore не требуют psycopg2 с версии 2.8.
  • По умолчанию предполагается, что вы входите в систему как или используете sudo от учётной записи postgres на хосте.
  • Чтобы избежать ошибки "Ошибка проверки подлинности Peer для пользователя 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.postgresql.postgresql_tablespace

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

community.postgresql.postgresql_info

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

community.postgresql.postgresql_ping

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

Примеры

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

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

- name: Dump an existing database to a file excluding the test table
  community.postgresql.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.postgresql.postgresql_db:
    name: acme
    state: dump
    target: /tmp/acme.sql.gz

- name: Dump a single schema for an existing database
  community.postgresql.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.postgresql.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.postgresql.postgresql_db:
    name: foo
    tablespace: bar

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

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

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

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


Авторы

  • Команда разработчиков 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.10/collections/community/postgresql/postgresql_db_module.html

Spec-Zone.ru

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