Подтвердить что ты не робот

Как создать пользователя postgresql с тканью

Я хочу создать пользователя базы данных для моей установочной материи script, но createuser имеет интерактивный ввод пароля и швы, не похожие на ткань.

4b9b3361

Ответ 1

Просто используйте простой SQL для создания нового пользователя:

CREATE ROLE user_name WITH ENCRYPTED PASSWORD 'your password';

Ответ 2

Чтобы продлить ответ с помощью примера Fabric...

# In fabfile.py
def create_database():
    """Creates role and database"""
    db_user = get_user() # define these
    db_pass = get_pass()
    db_table = get_table()
    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_table, db_user), user='postgres')