2010-04-19 7 views

risposta

8

Basta utilizzare SQL semplice per creare un nuovo utente:

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

Come posso inviare questo SQL a Postgres in una battuta? – user320080

+0

Connettersi con il client psql e inviare la query. http://www.postgresql.org/docs/8.4/interactive/app-psql.html –

33

Per estendere la risposta con un esempio in tessuto ...

# 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

Impressionante, molte grazie –

+1

Upwote. Ma in realtà intendevi la tabella in 'db_table = get_table()'? Sembra che tu intenda un nome di database. –