Spec-Zone.ru › Ansible 2.9

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

Новое в версии 2.8.

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

Описание

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

Требования

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

  • psycopg2

Параметры

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

псевдонимы: ssl_rootcert
cascade
логическое
добавлено в 2.9
    Варианты:
  • нет ←
  • да
Автоматически удаляет объекты, зависящие от таблицы (например, представления). Используется только с 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.
unlogged
логическое
    Варианты:
  • нет ←
  • да
Создать таблицу без журналирования.

Примечания

Примечание

  • Если вы не передаёте параметр 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.

См. также

См. также

postgresql_sequence – Создание, удаление или изменение последовательности PostgreSQL
Официальная документация по модулю postgresql_sequence.
postgresql_info – Сбор информации о серверах PostgreSQL
Официальная документация по модулю postgresql_info.
postgresql_tablespace – Добавление или удаление табличных пространств PostgreSQL с удаленных хостов
Официальная документация по модулю postgresql_tablespace.
postgresql_owner – Изменение владельца объекта базы данных PostgreSQL
Официальная документация по модулю postgresql_owner.
postgresql_privs – Предоставление или отзыв привилегий на объекты базы данных PostgreSQL
Официальная документация по модулю postgresql_privs.
postgresql_copy – Копирование данных между файлом/программой и таблицей 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
  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
  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
  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
  postgresql_table:
    name: acme.useless_data
    columns: waste_id int
    unlogged: true

- name: Rename table foo to bar
  postgresql_table:
    table: foo
    rename: bar

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

- name: Set owner to someuser
  postgresql_table:
    name: foo
    owner: someuser

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

- name: Truncate table foo
  postgresql_table:
    name: foo
    truncate: yes

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

- name: Drop table bar cascade
  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


Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • Андрей Клычков (@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.9/modules/postgresql_table_module.html

Spec-Zone.ru

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