2010-04-19 11 views

Antwort

8

verwenden Just plain SQL einen neuen Benutzer zu erstellen:

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

wie sende ich diese SQL Postgres in einem Einzeiler? – user320080

+0

Verbinden Sie sich mit dem Psql-Client und senden Sie die Abfrage. http://www.postgresql.org/docs/8.4/interactive/app-psql.html –

33

Um die Antwort mit einem Stoff Beispiel zu erweitern ...

# 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

Super, vielen Dank –

+1

Upwote. Aber meintest du wirklich eine Tabelle in 'db_table = get_table()'? Sieht so aus, als ob du einen Datenbanknamen meinst. –