首页 文章

使用Ansible playbook中的PostgreSQL角色登录并执行PostgreSQL脚本自动化

提问于
浏览
0

在Ansible脚本上需要一些帮助

  • 使用Ansible playbook登录并执行一些所需的示例 .

无需安装PostgreSQL .

我们尝试使用以下命令,但它不起作用 .

- name: Login to DB and run command 
  command:PGPASSWORD='{{pgpass_filepath}}'; psql -U "{{ db_user }}" -d "{{ db_name }}" -h "{{ db_host }}" -p 5555-c "select count(*) from student";

1 回答

  • 1

    你需要记住,你必须逃避括号字符,也;在sql语句的末尾需要在转义括号内 . 我还建议你让ansible在开头用一个空格来执行shell命令,这样带密码的命令就不会记录到shell历史记录中 .

    - name: Login to DB and run command
      shell: " PGPASSWORD='{{pgpass_filepath}}' psql -U {{ db_user }} -d {{ db_name }} -h {{ db_host }} -p 5555 -c \"select count(*) from student;\""
    

    这应该工作 . 试试看 .

相关问题