【发布时间】:2020-12-23 02:28:06
【问题描述】:
CREATE DATABASE cannot run inside a transaction block 有几个条目给出了自动提交需要打开的答案。但是,它们没有引用我正在寻找的 ansible。
【问题讨论】:
标签: database postgresql ansible transactions
CREATE DATABASE cannot run inside a transaction block 有几个条目给出了自动提交需要打开的答案。但是,它们没有引用我正在寻找的 ansible。
【问题讨论】:
标签: database postgresql ansible transactions
有一个specific postgresql_db module 将负责您的数据库创建(或删除/转储/恢复)并将管理idempotency 开箱即用。
- name: Create database if needed
postgresql_db:
name: "{{ dbname }}"
state: present
become: yes
become_user: postgres
【讨论】:
我在anisble documentation 中发现有一种方法可以打开自动提交,例如:
- name: create database if needed
postgresql_query:
autocommit: yes
query: |
CREATE DATABASE {{ dbname }};
become: yes
become_user: postgres
我认为这对像我这样在寻求帮助时倾向于首先查看堆栈溢出的人有所帮助。注意:{{ dbname }} 是一个变量。你也可以使用文字。
【讨论】: