Spec-Zone.ru › Ansible 2.10

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

Примечание

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

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

Для использования в playbook укажите: community.postgresql.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
  • предпочтительно ←
  • 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.postgresql
    Варианты:
  • нет
  • да ←
Если no, проверить, являются ли значения параметров потенциально опасными.
Использование no имеет смысл только при возможности SQL-инъекций.
unlogged
логическое значение
    Варианты:
  • нет ←
  • да
Создать неологическую таблицу.

Примечания

Примечание

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

См. также

См. также

community.postgresql.postgresql_sequence

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

community.postgresql.postgresql_idx

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

community.postgresql.postgresql_info

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

community.postgresql.postgresql_tablespace

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

community.postgresql.postgresql_owner

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

community.postgresql.postgresql_privs

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

community.postgresql.postgresql_copy

Официальная документация по модулю community.postgresql.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.postgresql.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.postgresql.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.postgresql.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.postgresql.postgresql_table:
    name: acme.useless_data
    columns: waste_id int
    unlogged: true

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

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

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

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

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

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

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

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

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

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

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

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

Пример:
present
storage_params
list / elements=string
всегда
Параметры хранения.

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

Пример:
foo
tablespace
string
всегда
Файловая система.

Пример:
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/postgresql/postgresql_table_module.html

Spec-Zone.ru

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