community.postgresql.postgresql_sequence 模块 – 创建、删除或更改 PostgreSQL 序列
注意
此模块是 community.postgresql 集合 (3.9.0 版本) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.postgresql
。您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定:community.postgresql.postgresql_sequence
。
概要
允许创建、删除或更改序列生成器的定义。
要求
执行此模块的主机需要满足以下要求。
psycopg2 >= 2.5.1
参数
参数 |
注释 |
---|---|
指定包含 SSL 证书颁发机构 (CA) 证书的文件名。 如果文件存在,将验证服务器的证书是否由这些机构之一签名。 |
|
Cache 指定要预先分配并存储在内存中以更快访问的序列号的数量。最小值是 1(一次只能生成一个值,即没有缓存),这也是默认值。 |
|
自动删除依赖于该序列的对象,并依次删除依赖于这些对象的所有对象。 如果state=present,则忽略。 仅与state=absent一起使用。 选择
|
|
要传递给 libpg 的任何其他参数。 这些参数优先。 默认值: |
|
当升序或降序序列分别达到maxvalue或minvalue时,cycle 选项允许序列回绕。如果达到限制,则生成的下一个数字将分别是最小值或最大值。 如果指定 选择
|
|
指定序列的数据类型。有效类型为 bigint、integer 和 smallint。bigint 是默认值。数据类型决定了序列的默认最小值和最大值。有关更多信息,请参阅文档 https://postgresql.ac.cn/docs/current/sql-createsequence.html。 从 PostgreSQL 10 开始支持。 选择
|
|
要连接并针对其运行查询的数据库的名称。 默认值: |
|
Increment 指定添加到当前序列值以创建新值的值。 正值将创建一个升序序列,负值将创建一个降序序列。默认值为 1。 |
|
运行数据库的主机。 如果在使用 默认值: |
|
此模块应使用的密码,以建立其 PostgreSQL 会话。 默认值: |
|
用于本地连接的 Unix 域套接字的路径。 默认值: |
|
此模块应使用的用户名,以建立其 PostgreSQL 会话。 默认值: |
|
Maxvalue 确定序列的最大值。升序序列的默认值是数据类型的最大值。降序序列的默认值是 -1。 |
|
Minvalue 决定序列可以生成的最小值。对于升序序列,默认值为 1。对于降序序列,默认值为数据类型的最小值。 |
|
序列的新模式。用于将序列移动到另一个模式。 仅适用于现有序列。 |
|
设置序列的所有者。 |
|
连接的数据库端口。 默认值: |
|
序列的新名称。 仅适用于现有序列。 |
|
序列的模式。用于在给定模式中创建和重新定位序列。 默认值: |
|
序列的名称。 |
|
连接后切换到 session_role。指定的 session_role 必须是当前 login_user 所属的角色。 SQL 命令的权限检查,就像 session_role 是最初登录的用户一样进行。 |
|
指定客户端 SSL 证书的文件名。 |
|
指定用于客户端证书的密钥的位置。 |
|
确定是否以及以何种优先级与服务器协商安全的 SSL TCP/IP 连接。 有关模式的更多信息,请参见 https://postgresql.ac.cn/docs/current/static/libpq-ssl.html。 默认值 选择
|
|
Start 允许序列从任何位置开始。对于升序序列,默认起始值为 minvalue,对于降序序列,默认起始值为 maxvalue。 |
|
序列状态。 如果 state=absent,则除了 name 和 schema 之外的其他选项都将被忽略。 选择
|
|
如果 仅当通过参数可能进行 SQL 注入时,使用 选择
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持: 完全 |
可以在 check_mode 中运行,并返回更改的状态预测,而无需修改目标。 |
注意
注意
如果您不传递 db 参数,则将在名为 postgres 的数据库中创建序列。
默认身份验证假定您是以主机上的
postgres
帐户登录或 sudo 登录。要避免“用户 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_table
创建、删除或修改 PostgreSQL 表。
- community.postgresql.postgresql_owner
更改 PostgreSQL 数据库对象的所有者。
- community.postgresql.postgresql_privs
授予或撤销 PostgreSQL 数据库对象的权限。
- community.postgresql.postgresql_tablespace
从远程主机添加或删除 PostgreSQL 表空间。
- CREATE SEQUENCE 参考
CREATE SEQUENCE 命令文档的完整参考。
- ALTER SEQUENCE 参考
ALTER SEQUENCE 命令文档的完整参考。
- DROP SEQUENCE 参考
DROP SEQUENCE 命令文档的完整参考。
示例
- name: Create an ascending bigint sequence called foobar in the default
database
community.postgresql.postgresql_sequence:
name: foobar
- name: Create an ascending integer sequence called foobar, starting at 101
community.postgresql.postgresql_sequence:
name: foobar
data_type: integer
start: 101
- name: Create an descending sequence called foobar, starting at 101 and
preallocated 10 sequence numbers in cache
community.postgresql.postgresql_sequence:
name: foobar
increment: -1
cache: 10
start: 101
- name: Create an ascending sequence called foobar, which cycle between 1 to 10
community.postgresql.postgresql_sequence:
name: foobar
cycle: true
min: 1
max: 10
- name: Create an ascending bigint sequence called foobar in the default
database with owner foobar
community.postgresql.postgresql_sequence:
name: foobar
owner: foobar
- name: Rename an existing sequence named foo to bar
community.postgresql.postgresql_sequence:
name: foo
rename_to: bar
- name: Change the schema of an existing sequence to foobar
community.postgresql.postgresql_sequence:
name: foobar
newschema: foobar
- name: Change the owner of an existing sequence to foobar
community.postgresql.postgresql_sequence:
name: foobar
owner: foobar
- name: Drop a sequence called foobar
community.postgresql.postgresql_sequence:
name: foobar
state: absent
- name: Drop a sequence called foobar with cascade
community.postgresql.postgresql_sequence:
name: foobar
cascade: true
state: absent
返回值
常见的返回值记录在此处,以下是此模块特有的字段
键 |
描述 |
---|---|
显示序列是否循环。 返回值: 成功 示例: |
|
显示序列的当前数据类型。 返回值: 成功 示例: |
|
序列的增量值。正值将生成升序序列,负值将生成降序序列。 返回值: 成功 示例: |
|
序列的 maxvalue 值。 返回值: 成功 示例: |
|
序列的 minvalue 值。 返回值: 成功 示例: |
|
显示重命名后的新序列名称。 返回值: 成功 示例: |
|
显示模式更改后序列的新模式。 返回值: 成功 示例: |
|
显示任务成功运行后序列的当前所有者。 返回值: 成功 示例: |
|
尝试执行的查询列表。 返回值: 成功 示例: |
|
序列的模式名称。 返回值: 成功 示例: |
|
序列名称。 返回值: 成功 示例: |
|
序列的起始值。 返回值: 成功 示例: |
|
执行结束时的序列状态。 返回值: 成功 示例: |