Spec-Zone.ru › Ansible 2.11

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

Примечание

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

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

Для использования в книге задач укажите: community.postgresql.postgresql_table.

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

Краткое описание

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

Требования

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

  • psycopg2

Параметры

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

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

Примечания

Примечание

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

См. также

См. также

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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/postgresql/postgresql_table_module.html

Spec-Zone.ru

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