使这个任务第一次就能工作:
- name: Initialize the Database
command: /usr/pgsql-9.6/bin/postgresql96-setup initdb
Run Code Online (Sandbox Code Playgroud)
如果第二次运行,会出现错误:
致命:[192.168.0.1]:失败!=> {“更改”:true,“cmd”:[“/usr/pgsql-9.6/bin/postgresql96-setup”,“initdb”],“delta”:“0:00:00.017590”,“结束”: "2019-12-11 06:08:49.999631", "msg": "非零返回码", "rc": 1, "start": "2019-12-11 06:08:49.982041", "stderr ": "", "stderr_lines": [], "stdout": "数据目录不为空!", "stdout_lines": ["数据目录不为空!"]}
如果它已经在服务器上初始化了数据库,如何避免运行此任务?
问:“stdout:数据目录不为空!”
答:18.2。创建数据库集群说:
如果数据目录存在并且已经包含文件,initdb 将拒绝运行;这是为了防止意外覆盖现有安装。
- name: Initialize the Database
command: /usr/pgsql-9.6/bin/postgresql96-setup initdb
args:
creates: /usr/local/pgsql/data
Run Code Online (Sandbox Code Playgroud)