Spec-Zone.ru › Ansible 2.10

community.general.postgresql_table – Создание, удаление или изменение таблицы PostgreSQL

Примечание

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

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

Чтобы использовать его в плейбуке, укажите: community.general.postgresql_table.

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

Описание

  • Позволяет создавать, удалять, переименовывать, обнулять таблицу или изменять некоторые ее атрибуты.

Требования

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

  • psycopg2

Параметры

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

Псевдонимы: ssl_rootcert
cascade
булево
    Варианты:
  • нет ←
  • да
Автоматически удаляет объекты, зависящие от таблицы (например, представления). Используется только с state=absent.
columns
список / элементы=строка
Необходимые столбцы.
db
строка
Имя базы данных для подключения и создания таблицы.

Псевдонимы: login_db
including
строка
Ключевые слова, используемые с параметром like, могут быть DEFAULTS, CONSTRAINTS, INDEXES, STORAGE, COMMENTS или ALL. Требуется указание параметра like. Взаимоисключительно с columns, rename и truncate.
like
строка
Создать таблицу, аналогичную другой таблице (с похожим DDL). Взаимоисключительно с columns, rename и truncate.
login_host
строка
Хост, на котором работает база данных.
login_password
строка
Пароль для аутентификации.
login_unix_socket
строка
Путь к сокету Unix доменной области для локальных подключений.
login_user
строка
По умолчанию:
"postgres"
Имя пользователя для аутентификации.
owner
строка
Установить владельца таблицы.
port
целое число
По умолчанию:
5432
Порт базы данных для подключения.

Псевдонимы: login_port
rename
строка
Новое имя таблицы. Взаимоисключительно с tablespace, owner, unlogged, like, including, columns, truncate и storage_params.
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
  • present ←
Состояние таблицы. state=absent взаимоисключительно с tablespace, owner, unlogged, like, including, columns, truncate, storage_params и rename.
storage_params
список / элементы=строка
Параметры хранения, такие как fillfactor, autovacuum_vacuum_treshold и т.д. Взаимоисключительно с rename и truncate.
table
строка / обязательный
Имя таблицы.

Псевдонимы: name
tablespace
строка
Установить табличное пространство для таблицы.
truncate
булево
    Варианты:
  • нет ←
  • да
Обнулить таблицу. Взаимоисключительно с tablespace, owner, unlogged, like, including, columns, rename и storage_params.
trust_input
булево
добавлен в 0.2.0 community.general
    Варианты:
  • нет
  • да ←
Если no, проверять, являются ли значения параметров потенциально опасными.
Использование no целесообразно только в случае возможности SQL-инъекций.
unlogged
булево
    Варианты:
  • нет ←
  • да
Создать нелогичную таблицу.

Примечания

Примечание

  • Если параметр db не указан, таблицы будут созданы в базе данных с именем postgres.
  • PostgreSQL позволяет создавать таблицы без столбцов, поэтому параметр columns является необязательным.
  • Нелогичные таблицы доступны с версии PostgreSQL сервера 9.1.
  • Аутентификация по умолчанию предполагает, что вы входите в систему как или подключаетесь к учетной записи 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.

См. также

См. также

community.general.postgresql_sequence

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

community.general.postgresql_idx

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

community.general.postgresql_info

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

community.general.postgresql_tablespace

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

community.general.postgresql_owner

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

community.general.postgresql_privs

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

community.general.postgresql_copy

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

Справочник CREATE TABLE

Полный справочник по команде CREATE TABLE.

Справочник ALTER TABLE

Полный справочник по команде ALTER TABLE.

Справочник DROP TABLE

Полный справочник по команде DROP TABLE.

Типы данных PostgreSQL

Полный справочник по типам данных PostgreSQL.

Примеры

- name: Create tbl2 in the acme database with the DDL like tbl1 with testuser as an owner
  community.general.postgresql_table:
    db: acme
    name: tbl2
    like: tbl1
    owner: testuser

- name: Create tbl2 in the acme database and tablespace ssd with the DDL like tbl1 including comments and indexes
  community.general.postgresql_table:
    db: acme
    table: tbl2
    like: tbl1
    including: comments, indexes
    tablespace: ssd

- name: Create test_table with several columns in ssd tablespace with fillfactor=10 and autovacuum_analyze_threshold=1
  community.general.postgresql_table:
    name: test_table
    columns:
    - id bigserial primary key
    - num bigint
    - stories text
    tablespace: ssd
    storage_params:
    - fillfactor=10
    - autovacuum_analyze_threshold=1

- name: Create an unlogged table in schema acme
  community.general.postgresql_table:
    name: acme.useless_data
    columns: waste_id int
    unlogged: true

- name: Rename table foo to bar
  community.general.postgresql_table:
    table: foo
    rename: bar

- name: Rename table foo from schema acme to bar
  community.general.postgresql_table:
    name: acme.foo
    rename: bar

- name: Set owner to someuser
  community.general.postgresql_table:
    name: foo
    owner: someuser

- name: Change tablespace of foo table to new_tablespace and set owner to new_user
  community.general.postgresql_table:
    name: foo
    tablespace: new_tablespace
    owner: new_user

- name: Truncate table foo
  community.general.postgresql_table:
    name: foo
    truncate: yes

- name: Drop table foo from schema acme
  community.general.postgresql_table:
    name: acme.foo
    state: absent

- name: Drop table bar cascade
  community.general.postgresql_table:
    name: bar
    state: absent
    cascade: yes

Возвращаемые значения

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

Ключ Возвращаемое значение Описание
owner
строка
всегда
Владелец таблицы.

Пример:
postgres
queries
строка
всегда
Список выполненных запросов.

Пример:
['CREATE TABLE "test_table" (id bigint)']
state
строка
всегда
Состояние таблицы.

Пример:
present
storage_params
список / элементы=строка
всегда
Параметры хранения.

Пример:
['fillfactor=100', 'autovacuum_analyze_threshold=1']
table
строка
всегда
Имя таблицы.

Пример:
foo
tablespace
строка
всегда
Таблица хранения.

Пример:
ssd_tablespace


Авторы

  • Андрей Клычков (@Andersson007)

© 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_table_module.html

Spec-Zone.ru

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