2010-04-19 8 views

Répondre

8

Il suffit d'utiliser SQL simple pour créer un nouvel utilisateur:

CREATE ROLE user_name WITH ENCRYPTED PASSWORD 'your password'; 
+0

comment puis-je envoyer cette SQL postgre dans un one-liner? – user320080

+0

Connectez-vous au client psql et envoyez la requête. http://www.postgresql.org/docs/8.4/interactive/app-psql.html –

33

Pour étendre la réponse avec un exemple en tissu ...

# In fabfile.py 
def create_database(): 
    """Creates role and database""" 
    db_user = get_user() # define these 
    db_pass = get_pass() 
    db_name = get_db_name() 
    sudo('psql -c "CREATE USER %s WITH NOCREATEDB NOCREATEUSER " \ 
     "ENCRYPTED PASSWORD E\'%s\'"' % (db_user, db_pass), user='postgres') 
    sudo('psql -c "CREATE DATABASE %s WITH OWNER %s"' % (
     db_name, db_user), user='postgres') 
+0

Génial, merci beaucoup –

+1

Upwote. Mais as-tu vraiment voulu dire table dans 'db_table = get_table()'? On dirait que vous vouliez dire un nom de base de données. –