Модуль 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
Параметры
Параметр | Комментарии |
|---|---|
ca_cert aliases: ssl_rootcert string | Указывает имя файла, содержащего сертификат(ы) центра сертификации (CA). Если файл существует, сертификат сервера будет проверен на наличие подписи одного из этих центров. |
cascade boolean | Автоматически удаляет объекты, зависящие от таблицы (например, представления). Используется только с state=absent. Варианты:
|
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 | Хост, на котором работает база данных. Если у вас возникли проблемы с подключением при использовании Значение по умолчанию: |
login_password string | Пароль, который должен использовать этот модуль для установления сеанса PostgreSQL. Значение по умолчанию: |
login_unix_socket aliases: unix_socket string | Путь к сокету домена Unix для локальных подключений. Значение по умолчанию: |
login_user aliases: login string | Имя пользователя, которое должен использовать этот модуль для установления сеанса PostgreSQL. Значение по умолчанию: |
owner string | Установить владельца таблицы. |
port aliases: login_port integer | Порт базы данных для подключения. Значение по умолчанию: |
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. Значение по умолчанию Варианты:
|
state string | Состояние таблицы. state=absent взаимоисключающее с tablespace, owner, unlogged, like, including, columns, truncate, storage_params и rename. Варианты:
|
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. Варианты:
|
trust_input boolean добавлен в community.postgresql 0.2.0 | Если Использовать Варианты:
|
unlogged boolean | Создать нелогическую таблицу. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
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
Значения возврата
Общие значения возврата описаны здесь, следующие являются полями, уникальными для данного модуля:
Ключ | Описание |
|---|---|
владелец строка | Владелец таблицы. Возвращаемое значение: успех Пример: |
запросы строка | Список выполненных запросов. Возвращаемое значение: успех Пример: |
состояние строка | Состояние таблицы. Возвращаемое значение: успех Пример: |
storage_params список / элементы=строка | Параметры хранения. Возвращаемое значение: успех Пример: |
таблица строка | Имя таблицы. Возвращаемое значение: успех Пример: |
tablespace строка | Таблица пространств имен. Возвращаемое значение: успех Пример: |
Ссылки на сборку
© 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