Spec-Zone.ru › Ansible

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

Примечание

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

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

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

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

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

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

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

Требования

На узле, выполняющем этот модуль, необходимы следующие компоненты.

  • psycopg2 >= 2.5.1

Параметры

Параметр

Комментарии

ca_cert

псевдонимы: ssl_rootcert

string

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

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

cascade

boolean

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

Варианты:

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

columns

list / элементы=string

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

connect_params

dictionary

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

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

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

По умолчанию: {}

including

string

Ключевые слова, используемые с параметром like: DEFAULTS, CONSTRAINTS, INDEXES, STORAGE, COMMENTS или ALL. Необходимо указать like. Несовместим с параметрами columns, rename и truncate.

like

string

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

login_db

псевдонимы: db

string

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

Псевдоним db устарел и будет удален в версии 5.0.0.

По умолчанию: ""

login_host

псевдонимы: host

string

Узел, на котором работает база данных.

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

По умолчанию: ""

login_password

string

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

По умолчанию: ""

login_port

псевдонимы: port

integer

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

Псевдоним port устарел и будет удален в следующем основном выпуске. Вместо него используйте login_port.

По умолчанию: 5432

login_unix_socket

псевдонимы: unix_socket

string

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

По умолчанию: ""

login_user

псевдонимы: login

string

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

По умолчанию: "postgres"

owner

string

Задать владельца таблицы.

rename

string

УСТАРЕЛО (см. обсуждение). Этот параметр будет удален в версии 5.0.0. Чтобы переименовать таблицу, используйте модуль community.postgresql.postgresql_query.

Новое имя таблицы. Несовместим с параметрами 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" ← (по умолчанию)
  • "require"
  • "verify-ca"
  • "verify-full"

state

string

Состояние таблицы. Параметр state=absent несовместим с параметрами tablespace, owner, unlogged, like, including, columns, truncate, storage_params и rename.

Варианты:

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

storage_params

list / элементы=string

Параметры хранения, например fillfactor, autovacuum_vacuum_treshold и т. д. Несовместим с параметрами rename и truncate.

table

псевдонимы: 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.
  • Если таблица уже существует и указаны столбцы, они будут проигнорированы. Столбцы существующей таблицы изменить нельзя.
  • По умолчанию предполагается, что вы входите в систему под учетной записью postgres на узле или переключаетесь на нее с помощью sudo.
  • Чтобы избежать ошибки «Peer authentication failed for user postgres», используйте пользователя postgres в качестве become_user.
  • Этот модуль использует psycopg — адаптер базы данных PostgreSQL для Python. Перед использованием модуля убедитесь, что на узле установлен 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:
    login_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:
    login_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: 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

- name: Create table with composite primary key
  community.postgresql.postgresql_table:
    name: composite_pk_table
    columns:
    - id bigserial
    - num bigint
    - primary key (id, num)

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

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

Ключ

Описание

owner

string

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

Возвращается: при успешном выполнении

Пример: "postgres"

queries

string

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

Возвращается: при успешном выполнении

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

state

string

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

Возвращается: при успешном выполнении

Пример: "present"

storage_params

list / элементы=string

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

Возвращается: при успешном выполнении

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

table

string

Имя таблицы.

Возвращается: при успешном выполнении

Пример: "foo"

tablespace

string

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

Возвращается: при успешном выполнении

Пример: "ssd_tablespace"

Авторы

  • Andrei Klychkov (@Andersson007)

Ссылки на коллекцию

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

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

Spec-Zone.ru

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