2010-04-19 39 views

Trả lời

8

Chỉ cần sử dụng SQL đơn giản để tạo một người dùng mới:

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

làm thế nào để tôi gửi SQL này để postgres trong một lớp lót? – user320080

+0

Kết nối với máy khách psql và gửi truy vấn. http://www.postgresql.org/docs/8.4/interactive/app-psql.html –

33

Để mở rộng câu trả lời với một ví dụ Vải ...

# 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

Tuyệt vời, cảm ơn rất nhiều –

+1

Upwote. Nhưng bạn đã thực sự có nghĩa là bảng trong 'db_table = get_table()'? Có vẻ như bạn có nghĩa là tên cơ sở dữ liệu. –

Các vấn đề liên quan