Spec-Zone.ru › Ansible 2.9

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.
tablespace
путь
добавлено в 2.9
Пространство имен таблиц для базы данных https://www.postgresql.org/docs/current/sql-alterdatabase.html.
Если вы хотите вернуть базу данных в пространство имен таблиц по умолчанию, явно установите это значение в pg_default.
target
путь
добавлено в 2.4
Файл для создания резервной копии или восстановления из него.
Используется, когда state равен dump или restore.
target_opts
строка
добавлено в 2.4
Дополнительные аргументы для pg_dump или pg_restore.
Используется, когда state равен dump или restore.
template
строка
Шаблон, используемый для создания базы данных.

Примечания

Примечание

  • Состояния 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.
postgresql_tablespace – Добавить или удалить пространства имен PostgreSQL на удаленных хостах
Официальная документация модуля postgresql_tablespace.
postgresql_info – Сбор информации о серверах PostgreSQL
Официальная документация модуля postgresql_info.
postgresql_ping – Проверка доступности удаленного сервера PostgreSQL
Официальная документация модуля postgresql_ping.

Примеры

- 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"

# 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
  postgresql_db:
    name: foo
    tablespace: bar

Статус

  • Данный модуль гарантирует обратную совместимость изменений интерфейса в будущем. [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.9/modules/postgresql_db_module.html

Spec-Zone.ru

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