Spec-Zone.ru › Ansible 2.8

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

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

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата
  • Статус

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

  • Позволяет создавать, удалять, переименовывать, обнулять таблицу или изменять некоторые ее атрибуты https://www.postgresql.org/docs/current/sql-createtable.html.

Требования

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

  • psycopg2

Параметры

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

алиасы: ssl_rootcert
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 необязателен.
  • По умолчанию аутентификация предполагает, что вы заходите в систему или используете sudo с учетной записью postgres на хосте.
  • Чтобы избежать ошибки «Ошибка проверки подлинности Peer для пользователя postgres», используйте пользователя postgres в качестве become_user.
  • Нелогичные таблицы доступны с версии PostgreSQL сервера 9.1 https://www.postgresql.org/docs/9.1/sql-createtable.html.
  • Этот модуль использует psycopg2, адаптер Python для базы данных PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля.
  • Если удаленный хост является сервером PostgreSQL (что является стандартным случаем), то PostgreSQL также должен быть установлен на удаленном хосте. Для систем на базе Ubuntu установите пакеты postgresql, libpq-dev и python-psycopg2 на удаленном хосте перед использованием этого модуля.
  • По умолчанию аутентификация предполагает, что вы заходите в систему или используете sudo с учетной записью postgres на хосте.
  • Этот модуль использует psycopg2, адаптер Python для базы данных PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля. Если удаленный хост является сервером PostgreSQL (что является стандартным случаем), то PostgreSQL также должен быть установлен на удаленном хосте. Для систем на базе Ubuntu установите пакеты postgresql, libpq-dev, и python-psycopg2 на удаленном хосте перед использованием этого модуля.
  • Параметр ca_cert требует как минимум версию Postgres 8.4 и psycopg2 версии 2.4.3.

Примеры

- 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

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

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

Ключ Возвращаемое значение Описание
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. [community]

Авторы

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

Spec-Zone.ru

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