Spec-Zone.ru › Ansible

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

Примечание

Этот модуль входит в коллекцию community.postgresql (версия 3.6.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.postgresql. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробностей.

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

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

Описание

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

Требования

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

  • psycopg2 >= 2.5.1

Параметры

END_OF_DOCUMENT_MARKER

Параметр

Комментарии

ca_cert

aliases: ssl_rootcert

string

Указывает имя файла, содержащего сертификат(ы) центра сертификации (CA).

Если файл существует, сертификат сервера будет проверен на наличие подписи одного из этих центров.

cascade

boolean

Автоматически удаляет объекты, зависящие от таблицы (например, представления). Используется только с state=absent.

Варианты:

  • false ← (default)
  • true

columns

list / elements=string

Необходимые столбцы.

connect_params

dictionary

добавлено в community.postgresql 2.3.0

Все дополнительные параметры, передаваемые в libpg.

Эти параметры имеют приоритет.

Значение по умолчанию: {}

db

aliases: login_db

string

Имя базы данных для подключения и создания таблицы.

Значение по умолчанию: ""

including

string

Ключевые слова, используемые с параметром like, могут быть DEFAULTS, CONSTRAINTS, INDEXES, STORAGE, COMMENTS или ALL. Требуется указание like. Взаимоисключающий с columns, rename и truncate.

like

string

Создать таблицу, подобную другой таблице (с аналогичным DDL). Взаимоисключающий с columns, rename и truncate.

login_host

aliases: host

string

Хост, на котором работает база данных.

Если у вас возникли проблемы с подключением при использовании localhost, попробуйте использовать 127.0.0.1 вместо этого.

Значение по умолчанию: ""

login_password

string

Пароль, который должен использовать этот модуль для установления сеанса PostgreSQL.

Значение по умолчанию: ""

login_unix_socket

aliases: unix_socket

string

Путь к сокету домена Unix для локальных подключений.

Значение по умолчанию: ""

login_user

aliases: login

string

Имя пользователя, которое должен использовать этот модуль для установления сеанса PostgreSQL.

Значение по умолчанию: "postgres"

owner

string

Установить владельца таблицы.

port

aliases: login_port

integer

Порт базы данных для подключения.

Значение по умолчанию: 5432

rename

string

Новое имя таблицы. Взаимоисключающий с tablespace, owner, unlogged, like, including, columns, truncate и storage_params.

session_role

string

Переключиться на session_role после подключения. Указанная session_role должна быть ролью, членом которой является текущий login_user.

Проверка разрешений для команд SQL выполняется так, как будто session_role был тем, кто вошел в систему изначально.

ssl_cert

path

добавлено в community.postgresql 2.4.0

Указывает имя файла клиентского SSL-сертификата.

ssl_key

path

добавлено в community.postgresql 2.4.0

Указывает расположение секретного ключа, используемого для клиентского сертификата.

ssl_mode

string

Определяет, будет ли и с каким приоритетом согласовываться безопасное SSL TCP/IP-подключение с сервером.

Дополнительную информацию о режимах см. по https://www.postgresql.org/docs/current/static/libpq-ssl.html.

Значение по умолчанию prefer соответствует значению по умолчанию libpq.

Варианты:

  • "allow"
  • "disable"
  • "prefer" ← (default)
  • "require"
  • "verify-ca"
  • "verify-full"

state

string

Состояние таблицы. state=absent взаимоисключающее с tablespace, owner, unlogged, like, including, columns, truncate, storage_params и rename.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

storage_params

list / elements=string

Параметры хранения, такие как fillfactor, autovacuum_vacuum_treshold и т. д. Взаимоисключающие с rename и truncate.

table

aliases: name

string / обязательно

Имя таблицы.

tablespace

string

Установить табличное пространство для таблицы.

truncate

boolean

Обнулить таблицу. Взаимоисключающие с tablespace, owner, unlogged, like, including, columns, rename и storage_params.

Варианты:

  • false ← (по умолчанию)
  • true

trust_input

boolean

добавлен в community.postgresql 0.2.0

Если false, проверить, не являются ли значения параметров потенциально опасными.

Использовать false имеет смысл только в случае возможности SQL-инъекций.

Варианты:

  • false
  • true ← (по умолчанию)

unlogged

boolean

Создать нелогическую таблицу.

Варианты:

  • false ← (по умолчанию)
  • true

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз изменения состояния без модификации целевого объекта.

Примечания

Примечание

  • Если вы не передаете параметр db, таблицы будут созданы в базе данных с именем postgres.
  • PostgreSQL позволяет создавать таблицы без столбцов, поэтому параметр columns необязателен.
  • Нелогичные таблицы доступны с версии PostgreSQL сервера 9.1.
  • По умолчанию предполагается, что вы входите в систему или используете sudo для учетной записи postgres на хосте.
  • Чтобы избежать ошибки «Peer authentication failed for user postgres», используйте пользователя postgres в качестве become_user.
  • Этот модуль использует psycopg, адаптер Python PostgreSQL для баз данных. Необходимо убедиться, что psycopg2 >= 2.5.1 или psycopg3 >= 3.1.8 установлен на хосте перед использованием данного модуля.
  • Если удаленный хост является сервером PostgreSQL (что является дефолтным случаем), то PostgreSQL также должен быть установлен на удаленном хосте.
  • Для систем на основе Ubuntu установите пакеты postgresql, libpq-dev, и python3-psycopg2 на удаленном хосте перед использованием данного модуля.

См. также

См. также

community.postgresql.postgresql_sequence

Создать, удалить или изменить последовательность PostgreSQL.

community.postgresql.postgresql_idx

Создать или удалить индексы из базы данных PostgreSQL.

community.postgresql.postgresql_info

Сбор информации о серверах PostgreSQL.

community.postgresql.postgresql_tablespace

Добавить или удалить табличные пространства PostgreSQL на удаленных хостах.

community.postgresql.postgresql_owner

Изменить владельца объекта базы данных PostgreSQL.

community.postgresql.postgresql_privs

Предоставить или отозвать права доступа к объектам базы данных PostgreSQL.

community.postgresql.postgresql_copy

Копировать данные между файлом/программой и таблицей PostgreSQL.

Ссылка на 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: true

- 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: true

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

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

Ключ

Описание

владелец

строка

Владелец таблицы.

Возвращаемое значение: успех

Пример: "postgres"

запросы

строка

Список выполненных запросов.

Возвращаемое значение: успех

Пример: "['CREATE TABLE \"test_table\" (id bigint)']"

состояние

строка

Состояние таблицы.

Возвращаемое значение: успех

Пример: "present"

storage_params

список / элементы=строка

Параметры хранения.

Возвращаемое значение: успех

Пример: ["fillfactor=100", "autovacuum_analyze_threshold=1"]

таблица

строка

Имя таблицы.

Возвращаемое значение: успех

Пример: "foo"

tablespace

строка

Таблица пространств имен.

Возвращаемое значение: успех

Пример: "ssd_tablespace"

Авторы

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

Ссылки на сборку

  • Отслеживание ошибок
  • Репозиторий (Исходный код)
  • Сообщить об ошибке
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/postgresql/postgresql_table_module.html

Spec-Zone.ru

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