2016-10-27 55 views
6

Bu çok basit olmalı. Belirli bir veritabanına bağlantı ayrıcalıkları olan bir Postgres kullanıcısı oluşturmak ve bu belirli veritabanındaki tüm tablolara/insert/update/delete ayrıcalıklarını seçmek için Ansible bir ifade oluşturmak istiyorum.Ansible tüm tablolara erişim ile postgresql kullanıcı oluşturulsun mu?

- name: Create postgres user for my app 
    become: yes 
    become_user: postgres 
    postgresql_user: 
     db: "mydatabase" 
     name: "myappuser" 
     password: "supersecretpassword" 
     priv: CONNECT/ALL:SELECT,INSERT,UPDATE,DELETE 

Ben relation \"ALL\" does not exist

olsun ben ALL: kaldırırsanız, ben yanıtlayıcı 'dokümantasyon postgressql module, priv "biçiminde PostgreSQL ayrıcalıkları dize olmalıdır itibaren Invalid privs specified for database: INSERT UPDATE SELECT DELETE

cevap

2

Yapmam gereken şey önce kullanıcıyı yaratmak ve ayrıcalıkları ayrı ayrı vermek oldu. Bir çekicilik gibi çalışıyor.

- name: Create postgres user for my app 
    become: yes 
    become_user: postgres 
    postgresql_user: 
     name: "myappuser" 
     password: "supersecretpassword" 

    - name: Ensure we have access from the new user 
    become: yes 
    become_user: postgres 
    postgresql_privs: 
     db: mydatabase 
     role: myappuser 
     objs: ALL_IN_SCHEMA 
     privs: SELECT,INSERT,UPDATE,DELETE 
0

olsun: tablosu: priv1 Aşağıdaki çalıştı , priv2" Yani senin görevin olmalı

- name: Create postgres user for my app 
    become: yes 
    become_user: postgres 
    postgresql_user: 
     db: "mydatabase" 
     name: "myappuser" 
     password: "supersecretpassword" 
     priv: ALL:SELECT,INSERT,UPDATE,DELETE,CONNECT 
+0

Bu benim için çalışmadı. Bir hatam var 'psycopg2.ProgrammingError: ilişki \" ALL \ "mevcut değil. – Inti