首页 > 解决方案 > Anisble django postgres 如何获取用户帐户或查看用户是否存在

问题描述

我需要使用 postgresql 确定 Django 站点中是否存在任何用户。我正在使用 ansible 来更新站点,包括构建新站点。如果站点不是新站点,我会检查以确保数据库不存在。如果没有,我创建数据库和超级用户。下次系统运行时,它知道不创建数据库,但是当它再次创建超级用户时,我得到一个致命错误。因此,我需要检查数据库中是否有用户。

标签: djangodatabasepostgresqlcountansible

解决方案


我发现How to get postgresql_query results from Ansible 为我指明了获得解决方案的方向。

 - name: Get user count from database
   postgresql_query:
     db: '{{ django_software }}'
     query: SELECT * FROM auth_user
   register: qresult
   become: yes
   become_user: postgres

我可以使用 qresult.rowcount 来确定是否存在任何用户。我还可以将 WHERE 子句添加到 SELECT 以确定是否存在特定用户。


推荐阅读