Postgresql 如何在Ansible中定义要安装的软件包版本

Postgresql 如何在Ansible中定义要安装的软件包版本,postgresql,postgresql-9.1,ansible,ansible-playbook,Postgresql,Postgresql 9.1,Ansible,Ansible Playbook,我正在使用Ansible,我想在main.yml任务中定义包的版本。我正在尝试安装postgresql-9.1版本: --- - name: Copy source list copy: src=sources.list dest=/etc/apt/sources.list - name: Update apt shell: apt-get update - name: Install the version 9.1 of postgresql sudo: True apt:

我正在使用Ansible,我想在main.yml任务中定义包的版本。我正在尝试安装postgresql-9.1版本:

---
- name: Copy source list
  copy: src=sources.list dest=/etc/apt/sources.list

- name: Update apt
  shell: apt-get update

- name: Install the version 9.1 of postgresql
  sudo: True
  apt: name=postgresql=9.1  state=present

- name: Ensure postgresql is << Started >>
  sudo: yes
  sudo_user: postgres
  service: name=postgresql state=started

那么,如何声明要安装的软件包版本?

您正在正确使用
apt
模块来指定版本。这也会在命令行中失败,使用
apt get install postgresql-9.1
。您尚未显示
来源中的内容。请列出
,但他是这样做的:

- apt_key: id=ACCC4CF8 url=https://www.postgresql.org/media/keys/ACCC4CF8.asc state=present
- apt_repository: repo='deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main' update_cache=yes state=present
- name: Install the version 9.1 of postgresql
  apt: name=postgresql=9.1  state=present

告诉我:
failed:[default]=>{“cmd”:“apt key add-”,“failed”:true,“rc”:2}
,知道为什么吗?,thanks@AlfonsoP埃雷斯,你是在用那四行吗?如果没有,请发布您的任务。是的,通过添加
sudo:yes
,该特定问题已得到解决,现在我有了:
-apt\u key:id=accc4cf8url=https://www.postgresql.org/media/keys/ACCC4CF8.asc 状态=当前sudo:yes-apt_存储库:repo='debhttp://apt.postgresql.org/pub/repos/apt/ trusty pgdg main'update_cache=yes state=present sudo:yes-name:Install版本9.1的postgresql sudo:yes apt:name=postgresql=9.1state=present
但获取:
msg:'/usr/bin/apt get-y-o“Dpkg::Options::=--force confdef“-o”Dpkg::Options::[…]1''失败:未找到“postgresql”的版本“9.1”
- apt_key: id=ACCC4CF8 url=https://www.postgresql.org/media/keys/ACCC4CF8.asc state=present
- apt_repository: repo='deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main' update_cache=yes state=present
- name: Install the version 9.1 of postgresql
  apt: name=postgresql=9.1  state=present