postgresql_user
使用 postgresql_xxx 的模組存取 Postgresql 資料庫時,一般會需要切換為 postgres 使用者來進行操作。在 Ansible 可以怎麼去做呢?
在 Ansible 裡,可以用 become_user / become 來處理。
下面用 postgresql_user 來重置 test 使用者的密碼來當作例子,
- name: pd reset database user
become: yes
become_method: sudo
become_user: postgres
community.postgresql.postgresql_user:
db: test
name: test
password: ""
說明如下:
become: yes
,表示要切換使用者。become_method: sudo
,表示要使用 sudo 來切換。become_user: postgres
,表示切換過去的使用者名稱是 postgres
下面做一點組合,先建立名稱是 awx 的資料庫,然後再去建立可以操作這個資料庫的 awx 使用者,密碼設定為 redhat
- name: Create database with name "awx" and specific encoding and locale # settings
community.postgresql.postgresql_db:
name: awx
encoding: UTF-8
lc_collate: en_US.UTF-8
lc_ctype: en_US.UTF-8
template: template0
become: yes
become_method: sudo
become_user: postgres
- name: Connect to awx database, create awx user, and grant access to database and products table
community.postgresql.postgresql_user:
db: awx
name: awx
password: redhat
priv: ALL
state: present
become: yes
become_method: sudo
become_user: postgres
看到這邊相信你應該知道怎麼應用這些模組了。